CloudFormation模板中的Elasticache复制组ID

occ*_*asl 7 amazon-web-services amazon-elasticache aws-cloudformation

使用CloudFormation模板时如何设置Redis ReplicationGroup ID?文档中的所有选项都显示无法执行此操作,CLI可以轻松完成此操作.我的最终目标是拥有一个包含3个集群成员的Redis复制组,但我想选择名称而不是AWS为我设置一个唯一的名称.

这是我的模板的片段:

  "Resources": {
    "mqpReplicationGroup": {
      "Type": "AWS::ElastiCache::ReplicationGroup",
      "Properties": {
        "CacheNodeType": {
          "Ref": "CacheNodeType"
        },
        "CacheSubnetGroupName": {
          "Ref": "CacheSubnets"
        },
        "ReplicationGroupDescription": "Redis Replication Group",
        "Engine": "redis",
        "EngineVersion": {
          "Ref": "RedisVersion"
        },
        "NumCacheClusters": {
          "Ref": "NumberOfCacheNodes"
        },
        "AutoMinorVersionUpgrade": "true",
        "AutomaticFailoverEnabled": "true",
        "PreferredMaintenanceWindow": "sat:09:25-sat:22:30",
        "SnapshotRetentionLimit": "4",
        "SnapshotWindow": "00:05-05:30",
        "NotificationTopicArn": {
          "Fn::Join" :[":",["arn:aws:sns",{ "Ref" : "AWS::Region" },{ "Ref" : "AWS::AccountId" },"service-aws"]]
        },
        "SecurityGroupIds": [
          {
            "Fn::Join": [
              ",",
              {
                "Ref": "VpcSecurityGroupIds"
              }
            ]
          }
        ]
      }
    },
    "CacheSubnets": {
      "Type": "AWS::ElastiCache::SubnetGroup",
      "Properties": {
        "Description": "mqp-cache-subnet",
        "SubnetIds": {
          "Ref": "SubnetIds"
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

Raz*_*ore 5

截至2017年,现在可以使用ReplicationGroupId属性.

由于它是可选的,因此AWS CloudFormation在未指定时仍会生成唯一的物理ID.

名称类型的限制:

  • 必须包含1到20个字母数字字符或连字符.
  • 第一个字必须是一个字母.
  • 不能以连字符结尾或包含两个连续的连字符.