このページでは、Memorystore for Valkey の RDB 永続性の概要について説明します。
RDB 永続性の有効化、無効化、モニタリングの方法については、永続性の管理をご覧ください。
RDB 永続性に関するベスト プラクティスについては、永続性のベスト プラクティスをご覧ください。
RDB 永続性機能は、耐久性のあるストレージにデータのスナップショットを保存することでデータを保護します。これらのスナップショットの頻度は、1 時間から 24 時間までのスナップショット間隔を選択して指定します。ノード障害が発生した場合、フェイルオーバーが不可能な場合でもデータは復元されます。
レプリカを持つノードは、レプリカからのデータ復元を優先します。ただし、プライマリとレプリカの両方で同時に障害が発生した場合、ノードは最新のスナップショットから復元されます。
RDB 永続性により、インスタンスの料金に追加料金は発生しません。この機能は、復旧後にある程度データのステイルネスが問題にならないユースケースに最適です。Memorystore は自動復旧にスナップショットを使用するため、スナップショットを手動で復元することはできません。また、保持されるのは最新の成功したスナップショットのみです。
Memorystore for Valkey は AOF 永続性もサポートしていますが、両方を同時に有効にすることはできないため、AOF 永続性モードと RDB 永続性モードのいずれかを選択する必要があります。2 つの永続性モードの選択については、 永続性の概要をご覧ください。 可能な限り高い可用性を実現するには、永続性を有効にするだけでなく、 高可用性インスタンス を使用することをおすすめします。
スナップショットのスケジュール設定
スナップショットのスケジュールリングは、スナップショットの開始時刻とスナップショット間隔の 2 つの設定によって決まります。設定可能な間隔は 1h、6h、12h、24h です。たとえば、開始時刻を午前 4 時に設定し、間隔を 1 時間に設定すると、スナップショットは、有効になっている日の午前 4 時 に開始し、それ以降は 1 時間ごとに繰り返し実行されます。
スナップショット スケジュールは UTC タイムゾーンで評価されるため、夏時間シフトのあるローカル タイムゾーンではスケジュールが調整されます。たとえば、タイムゾーンで夏時間の変更が適用される場合、米国では夏時間の開始時と終了時に、スナップショット スケジュール ジョブのローカル開始時刻が 1 時間前または後に移動します。
スナップショットを一時停止する
一定の期間、RDB スナップショットの取得を一時停止したい、というシナリオが発生する可能性があります。これは、重大なイベント中にパフォーマンスに影響が及ばないようにする、またはパフォーマンスの問題をトラブルシューティングするためにスナップショットを一時的に無効にするために取られる措置です。
スナップショットを一時停止するには、開始時刻を将来に設定する必要があります。これにより、最後のスナップショットが保持され、復旧時に使用されます。スナップショットを再開するには、次のスナップショットの実行時刻に合わせてスナップショット スケジュールを調整します。スナップショット スケジュールの調整について詳しくは、 RDB スナップショットの間隔を調整するをご覧ください。
復旧動作
Memorystore for Valkey ノードは、スナップショットから読み込むのではなく、プライマリ復旧メカニズムとしてレプリカにフェイルオーバーします。ただし、ノードで障害が発生し、レプリカから復旧できない場合、ノードはスナップショットから復旧します。
復元時のデータの整合性
有効にすると、RDB 永続性は、ベスト エフォートで指定された間隔でバックアップが作成されるようにします。スナップショットは、さまざまな理由で失敗する可能性があります。スナップショットが複数の間隔で連続して失敗すると、最後に使用可能だったバックアップが古くなっている可能性があります。
スナップショットからの復元で最悪のデータ ステイルネスのケースは、最後の良好なスナップショットが開始されてからの指定した間隔と、次のスナップショットをストレージに保存する時間の合計です。復旧インシデントの場合は、rdb_last_success_ages 指標を使用してデータ ステイルネスの時間枠を表示します。
復旧までの時間
ノードで障害が発生し、スナップショットからデータを復旧する必要がある場合、復旧中はノードを使用できません。復旧時間はスナップショットのサイズによって異なります。
スナップショット エラー
失敗したスナップショットは、5 秒から 300 秒の指数バックオフで直ちに再試行されます。スナップショットが連続して失敗すると、復元時にデータのステイルネスが増加します。
復元の失敗
復旧に失敗することはまれですが、起きることがあります。復旧に失敗すると、ノードは正常に復旧するまで繰り返し再試行します。
スナップショットをモニタリングする
スナップショットをモニタリングし、失敗したスナップショットのアラートを設定することが重要です。RDB 永続性に関するベスト プラクティスについては、RDB 永続性のベスト プラクティスをご覧ください。スナップショットの失敗は、ノードの負荷が大きすぎて、スナップショットからの復元が不可能な状態が継続することを表している可能性があります。
スナップショットのモニタリングに使用できる指標のリストについては、 永続性の指標をご覧ください。
スナップショットのパフォーマンスへの影響を管理する
CPU 使用率やメモリ使用量など、Cloud Monitoring を介して利用できる指標を表示して、スナップショットが Memorystore インスタンスに与える影響をモニタリングできます。