この記事は作者本人がAWS-SAAの学習を通じて、曖昧や覚えづらい部分をサービス単位でまとめたものです。
特に、概要だけではイメージがわきづらいので、できるだけユースケースを活用して理解しやすいようにしています。
教材はSHOEISHAのAWS教科書 AWS認定ソリューションアーキテクトアソシエイト テキスト&問題集を参考にしています。
Amazon VPCに関する曖昧な部分
Amazon VPC(以下、VPC)は、AWSのクラウドインフラストラクチャ上に仮想的なネットワークを構築するためのサービスです。
これにより、ユーザーは自分専用の仮想ネットワークを作成し、その中でAWSリソース(例:EC2インスタンス、RDSデータベースなど)を起動・管理できます。
AWSでシステムを構築する場合は、ほとんどの場合VPCを作成することになり、AWS-SAAに合格するためにはVPCを深く理解する必要があります。
Amazon VPCの中で、曖昧になりがちな部分は以下の通りです。(あくまでも私個人が曖昧であると感じた部分です)
- VPCとオンプレミスネットワークがIGWを経由せずに通信するには?
- VPCと他のVPCがIGWを経由せずに通信するには?
- VPC内のリソースとVPC外のリソースがIGWを経由せずに通信するには?
- 混同しやすいセキュリティグループとネットワークACL
本記事では、これらの内容について解説していきます。
VPCとオンプレミスネットワークがIGWを経由せずに通信するには?
VPCはインターネットゲートウェイ(IGW)を通してインターネットと通信することが可能です。
その際は、パブリックサブネットをIGWと接続し、パブリックサブネットにNATGWを配置します。
このあたりはこちらの記事にまとめられていますのでご参照ください。
本章では、IGWを経由せずにVPCがオンプレミスネットワークと通信する方法を整理します。
IGWを経由して接続することも可能なのですが、セキュリティを確保したい場合は外部のインターネットを経由して接続することは避ける必要がありますね。
そこで登場するのが、AWS Direct ConnectとSite-to-Site VPN、AWSトランジットゲートウェイです。
IGWを経由せず通信するための前提
まず、VPCがIGWを経由せずにオンプレミスネットワークと通信するためには、以下が必要です。
- 仮想プライベートゲートウェイ(Virtual Private Gateway, VGW)
- VGWは、VPC内のリソースとオンプレミスネットワークを接続するためのVPNコンセントレータです。
- カスタマーゲートウェイ
- オンプレミスネットワーク側のVPN終端装置です。具体的にはオンプレミス側のルータやFWのことを指します。
- ルートテーブル
- ルートテーブルには、サブネットやゲートウェイからのネットワークトラフィックの経路を判断するためのルール(ルート)が含まれています。
これにより、VPC内のリソースがどのように通信するかを制御できます。
- ルートテーブルには、サブネットやゲートウェイからのネットワークトラフィックの経路を判断するためのルール(ルート)が含まれています。
AWS Direct Connect
AWS Direct Connectは、インターネットを経由せずにAWSとオンプレミスネットワークを接続するための専用回線を提供します。
AWSはDirect Connectロケーションと呼ばれる実在するデータセンターからAWSへの専用接続を提供します。
一方、クライアントのオンプレミス拠点からDirect Connectロケーションまでの回線は、提供してくれません。
そのため、Direct Connectの利用開始までは数週間から数カ月かかる可能性があるということが注意点です。
AWS-SAAの問題において、「いち早くネットワークを構築する必要がある」等の文言があった場合、その時点でAWS Direct Connectは除外してください。
Site-to-Site VPN
AWS Site-to-Site VPNは、インターネットプロトコルセキュリティ(IPsec)を使用して、AWSとオンプレミスネットワーク間に暗号化されたトンネル(VPN)を確立します。
AWS Management Console、AWS CLI、AWS SDKを使用して簡単に設定することができます。
AWS Direct ConnectとSite-to-Site VPNの特徴をまとめると以下の通りです。
サービス | インターネット接続 | 開通所要期間 |
---|---|---|
AWS Direct Connect | 無(専用回線) | 長い |
AWS Site-to-Site VPN | 有(VPN) | 短い |
AWSトランジットゲートウェイ(TGW)
TGWとは複数のAmazon Virtual Private Cloud (VPC) やオンプレミスネットワークを一元的に接続するためのハブとして機能します。
1:1接続であればSite-to-Site VPNで十分なのですが、複数のSite-to-Site VPN接続が必要な場合は、TGWを使用した方が管理が容易となります。
TGWはVPCとオンプレミスネットワークの通信だけではなく、VPC同士の接続も管理します。
詳細は、次章で説明します。
VPCと他のVPCがIGWを経由せずに通信するには?
VPCと他のVPCがIGWを経由せずに通信するためには、ルートテーブルと、VPCピアリング接続ないしはAWSトランジットゲートウェイが必要です。
VPCピアリング接続
VPCピアリング接続を利用することで、特定のVPCから別のVPCとを一対一で接続することが可能です。
通信するVPC同士のIPアドレスレンジの重複は出来ないことに注意が必要です。
また、複数のVPCを相互に接続したい場合は、フルメッシュでの接続が必要となってしまいます。
そのため、VPCピアリング接続は一対一の場合で利用し、複数のVPC接続の場合はあまり利用しないと考えてよいでしょう。
AWSトランジットゲートウェイ(TGW)
TGWは複数のVPCや複数のVPN接続等のハブとして機能します。
TGW側のルートテーブルでルーティングテーブルを一元管理するため、多数のピアリング接続やSite-to-Site VPNを個別に管理するのに比べて、管理が容易となります。
VPC同士の接続のみではなく、VPCとオンプレミスネットワークへの接続もTGWの管理対象となります。
VPC内のリソースとVPC外のリソースがIGWを経由せずに通信するには?
VPC内のリソースとVPC外のリソースがIGWを経由せずに通信するには、VPCエンドポイントまたはAWS PrivateLinkを活用します。
VPCエンドポイント
AWSのVPCエンドポイントは、VPC内のリソースがIGWを経由せずにAWSサービスへアクセスできるようにするための機能です。
VPCエンドポイントには主に2種類あります。
- ゲートウェイエンドポイント
-
Amazon S3とDynamoDBに対して使用されます。
VPCのルートテーブルにエントリを追加することで、これらのサービスにアクセスできます。 -
VPCに対して1つ作成
- 名前の通り、IGWと似たような位置づけと覚える
- 無料
-
Amazon S3とDynamoDBに対して使用されます。
- インターフェイスエンドポイント
-
S3をはじめとした他の多くのAWSサービスに対して使用されます。
エンドポイントはVPC内のENI(Elastic Network Interface)として機能し、プライベートIPアドレスを持ちます。- AWSのElastic Network Interface (ENI) は、仮想ネットワークインターフェースで、物理環境のネットワークインターフェースカード (NIC) に相当します。
ENIは、Amazon VPC内でEC2インスタンス等にネットワーク接続を提供するために使用します。
- AWSのElastic Network Interface (ENI) は、仮想ネットワークインターフェースで、物理環境のネットワークインターフェースカード (NIC) に相当します。
- サブネットに対して1つ作成
- 有料
-
S3をはじめとした他の多くのAWSサービスに対して使用されます。
AWS PrivateLink
AWS PrivateLinkは、IGWを経由せずにインターフェイスエンドポイントを使用してVPC外のAWSサービスに通信を可能とします。
ただし、PrivateLinkにはもう一つ特徴的な機能があります。
それは、クライアントのVPCで提供しているサービスに対して、別のVPCからインターフェイスエンドポイント経由で通信可能にするという機能です。
AWS-SAAで「インターネットを経由せずにSaaS事業者(サービスプロバイダー)のサービスにアクセス」といった文言が出てきた場合、AWS PrivateLinkを選択しましょう。
混同しやすいセキュリティグループとネットワークACL
VPC内でセキュリティを確保するための機能として、セキュリティグループとネットワークACLがあります。
どちらもVPC内のトラフィックを制御するFWとしての役割を果たしますが、基本的にはセキュリティグループとネットワークACLの両方を活用して多層的な防御を行うことが重要です。
セキュリティグループ
EC2やRDS等のリソース単位でアタッチし、ステートフルなFWとなっています。
ステートフルとはインバウンド通信を許可していれば、その帰りの通信(アウトバウンド通信)を許可していなくても通信ができるということです。
ネットワークACL
サブネット単位でアタッチし、ステートレスなFWとなっています。
ステートレスであるため、インバウンド通信とアウトバウンド通信の両方を許可(または拒否)する必要があります。
セキュリティグループと根とワークACLの代表的な違い
先に申した通り、両者は併用することでより価値を発揮するサービスです。
ただし、混同がしやすいところでもあるので代表的な違いを表でまとめます。
セキュリティグループ | ネットワークACL | |
---|---|---|
対象 | EC2やRDS等のリソース | サブネット |
許可リスト/拒否リスト | 許可リストのみ | 許可リストと拒否リスト |
ステート | ステートフル | ステートレス |
ルール評価 | 優先順位無し | 優先順位あり(ルール番号が小さい順に評価) |
まとめ
本記事では、以下についてまとめました。
- VPCとオンプレミスネットワークがIGWを経由せずに通信するには?
- VPCと他のVPCがIGWを経由せずに通信するには?
- VPC内のリソースとVPC外のリソースがIGWを経由せずに通信するには?
- 混同しやすいセキュリティグループとネットワークACL