我正在尝试使用 CloudFormation 创建一个 Serverless V2 Aurora PostgreSQL 集群和一个实例。
使用 AWS Web 界面时工作正常,但使用 CloudFormation(通过无服务器)时我得到了
Error: CREATE_FAILED: auroraCluster (AWS::RDS::DBCluster) Resource handler returned message: "The engine mode serverless you requested is currently unavailable.
CF 模板:
# Database
auroraCluster:
Type: AWS::RDS::DBCluster
Properties:
AutoMinorVersionUpgrade: 'true'
AvailabilityZones:
- eu-north-1a
- eu-north-1b
- eu-north-1c
DatabaseName:
publisher
DeletionProtection: !If [isProd, 'true', 'false']
Engine: aurora-postgresql
EngineMode: serverless
EngineVersion: '14.6'
auroraInstance:
Type: AWS::RDS::DBInstance
Properties:
AllowMajorVersionUpgrade: !If [isProd, 'true', 'false']
AutoMinorVersionUpgrade: 'true'
AvailabilityZone: !Sub ${AWS::Region}a
DBClusterIdentifier: !Ref auroraCluster
DBInstanceIdentifier: ${self:service}-rds-${sls:stage}
DeleteAutomatedBackups: !If [isProd, 'false', 'true']
DeletionProtection: !If [isProd, 'true', 'false']
Engine: aurora-postgresql
ManageMasterUserPassword: 'true'
MasterUsername: postgres
MasterUserSecret:
SecretArn: !Ref secretRds
最佳答案
postgress 14.6 的无服务器 aurora 仅支持 serverless v2 。这需要与您不同的设置。例如,您必须提供 ServerlessV2ScalingConfiguration
、删除 EngineMode
并使用设置为 db.serverless
的 DBInstanceClass
。例如:
Resources:
auroraCluster:
Type: AWS::RDS::DBCluster
Properties:
#AutoMinorVersionUpgrade: 'true'
DatabaseName:
publisher
Engine: aurora-postgresql
EngineVersion: '14.6'
MasterUsername: "trdyd"
MasterUserPassword: "gfsdg344231"
ServerlessV2ScalingConfiguration:
MinCapacity: 1
MaxCapacity: 4
auroraInstance:
Type: 'AWS::RDS::DBInstance'
Properties:
Engine: aurora-postgresql
DBInstanceClass: db.serverless
DBClusterIdentifier: !Ref auroraCluster
显然,您必须根据您的实际需求调整上面的示例(该示例有效),同时考虑到无服务器 v2 功能。
关于amazon-web-services - 无法使用 CloudFormation 创建 PostgreSQL,但可以使用 Web 界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75359606/