こんにちは、サーバエンジニアの池脇です。
今回はElastiCacheで新たにサポートされたValkeyにエンジン変更を行ったので手順等を紹介したいと思います。
Valkeyとは
ValkeyとはインメモリデータベースのOSSです。
今までインメモリデータベースとしてよく利用されていたのはRedisでしたが、7.4からライセンスの変更が行われた1ためElastiCacheでは利用できなくなり、新たにValkeyをサポートすることが発表されました。
Redisをフォークしたインメモリデータベースであるため、コードやアーキテクチャの変更を行うことなくValkeyに乗り換えることが可能です。2
Valkeyに乗り換えるメリット
1番大きいのは費用が安くなることです。
サーバレスでは 33%、ノードベースでも 20% のコストカットができるとのこと。(詳しい料金についてはこちらを参照)
他にも
- コードやアーキテクチャの変更が不要
- ダウンタイムなしでの移行が可能
という点も移行に対する障壁が少ないという意味でポイントです。
またAWSがValkeyプロジェクトを支援しているため、今後のことを考えても積極的にValkeyに乗り換えていくべきでしょう。
詳しくは下記のブログをご覧ください。
実際にやってみる
では実際にValkeyへの変更をやってみましょう。
AWSコンソールから「ElastiCache」にアクセスし「Redis OSS キャッシュ」から変更を行いたいキャッシュ名を選択。
下記の画像のように変更を選択。
「クラスター設定」の「モード」でRedis → Valkeyに変更。
下記画像のように「エンジンバージョン」、「パラメータグループ」が表示されるので問題なければそのまま下までスクロールし「変更をプレビュー」を選択。
プレビューを確認して問題なければ「すぐに適用」のチェックをつけたまま変更を選択。
下記画像のようにステータスが「Modifying」になっていれば作業は終了です。
今回試した環境では15分ほど待つと「Redis OSS キャッシュ」から「Valkey キャッシュ」に移動し、ステータスが「Available」になりました。
移行中にキャッシュを利用しているサービスを触ってみましたが、エラーは発生しませんでした。また移行後にValkeyの中を確認してみましたが、キャッシュしている内容に欠落等がなかったためサービス影響なく移行できたようです。
まとめ
ElastiCacheでのRedisからValkeyへの移行はとても簡単な上にダウンタイムがなく、サービス影響なしで実行できました。
特に費用面でValkeyに変更することによって受けられるメリットが大きいので、まだRedisを利用しているのであればぜひ移行を検討してみてください!
参考
- ElastiCacheでValkeyがサポートされたけど何が良いのか検証してみた
- Amazon ElastiCache for Valkey を試した
- Amazon ElastiCache for RedisからAmazon ElastiCache for Valkeyに変更してみた
-
現時点での最新バージョンの8.0系でもRedis7.2.4との互換性がある ↩