RDB 永続性について

このページでは、Memorystore for Valkey での RDB 永続性の概要を説明します。

RDB 永続性の有効化、無効化、モニタリングの方法については、永続性の管理をご覧ください。

RDB 永続性に関するベスト プラクティスについては、永続性のベスト プラクティスをご覧ください。

RDB の永続性機能は、耐久性の高いストレージにデータのスナップショットを保存することでデータを保護します。スナップショットの頻度は、最小 1 時間から最大 24 時間までの範囲で選択します。ノード障害が発生した場合、フェイルオーバーができない場合でもデータは復元されます。

レプリカを持つノードでは、レプリカからのデータ復元を優先します。ただし、プライマリとレプリカの両方で同時に障害が発生した場合は、ノードが最新のスナップショットから復元されます。

RDB 永続性により、インスタンスの料金に追加料金は発生しません。この機能は、復旧後にある程度データのステイルネスが問題にならないユースケースに最適です。Memorystore は自動復元にスナップショットを使用するため、手動での復元にはスナップショットを使用できません。また、成功した最新のスナップショットのみが保持される点にも注意してください。

Memorystore for Valkey は AOF 永続性もサポートしていますが、両方を同時に有効にすることはできないため、AOF 永続性モードと RDB 永続性モードのいずれかを選択する必要があります。2 つの永続性モードの選択方法については、永続性の概要をご覧ください。最大限の可用性を実現するには、永続性を有効にするだけでなく、高可用性のインスタンスを使用することをおすすめします。

スナップショットのスケジューリング

スナップショットのスケジュールリングは、スナップショットの開始時刻とスナップショット間隔の 2 つの設定によって決まります。設定可能な間隔は 1h6h12h24h です。たとえば、開始時刻を午前 4 時に設定し、間隔を 1 時間に設定すると、スナップショットは、有効になっている日の午前 4 時 に開始し、それ以降は 1 時間ごとに繰り返し実行されます。

スナップショット スケジュールは UTC タイムゾーンで評価されるため、夏時間のあるローカル タイムゾーンでは、スケジュールが調整されます。たとえば、米国の DST の開始と終了に、タイムゾーンが DST の変更を遵守する場合、スナップショット スケジュール ジョブのローカル開始時刻は、1 時間前または前に移動します。

スナップショットを一時停止する

一定の期間、RDB スナップショットの取得を一時停止したい、というシナリオが発生する可能性があります。これは、重大なイベント中にパフォーマンスに影響が及ばないようにする、またはパフォーマンスの問題をトラブルシューティングするためにスナップショットを一時的に無効にするために取られる措置です。

スナップショットを一時停止するには、開始時刻を将来に設定する必要があります。これにより、最後のスナップショットが保持され、復元時に使用されます。スナップショットを再開するには、次のスナップショットを生成するタイミングになるようにスナップショット スケジュールを調整します。スナップショット スケジュールの調整について詳しくは、RDB スナップショットの間隔を調整するをご覧ください。

復旧動作

Memorystore for Valkey ノードは、スナップショットから読み込むのではなく、プライマリ復旧メカニズムとしてレプリカにフェイルオーバーします。ただし、ノードに障害が発生してレプリカから復元できない場合、ノードはスナップショットから復元されます。

復元時のデータの整合性

有効にすると、RDB 永続性は、ベスト エフォートで指定された間隔でバックアップが作成されるようにします。スナップショットはいくつかの理由で失敗することがあります。スナップショットが複数の間隔で連続して失敗すると、最後に使用可能だったバックアップが古くなっている可能性があります。

スナップショットからの復元で最悪のデータ ステイルネスのケースは、最後の良好なスナップショットが開始されてからの指定した間隔と、次のスナップショットをストレージに保存する時間の合計です。復旧インシデントの場合は、rdb_last_success_ages 指標を使用してデータ ステイルネスの時間枠を表示します。

復旧までの時間

ノードに障害が発生し、スナップショットからデータを復元する必要がある場合、そのノードは復元中に使用できなくなります。復旧時間はスナップショットのサイズによって異なります。

スナップショット エラー

失敗したスナップショットは、5 ~ 300 秒の指数バックオフですぐに再試行されます。スナップショットが連続して失敗すると、復元時にデータのステイルネスが増加します。

復元の失敗

復旧に失敗することはまれですが、起きることがあります。復元に失敗すると、ノードは正常に復旧するまで再試行を繰り返します。

スナップショットのモニタリング

スナップショットをモニタリングし、失敗したスナップショットのアラートを設定することが重要です。RDB 永続性に関するベスト プラクティスについては、RDB 永続性のベスト プラクティスをご覧ください。スナップショットの失敗は、ノードの負荷が大きすぎて、スナップショットからの復元が不可能な状態が継続することを表している可能性があります。

スナップショットのモニタリングに使用できる指標のリストについては、永続性指標をご覧ください。

パフォーマンスへの影響の管理

CPU 使用率やメモリ使用量など、Cloud Monitoring で使用可能な指標を表示することで、Memorystore インスタンスに対するスナップショットがパフォーマンスに与える影響をモニタリングできます。