トランジットゲートウェイをAWS CLIで設定する

AWS運用自動化サービス「Cloud Automator」

こんにちは、技術4課の城です。
先日、トランジットゲートウェイが東京リージョンにもリリースされました。
というわけで、私も触ってみました。「AWS CLI」で。
備忘も兼ねて、手順を紹介させていただきます。

概要

172.16.0.0/16、172.17.0.0/16の2つのVPCを用意し、トランジットゲートウェイ経由で疎通させてみます。
※VPC等の準備については割愛しています。

AWS CLIのアップデート

AWS CLIをアップデートします。

バージョン確認

12/16 時点では 1.16.76でした。

【コマンド】

【結果例】

プロファイルの設定

利用するプロファイルに変更します。
IAMロールやIAMユーザーで利用している方は本項目をスキップしてください。

【コマンド】

トランジットゲートウェイの作成

変数の設定

【コマンド】

変数の確認

【コマンド】

【結果例】

トランジットゲートウェイの作成

【コマンド】

【結果例】

※今回はデフォルトにて作成しましたが–optionsにて詳細パラメーター(結果のOptionsの項目)を指定することが可能です。

トランジットゲートウェイIDの取得

【コマンド】

【結果例】

トランジットゲートウェイのアタッチ

VPC IDの取得

アタッチするVPCのIDが必要なため取得します。

変数の設定

各VPCのネットワークCIDRを設定します。

VPC IDの取得

【コマンド】

【結果例】

サブネットIDの取得

アタッチするサブネットのIDが必要なため取得します。

変数の設定

各VPCのネットワークCIDRを設定します。

【コマンド】

サブネットIDの取得

【コマンド】

【結果例】

変数の確認

【コマンド】

【結果例】

トランジットゲートウェイのアタッチ

それぞれのVPCに対しアタッチメントを作成することでアタッチされます。

【コマンド】

【結果例】

【コマンド】

【結果例】

※出力結果をファイルとして保存するのは後ほど削除するのにIDが必要なためです。

ルートテーブルへのルート追加

各サブネットに紐づいているルートテーブルにルートを追加します。

ルートテーブルIDの取得

【コマンド】

【結果例】

変数の確認

【コマンド】

【結果例】

ルートの追加

【コマンド】

【結果例】

通信確認

それぞれのVPCにEC2を立てて、通信を確認してみます。

出来てますね!

環境の削除

トランジットゲートウェイは一つのVPCに対するアタッチメントにつき、$0.07/h(東京リージョン、12/16時点)、月額にするとおよそ$50とそこそこコストがかかるので、検証目的の場合は削除しておきましょう。
トランジットゲートウェイの料金

ルートの削除

【コマンド】

【結果例】
戻り値なし

トランジットゲートウェイ アタッチメントの削除

トランジットゲートウェイ アタッチメントIDの取得

削除するトランジットゲートウェイ アタッチメントIDが必要なため取得します。

【コマンド】

【結果例】

トランジットゲートウェイ アタッチメントの削除

【結果例】

トランジットゲートウェイの削除

【コマンド】

【結果例】

おわりに

今回の試してみた環境ではVPC1対1ですが、実際には多数のVPCをつなぐケースで威力を発揮するサービスかと思います。
VPCピアリングではフルメッシュ型での設定が必要なのに対し、ハブ&スポークで構成できるのは強みですね。
また、Direct Connectも対応予定とのことで、リリースされれば更に便利なサービスとなるでしょう。
ただし、VPCピアリングとは違い、各VPCへのアタッチメントが課金対象となるので、比較検討が必要になるかと思います。

どなたかの助けになれば幸いです。

【参考】
AWS News Blog 「New – Use an AWS Transit Gateway to Simplify Your Network Architecture」
AWS CLIコマンドリファレンス

AWS運用自動化サービス「Cloud Automator」