AWS Transit Gateway によるリージョン間ピアリングの設定を自動化する - AWS 規範ガイダンス

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

AWS Transit Gateway によるリージョン間ピアリングの設定を自動化する

作成者: Ram Kandaswamy (AWS)

環境: 実稼働

テクノロジー: ネットワーキング、ハイブリッドクラウド

AWS サービス: AWS Transit Gateway、AWS Step Functions、AWS Lambda

[概要]

AWS Transit Gateway は、中央ハブを介して仮想プライベートクラウド (VPC) とオンプレミスネットワークを接続します。Transit Gateway のトラフィックは常にグローバル Amazon Web Services (AWS) バックボーンに留まり、パブリックインターネットを通過しないため、一般的なエクスプロイトや分散型サービス拒否 (DDoS) 攻撃などの脅威ベクトルが軽減されます。

2 つ以上の AWS リージョン間で通信する必要がある場合は、リージョン間 Transit Gateway のピアリングを使用して、異なるリージョンの Transit Gateway 間のピアリング接続を確立できます。ただし、Transit Gateway を使用してリージョン間ピアリングを手動で設定するのは、複数の手順を伴う時間のかかるプロセスです。このパターンでは、コードを使用してピアリングを実行することで、このような手動の手順を省くプロセスを自動化できます。このアプローチは、マルチリージョンの組織設定中に複数のリージョンと AWS アカウントを繰り返し設定する必要がある場合に使用できます。

このパターンでは、AWS Step Functions ワークフロー、AWS Lambda 関数、AWS Identity and Access Management (IAM) ロール、および Amazon Logs のロググループを含む AWS CloudFormation スタックを使用します。 CloudWatch その後、Step Functions の実行を開始し、Transit Gateway のリージョン間ピアリング接続を作成できます。

前提条件と制限

前提条件

  • アクティブな AWS アカウント

  • 既存の Amazon Simple Storage Service (Amazon S3) バケット

  • リクエスターのリージョンとアクセプターのリージョンで作成して設定されたトランジットゲートウェイ。  リクエスターのリージョンはピアリングリクエストを発信し、アクセプターのリージョンはピアリングリクエストを受け付けます。この詳細については、Amazon VPC ドキュメントの「VPC ピアリング接続の作成と承認」を参照してください。

  • アクセプターのリージョンとリクエスターのリージョンにインストールされ、設定された VPC。VPC を作成する手順については、Amazon VPC ドキュメントの「Amazon VPC 入門ガイド」にある「VPC の作成」を参照してください。

  • VPC は addToTransitGateway タグと true 値を使用する必要があります。

  • 要件に応じて、VPC のセキュリティグループとネットワーク アクセスコントロールリスト (ネットワーク ACL) を設定します。この詳細については、Amazon VPC ドキュメントの「VPC のセキュリティグループ」と「ネットワーク ACL」を参照してください。

AWS リージョンと制限

  • 特定の AWS リージョンのみが、リージョン間ピアリングをサポートしています。リージョン間ピアリングをサポートするリージョンの全リストについては、「AWS Transit Gateway」のよくある質問を参照してください。

  • 添付のサンプルコードでは、リクエスターのリージョンは us-east-2 で、アクセプターのリージョンは us-west-2 であると仮定されています。異なるリージョンを設定する場合は、すべての Python ファイルでこれらの値を編集する必要があります。3 つ以上のリージョンを含むより複雑なセットアップを実装するには、Step Function を変更してリージョンをパラメータとして Lambda 関数に渡し、組み合わせごとに関数を実行できます。

アーキテクチャ

Step Functions ステートマシンは Lambda 関数を使用して、トランジットゲートウェイのピアリング接続を作成します。

この図は、次のステップのワークフローを示しています。

  1. ユーザーは AWS CloudFormation スタックを作成します。

  2. AWS CloudFormation は、Lambda 関数を使用する Step Functions ステートマシンを作成します。詳細については、AWS Step Functions ドキュメントの「Lambda を使用する Step Functions テートマシンの作成」を参照してください。

  3. Step Functions はピアリング用の Lambda 関数を呼び出します。 

  4. Lambda 関数は、Transit Gateway 間でピアリング接続を作成します。

  5. Step Function は、ルートテーブルを変更するための Lambda 関数を呼び出します。

  6. Lambda 関数は、VPC の Classless Inter-Domain Routing (CIDR) ブロックを追加してルートテーブルを変更します。

Step Function ワークフロー

Lambda 関数を呼び出してトランジットゲートウェイピアリングのルートテーブルを変更する Step Functions ワークフロー。

この図は、次の Step Function ワークフローを示しています。

  1. Step Function ワークフローは、Transit Gateway ピアリング用の Lambda 関数を呼び出します。 

  2. 1 分間待機するタイマーコールがあります。

  3. ピアリングステータスが取得され、条件ブロックに送信されます。ブロックがルーピングを実行します。 

  4. 成功条件が満たされない場合、ワークフローはタイマーステージに移行するようにコーディングされます。 

  5. 成功条件が満たされると、Lambda 関数が呼び出されてルートテーブルが変更されます。このコールの後、Step Function ワークフローは終了します。

ツール

  • AWS CloudFormation – AWS CloudFormation は、AWS リソースのモデル化とセットアップに役立つサービスです。

  • Amazon CloudWatch Logs – CloudWatch Logs は、使用するすべてのシステム、アプリケーション、および AWS のサービスからのログを一元化するのに役立ちます。

  • AWS Identity and Access Management (IAM) — IAM は、AWS サービスへのアクセスをセキュアに制御するためのウェブサービスです。

  • AWS Lambda — Lambda は可用性の高いコンピューティングインフラストラクチャでコードを実行し、コンピューティングリソースの管理をすべて実行します。

  • AWS Step Functions – Step Functions により、分散アプリケーションのコンポーネントをビジュアルワークフローの一連のステップとして簡単に編成できます。 

エピック

タスク説明必要なスキル

添付ファイルを S3 バケットにアップロードします。

AWS マネジメントコンソールにサインインし、Amazon S3 コンソールを開き、modify-transit-gateway-routes.zippeer-transit-gateway.zipget-transit-gateway-peering-status.zip ファイル(添付ファイル)を S3 バケットにアップロードします。

AWS 全般

AWS CloudFormation スタックを作成します。

次のコマンドを実行して、 transit-gateway-peering.json ファイル (添付) を使用して AWS CloudFormation スタックを作成します。

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json

AWS CloudFormation スタックは、Step Functions ワークフロー、Lambda 関数、IAM ロール、および CloudWatch ロググループを作成します。

AWS CloudFormation テンプレートが、以前にアップロードしたファイルを含む S3 バケットを参照していることを確認します。

: AWS CloudFormation コンソールを使用してスタックを作成することもできます。詳細については、AWS ドキュメントの「AWS CloudFormation コンソールでのスタックの作成」を参照してください。 CloudFormation

DevOps エンジニア

Step Functions 内で新しい実行を開始します。

Step Functions コンソールを開き、新しい実行を開始します。Step Functions は Lambda 関数を呼び出し、Transit Gateway のピアリング接続を作成します。JSON 入力ファイルは必要ありません。添付ファイルを使用できること、および接続タイプがピアリングであることを確認します。

この詳細については、AWS Steps Functions ドキュメントの「AWS Step Functions 入門ガイド」にある「新しい実行を開始する」を参照してください。

DevOps エンジニア、AWS 全般

ルートテーブル内のルートを検証します。

Transit Gateway 間でリージョン間ピアリングが確立されます。ルートテーブルは、ピアリージョン VPC の IPv4 CIDR ブロック範囲で更新されます。 

Amazon VPC コンソールを開き、Transit Gateway アタッチメントに対応するルートテーブルの [関連付け] タブを選択します。ピアリングされたリージョンの VPC CIDR ブロック範囲を検証します。 

詳細なステップと手順については、Amazon VPC ドキュメントの「Transit Gateway ルートテーブルを関連付ける」を参照してください。

ネットワーク管理者

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip