メインルートテーブルとは
サブネットに関連付けされるルートテーブルとは異なり、VPC作成時に自動的に生成される。
新規にサブネットを作成し、明示的にルートテーブルをアタッチしていない場合、そのサブネットには自動的にメインルートテーブルの設定が割り当てられる。
実際目で確かめる
以下のリソースを作成します。
VPC
test-vpc
ルートテーブル (IGWへのルートを含む)
test-vpc-public
パブリックサブネット
test-vpc-public-ap-northeast-1a
Terraformで作成すると楽です。
provider "aws" {
region = "ap-northeast-1"
}
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "3.10.0"
name = "test-vpc"
cidr = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = true
azs = ["ap-northeast-1a"]
public_subnets = ["10.0.11.0/24"]
}
サブネットからルートテーブルの関連付けを外す
IGWへのルートを含むルートテーブルtest-vpc-public
が関連付けされている。
test-vpc-public
との関連付けを外すと、メインルートテーブルに関連付けされる。
(ルートテーブル自体をアタッチしないという設定はできず、基本的にメインルートテーブルをベースとしたルーティング設定となる。)
メインルートテーブルにIGWを設定されている場合、そのVPC内のサブネットは必然的にパブリックサブネットになるので注意。
参考