ElastiCache エンジンの選択 — Valkey、Redis OSS、Memcached 比較

読了 5分

ElastiCache を作るとき、最初の画面で選ぶのがエンジンです。Valkey、Redis OSS、Memcached の 3 択ですが、結論を先に書くと、新規構築は Valkey が基本で、既存の Redis OSS クラスターは移行の利得(単価 20〜33% の引き下げ)が明確なときに移し、Memcached はレプリケーションも永続化も要らない純粋なキャッシュという狭い領域にだけ残ります。 3 つのプロトコルとコマンドは大部分が重なるため、選択は機能よりも料金と運用モデルの問題です。Redis 系が速い仕組み自体は Redis が速い理由で扱いました。料金は us-east-1 基準です。

一目でわかる比較 #

項目ValkeyRedis OSSMemcached
系譜Redis 7.2 から分岐したオープンソースのフォークRedis のオープンソース版独立プロジェクト
ノードベース単価Redis OSS より約 20% 低い基準Redis OSS と同等
サーバーレス単価Redis OSS より約 33% 低い基準サーバーレス対応
サーバーレス最低課金100MB(月約 $6)1GB(月約 $90)1GB
レプリケーション・フェイルオーバーありありなし
永続化(スナップショット・AOF)ありありなし
データ構造・Pub/Sub・スクリプトRedis 互換 + 独自改善あり文字列中心
マルチスレッドI/O マルチスレッドの改善限定的設計からマルチスレッド

Valkey が基本になった背景 #

2024 年に Redis がライセンスを変えたとき、オープンソース陣営が Redis 7.2 の時点で分岐して作ったフォークが Valkey です。Linux Foundation のもとで開発され、AWS が主要コントリビューターとして参加しているため、ElastiCache では事実上一級のエンジンです。プロトコルとコマンドが Redis と互換なのでクライアントライブラリはそのまま使え、その後のバージョンでマルチスレッド I/O のような独自改善が加わりました。

AWS は価格でも方向を定めています。同じノードタイプなら Valkey は Redis OSS より約 20% 安く、サーバーレスなら約 33% 安くなります。機能が互換で単価が低いので、新規構築で Redis OSS を選ぶ理由は特定バージョンへの依存や組織の標準くらいしか残りません。既存の Redis OSS クラスターも、コンソールからのエンジン切り替えでダウンタイムなしに Valkey へ移せます。

サーバーレスの最低課金 — 小さいキャッシュの決定打 #

ノードベースはインスタンスを選んで時間料金を払う方式で、RDS と同じ文法です。cache.t4g.micro のような小型ノードなら月約 $11 から始まります。サーバーレスは保存量(GB 時間)と処理量(ECPU)に応じて自動課金される方式ですが、ここに最低課金があります。

Redis OSS のサーバーレスは最低 1GB から課金され、データがほとんどなくても月約 $90 かかります。Valkey のサーバーレスは最低が 100MB で、月約 $6 から始まります。セッションを数万件収める小さいキャッシュなら、この差は 15 倍です。サーバーレスで小さく始めたいワークロードで Valkey を選ぶべき、最も現実的な理由です。

ノードベースとサーバーレスの選択はトラフィックパターンの問題です。使用量が一定ならノードベースが単価で有利で、リザーブドノードや Database Savings Plans(ノードベース約 20%、サーバーレス約 30% の割引)でさらに下げられます。コミットの体系は RI vs Savings Plans で扱ったとおり、コンピューティングの SP とは別のデータベース側のコミットです。スパイクが大きいか容量の予測が立たなければ、サーバーレスが運用を減らしてくれます。

Memcached が残る領域 #

Memcached にはレプリケーション、フェイルオーバー、永続化、豊富なデータ構造がすべてありません。その代わり設計からマルチスレッドでノード 1 台のコアを使い切り、構造が単純なので、純粋なキャッシュとしてはいまも有効です。

判断基準はデータが消えてもよいかどうかです。キャッシュノードが消えたら DB から入れ直せば済み、セッションやランキングのような失ってはいけないデータを載せないなら、Memcached で十分です。逆にフェイルオーバーが必要だったり、リスト・セット・Pub/Sub のようなデータ構造を使ったり、スナップショットが必要なら Valkey です。実務ではこうした要件がいずれか 1 つは出てくる場面が多いため、迷ったら Valkey で始めるほうが作り直しを避けられます。

選択の手順 #

  1. 新規なら Valkey を置いて始めます: Redis 互換で単価が 20〜33% 低いため、Redis OSS を選ぶべき特別な理由(バージョン依存、組織標準)があるかだけ確認します。
  2. 小型・変動ワークロードはサーバーレスの最低課金を見ます: Valkey 100MB(月約 $6)と Redis OSS 1GB(月約 $90)の差が、小さいキャッシュの決定要素です。
  3. 常時均一なトラフィックはノードベース + コミットで下げます: 容量が予測できるならノードベースが安く、リザーブドノードや Database SP で追加の割引がつきます。
  4. Memcached は消えてもよいキャッシュにだけ使います: レプリケーション・永続化・データ構造の要件が 1 つでも見えたら Valkey です。
  5. 既存の Redis OSS は切り替えの利得を計算します: 同じ構成で単価だけ 20% 下がるため、月額が意味のある規模なら無停止のエンジン切り替えを検討します。切り替え前のスナップショットとクライアント互換の確認は基本です。

まとめ #

  • 新規の ElastiCache は Valkey が基本です。Redis 互換でノードベース約 20%、サーバーレス約 33% 安く、AWS が開発を主導しています。
  • サーバーレスの最低課金が Valkey 100MB(月約 $6)対 Redis OSS 1GB(月約 $90)で分かれます。小さく始めるキャッシュの決定打です。
  • 常時トラフィックはノードベース + コミット(リザーブドノード、Database SP)が安く、変動トラフィックはサーバーレスが運用の負担を減らします。
  • Memcached はレプリケーションも永続化も要らない純粋なキャッシュ専用です。要件があいまいなら Valkey で始めて作り直しを避けます。
  • 既存の Redis OSS クラスターは無停止のエンジン切り替えで単価を下げられます。月額が大きくなったクラスターから検討します。
X