

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

# チュートリアル: アクティブ/パッシブリージョン切り替えプランを作成する
<a name="tutorial-region-switch"></a>

このチュートリアルでは、us-east-1 で実行されているアプリケーションのアクティブ/パッシブリージョン切り替えプランを作成し、us-west-2 に復旧する方法について説明します。この例には、コンピューティング用の Amazon EC2 インスタンス、ストレージ用の Amazon Aurora Global Database、DNS 用の Amazon Route 53 が含まれます。

このチュートリアルでは、次の手順を実行します。
+ リージョン切り替えプランの作成
+ プランのワークフローと実行ブロックを構築する
+ EC2 Auto Scaling グループ実行ブロックを構築する
+ 2 つの手動承認実行ブロックを構築する
+ 2 つのカスタムアクション Lambda 実行ブロックを構築する
+ Amazon Aurora Global Database 実行ブロックを構築する
+ ARC ルーティングコントロールブロックを構築する
+ リージョン切り替えプランを実行する

## 前提条件
<a name="tutorial-rs-prerequisites"></a>

このチュートリアルを開始する前に、両方のリージョンで以下の前提条件が満たされていることを確認してください。
+ 適切なアクセス許可を持つ IAM ロール
+ EC2 Auto Scaling グループ
+ メンテナンスページとフェンシング用の Lambda 関数
+ Aurora Global Database
+ ARC ルーティングコントロール

## ステップ 1: リージョン切り替えプランを作成する
<a name="tutorial-rs-create-plan"></a>

1. リージョン切り替えコンソールから **[リージョン切り替えプランを作成]** を選択します。

1. 次の詳細情報を入力します。
   + **プライマリリージョン**: us-east-1 を選択
   + **スタンバイリージョン**: us-west-2 を選択
   + **目標復旧時間 (RTO)** (オプション)
   + **IAM ロール**: プラン実行の IAM ロールを入力します。この IAM ロールにより、リージョンの切り替えは実行中に AWS サービスを呼び出すことができます。

1. **[作成]** を選択します。

(オプション) 異なる AWS アカウントのリソースをリージョン切り替えプランに追加します。

1. クロスアカウントロールの作成:
   + リソースをホストするアカウントで、IAM ロールを作成します。
   + プランがアクセスする特定のリソースに対するアクセス許可を追加します。
   + 実行ロールが新しいロールを引き受けることを許可する信頼ポリシーを追加します。
   + 共有シークレットとして使用する外部 ID を入力して書き留めておきます。

1. プランでのリソースの設定:
   + リソースをプランに追加するときは、以下の 2 つの追加フィールドを指定します。
     + **crossAccountRole**: ステップ 1 で作成したロールの ARN
     + **externalId**: ステップ 1 で入力した外部 ID

アカウント 987654321 のリソースにアクセスする EC2 Auto Scaling 実行ブロックの設定例:

```
{
  "executionBlock": "EC2AutoScaling",
  "name": "ASG",
  "crossAccountRole": "arn:aws:iam::987654321:role/RegionSwitchCrossAccountRole",
  "externalId": "unique-external-id-123",
  "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:987654321:autoScalingGroup:*:autoScalingGroupName/CrossAccountASG"
}
```

必要なアクセス許可:
+ 実行ロールには、クロスアカウントロールの sts:AssumeRole アクセス許可が必要です。
+ クロスアカウントロールには、アクセスする特定のリソースに対するアクセス許可のみが必要です。
+ クロスアカウントロールの信頼ポリシーには、以下を含める必要があります。
  + 信頼されたエンティティとしての実行ロールのアカウント。
  + 外部 ID 条件。
+ クロスアカウントロールの設定の詳細については、「」を参照してください[クロスアカウントリソースのアクセス許可](security_iam_region_switch_cross_account.md)。

プランを実行する前に、リージョン切り替えは以下を検証します。
+ 実行ロールは、クロスアカウントロールを引き継ぐことができます。
+ クロスアカウントロールには、必要なアクセス許可があります。
+ 外部 ID は信頼ポリシーと一致します。

## ステップ 2: プランのワークフローと実行ブロックを構築する
<a name="tutorial-rs-build-workflows"></a>

1. リージョン切り替えプランの詳細ページから、**[ワークフローを構築]** を選択します。

1. **[すべてのリージョンで同じアクティベーションワークフローを構築する]** を選択します。

1. リージョンアクティベーションワークフローの説明を入力します (オプション)。これは、プランの実行時にワークフローを簡単に識別するために使用されます。

1. **[保存して続行]** を選択します。

### EC2 Auto Scaling 実行ブロックを追加する
<a name="tutorial-rs-build-workflows-ec2"></a>

この実行ブロックの詳細については、「」を参照してください[Amazon EC2 Auto Scaling グループ実行ブロック](ec2-auto-scaling-block.md)。

1. **[ステップを追加]** を選択し、**[シーケンス実行]** を選択します。

1. **EC2 Auto Scaling 実行ブロック**を選択し、**追加と編集**を選択します。このブロックにより、パッシブリージョンでキャパシティの増加を開始できます。

1. 右側のパネルで、以下のブロックを設定します。
   + **ステップ名**:「スケール」と入力
   + **ステップの説明** (オプション)
   + **us-east-1 の Auto Scaling グループ ARN**: us-east-1 の ASG の ARN
   + **us-west-2 の Auto Scaling グループ ARN**: us-west-2 の ASG の ARN
   + **ソースリージョンのキャパシティと一致する割合**: 100 を入力
   + **キャパシティモニタリングアプローチ**:「最新」のまま
   + **タイムアウト** (オプション)

   この実行ブロックに必要な IAM アクセス許可の詳細については、「」を参照してください[EC2 Auto Scaling 実行ブロックのサンプルポリシー](security_iam_region_switch_ec2_autoscaling.md)。

1. **[保存ステップ]** を選択します。

### 手動承認実行ブロックを追加する
<a name="tutorial-rs-build-workflows-manual-approval-1"></a>

この実行ブロックの詳細については、「」を参照してください[手動承認実行ブロック](manual-approval-block.md)。

1. **[ステップを追加]** を選択します。

1. **[手動承認実行ブロック]** を選択し、設計ウィンドウに追加します。このブロックにより、先に進む前に人間による検証が可能になります。

1. 右側のパネルで、以下のブロックを設定します。
   + **ステップ名**:「セットアップ前の手動承認」と入力
   + **ステップの説明** (オプション)
   + **IAM 承認ロール**: 実行を承認するためにユーザーが引き継ぐ必要があるロール
   + **タイムアウト** (オプション) タイムアウト後、実行は一時停止し、再試行、スキップ、またはキャンセルを選択できます。

   この実行ブロックに必要な IAM アクセス許可の詳細については、「」を参照してください[手動承認実行ブロックのサンプルポリシー](security_iam_region_switch_manual_approval.md)。

1. **[保存ステップ]** を選択します。

### メンテナンスページのカスタムアクション Lambda 実行ブロックを追加する
<a name="tutorial-rs-build-workflows-lambda-maintenance"></a>

この実行ブロックの詳細については、「」を参照してください[カスタムアクション Lambda 実行ブロック](custom-action-lambda-block.md)。

1. **[ステップを追加]** を選択します。

1. **[カスタムアクション Lambda の実行ブロック]** を選択し、**[追加および編集]** を選択します。このブロックは、アクティブ化しているリージョンにメンテナンスページを発行します。

1. 右側のパネルで、以下のブロックを設定します。
   + **ステップ名**:「メンテナンスページの表示」と入力
   + **ステップの説明** (オプション)
   + **us-east-1 をアクティブ化するための Lambda ARN**: us-east-1 にデプロイされたメンテナンスページの Lambda 関数の ARN
   + **us-west-2 をアクティブ化するための Lambda ARN**: us-west-2 にデプロイされたメンテナンスページの Lambda 関数の ARN
   + **Lambda 関数を実行するリージョン**: **[アクティブ化するリージョンで実行]** を選択
   + **タイムアウト** (オプション)
   + **再試行間隔** (オプション)

   この実行ブロックに必要な IAM アクセス許可の詳細については、「」を参照してください[カスタムアクション Lambda 実行ブロックのサンプルポリシー](security_iam_region_switch_lambda.md)。

1. **[保存ステップ]** を選択します。

### Aurora グローバルデータベース実行ブロックを追加する
<a name="tutorial-rs-build-workflows-aurora"></a>

この実行ブロックの詳細については、「」を参照してください[Amazon Aurora Global Database 実行ブロック](aurora-global-database-block.md)。

1. **[ステップを追加]** を選択します。

1. **[Aurora Global Database 実行ブロック]** を選択し、**[追加および編集]** を選択します。このブロックは、Aurora Global Database のスイッチオーバー (データ損失なし) をトリガーします。詳細については、「*Aurora ユーザーガイド*」の「[Aurora Global Database でのスイッチオーバーまたはフェイルオーバーの使用](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html)」を参照してください。

1. 右側のパネルで、以下のブロックを設定します。
   + **ステップ名**: **[Aurora スイッチオーバー]** を入力
   + **ステップの説明** (オプション)
   + **Aurora Global Database 識別子**: Aurora クラスターの名前
   + **us-east-1 のアクティブ化に使用されるクラスター ARN**: us-east-1 の Aurora クラスター ARN
   + **us-west-2 のアクティブ化に使用されるクラスター ARN**: us-west-2 の Aurora クラスター ARN
   + **Aurora データベースのオプションの選択**: **[スイッチオーバー]** を選択
   + **タイムアウト** (オプション)

   この実行ブロックに必要な IAM アクセス許可の詳細については、「」を参照してください[Aurora Global Database 実行ブロックのサンプルポリシー](security_iam_region_switch_aurora.md)。

1. **[保存ステップ]** を選択します。

### ARC ルーティングコントロール実行ブロックを追加する
<a name="tutorial-rs-build-workflows-routing-control"></a>

この実行ブロックの詳細については、「」を参照してください[ARC ルーティングコントロール実行ブロック](arc-routing-controls-block.md)。

1. **[ステップを追加]** を選択します。

1. **[ARC ルーティングコントロール実行ブロック]** を選択し、**[追加および編集]** を選択します。このブロックは DNS フェイルオーバーを実行して、トラフィックをパッシブリージョンにシフトします。

1. 右側のパネルで、以下のブロックを設定します。
   + **ステップ名**: **[DNS の切り替え]** を入力
   + **ステップの説明** (オプション)
   + **us-east-1 のアクティブ化に使用されるルーティングコントロール**: **[ルーティングコントロールの追加]** を選択
   + **タイムアウト**: タイムアウト値を入力します。

1. **[ルーティングコントロールを追加]**を選択します。
   + **ルーティングコントロール ARN**: us-east-1 を制御するルーティングコントロールの ARN
   + **ルーティングコントロールの状態**: **[オン]** を選択

1. **[ルーティングコントロールを追加]** をもう一度選択します。
   + **ルーティングコントロール ARN**: us-west-2 を制御するルーティングコントロールの ARN
   + **ルーティングコントロールの状態**: **[オフ]** を選択

1. **[保存]** を選択します。

1. **us-west-2 のアクティブ化に使用されるルーティングコントロール**: **[ルーティングコントロールを追加]** を選択

1. **[ルーティングコントロールを追加]**を選択します。
   + **ルーティングコントロール ARN**: us-west-2 を制御するルーティングコントロールの ARN
   + **ルーティングコントロールの状態**: **[オン]** を選択

1. **[ルーティングコントロールを追加]** をもう一度選択します。
   + **ルーティングコントロール ARN**: us-east-1 を制御するルーティングコントロールの ARN
   + **ルーティングコントロールの状態**: **[オフ]** を選択

1. **[保存]** を選択します。

1. **[保存ステップ]** を選択します。

   この実行ブロックに必要な IAM アクセス許可の詳細については、「」を参照してください[ARC ルーティングコントロール実行ブロックサンプルポリシー](security_iam_region_switch_arc_routing.md)。

1. **[保存]** を選択します。

## ステップ 3: プランを実行する
<a name="tutorial-rs-execute-plan"></a>

1. リージョン切り替えプランの詳細ページで、右上の**[実行]** を選択します。

1. 実行の詳細を入力します。
   + アクティブ化するリージョンを選択します。
   + プラン実行モードを選択します。
   + (オプション) 実行ステップを表示します。
   + プランの実行を確認します。

1. **[開始]** を選択します。

1. 実行の詳細ページで、プランの実行時に詳細な手順を確認できます。開始時刻、終了時刻、リソース ARN、ログメッセージなど、プラン実行の各ステップを確認できます。

障害が発生したリージョンが復旧したら、プランを再度実行 (指定したパラメータを変更) して元のリージョンをアクティブ化し、アプリケーションオペレーションを元のプライマリリージョンに戻すことができます。