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

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

AWS Transit Gateway によるリージョン間ピアリングのセットアップを自動化する

作成者: Ram Kandaswamy (AWS)

環境:本稼働

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

AWS サービス: AWS Transit Gateway、AWSStep Functions、AWSLambda

[概要]

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

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

このパターンは、Amazon CloudWatch Logs の AWS Step Functions ワークフロー、AWSLambda 関数、AWSIdentity and Access Management (IAM) ロール、およびロググループを含むAWS CloudFormation スタックを使用します。その後、Step Functions の実行を開始し、Transit Gateway のリージョン間ピアリング接続を作成できます。リージョン間ピアリングを手動で設定するには、AWS「Transit Gateway を使用して異なるAWSリージョンVPCsのピア」を参照してください。

前提条件と制限

前提条件

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

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

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

  • VPCsは、アクセプターとリクエスタのリージョンにインストールおよび設定されています。を作成する手順についてはVPC、「Amazon ドキュメント」の「Get Started with VPC Amazon から を作成するVPC」を参照してください。 VPC

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

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

AWS リージョンと制限

  • 特定のAWSリージョンのみがリージョン間ピアリングをサポートしています。リージョン間ピアリングをサポートするリージョンの完全なリストについては、AWS「トランジットゲートウェイFAQs」を参照してください。

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

アーキテクチャ

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

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

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

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

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

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

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

  6. Lambda 関数は、 のクラスレスドメイン間ルーティング (CIDR) ブロックを追加してルートテーブルを変更しますVPCs。

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.zip、および get-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 CloudFormation ドキュメントのAWS CloudFormation 「コンソールでのスタックの作成」を参照してください。

DevOps エンジニア

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

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

これの詳細については、AWS「Step Functions ドキュメント」の「Step Functions の開始方法」から新しい実行を開始するAWS「」を参照してください。

DevOps エンジニア、全般 AWS

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

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

Amazon VPCコンソールを開き、トランジットゲートウェイアタッチメントに対応するルートテーブルの関連付けタブを選択します。ピアリングされたリージョンのVPCCIDRブロック範囲を確認します。 

詳細な手順と手順については、Amazon VPCドキュメントの「トランジットゲートウェイルートテーブルの関連付け」を参照してください。

ネットワーク管理者

関連リソース

添付ファイル

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