CloudFormation模板中的Elasticache复制组ID

时间:2015-09-11 18:29:33

标签: amazon-web-services amazon-cloudformation amazon-elasticache

如何在使用CloudFormation模板时设置Redis ReplicationGroup ID? docs中的所有选项都无法显示,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"
        }
      }
    }
  }

2 个答案:

答案 0 :(得分:5)

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

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

Name Type的限制:

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

答案 1 :(得分:1)

目前无法使用CloudFormation进行此操作。