ElastiCache のスケーリングについてまとめてみた

記事タイトルとURLをコピーする

はじめに

ElastiCache のスケーリング方法が複雑なので表にまとめてみました。

スケーリングについてまとめた表

f:id:swx-sugaya:20210924180807p:plain

※1. Memcached の場合、既存クラスターでノードタイプを変更することはできないため、オンラインでの垂直スケーリングはできません。
新しいノードタイプを指定して新規クラスターとして作成するという、オフラインスケーリングをする必要があります。

Memcachedクラスターをスケールアップまたはスケールダウンするときは、新しいクラスターを作成する必要があります。 https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Scaling.html#Scaling.Memcached.Vertically

※2. 1クラスターあたりの最大シャード数の計算方法

①1シャードあたりの ノード数は最大 6 コ(プライマリ 最大1コ, レプリカ 最大5コ)
②1クラスターあたりの ノード数は最大 500コ ※Redis バージョンが5.0.6 以上の場合

①②より、500/6 シャード(各シャードあたりのノード数が最大)~500/1 シャード(各シャードにプライマリノードのみ)
= 83 シャード~500シャード

参考: https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/red-ug/Shards.html

まとめ

  • Memcached は、水平スケーリングでパフォーマンスを制御すべき。
  • Redisは、垂直・水平どの方向でも柔軟にスケーリング可能。
    • ただしクラスターモード無効の場合、パフォーマンスの天井が低いので、本番ワークロードではクラスタモード有効が推奨。

菅谷 歩 (記事一覧)