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 永続性のベスト プラクティスをご覧ください。スナップショットの失敗は、ノードが過負荷になっていて、スナップショットからの復元が不可能な状態が継続することを表している可能性があります。

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

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

スナップショットが Memorystore インスタンスに与えるパフォーマンスへの影響をモニタリングするには、Cloud Monitoring で利用可能な指標(CPU 使用量やメモリ使用量など)を確認します。