VPC - toge510/aws GitHub Wiki
- 仮想ネットワークのこと。
- VPCには、リージョンの各アベイラビリティーゾーンにサブネット、各サブネットに EC2 インスタンス、インターネットゲートウェイなどを構成できる。
※ リージョンはそれぞれ、地理的に離れた領域。
※ アベイラビリティーゾーンは、各リージョン内の複数の独立した場所。
サブネット
- プライベートサブネットとパブリックサブネットの違いは、インターネットに接続できるかどうか。つまり、関連付けられたルートテーブルにおいて、デフォルトゲートウェイとしてインターネットゲートウェイを指定した場合は、パブリックサブネットとなる。
- 単にサブネットを作成した段階では、プライベート、パブリックの違いはない。
- ただし、「VPCなど」で作成した場合は、パブリックサブネットかプライベートサブネットかを指定できて、パブリックを指定した場合は、自動的にインターネットゲートウェイが作成される。また、関連付けられるルートテーブルにおいて、自動的に、デフォルトゲートウェイとしてインターネットゲートウェイが指定される。
ルートテーブル
- ネットワークトラフィックの経路ルールのテーブル。
- VPC には暗黙的なルーターがあり、ルートテーブルを使用してネットワークトラフィックの送信先を制御
- テーブル種別
- メインルートテーブル
- VPCに自動的に割り当てられるルートテーブル。
- 他のルートテーブルに明示的に関連付けられていないすべてのサブネットのルーティングを制御
- サブネットルートテーブル
- VPC内の各サブネットは、ルートテーブルと関連付ける必要がある。
- ルートテーブルに明示的に関連付けられていないサブネットは、メインルートテーブルに暗黙的に関連付けられる。
- 1つのサブネットは同時に 1つのルートテーブルにしか関連付けることはできない。
- 複数のサブネットを同じサブネットルートテーブルに関連付けることが可能。
- メインルートテーブル
例) パブリックサブネットに関連付けられたサブネットルートテーブル
- デフォルトルート: デフォルトルート。デフォルトゲートウェイとして、インターネットゲートウェイを設定している。
- ローカルルート: VPC 内で通信を有効にするルート。いわゆるルーターにおける直接接続に該当。
Destination | Target |
---|---|
0.0.0.0/0 | igw-06b320175e3f7e04b |
10.0.0.0/16 | local |
インターネットゲートウェイ
- VPCをインターネットに接続する仮想ルーター。
- VPCにアタッチされる。VPCに1つ設置される。
- サブネットに関連するルートテーブルにおいて、デフォルトゲートウェイとしてインターネットゲートウェイを指定できる。そのサブネットはインターネットに接続できるためパブリックサブネットとなる。
NATゲートウェイ
- ネットワークアドレス変換 (NAT) サービス。
- NATゲートウェイを介して、インターネット、他のVPC、オンプレミスのネットワークに接続が可能。
- 接続タイプ:
- パブリック
- プライベートサブネット内のインスタンスは VPC外のサービスに接続できるが、外部サービスはそれらのインスタンスと接続できない。
=> ルートテーブルにおいて、デフォルトゲートウェイを、NATゲートウェイと指定。Destination Target 0.0.0.0/0 nat-aaaaaaaaaa 10.0.0.0/16 local - パブリックサブネット内にパブリック NATゲートウェイを作成し、作成時に ElasticIPアドレスをNATゲートウェイに関連付ける必要がある。
- NATゲートウェイへのトラフィックは、VPCのインターネットゲートウェイにルーティングする。
- 他のVPCやオンプレミスのネットワークに接続も可能。
- プライベートサブネット内のインスタンスは VPC外のサービスに接続できるが、外部サービスはそれらのインスタンスと接続できない。
- プライベート
- elastic IP アドレスをプライベート NAT ゲートウェイに関連付けることができない。
- パブリック
- プライベートNATゲートウェイとパブリックNATゲートウェイはどちらも、インスタンスの送信元プライベートIPv4アドレスをNATゲートウェイのプライベートIPv4アドレスにマッピングする。
- パブリックNATゲートウェイの場合、インターネットゲートウェイはパブリックNATゲートウェイのプライベートIPv4アドレスをNATゲートウェイに関連付けられたElasticIPアドレスにする。
- パブリックNATゲートウェイであってもプライベートNATゲートウェイであっても、インスタンスに応答トラフィックを送信するとき、NATゲートウェイはアドレスを元の送信元IPアドレスに変換する。
- 料金
- 時間単位料金: NATゲートウェイは時間単位で請求。
- データ処理料金: 1GBのデータがNATゲートウェイを経由すると請求。
Elastic IPアドレス
- 静的 IPv4 アドレス
- Elastic IP アドレスはユーザーの AWS アカウントに割り当てられ、リリースするまでユーザーのアドレス
- 実行中のインスタンスに関連付けられていない Elastic IP アドレスには、時間単位で少額の料金が課される。
VPCなどの作成
リソースマップ
サブネット
パブリックサブネットに関連付けられたルートテーブル
プライベートサブネットに関連付けられたルートテーブル
メインルートテーブル
インターネットゲートウェイ
NATゲートウェイ
ElasticIP
セキュリティ
セキュリティグループ
- VPC内のリソースが送受信を許可されているトラフィックを制御するファイアウォールとして機能するもの。
- インバウンドトラフィックとアウトバウンドトラフィックに個別のルールセットを設定できる。
ネットワークACL
- サブネットレベルで特定のインバウンドまたはアウトバウンドのトラフィックを許可または拒否するかを設定できる。
エンドポイント
- VPCエンドポイントを使用すると、インターネットを介さずに、VPC内からVPC外部のS3などのサービスにアクセスすることができる。
- ゲートウェイエンドポイントを作成して、プライベートサブネット内のEC2インスタンスから同じリージョンのVPC外のS3へアクセスが可能となる。
aws s3 ls --region ap-northeast-1
ピアリング接続
- A VPC peering connection is a networking connection between two VPCs that enables you to route traffic between them privately.
- Instances in either VPC can communicate with each other as if they are within the same network.
- You can create a VPC peering connection between your own VPCs, with a VPC in another AWS account, or with a VPC in a different AWS Region.
- 別のVPC間との通信が可能(別アカウント、別リージョン)
Transit gateway
- A transit gateway (TGW) is a network transit hub that interconnects attachments (VPCs and VPNs) within the same AWS account or across AWS accounts.
- Transit Gateway 作成 -> Transit Gateway 接続の設定(アタッチメントを作成). 例えば、VPC1、VPC2のアタッチメントを作成すると、VPC1,VPC2間で接続が可能。
- 自動的に、Transite Gateway ルートテーブルが設定される。
AWS Site-to-Site VPN
https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/VPC_VPN.html
フローログ
- PC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能。
- フローログデータは、Amazon CloudWatch Logs、Amazon S3、または Amazon Kinesis Data Firehose に発行可能。