我在更新 Elasticache Cloudformation Stack 时遇到一个奇怪的错误,目前它有 2 个分片,每个分片都有一个副本节点,我定义了我希望它们所属的 AZ,如下所示:
"MyRedisCluster": {
"Properties": {
"Engine": "redis",
"MultiAZEnabled": "true",
"NodeGroupConfiguration": [
{
"NodeGroupId": "0001",
"PrimaryAvailabilityZone": "eu-west-1b",
"ReplicaAvailabilityZones": [
"eu-west-1a"
]
},
{
"NodeGroupId": "0002",
"PrimaryAvailabilityZone": "eu-west-1c",
"ReplicaAvailabilityZones": [
"eu-west-1b"
]
},
],
"NumNodeGroups": 2,
"ReplicasPerNodeGroup": 1,
},
"Type": "AWS::ElastiCache::ReplicationGroup",
"UpdatePolicy": {
"UseOnlineResharding": "true"
}
}
当我创建堆栈时,一切正常,我的主节点和副本节点都在相应的可用区中正确创建。
现在我想添加一个新的分片,因此我添加了一个新的 NodeGroupConfiguration
对象并将 NumNodeGroups
设置为 3。更新过程正常,我的第三个分片已创建,但问题是主节点和副本节点是在错误的可用区中创建的,正如您所看到的,我的第三个分片的主节点应该位于 eu-west-1a
中,其副本节点位于 中>eu-west-1c
,但它们的创建方式相反,主节点位于 eu-west-1c
中,副本节点位于 eu-west-1a
中.
{
"NodeGroupId": "0003",
"PrimaryAvailabilityZone": "eu-west-1a",
"ReplicaAvailabilityZones": [
"eu-west-1c"
]
}
这太奇怪了,我尝试使用 AWS CLI 添加它 modify-replication-group-shard-configuration而且效果很好。我们可以说这是一个 Cloudformation 错误吗?
最佳答案
AWS 已确认这是他们方面的错误。我创建了一个 AWS 支持案例,并在其 cloudformation 存储库中添加了一个新问题。
https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/899
关于amazon-web-services - 通过 Cloudformation 添加新分片时,在错误的可用区中创建只读副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68587858/