Amazon Application Recovery Controller (ARC) でマルチリージョンのリカバリを開始する方法 - Amazon Application Recovery Controller (ARC)

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

Amazon Application Recovery Controller (ARC) でマルチリージョンのリカバリを開始する方法

Amazon Application Recovery Controller (ARC) のルーティングコントロールを使用してアプリケーションをフェイルオーバーするには、複数の AWS アプリケーションが必要です AWS リージョン。開始するには、まず、アプリケーションが各リージョンのサイロ化されたレプリカにセットアップされていることを確認し、イベント中に 1 つのレプリカから別のレプリカにフェイルオーバーできるようにします。次に、ルーティングコントロールを作成して、アプリケーショントラフィックをプライマリアプリケーションからセカンダリアプリケーションにフェイルオーバーするように再ルーティングし、ユーザーの継続性を維持します。

注記

アベイラビリティーゾーンによってサイロ化されているアプリケーションがある場合は、フェイルオーバーリカバリにゾーンシフトまたはゾーンオートシフトを使用することを検討してください。アベイラビリティーゾーンの障害からアプリケーションを確実に回復するために、ゾーンシフトまたはゾーンオートシフトを使用する設定は必要ありません。詳細については、「ゾーンシフトとゾーンオートシフトを使用して ARC のアプリケーションを復旧する」を参照してください。

ARC ルーティングコントロールを使用してイベント中にアプリケーションを復旧できるように、互いにレプリカとなるアプリケーションを少なくとも 2 つ設定することをお勧めします。各レプリカまたはセルは を表します AWS リージョン。リージョンに合わせてアプリケーションリソースを設定したら、次の手順を実行して、アプリケーションが復旧に成功するように設定されていることを確認します。

ヒント: セットアップを簡素化するために、冗長レプリカを持つアプリケーションを作成する CloudFormation と HashiCorp Terraform テンプレートを提供しています。詳細とテンプレートのダウンロードは「サンプルアプリケーションのセットアップ」をご確認ください。

ルーティングコントロールを使用する準備をするには、以下を実行して、アプリケーションが回復力を持つように設定されていることを確認します。

  1. 各リージョンで互いにレプリカとなるアプリケーションスタック (ネットワークレイヤーとコンピューティングレイヤー) の独立したコピーを構築して、イベントが発生したときにトラフィックをフェイルオーバーできるようにします。1 つのレプリカの障害がもう 1 つのレプリカに影響を与えるようなクロスリージョンの依存関係がアプリケーションコードにないことを確認してください。間で正常にフェイルオーバーするには AWS リージョン、スタックの境界がリージョン内にある必要があります。

  2. アプリケーションに必要なすべてのステートフルデータをレプリカ全体に複製します。 AWS データベースサービスを使用して、データをレプリケートできます。

トラフィックフェイルオーバーのルーティングコントロールの開始

Amazon Application Recovery Controller (ARC) のルーティングコントロールを使用すると、個別の AWS リージョンで実行されている冗長アプリケーションコピーやレプリカ間のトラフィックのフェイルオーバーをトリガーできます。フェイルオーバーは、Amazon Route 53 データプレーンを使用して DNS で実行されます。

次のセクションで説明するとおり、各リージョンでレプリカを設定したら、それぞれをルーティングコントロールに関連付けられます。まず、ルーティングコントロールを各リージョンのレプリカの最上位ドメイン名に関連付けます。次に、ルーティングコントロールのヘルスチェックをルーティングコントロールに追加して、トラフィックフローをオンまたはオフにできるようにします。これにより、アプリケーションのレプリカ間のトラフィックルーティングを制御できます。

でルーティングコントロールの状態を更新 AWS マネジメントコンソール してトラフィックをフェイルオーバーできますが、代わりに API または を使用して ARC アクション AWS CLIを使用して変更することをお勧めします。API アクションはコンソールに依存しないため、耐障害性が向上します。

例えば、us-west-1 から us-east-1 へのアベイラビリティーゾーン間でフェイルオーバーを行う場合は、update-routing-control-state API アクションを使用して us-west-1 のステータスを Off にし、us-east-1 のステータスを On に設定できます。

ルーティングコントロールコンポーネントを作成してアプリケーションのフェイルオーバーを設定する前に、アプリケーションがリージョンレプリカにサイロ化されていることを確認し、一方から他方にフェイルオーバーできるようにします。詳細を確認し、新しいアプリケーションのサイロ化またはサンプルスタックの作成を開始するには、次のセクションを参照してください。

サンプルアプリケーションのセットアップ

ルーティングコントロールの仕組みを理解しやすくするために、TicTacToe というサンプルアプリケーションを提供しています。この例では、 CloudFormation テンプレートを使用してプロセスを簡素化し、ダウンロード可能な CloudFormation テンプレートを使用して、ARC のセットアップと使用をすばやく検討できます。

サンプルアプリをデプロイしたら、テンプレートを使用して ARC コンポーネントを作成し、アプリへのトラフィックフローを管理するルーティングコントロールを使用できます。テンプレートとプロセスは、独自のシナリオやアプリケーションに合わせて調整できます。

サンプルアプリケーションと CloudFormation テンプレートの使用を開始するには、ARC GitHub リポジトリの README の手順を参照してください。 CloudFormation テンプレートの使用の詳細については、「 AWS CloudFormation ユーザーガイド」のCloudFormation 概念を参照してください。