aws_logo

VPCのRoute TablesにおけるMain Tableって何ぞや?

VPCにおけるRoute Tables一覧に「Main」という項目があり、VPC内のいずれか一つのテーブルがメインとなるのですが、このメインテーブルって一体何者なのでしょうか?

結論から言うと、サブネットを作成した時にデフォルトで設定されるルートテーブルがメインテーブルとなります。またデフォルトではメインテーブルにインターネットゲートウェイがターゲットに設定されていません。なので何も考えずにサブネットを作成すると、プライベートなサブネットが出来上がるという訳です。

VPCを作成するとルートテーブルは2つ作成されます。これはVPCウィザードでパブリックなサブネットを1つ作ったとしても、パブリックなルートテーブルとプライベートなものが2つ作られます。そしてプライベートなルートテーブルがメインテーブルとなります。

論より証拠、試しにVPCウィザードから一般的な「VPC with a Single Public Subnet」を選択し、パブリックなサブネットを一つもつVPCを作成します。

VPC with a Single Public Subnet

設定も特にいじる事なく、いたって普通の設定でいきます。

vpc_config

結果です。ウィザード通りに作ったので、パブリックなサブネットは一つ作成されました。

subnet

しかし、ルートテーブルはパブリックなものとプライベートなもの2つ作成されています。

route_table

また作成されたサブネットはパブリックなルートテーブル(インターネットゲートウェイ有)に属しているにも関わらず、メインのルートテーブルはプライベートなものになっているのも確認できます。AWSではプライベートなサブネットがデフォルトという位置づけの様です。