Идентификатор группы репликации Elasticache в шаблоне CloudFormation
Как установить идентификатор Redis ReplicationGroup при использовании шаблона CloudFormation? Все опции в документах не показывают способа сделать это, и CLI вы можете сделать это легко. Моя конечная цель - создать группу репликации Redis с 3 членами кластера, но я хочу выбрать имя, а не 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 ответа
Решение
Начиная с 2017 года это стало возможным с помощью свойства ReplicationGroupId.
Поскольку это необязательно, AWS CloudFormation будет по-прежнему генерировать уникальный физический идентификатор, если он не указан.
Ограничения для типа имени:
- Должно содержать от 1 до 20 буквенно-цифровых символов или дефисов.
- Первый символ должен быть буквой.
- Не может заканчиваться дефисом или содержать два последовательных дефиса.
В настоящее время это невозможно сделать с помощью CloudFormation.