はじめに
AWSのVPCについて学んだことを備忘録を兼ねてまとめて行こうと思う。
今回も細かいとこよりイメージ優先で書いて行来ます。
ルートテーブル
- サブネット間の通信を制御するもの
- サブネットから出る通信をどこに向けるかを決めるもの
- イメージは下記のような感じになる
送信先 | ターゲット |
---|---|
10.0.0.0/21 | local |
0.0.0.0/0 | インターネット |
※適用されるルールについては、より明確に記述したものから優先される。上の例だと、localの方がルールとしては強い
インターネットゲートウェイ
- パブリックサブネットがインターネットに接続するために必要なコンポーネント
- これをサブネットにアタッチすることで、VPCがインターネットに接続することができる
- インターネットゲートウェイはアタッチされたサブネットのルートテーブルを参照する
- とあるサブネットをインターネットにつなげたい場合下記のようなイメージとなる
送信先 | ターゲット |
---|---|
10.0.0.0/21 | local |
0.0.0.0/0 | internet gateway |
NAT ゲートウェイ
- プライベートサブネットをネットに接続させるコンポーネント
- 基本的にアウトバウンド(外への通信)のみで、インバウンド(外からの通信)は許可されていない
- とあるプライベートサブネットをネットにつなげたい場合下記のようなイメージとなる
送信先 | ターゲット |
---|---|
10.0.0.0/21 | local |
0.0.0.0/0 | NAT gateway |
ENI
- AWSのインスタンスにアタッチすることで、IPアドレスを扱える?ようになるイメージかな?
- 例えばEC2はlocalリソースへの通信用のプライベートIPアドレスと外部通信用のパブリックIPアドレスを保持している
- パブリックIPアドレスはインスタンスが停止したり、再起動したりすると変更してしまう
- パブリックIPアドレスを固定したい場合はElasticIPアドレスをENIにアタッチする
セキュリティーグループ
- インスタンスごとに設定するファイアーウォール
- アウトバウンドのみ設定が必要(ステートフル型)
Network ACL
- サブネットごとに設定するファイアーウォール
- 新規作成したものはデフォルトで全ての通信が拒否となっているため、注意(デフォルトは全ての通信が許可されている)
- インバウンド、アウトバウンドどちらも設定が必要(ステートレス型)
- 役割としては、補助的なセキュリティ強化につかう
##まとめ
結構複雑なので、遠ざけがちでしたが、わかってくるとおもしろいですね~