Route 53 でのゾーンシフトのベストプラクティス ARC - Amazon Route 53 Application Recovery Controller

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Route 53 でのゾーンシフトのベストプラクティス ARC

Route 53 でのマルチ AZ リカバリにゾーンシフトを使用するための以下のベストプラクティスをお勧めしますARC。ゾーンシフトは、一般に、ライブアプリケーションのキャパシティを奪うため、本番で使用する場合は注意が必要です。

トピック

キャパシティプランニングと事前スケーリング

ゾーンシフトを開始するときは、事前にスケーリングするか、自動スケーリングができるようにキャパシティを計画することで、アベイラビリティーゾーンにかかる通常よりも大きな負荷に対応できるようにしておきます。リカバリに重点が置かれたアーキテクチャでは一般的に、(通常) 3 つのレプリカのうちいずれかがオフラインになったとき、ピーク時のトラフィックに対応できるだけの十分なヘッドルームを確保するように、コンピューティングキャパシティを事前にスケールすることが推奨されています。

例えば、1 つのロードバランサーリソースでゾーンシフトを開始すると、1 つのアベイラビリティーゾーンのキャパシティが、ロードバランサーの後方で一時的に削除されます。開始するゾーンシフトと、ロードバランサーの設定方法によっては、残りのアベイラビリティーゾーンで、増加する負荷に対応するための計画を慎重に立てておくことが必要になります。

クライアントがエンドポイントに接続したままになる時間を制限する

Amazon Route 53 Application Recovery Controller がゾーンシフトやゾーンオートシフトなどを使用してトラフィックを障害から遠ざける場合、Route 53 がアプリケーショントラフィックを移動ARCするために使用するメカニズムはDNS更新です。DNS 更新すると、すべての新しい接続が障害のある場所から遠ざけられます。

ただし、既存のオープン接続を持つクライアントは、クライアントが再接続するまで、障害が発生したロケーションに対して引き続きリクエストを行う場合があります。迅速な復旧を確保するために、クライアントがエンドポイントに接続したままになる時間を制限することをお勧めします。

Application Load Balancer を使用する場合は、 keepaliveオプションを使用して接続の継続時間を設定できます。詳細については、Application Load Balancer ユーザーガイドのHTTP「クライアントキープアライブ期間」を参照してください。

デフォルトでは、Application Load Balancer はHTTPクライアントキープアライブ期間値を 3600 秒、つまり 1 時間に設定します。300 秒など、アプリケーションの目標復旧時間に合わせて値を小さくすることをお勧めします。HTTP クライアントキープアライブ期間を選択する場合、この値は一般的に再接続の頻度が高いことによるトレードオフであり、レイテンシーに影響する可能性があります。また、すべてのクライアントを障害のある AZ またはリージョンからより迅速に遠ざけることができることを考慮してください。

ゾーンシフトの開始を事前にテストする

ゾーンシフトを開始してトラフィックをアプリケーションのアベイラビリティーゾーンから移動するテストを、定期的に行います。ゾーンシフトを計画して、障害の発生時にアプリケーションをリカバリするフェイルオーバーの定期テストの一環として、できればテストと本番の両方の環境でその開始を実行します。定期テストは、運用上のイベントに備え、イベントの発生時には自信を持って緩和できるようにするために不可欠なものです。

すべてのアベイラビリティーゾーンが正常で、トラフィックを受け取れるようにする

ゾーンシフトは、アベイラビリティーゾーン内でリソース、つまりアプリケーションレプリカを異常とマークすることにより機能します。アプリケーションのロードバランサーのターゲットが概ね正常であり、リージョンのアベイラビリティーゾーンでトラフィックが受け入れられていることを確認するために欠かせません。異常のあるターゲットやアベイラビリティーゾーンbytesProcessed ごとの Elastic Load Balancing メトリクスなど、これを追跡するダッシュボードを用意することをお勧めします。

隣接する 2 番目のリージョンからリソースの状態をモニタリングすることを検討してください。この方法を使うことで、エンドユーザーの体験をより多く反映させることができ、さらに、アプリケーションとモニタリングの両方が同じ災害から同時に影響を受けるリスクを下げることができます (「運命を分け合う」)。

ディザスタリカバリにデータプレーンAPIオペレーションを使用する

依存関係がほとんどなく、アプリケーションを迅速に復旧する必要がある場合にゾーンシフトを開始するには、可能であれば、事前に保存された認証情報APIを使用して、ゾーンシフトアクションで AWS Command Line Interface または を使用することをお勧めします。でゾーンシフトを開始して AWS Management Console、使いやすくすることもできます。ただし、スピーディな、信頼性の高いリカバリがカギとなるケースでは、データプレーンオペレーションの方が適しています。詳細については、「ゾーンシフトAPIリファレンスガイド」を参照してください。

ゾーンシフトでトラフィックを一時的に移動する

ゾーンシフトは、障害を緩和するためにトラフィックをアベイラビリティーゾーンから一時的に移動する機能です。問題を解決するためのアクションを実行したら、すぐにアプリケーションのリソースをサービスに戻す必要があります。そうすることで、アプリケーション全体が、完全な冗長性とレジリエンスを備えた元の状態に戻ります。