【问题标题】:AWS Elasticache Redis, what will happen when I have a Redis (Cluster Mode Disabled) with only 1 node and it failsAWS Elasticache Redis,当我有一个只有 1 个节点的 Redis(已禁用集群模式)并且它失败时会发生什么
【发布时间】:2020-11-12 19:40:34
【问题描述】:

我已阅读 AWS Elasticache Redis 的自动故障转移功能。文档告诉我,故障转移过程需要我至少有 1 个副本节点(即至少 2 个总节点),以便它可以使用副本节点替换发生故障的主节点。

但是我找不到关于如果我只有 1 个节点并且它失败会发生什么的详细信息。是自动重新创建还是需要手动删除并重新创建?

我打算使用以下 CloudFormation 模板在我的测试环境中创建一个只有 1 个节点的 Redis 组(已禁用集群模式)。

    "ReplicationGroup": {
        "Type": "AWS::ElastiCache::ReplicationGroup",
        "Properties": {
            "ReplicationGroupId" : "my-redis",
            "ReplicationGroupDescription" : "My Redis",
            "NumCacheClusters": 1,
            "AutomaticFailoverEnabled": false,
            "CacheNodeType": "cache.t3.medium",
            "CacheParameterGroupName" : "default.redis5.0",
            "Engine": "redis",
            "EngineVersion" : "5.0.6",
            "Port": "6379",
            "AtRestEncryptionEnabled" : true,
            "TransitEncryptionEnabled" : true,
            "AuthToken" : {"Ref": "AuthToken"},
            "CacheSubnetGroupName": {"Ref": "SubnetGroup"},
            "SecurityGroupIds": [
                {"Ref": "RedisSecurityGroup"}
            ],
            "SnapshotRetentionLimit": 0,
            "MultiAZEnabled" : {"Fn::If": ["ConditionMultiAZEnabled", true, false]}
        }
    },

【问题讨论】:

    标签: amazon-web-services redis failover amazon-elasticache


    【解决方案1】:

    我们之前遇到过这个问题。当 AWS 尝试安装重要的安全更新时,我们丢失了所有数据(不符合服务更新 SLA)。它是一个单节点 Elasticache 实例。这是包含来自 AWS Support 的所有详细信息的回复;

    如您所说,我发现集群上有事件消息,并且 BytesUsedForCache 被删除为 0。当我调查 redis 节点时,我能够看到 ElastiCache 服务的健康检查失败,因为硬件故障和节点 @ 987654324@被替换为健康的新节点以恢复redis服务。由于redis集群*****只有一个节点*****,像这种情况,只要节点出现故障,就会发生数据丢失。

    为了提高 redis 集群的高可用性并在节点故障情况下保持数据,您应该通过向集群添加至少一个副本节点来创建一个复制组。请阅读此链接以详细了解复制组。 https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.html

    副本节点只能用于读取请求,但数据总是从主节点复制到副本节点。当主节点出现故障时,副本节点也可以升级为新的主节点,然后您可以保护您的数据。此链接提供了如何添加副本节点。 https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.AddReadReplica.html

    此外,您还可以通过复制组启用具有自动故障转移功能的 Multi-az。当主节点发生故障时,它可以自动对主节点进行故障转移。它还可以提高你的 redis 集群的高可用性。 https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html

    【讨论】:

      【解决方案2】:

      这个过程取决于场景。

      单个节点位于 AZ 中,因此如果 AZ 出现问题,那么您的节点可能会受到影响,您几乎无法采取任何措施来缓解它。如果要恢复访问权限,则需要在另一个 AZ 中创建另一个节点。

      如果是底层主机故障(例如机架断电、物理服务器需要重启等),AWS 将尝试将其迁移到同一可用区中的另一台主机。

      大多数托管服务遵循与 EC2 主机相同的恢复过程,因为这些是服务在后台运行的内容。

      【讨论】:

        猜你喜欢
        • 2014-12-02
        • 1970-01-01
        • 2018-05-03
        • 2022-10-24
        • 1970-01-01
        • 1970-01-01
        • 2021-02-05
        • 2019-08-11
        • 1970-01-01
        相关资源
        最近更新 更多