279-AWS SAP AWS 「理論・実践・一問道場」

 

理論

トランジットゲートウェイ(TGW)のルートテーブルの実例を示します。この例では、複数のVPCがトランジットゲートウェイを使用して接続され、各VPC間でトラフィックを制御する方法を示します。

シナリオ

  • VPC1 (10.0.0.0/16)
  • VPC2 (10.1.0.0/16)
  • VPC3 (10.2.0.0/16)
  • トランジットゲートウェイ (TGW)
  • 各VPCはトランジットゲートウェイに接続されていますが、VPC1とVPC2のみ通信でき、VPC3との通信は制限したいとします。

1. トランジットゲートウェイの設定

まず、トランジットゲートウェイに接続されている各VPCのルートテーブルを設定します。

2. トランジットゲートウェイルートテーブル例

VPC1用のトランジットゲートウェイルートテーブル

送信先CIDR
ターゲット
10.0.0.0/16
ローカル(VPC1内)
10.1.0.0/16
VPC2(VPC2への接続)
10.2.0.0/16
なし(通信を拒否)
説明:
  • VPC1内の通信(10.0.0.0/16)はローカルで処理されます。
  • VPC1はVPC2(10.1.0.0/16)との通信を許可します。
  • VPC1からVPC3(10.2.0.0/16)への通信は許可されません。

VPC2用のトランジットゲートウェイルートテーブル

送信先CIDR
ターゲット
10.0.0.0/16
VPC1(VPC1への接続)
10.1.0.0/16
ローカル(VPC2内)
10.2.0.0/16
なし(通信を拒否)
説明:
  • VPC2内の通信(10.1.0.0/16)はローカルで処理されます。
  • VPC2はVPC1(10.0.0.0/16)との通信を許可します。
  • VPC2からVPC3(10.2.0.0/16)への通信は許可されません。

VPC3用のトランジットゲートウェイルートテーブル

送信先CIDR
ターゲット
10.0.0.0/16
なし(通信を拒否)
10.1.0.0/16
なし(通信を拒否)
10.2.0.0/16
ローカル(VPC3内)
説明:
  • VPC3内の通信(10.2.0.0/16)はローカルで処理されます。
  • VPC3からVPC1(10.0.0.0/16)やVPC2(10.1.0.0/16)への通信は拒否されます。

3. 結果

  • VPC1とVPC2はトランジットゲートウェイを通じてお互いに通信できます。
  • VPC1とVPC3VPC2とVPC3の間では通信が制限されます(ルートテーブルで拒否されているため)。

4. 実際の設定方法

  1. トランジットゲートウェイ作成
    1. AWSマネジメントコンソールまたはAWS CLIを使用して、トランジットゲートウェイを作成します。
  1. VPC接続の作成
    1. 各VPCをトランジットゲートウェイに接続します。これにより、VPC間の通信が可能になります。
  1. ルートテーブル設定
    1. トランジットゲートウェイの設定で、「ルートテーブル」を作成し、各VPCの接続に応じて適切なルートを設定します。
      • 各VPCに対して、他のVPCとの通信を許可または拒否するためのルートを指定します。
  1. セキュリティ設定
    1. 必要に応じて、セキュリティグループやネットワークACLを使用して、インスタンス間の通信を制御します。

まとめ

  • トランジットゲートウェイの専用ルートテーブルを使用することで、VPC間のトラフィックを細かく制御できます。
  • ルートテーブルで特定のVPCとの通信を許可し、他のVPCとの通信を拒否することが可能です。

実践

一問道場

会社は、複数のVPCにアプリケーションを展開するためにAWS CloudFormationを使用しており、すべてのVPCはトランジットゲートウェイに接続されています。インターネットにトラフィックを送信する必要がある各VPCは、トラフィックを共有サービスVPCを経由して送信しなければなりません。各VPC内のサブネットはデフォルトのVPCルートテーブルを使用し、トラフィックはトランジットゲートウェイにルーティングされます。トランジットゲートウェイは、すべてのVPC接続に対してデフォルトのルートテーブルを使用します。
セキュリティ監査により、あるVPC内のAmazon EC2インスタンスが、会社の他のすべてのVPC内のEC2インスタンスと通信できることが判明しました。ソリューションアーキテクトは、VPC間のトラフィックを制限する必要があります。各VPCは、あらかじめ定義された限られたセットの承認されたVPCとのみ通信できるようにする必要があります。
ソリューションアーキテクトは、これらの要件を満たすために何をすべきですか?
A. 各VPC内のサブネットのネットワークACLを更新し、承認されたVPCへのみアウトバウンドトラフィックを許可します。デフォルトの拒否ルールを除くすべての拒否ルールを削除します。
B. 各VPC内で使用されているすべてのセキュリティグループを更新し、承認されていないVPCで使用されているセキュリティグループへのアウトバウンドトラフィックを拒否します。
C. 各VPC接続に専用のトランジットゲートウェイルートテーブルを作成し、トラフィックを承認されたVPCにのみルーティングします。
D. 各VPCのメインルートテーブルを更新し、トランジットゲートウェイを介して承認されたVPCへのみトラフィックをルーティングします。

解説

この問題の解決には、VPC間のトラフィックを制御し、各VPCが許可されたVPCにのみ通信できるようにする方法を選択する必要があります。選択肢を一つずつ見ていきましょう。

A. ネットワークACLを更新する

  • ネットワークACL (アクセスコントロールリスト) は、VPC内のサブネットに対するトラフィックの許可/拒否を制御しますが、これはVPC間の通信に対してはあまり効果的ではありません。ネットワークACLはサブネット単位で機能し、トラフィックの制限が過度に複雑になる可能性があり、ルーティングやトランジットゲートウェイの管理が必要な場合には、適切な解決策ではありません。
  • この選択肢は適切ではありません。

B. セキュリティグループを使用してアウトバウンドトラフィックを制限する

  • セキュリティグループは、VPC内のインスタンスへのトラフィックを制御するためのもので、インスタンス間の通信をフィルタリングするのに便利です。しかし、セキュリティグループのルールで他のVPCのセキュリティグループへの通信を制限することは、VPC間の通信全体を効果的に制御する方法としては不十分です。
  • また、セキュリティグループでVPC間の全トラフィックを制限するのは非常に難しく、推奨されません。

C. 専用のトランジットゲートウェイルートテーブルを作成

  • トランジットゲートウェイは複数のVPCを接続するための中継点として機能します。トランジットゲートウェイのルートテーブルをVPCごとに専用で設定することで、VPC間の通信を細かく制御できます。
  • 具体的には、各VPC接続に専用のルートテーブルを作成し、トラフィックを承認されたVPCにのみルーティングすることで、VPC間の通信を確実に制限できます。
  • このアプローチは、VPC間の通信を正確に管理するための最も効果的な方法です。

D. メインルートテーブルを更新する

  • メインルートテーブルの更新で、VPC内のサブネットごとのルートを制御することができますが、トランジットゲートウェイのルートテーブルを個別に設定することと比較して、柔軟性に欠ける場合があります。トランジットゲートウェイを使用する場合、専用のルートテーブルを作成する方が、より細かく管理でき、トラフィックの制限が容易になります。
  • この方法は有効ですが、Cの方が適切です。

結論

C. 「専用のトランジットゲートウェイルートテーブルを作成し、トラフィックを承認されたVPCにのみルーティングする」が最も適切な方法です。これにより、VPC間の通信を細かく制御でき、必要なVPCにのみトラフィックを流すことができます。
280-AWS SAP AWS 「理論・実践・一問道場」AppStream 2.0278-AWS SAP AWS 「理論・実践・一問道場」アウトバウンドResolver
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録