0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Amazon ElastiCache] Redis→Valkeyに移行してみた

0
Last updated at Posted at 2026-09-26

先日、RedisからValkey移行をしたSREエンジニアの @kio-ku です
切り替え自体はコンソールのボタンをポチッと押すだけで、クラスタの変更なしで簡単にできました

Valkeyに移行するまでの流れを共有します!

Valkeyについて

Redisとの互換性

Redis 7.2.4 をforkしたOSSのため、基本的に互換性があります。

アプリケーションを調査して影響を受けるような処理をしていないと判断したのでValkeyへの移行を決めました

性能・価格

価格は、ElastiCache の料金ページによると node-based は一律 20% 安く、Serverless は 33% 安いです。

性能面についても約12%ほど向上するとのことです。

移行の制約

制約 内容
ロールバック クラスタを維持したまま、新しいバージョンへのアップグレードはできるが、古いバージョンへのダウングレードはできない。例外は Valkey 7.2 → Redis OSS 7.1 のロールバックで、アップグレードと同じ手順で in-place ロールバックできます。
既存のクライアント接続は切られる エンジンアップグレード中に既存のクライアント接続が終了する
ノードの IP は変わる エンドポイントの DNS 名は変わらないが、ノードの IP アドレスはアップグレード中に変わる
移行元バージョンの下限 Redis 5.0.6 以上が必要。Redis 4 以下から直接 Valkey に上げる場合は DNS 伝播で 30〜60秒のフェイルオーバーが発生しうる
単一ノードのままではクロスエンジンアップグレードできない レプリケーショングループ化されている必要がある
パラメータグループの切り替えが必須 メジャーバージョンアップでは、エンジンと互換性のある新しいパラメータグループへの切り替えが必要

ロールバックできない以上、Valkey 7.2 を経由する選択肢もありました。
ただ 検証環境で先に Valkey 8.2 に上げて試してみて、特に問題がなかったのと、
そんなに凝った使い方を Redis でしていなかったこともあって、Valkey 8.2 を直接選びました。

今回の構成

今回移行したElastiCacheクラスタは
プライマリ + レプリカの2ノード構成・Multi-AZ・自動フェイルオーバー有効になります

事前準備

1. Valkey 8 用のパラメータグループを先に作っておく

パラメータグループにもエンジンごとのファミリー互換性があって、
family 名は 8.0 / 8.1 / 8.2 共通で valkey8、9系は valkey9 になります。

2. 移行直前の手動スナップショット作成

自動バックアップとは別に手動バックアップを残しておくと、retention の都合で自動バックアップが消えても復元点が残ります。

ロールバックができないValkeyのバージョンへの移行なので、
万が一の切り戻しの際にはこのスナップショットから別クラスタとして復元する形になります

移行してみる

  1. 対象のキャッシュを選んで 「Valkeyにアップグレード」 をクリック
    スクリーンショット 2026-09-23 20.10.15.png
  2. キャッシュ設定 → エンジンバージョン で Valkey のバージョンを選びます。
  3. パラメータグループ で、事前に作っておいた valkey8 のパラメータグループを選びます(スクショはデフォルトのパラメータグループになってます)
  4. すぐに適用 にチェックを入れて、今回はすぐにアップグレードが始まるようにしました
  5. 内容を確認して問題なければ アップグレード をクリック
    スクリーンショット 2026-09-23 23.19.23.png
  6. ステータスが modifying になるので、available に戻るまで待ちます。クラスタ自体は作り替わらず、ノードだけが置き換わります

アップグレードが完了するまでおおよそ15分程度でした

ダウンタイム

実測したダウンタイムはだいたい 12秒ほどでした。

ElastiCache 側のメトリクスには特に変化がなかったので、リソース不足やフェイルオーバーの遅延ではなく、
Redis のコネクションエラーがアップグレードによって起きたものという判断をしています。

最後に

ElastiCache の Redis を Valkey に切り替える作業自体は、AWSコンソールで簡単にできました。
クラスタの変更がないのも嬉しいですね!

Redis から Valkeyへの移行を検討されている方の参考になりましたら嬉しいです!!

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?