EC2を作ると特にVPCを自分で作ったわけでもないのにVPCができていた。
デフォルトVPCについて調べていくうちに色々と調べものをしたのでまとめていく
EC2ってVPCの中にあるの?自分でVPCなど作ってない
EC2インスタンスは必ずVPC(仮想ネットワーク)の中に存在している。
たとえ自分で明示的にVPCを作ってなくても、AWSが自動で「デフォルトVPC」を作っていて、そこに配置される。
AIに構成図を書いてもらうとこんな感じ
AWSコンソールでEC2の詳細を見こともできる
①EC2画面で、インスタンスを選択
②下部にある「ネットワーク」タブを開く
③表示される内容:以下
項目 | 内容 |
---|---|
VPC ID | vpc-xxxxxxxxxxxxxx(←これが今のVPC) |
サブネット | subnet-xxxxxxxxx(AZも表示される) |
パブリックIP | 54.xxx.xxx.xxx(これでアクセスしてる) |
インターネットゲートウェイ(IGW)も自動で作られる?
デフォルトVPCにはインターネットゲートウェイ(IGW)が自動で作成&関連付けされる
そもそもデフォルトVPCには以下のような特徴があるらしい
項目 | 内容 |
---|---|
VPC本体 | 自動作成される |
サブネット(各AZ) | 各リージョンに1つずつ自動作成 |
インターネットゲートウェイ | 自動で作成&VPCにアタッチ済み |
ルートテーブル | 自動で作成(0.0.0.0/0 → IGWが設定済み) |
セキュリティグループ | 初期で1つあり、自分で追加・編集可能 |
サブネットも自動で作られる?
各AZごとに1つずつサブネットが自動作成される。
東京リージョン(ap-northeast-1)には3つのAZがあるので以下のような感じになる
AZ | 自動作成されるサブネット |
---|---|
ap-northeast-1a | subnet-xxxxxxxxa |
ap-northeast-1c | subnet-xxxxxxxxc |
ap-northeast-1d | subnet-xxxxxxxxd |
デフォルトサブネットの特徴は以下
項目 | 内容 |
---|---|
所属AZ | 1つのAZに1つずつ属する |
ルートテーブル設定 | 0.0.0.0/0 → インターネットゲートウェイ が設定済み(つまりインターネットに出られる) |
自動でパブリックIP | EC2起動時に 自動でパブリックIPを割り当てる 設定がON(重要!) |
名前 | 例:default などと表示されることが多い |
VPCの中で大枠のセグメントがきまっていて、その範囲から各サブネットに割り当てが行われる。
例えば、VPC全体のアドレス範囲のときには以下の感じ
サブネット | AZ | CIDRブロック |
---|---|---|
subnet-xxxxxxx1 | ap-northeast-1a | 172.31.0.0/20 |
subnet-xxxxxxx2 | ap-northeast-1c | 172.31.16.0/20 |
subnet-xxxxxxx3 | ap-northeast-1d | 172.31.32.0/20 |
このときに、ルートテーブルは下記のようになっている
宛先 | ターゲット | 説明 |
---|---|---|
172.31.0.0/16 | local | VPC内の通信(他サブネット含む) |
0.0.0.0/0 | igw-xxxxxxxx | インターネット通信用 |
疑問だったのは、なぜ172.31.0.0/16という宛先になっていたら各サブネットのIPどうしが通信できるのかということ。
これは、172.31.0.0/16=172.31までがあっていたら同一NWとみなすからというのはなんとか理解した。
ルートテーブルについても疑問があったので、AIに聞いてみたのでそれもまとめる
質問 | 答え |
---|---|
ルートテーブルはサブネットごとにある? | 実体としてはない。サブネットがどのルートテーブルを使うか関連付ける方式 |
サブネット同士で同じテーブルを使っていい? | OK!よくある構成 |
サブネットごとに別のルートテーブルを使える? | もちろん可能。設計次第 |
とりあえず、構成図を作ってみたので最後にそれを載せて今回は終了とする。