AWS::RDS::DBCluster 的 CREATE_FAILED,输入与预期格式错误不匹配

问题描述 投票:0回答:1

我正在尝试使用 cloudformation 模板为 postgres 创建 RDS 数据库集群。

我收到此错误,其中指出:“给定的输入与预期格式不匹配”。

我摸不着头脑,不明白我的 cloudformation 模板出了什么问题。 这是我的模板。

  MyDBCluster:
    Type: AWS::RDS::DBCluster
    Properties:
      AvailabilityZones:
        - !Sub "${AWS::Region}a"
        - !Sub "${AWS::Region}b"
        - !Sub "${AWS::Region}c"
      BackupRetentionPeriod: 7
      DatabaseName: "MyDB"
      DBClusterIdentifier: !Sub ${AWS::StackName}-db-cluster
      DBClusterParameterGroupName: "default.aurora-postgresql13"
      DBSubnetGroupName: !Ref MyDBSubnetGroup
      Engine: aurora-postgresql
      EngineVersion: '13.8'
      Port: 5432
      MasterUsername: !Join ['', ['{{resolve:secretsmanager:', !Ref MyDBMasterSecret, ':secretString:username}}']]
      MasterUserPassword: !Join ['', ['{{resolve:secretsmanager:', !Ref MyDBMasterSecret, ':secretString:password}}']]
      PreferredBackupWindow: '10:21-10:51'
      PreferredMaintenanceWindow: 'thu:03:03-thu:03:33'
      VpcSecurityGroupIds:
        - !Ref MyDBSecurityGroup
      StorageEncrypted: true
      KmsKeyId: !Ref MyDBKmsKey
      EnableIAMDatabaseAuthentication: false
      EngineMode: 'provisioned'
      DeletionProtection: true
      EnableHttpEndpoint: false
      ScalingConfiguration:
        AutoPause: true
        MinCapacity: 2
        MaxCapacity: 8
        SecondsUntilAutoPause: 900

任何帮助将不胜感激。

amazon-web-services aws-cloudformation amazon-rds
1个回答
0
投票

解决方案。当您使用动态引用从CloudFormation中的Secrets管理器检索机密时,您必须使用此模式:

{{resolve:secretsmanager:secret-id:SecretString:json-key:version-stage:version-id}}

您需要注意它区分大小写。这就是为什么将

secureString
更改为
SecureString
解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.