1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】ElastiCache RedisをValkeyにアップグレードした時のメモ

Last updated at Posted at 2025-11-05

これは

以下のようにElastiCache Redisのバージョンを上げろという警告がAWSから出たので、その対応のメモ。

Redis OSS のバージョン 4 と 5 は、コミュニティですでに 2022 年にサポート終了を迎えています。
これらのバージョンの Amazon ElastiCache 標準サポートは、2026 年 1 月 31 日に終了します。
お客様にアップグレード戦略を計画するのに十分な時間をとっていただくため、この通知をお送りしています。 Valkey 用 Amazon ElastiCache バージョン 8 以降にアップグレードすることをお勧めします。または、 Amazon ElastiCache for Redis OSS バージョン 6 またはそれ以降のバージョンにアップグレードすることもできます。

使用中のElastiCache Redisバージョンは 5.0.6 だったので移行する必要があった。

対応

ElastiCache Redis 5.0.6 -> Valkey 7.2へアップグレードを実行

事前に調べたこと

Valkey or Redis?

バージョンアップの先の選択肢として、Redisのままバージョンを上げるかValkeyにするかの2つがある。両者の違いをChatGPTさんに調べてもらった。

観点 ElastiCache for Valkey ElastiCache for Redis(OSS)
価格 ServerlessでRedis比 約33%安、ノード型で約20%安(AWS発表) Valkey比で高め
互換性 Redis OSSとAPI/データ互換。既存コード変更なしが原則。 既存通り
新機能の追随 ValkeyはRedis 7.2相当から派生・独自進化(I/Oマルチスレッド等 8.xで強化)。一方でRedis 8/8.2の新機能に未対応領域の指摘あり Redis本流の最新機能が利用可能
性能 AWS検証ではRedis 7.1とValkey 7.2で速度差ほぼなし。Valkey 8.1でメモリ効率改善→ダウンサイジングで総コスト最大60%削減試算 同等〜用途次第
サーバレス あり(Valkey Serverless) あり(Redis Serverlessもあるが価格差に留意)
サポート/EOL OSSとしてLinux Foundation配下。AWSがマネージド提供。 4/5系は標準サポート2026-01-31終了→延長サポート最大3年→2029-01-31でValkeyへ自動移行
将来性(ライセンス) BSD系OSS・ベンダーニュートラル路線を強調 Redis本体はライセンス変更で商用提供色が強化。ElastiCacheは「Redis OSS」系を提供
移行難度 ゼロダウンタイム移行手順をAWSが提供(同一クライアントで切替可) 同系内のメジャーアップグレードは通常手順
バージョン選択 Valkey 7.2以降→8.x系あり(ElastiCache対応状況に依存) Redis 7.1等(ElastiCacheのサポート表に依存)

Redis特有の機能や最新の機能使いたいなどがなければ、Valkeyを選ぶで問題なさそう。

アプリ内のRedis用途調査

改めてRedisを使用しているアプリで、どのような用途で利用されているのかを確認した。

以下の点を確認しておく。

項目 内容 補足・影響
特定コマンドの制限/利用不可 Amazon ElastiCache for Valkey(AWSマネージド上)では、Redis系でも使えていた一部コマンドが 制限・無効化されている。 (AWS ドキュメント) たとえば ACL SETUSER, ACL LOAD, BGREWRITEAOF, BGSAVE などが「利用できない」または制限対象として挙げられています。 (AWS ドキュメント)
内部挙動の互換性差異 Valkey 7.2 系では、Redis OSS 7.1 や 7.0 との間で挙動が変わった点が明記されています。 (AWS ドキュメント) 例として:「Blocked Stream コマンドが解放された際のエラーコードが変わる(-NOGROUP-WRONGTYPE になる代わりに -UNBLOCKED だった)」など。 (AWS ドキュメント)
モジュール・非標準機能・プラグイン Redis OSS ではサードパーティモジュール(例:RedisGears、RedisAI、RedisSearchなど)を利用しているケースがありますが、Valkey環境/AWS ElastiCache for Valkey では 同等のモジュールサポートが保証されていないという注意書きが散見されます。 (Medium) 特に「Redis Enterprise/Redis Labs」提供の商用モジュールとの互換性には確認が要ります。
クライアントサイド機能/キャッシュ追跡(CLIENT TRACKING) ある環境(特にサーバーレス用途)で、Redis OSSの機能(たとえば CLIENT TRACKING など)に対して制限が報告されています。 (Repost) 例えば「ElastiCache Serverless環境ではCLIENT TRACKINGが動かなかった」という報告あり。Valkey移行時も類似のクライアント機能に影響が出る可能性があります。
クラスタモード有効化/クラスタ設定の制限 ドキュメントに「Valkey/Redis OSS (Cluster Mode Enabled) では一部リミット、操作制限あり」 と記載されています。 (AWS ドキュメント) たとえば「手動でレプリカをプライマリに昇格できない」など。

以下の項目をチェック

  • アプリケーションで使っている Redisコマンド一覧を洗い出す
    EVAL, EVALSHA, CLIENT TRACKING, MODULE … 等、あまり一般的でないコマンドを使っていないか。

  • 利用している Redisモジュール(検索機能・AI連携・拡張コマンド)の有無を確認

  • スクリプト・トランザクション・Pub/Sub の挙動が Valkey でも同じように動くか(特に Lua スクリプト内部でキー操作しているもの)

  • クラスタ/シャード構成を使っている場合、Valkey側での シャード数/ノード制限/レプリカ構成が現行構成と乖離しないか

  • テスト環境で「動かない・遅い・エラーになる」ケースを早期に発見するため、特定コマンドの動作テスト実施

  • ドキュメントに記載の互換性差分を事前に参照 → 例えば上述の「Blocked Stream コマンドのエラーコード違い」などを検証

利用中の範囲では影響なさそうだったので、Valkeyへ移行する。

ステージングでの動作確認も、可能であれば合わせて行う。

移行前に、Redisキャッシュのスナップショットを取っておく。

移行手順

コンソールから簡単に行えた。
Redis OSS キャッシュ一覧を表示し、アップグレードするキャッシュを選択しValkeyにアップグレードをクリックする。

スクリーンショット 2025-11-05 10.50.09.png

Valkeyのバージョンとパラメータグループを選択し、アップグレード。

スクリーンショット 2025-11-05 11.03.54.png

しばらく待つと、Valkeyキャッシュに移行された。

参考にさせていただいたページ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?