DeletionPolicy:无法为群集实例指定快照,请改为使用群集上的删除策略

geo*_*rge 5 amazon-web-services amazon-rds aws-cloudformation amazon-aurora

我正在尝试使用下面的cloudoformation模板创建RDS集群和极光实例:

{
      "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "example setup",

  "Parameters" : {
    "DBInstanceIdentifier" : {
      "Type": "String",
      "Description": "Name for the DB instance."
    },
    "DBUser" : {
      "Type": "String",
      "Description": "Master user"
    },
    "DBPassword" : {
      "Type": "String",
      "Description": "Pass"
    },
    "DBModel" : {
      "Type": "String",
      "Description": "Instance model to be used for the DB."
    }
  },


  "Resources": {
    "RDSCluster": {
      "Type": "AWS::RDS::DBCluster",
      "Properties": {
        "MasterUsername": { "Ref" : "DBUser" },
        "MasterUserPassword": { "Ref" : "DBPassword" },
        "Engine": "aurora",
        "DBClusterParameterGroupName": "default.aurora5.6",
        "VpcSecurityGroupIds": [{"Fn::GetAtt" : [ "DBFromSiteSecurityGroup" , "GroupId" ]}]
      }
    },
    "AuroraInstance": {
      "Type": "AWS::RDS::DBInstance",
      "Properties": {
        "DBInstanceIdentifier": { "Ref" : "DBInstanceIdentifier" },
        "DBParameterGroupName": "default.aurora5.6",
        "Engine": "aurora",
        "DBClusterIdentifier": {
          "Ref": "RDSCluster"
        },
        "PubliclyAccessible": "true",
        "DBInstanceClass": { "Ref" : "DBModel" }
      }
    },

    "DBFromSiteSecurityGroup" : {
       "Type" : "AWS::EC2::SecurityGroup",
       "Properties" : {
          "GroupDescription" : "Enable MySQL",
          "SecurityGroupIngress" : [
             {"IpProtocol" : "tcp", "FromPort" : "3306", "ToPort" : "3306", "CidrIp" : "195.171.102.98/32"}
          ]
       }
    },
     "DBFromSiteSecurityGroupIngress1" : {
         "Type" : "AWS::EC2::SecurityGroupIngress",
         "Properties" : {
             "GroupName" : { "Ref" : "DBFromSiteSecurityGroup" },
             "IpProtocol" : "tcp",
             "ToPort" : "3306",
             "FromPort" : "3306",
             "SourceSecurityGroupName" : { "Ref" : "DBFromSiteSecurityGroup" }
         }
     }
  }
}
Run Code Online (Sandbox Code Playgroud)

我传递的db_model参数是"db.t2.medium".群集在云信息控制台中成功创建,但AWS :: RDS :: DBInstance创建失败,并显示以下错误

"DeletionPolicy:Snapshot cannot be specified for a cluster instance, use deletion policy on the cluster instead." 
Run Code Online (Sandbox Code Playgroud)

更有意思的是,当我尝试在欧洲伦敦地区运行相同的CF模板时,它工作得很好!!! 欧盟爱尔兰地区和极光有什么问题吗?

hst*_*ylf 8

来自AWS Support

这是一个已知问题,其他客户也已报告过.服务团队目前正在为此进行修复,但是没有ETA可以推送它.

同时解决方法是在数据库实例资源定义中指定无法创建的DeletionPolicy,其值为"Delete".[1]

以下示例:

"Resources": { 
    "Database1": { 
        "DeletionPolicy": "Delete", 
        "Properties": {...}, 
        "Type": "AWS::RDS::DBInstance" 
    } 
}
Run Code Online (Sandbox Code Playgroud)

参考文献:[1] DeletionPolicy - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#w2ab2c19c23c11c17