Amazon ElastiCache for Redis のエンジンバージョンとノードタイプを変更する際にデータは保持されるか教えてください

2022.10.20

困っていた内容

Amazon ElastiCache for Redis を使用しています。使用しているエンジンバージョンのサポート終了が近づいているので、エンジンバージョンのアップグレードを予定しています。あわせて、ノードタイプの変更も考えています。 それぞれの変更時にデータが保持されるか教えてください。

どう対応すればいいの?

AWS ドキュメントよるとエンジンバージョンのアップグレード、ノードタイプのスケールアップのどちらも、既存のデータをベストエフォートで保持と記載があります。

よくある質問 - Amazon ElastiCache | AWS

Q: 新しいエンジンバージョンにアップグレードするにはどうすればよいですか?
(中略)
エンジンのアップグレードプロセスは、既存のデータをベストエフォートで保持するように設計されており、Redis レプリケーションに成功する必要があります。

Q: より大きなノードタイプにスケールアップしたり、より多くのノードにスケールアウトしたりするにはどうすればよいですか?
(中略)
スケールアッププロセスは、既存のデータをベストエフォートで保持するように設計されており、Redis レプリケーションに成功する必要があります。

既存のデータをベストエフォートで保持ということは、データが保持されない可能性もあります。そのため、データトラフィックが最小となる時間帯に変更開始する等をご検討ください。

ノードタイプの変更によるオンライン垂直スケーリング - Amazon ElastiCache for Redis

垂直スケーリングプロセスは、完全にオンラインのままになるように設計されており、古いノードと新しいノードとの間でデータを同期させることに依存します。データトラフィックが最小になると予想される時間帯にスケールアップ/ダウンを開始することをお勧めします。

補足

エンジンバージョンによってサポートされるノードタイプが異なるので、エンジンバージョンとノードタイプは個別に変更が必要な場合もあります。
以下に一部を抜粋します。

サポートされているノードの種類 - Amazon ElastiCache for Redis

M6g ノードタイプ (Redis エンジンバージョン 5.0.6 以降でのみ使用可能)。
T4g ノードタイプ (Redis エンジンバージョン 5.0.6 以降でのみ使用可能)。

参考資料