ElastiCache Memcached のアベイラビリティゾーン分散の確認

複数ノードのキャッシュで、障害の影響範囲と復旧方法を確認してください。

説明

ElastiCache Memcached の複数ノードを一つのアベイラビリティゾーンに置くと、そのゾーンの障害が複数のノードに同時に影響する場合があります。ゾーンを分散すると、一つのゾーンの障害による影響範囲を減らせます。

想定される影響

  • ゾーン障害でキャッシュノードを失うと、キャッシュミスが急増して性能が低下するおそれがあります。
  • 元のデータストアに負荷が集中し、アプリケーションの応答が遅くなる場合があります。

対処方法

複数ゾーンが必要な Memcached クラスターでは、ノードを二つ以上構成し、azMode を cross-az に設定してください。サブネットグループとノード配置に加え、クライアントの障害処理とキャッシュの再構築方法も確認してください。

例

Memcached のノード配置を比較する抜粋です。ノードタイプ、サブネットグループなどの作成設定は別途構成してください。

変更前

yaml
resources:
  example:
    type: aws:elasticache:Cluster
    properties:
      engine: memcached
      numCacheNodes: 2
      azMode: single-az

変更後

yaml
resources:
  example:
    type: aws:elasticache:Cluster
    properties:
      engine: memcached
      numCacheNodes: 2
      azMode: cross-az

cross-az はノードを複数のアベイラビリティゾーンに分散します。Memcached ノード間でデータを複製したり、失われたキャッシュを自動復元したりする設定ではありません。

参考資料