はじめに
ElastiCache のスケーリング方法が複雑なので表にまとめてみました。
スケーリングについてまとめた表
※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は、垂直・水平どの方向でも柔軟にスケーリング可能。
- ただしクラスターモード無効の場合、パフォーマンスの天井が低いので、本番ワークロードではクラスタモード有効が推奨。
菅谷 歩 (記事一覧)