ディザスタリカバリ訓練機能は、ワークスペース内の単一アベイラビリティーゾーン (AZ) 障害をシミュレートし、実際の AZ 障害シナリオにおける Flink ジョブの自動移行および復旧機能を検証します。本トピックでは、ディザスタリカバリ訓練を有効化して使用する方法について説明します。
概要
ディザスタリカバリ訓練は、ワークスペースレベルで開始されます。クロスゾーン (同一都市高可用性) ネームスペースを含むすべてのワークスペースで訓練を実行できます。訓練中、システムは対象 AZ を AZ ブラックリストに追加し、Flink 障害検出とリソースリバランシングをトリガーし、影響を受けるジョブを退避させ、正常な AZ で再スケジュールし、最新の成功したチェックポイントから状態を復元します。訓練終了後、システムは監査記録用の HTML 訓練レポートを生成します。
この訓練機能は、プラットフォーム SRE による手動介入なしに、高可用性を求めるお客様にセルフサービス検証とコンプライアンス監査サポートを提供します。
制限事項
-
Intel x86 アーキテクチャのみがサポートされています。基盤イメージの違いにより、ARM アーキテクチャはサポートされていません。
-
ワークスペースにはクロスゾーンネームスペースが含まれている必要があります。つまり、同一都市高可用性が有効化されている必要があります。手順については、「同一都市高可用性」をご参照ください。
-
訓練の実行中、対象ワークスペースでのスケーリング操作は禁止されており、関連するネームスペースでの削除およびスケーリング操作は禁止されています。
-
ハイブリッド課金モードでは、エラスティックリソース上のジョブはベストエフォートで復旧されます。正常な AZ のエラスティックリソースが不足している場合、エラスティックジョブの復旧が遅延する可能性があります。
前提条件
-
同一都市高可用性を備えたクロスゾーンネームスペースが購入され、有効化されていること。
-
訓練に関与するすべての AZ (シミュレートされる障害 AZ および正常な AZ を含む) の vSwitch CIDR ブロックが、Kafka、ApsaraDB RDS、Hologres、Paimon、OSS などのアップストリームおよびダウンストリームシステムのアクセスホワイトリストに追加されていること。
-
影響を受けるすべてのジョブが RUNNING 状態であり、チェックポイントが有効化されており、成功したチェックポイント記録が存在すること。
-
オペレーターアカウントに
flink:DescribeDisasterRecoveryDrill、flink:DescribeInstanceZoneJobs、flink:ListDisasterRecoveryDrills、flink:StartDisasterRecoveryDrill、flink:StopDisasterRecoveryDrillの権限があること。
ディザスタリカバリ訓練ホワイトリストの申請
ディザスタリカバリ訓練はホワイトリスト機能です。使用する前にアクセス権を申請する必要があります。
-
対象ワークスペースのネームスペースリストにクロスゾーンネームスペースが含まれていることを確認します。
-
ワークスペースの [Actions] 列で、[Disaster Recovery Drill] > [Start Drill] をクリックします。
シングルゾーンネームスペースには [Disaster Recovery Drill] メニューが表示されません。[Disaster Recovery Drill] エントリがグレー表示されている場合は、その上にマウスカーソルを合わせると、"Whitelist verification failed" や "Same-city high availability not enabled" などの理由が表示されます。
ディザスタリカバリ訓練の開始
-
訓練はオフピーク時間帯に開始してください。影響を受けるジョブは訓練中に短時間中断されます。通常、数十秒から数分程度です。
-
エンドツーエンドのビジネス継続性は、アップストリームおよびダウンストリームシステムがクロスゾーン高可用性を備えていることにも依存します。これらが AZ 間でデプロイされていない場合、移行されたジョブで接続タイムアウト、書き込み失敗、またはデータバックログが発生する可能性があります。リスク条件については、「ディザスタリカバリ訓練における高リスク操作のインフォームドコンセント」をご参照ください。
ステップ 1: 対象障害 AZ の選択
-
対象ワークスペースの [Actions] 列で、[Disaster Recovery Drill] > [Start Drill] をクリックします。
-
[Target Failure AZ] ドロップダウンリストで、障害としてシミュレートする AZ を選択します。
障害 AZ を選択すると、影響を受けるジョブが表示されます。
AZ の選択を確認したら、ステップ 2 に進みます。
ステップ 2: 影響範囲の確認
-
[Impact Scope Estimation] を確認し、以下の情報を確認します。
項目
説明
影響を受けるジョブ
対象障害 AZ 上で RUNNING 状態にあるジョブの数。
RTO
障害 AZ から正常な AZ への復旧にかかる推定時間。
影響を受けるジョブリスト
影響を受ける各ジョブの名前、現在のステータス、および AZ。
-
以下の 3 つの確認チェックボックスを選択します。
-
現在の時刻はビジネスのピーク時間帯ではありません。
-
訓練中にジョブが短時間中断される可能性があることを承認します。
-
「高リスク操作に関するインフォームドコンセント」を読みました。
-
-
[高リスク操作に関するインフォームドコンセント] のすべての条件を読んでください。ジョブの短時間中断、お客様側で保証されたアップストリームおよびダウンストリームの高可用性、ハイブリッド課金でのベストエフォート復旧、訓練間隔と頻度について説明されています。
-
[Drill Summary] で、対象障害 AZ、影響を受けるジョブの数、および推定 RTO を確認します。
訓練の進行状況の監視
訓練が開始されると、ページは自動的に訓練進行状況ページにリダイレクトされ、訓練プロセス全体がリアルタイムで表示されます。
ページ要素:
|
要素 |
説明 |
|
プログレスバー |
現在のステップ、合計ステップ数、経過時間、および進行率を表示します。 |
|
AZ トポロジ図 |
正常な AZ は緑色で表示されます。障害 AZ は赤色で表示され、「Simulating failure」というラベルが表示されます。赤い矢印はジョブの移行方向を示します。 |
|
訓練ステップタイムライン |
5 つのステップの実行ステータスを順番に表示します:AZ 障害のシミュレート、システム障害検出、障害移行の実行、ジョブ影響の評価、訓練レポートの生成。 |
-
ジョブ移行ウィンドウは 15 分です。ウィンドウ内で移行に失敗したジョブはスキップされ、ジョブ復旧率が 100% を下回る可能性があります。
-
演習を早期に終了するには、右下隅の[停止]をクリックし、二次確認ダイアログボックスで確認します。
-
移行ウィンドウの期限切れ、訓練の早期終了、またはすべてのジョブの移行完了のいずれの場合でも、対象 AZ を AZ ブラックリストから削除してスケジューリングを再開するには、手動で [End Drill] をクリックする必要があります。
-
完了した移行記録は訓練レポートに保持されます。ウィンドウ内で移行に失敗したジョブについては、ジョブ移行詳細のチェックポイント列に [Recovery failed] と表示されます。コアメトリクスは完了した部分に基づいて計算されます。
訓練結果の表示とレポートのダウンロード
訓練移行が終了すると、ページは訓練結果ページにリダイレクトされます。
ページの主な情報:
|
項目 |
説明 |
|
主要メトリクス |
RTO やジョブ復旧率などのメトリクスを表示します。 |
|
ジョブ移行詳細 |
各ジョブの元の AZ、移行先 AZ、移行時間、およびチェックポイント復旧ステータスを表示します。 |
|
タイムライン |
訓練プロセスのすべてのイベントとタイムスタンプを記録します。 |
[レポートのダウンロード] をクリックして、ドリル監査レポートをダウンロードします。レポートには、ドリルの基本情報、ドリルの構成、ドリルプロセスのタイムライン、およびジョブ移行の詳細が含まれています。
訓練を終了すると、障害 AZ がホワイトリストに戻され、正常な AZ として復元されます。移行されたジョブは新しい AZ に残り、自動的に元に戻されることはありません。
訓練履歴の表示
-
対象ワークスペースの [Actions] 列で、[Disaster Recovery Drill] > [Drill History] をクリックします。
-
前回の訓練時刻、訓練の合計回数、および最新の結果が表示されます。
-
訓練履歴テーブルで [View Details] をクリックして訓練結果ページを開き、[Download Report] をクリックして対応する HTML 訓練レポートをダウンロードします。
関連ドキュメント
-
クロスゾーンネームスペースを有効化および管理する方法については、「同一都市高可用性」をご参照ください。
-
訓練リスク条件と前提条件の確認については、「ディザスタリカバリ訓練における高リスク操作のインフォームドコンセント」をご参照ください。
-
ネームスペースリソースの割り当てと調整については、「リソースの調整」をご参照ください。