Amazon ElastiCache for Redisの各バージョンが対応しているノードタイプを調べてみた

2022.07.19

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWSが提供するRedisのマネージドサービスAmazon ElastiCache for Redisでは、エンジンバージョンによって利用可能なノードタイプが異なります。

各エンジンバージョンで利用可能な現行世代のノードタイプを調べました。

まとめ

  • 6.2以上、5.0.6以上、5.0.6未満で利用可能なノードタイプが異なる
  • 5.0.6以上にバージョンアップすると、最新のノードタイプを利用できる
  • 同じノードファミリーでは、新世代の方が安くで高性能
  • 5.0.6未満のレガシーRedisを最新のGraviton系に変換するには、5.0.6以上へのバージョンアップとノードタイプ変更の2回のクラスター変更が必要

バージョンとノードタイプのマッピング表

現行世代のノードタイプに制限すると、エンジンバージョンと利用可能なノードタイプのマッピングは以下の通りです。

エンジンバージョンの違い

  • 最新の 6.2
  • 5.0.6/6.0
  • 5.0.6 未満

によって利用可能なノードタイプが異なります。

最新ノードタイプはARMベースのGravitonプロセッサーだけを提供

バースト(T)系、非バースト系ともに、最新世代はARMベースのGraviton系ノード(M6g/T4g/R6gd/R6g)だけが提供されています。x86-64とAArch64を選択できる RDS とは対照的ですね。

ARM社が実施したR5とR6g(Graviton 2)のベンチマークによると、最大で35%パフォーマンスが向上しました。

Redis performance benchmarking on AWS Graviton2 - Tools, Software and IDEs blog - Arm Community blogs - Arm Community

※画像は上記ブログから

2022年2月には、EC2 で Graviton 3(c7g)も一般利用も開始されており、将来的に ElastiCacheにも展開されるはずです。AWS Re:Invent 2021 のキーノートによると、Graviton 3 の Redis は Graviton 2 に比べて 25%パフォーマンスが向上しました。

高性能な最新のノードタイプを選択できるバージョンを利用しましょう。

ノードファミリーの違い

現行世代では、コンピュート最適化(C系)インスタンスは提供されていません。

ノードタイプ別価格差

ノードサイズを固定して、ノードタイプ別のオンデマンド価格の違いを確認します。

非バースト系

まずは、非バースト系で東京リージョンの xlarge のオンデマンド価格を確認します。

Cache Node Type Price/Hour
M6g $0.382
M5 $0.402
M4 $0.452
R6g $0.493
R5 $0.517
R4 $0.546
R6gd $0.937

汎用・メモリー最適化ともに、新世代ほど高機能にもかかわらず安価です。

データティアリング用のR6gdはローカルSSDが付属するため、割高です。

バースト系

次に、バースト系で東京リージョンの medium のオンデマンド価格を確認します。

バースト系も、新世代ほど高機能にもかかわらず、安価です。

Cache Node Type Price/Hour
T4g $0.098
T3 $0.103
T2 $0.104

エンジンのアップグレード方法

ElastiCache for Redisをアップグレードするには、次のドキュメントを参照ください。

インプレイスでアップグレードされ、5.0.5 以降では、バージョンアップやインスタンス変更時のダウンタイムが軽減されています。

Starting with Redis engine version 5.0.5, you can upgrade your cluster version with minimal downtime. The cluster is available for reads during the entire upgrade and is available for writes for most of the upgrade duration, except during the failover operation which lasts a few seconds.

Upgrading engine versions - Amazon ElastiCache for Redis

5.0.6未満のバージョンから最新ノードタイプへの変更はクラスター変更が2回必要

バージョン 5.0.6 未満のレガシーRedisを利用している場合、エンジンをバージョンアップして、最新の高性能なGraviton系ノードタイプに切り替えると、ノードサイズを下げたり、ノード数を減らすなどして、ランニングコストを減らす事が期待できます。

ただし、このような移行にはクラスターの変更が2回伴います。

具体的には、1回目の変更で、エンジンバージョンを最新(Graviton 系)ノードタイプに対応した5.0.6以上にアップデートし、2回目の変更で、ノードタイプをGraviton系に変更します。

1回の変更でエンジンバージョンアップとノードタイプのGraviton化を同時に実施できないことに、ご注意ください。 ただし、スナップショットを経由してクラスターを作り直す場合は、その限りではありません。

対応しているクラスター変更パス

  • 2.8/R4 → 6.2/R4
    • バージョンだけを変更
  • 2.8/R4 → 6.2/R5
    • バージョンとノードタイプ(非最新)を変更
  • 2.8/R4 → 6.2/R4 → 6.2/R6g
    • バージンを5.0.6以上に変更後、最新のノードタイプへ変更
  • 5.0.6/R4 → 6.2/R6g
    • 5.0.6以上のバージョンから、バージョンアップと同時に最新ノードタイプへ変更
  • 2.8/R4 → スナップショット → 6.2/R6g
    • スナップショットを経由してクラスターを新規作成する場合、バージョンアップと同時に最新ノードタイプへの変更が可能

対応していないクラスター変更パス

  • 2.8/R4 → 2.8/R6g
    • 5.0.6未満のバージョンは最新ノードタイプに変更していない
  • 2.8/R4 → 6.2/R6g
    • 5.0.6未満のバージョンから、5.0.6以上へのバージョンアップと最新ノードタイプへの変更は同時にできない

Amazon ElastiCache for Redis の提供バージョン

Amazon ElastiCache for Redis では以下のバージョンを利用可能です。

  • 6.2
  • 6.0
  • 5.0.6
  • 5.0.5
  • 5.0.4
  • 5.0.3
  • 5.0.0
  • 4.0.10
  • 3.2.10
  • 3.2.6
  • 3.2.4
  • 2.8.24
  • 2.8.23
  • 2.8.22
  • 2.8.21
  • 2.8.19
  • 2.8.6
  • 2.6.13

最後に

Amazon ElastiCache Redisにおいて、各エンジンバージョンが対応するノードタイプを紹介しました。

同じインスタンスファミリー内では、新世代の方が高性能な上に安価です。

フルマネージドサービスのため、x86-64(R5など) から AArch64(R6gなど) への移行も、ノードタイプ切り替えるだけで済みます。

新しいノードタイプを利用することは、AWSにおいて最もかんたんなコスト改善方法の一つです。

特に、エンジンバージョンが 5.0.6 未満の場合、5.0.6以上にバージョンアップして、プライス・パフォーマンスに優れたGraviton 系ノードタイプの利用をぜひ検討してみてください。

参考