Создание Aurora Serverless Cluster из облачной информации?
Из документа Aurora Serverless есть 3 способа создания кластера БД Aurora без сервера: консоль управления AWS, CLI и RDS API. ( https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.create.html)
Сформируйте мое понимание, можно использовать EngineMode
в API RDS для создания Aurora Serverless, но это свойство недоступно в AWS::RDS::DBCluster
пока ( https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html).
Можно ли создать Aurora Serverless Cluster из облачной информации? Любой совет будет принят во внимание!
5 ответов
Простой ответ - Нет. Пока они не сделают это доступным в CFN. По состоянию на 1-2 дня назад EngineMode
а также ScalingConfiguration
свойство еще не доступно в API RDS, так как мой вызов API выдал эту ошибку. Сначала они сделают доступными API /cli. Как только это сработает, создайте CFN Custom Resource
вызвать API RDS из лямбды. Возможно, пройдет некоторое время, прежде чем он станет доступным непосредственно в CFN.
2018-08-15T16: 12: 09.648Z f57erb2b-g3a5-11e8-8f64-81912181e535 {MultipleValidationErrors: было 2 ошибки проверки: * Неожиданный параметр: в параметрах обнаружен неожиданный ключ "EngineMode" * Неожиданный параметр: найден неожиданный ключ "Параметр масштабирования"
И я знаю, что роль / разрешение не является проблемой, так как я мог запустить нормально Aurora
кластер из того же.
PS: API RDS теперь работают без серверов
PPS: EngineMode
добавлено в CFN. https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
Спасибо за обновление Криса. В качестве примера, вот мой шаблон cloudFormation для бессерверного сияния. Нам больше не нужны DBInstance
,
RDSCluster:
Type: AWS::RDS::DBCluster
Properties:
MasterUsername:
Ref: DBUsername
MasterUserPassword:
Ref: DBPassword
DatabaseName: RANDOMNAME
Engine: aurora
EngineMode: serverless
ScalingConfiguration:
AutoPause: true
MaxCapacity: 16
MinCapacity: 2
SecondsUntilAutoPause: 300
DBSubnetGroupName:
Ref: DBSubnetGroup
Теперь можно создать AWS::RDS::DBCluster
с EngineMode
установлен в serverless
, Смотрите больше здесь: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html
Я нашел статью, в которой указывалось, что Go SDK был обновлен с параметром EngineMode, и когда я просматривал журнал изменений AWS SDK, я обнаружил некоторые обновления RDS в самых последних версиях. Мне пришлось вручную обновить свой CLI AWS до последней версии, чтобы мои сценарии оболочки работали с этой опцией.
https://github.com/aws/aws-cli/releases
https://github.com/aws/aws-cli/blob/develop/CHANGELOG.rst
https://github.com/terraform-providers/terraform-provider-aws/issues/5503
Никаких новостей на стороне CloudFormation.
Для Aurora Postgres Serverless мой полный рабочий ресурс DBCluster:
RDSCluster:
Type: AWS::RDS::DBCluster
Properties:
DBClusterIdentifier: !Ref DBClusterName
MasterUsername: some-name
MasterUserPassword: some-password
DatabaseName: some-db-name
Engine: aurora-postgresql
EngineMode: serverless
EngineVersion: '10' # this currently provisions '10.serverless_14'
EnableHttpEndpoint: true # for HTTP API endpoint
ScalingConfiguration:
AutoPause: true
MaxCapacity: 2
MinCapacity: 2 # min 2 currently
SecondsUntilAutoPause: 900 # 15 min
DBSubnetGroupName:
Ref: DBSubnetGroup