amazon-web-services - 通过 Cloudformation 添加新分片时,在错误的可用区中创建只读副本

标签 amazon-web-services redis aws-cloudformation amazon-elasticache

我在更新 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/

相关文章:

node.js - AWScompareFaces()RekognitionJavascriptSDK错误: Unable to get object metadata from S3.检查对象 key 、区域和/或访问权限

c# - 如何通过 SSH 连接到 Aurora serverless MySQL 实例

java - 使用 hibernate/jpa/memcache 缓存大数据集?

redis - 获取 Redis 丢失的 Sentinel 错误消息

aws-cloudformation - 为参数 'instanceProfileName' 提供的值无效

amazon-web-services - 适用于 cloudformation 的最小权限 AWS IAM 策略

amazon-web-services - AWS 云信息 : Encountered unsupported property LaunchConfigurationName

amazon-web-services - 亚马逊 MWS POST_PRODUCT_DATA_ 平面文件和验证器的*示例*

amazon-web-services - 在 Elastic Beanstalk Linux Tomcat 8 上将 http 重定向到 https

go - Revel session 集群与 Redis