从云形成创建 Aurora 无服务器集群?



根据 Aurora Serverless 的文档,有 3 种方法可以创建 Aurora 无服务器数据库集群:AWS 管理控制台、CLI 和 RDS API。(https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/aurora-serverless.create.html(

根据我的理解,人们会在 RDS API 中使用EngineMode来创建 Aurora Serverless,但此属性在AWS::RDS::DBCluster中尚不可用 (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html(。

是否可以从云形成创建 Aurora 无服务器集群?任何建议将不胜感激!

感谢克里斯的更新。例如,这是我的无服务器极光的 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

RDS(包括 Aurora(所有可用选项的更完整示例: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html

现在可以创建一个EngineMode设置为serverlessAWS::RDS::DBCluster。在此处查看更多内容: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode

简单的答案 - 不。直到他们在 CFN 中提供它。截至 1-2 天前,EngineModeScalingConfiguration属性在 RDS API 中尚不可用,因为我的 API 调用引发了此错误。首先,他们将提供 API/cli。一旦它起作用,创建一个 CFNCustom Resource以从 lambda 调用 RDS API。可能需要一段时间才能直接在 CFN 中提供。

2018-08-15T16:12:09.648Z f57erb2b-g3a5-11e8-8f64-81912181e535 { 多重验证错误:有 2 个验证错误: * 意外参数:在参数中发现意外键"引擎模式" * 意外参数:在参数中发现意外键"缩放配置">

而且我知道角色/权限不是问题,因为我可以从同一集群启动普通Aurora集群。

PS:RDS API 现在适用于无服务器

编辑:10月18日的某个时候,EngineMode添加到CFN,所以现在这是可能的-> https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-enginemode

我发现一篇文章表明 Go 开发工具包已使用 EngineMode 参数进行了更新,当我查看 AWS 开发工具包更改日志时,我在最新版本中找到了一些 RDS 更新。我必须手动将我的 AWS CLI 更新到最新版本,才能让我的 shell 脚本使用该选项。

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

不过云形成方面没有消息。

对于 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

最新更新