VPCの構成要素
VPC
仮想上に構築されるネットワーク領域。
サブネット
VPC内をさらに分割しらネットワーク領域、インスタンスはこの中に所属する。
ルートテーブル
ネットワーク用語を使わずに説明するのは難しいですが、、
サブネットとVPC内での通信(ネットワークトラフィック)を関連付ける道標のようなもの。
インターネットゲートウェイ(以下IGW)
VPCとVPC外のインターネットを繋ぐ門のようなもの。
ElasticIP
インスタンスに付いているネットワークインターフェイスと固定のPublicIPアドレスをひもづける。
ネットワークACL(以下ACL)
サブネットへのネットワークアクセスを制御する。
セキュリティグループ(以下SG)
インスタンスへのネットワークアクセスを制御する。
インスタンス(EC2、RDS)
必ずどこかのサブネットに所属する仮想上のサーバー。
ロードバランサ
マネージド型サービスの為、EC2・RDSのようにインスタンス単位での管理はない。
なので必ずどこかのVPCに所属する
ネットワークインターフェイス(以下ENI)
VPC上のネットワークに接続するための最小単位。EC2やRDSならインスタンスごとに、ELBなら接続するAZごとに作成されます。
よく混同しがちなもの
サブネット、アベイラビリティゾーン
サブネットはネットワーク上の区分け、アベイラビリティゾーンは物理的に離れているデータセンターのこと、現実世界の話。
なので一つのアベイラビリティゾーンに複数のサブネットを作ることも出来る。
インターネットゲートウェイ、ネットワークインターフェイス
インターネットゲートウェイは外のインターネットにつながるための門。
ネットワークインターフェイスはVPC内で通信するための接続口、ここがインターネットゲートウェイにつながるとVPC外と通信できる。PCでいうとLANポートみたいなもの。
VPC構成図
AWSのルートテーブルはVPC作成の際に自動的にメインルートテーブルというものが作成されます。図でいうとルートテーブル1がそれにあたります。
このメインルートテーブルは自動的に作成直後はVPC内のlocalアクセスが定義されています。インターネットに接続する場合、作成したインターネットゲートウェイのIDを0.0.0.0/0で定義します。このルートテーブル1につながったサブネットはインターネットへのアクセスが可能になります。
注意!!
サブネット内のセキュリティグループで制限を加えていたりするとアクセス出来ないのであくまでサブネット単位での道ができたと考えるのが近い。その道を通れるのかどうかはACLやSGの設定次第です。
またユーザーが作成するカスタムルートテーブルといったものがあります。図で言うとルートテーブル2です。
これの使いドコロはDirectConnectなどを利用する際のバーチャルプライベートゲートウェイ(VGW)へのルーティングなどに利用されます。
AWSのルートテーブルは基本VPC内部のルーティングは自動的にAWSがわで作られているのであまり意識しにくいところですが、
仮想環境をつなぐ影の立役者といったとこでしょうか。
このあたりをもっと理解するのであればネットワークの入門書などでルーティングの基礎を理解するとより上の図の各レイヤーについてイメージできると思います!