はじめに
公式の手順
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-migrate-ipv6.html
- ステップ 1: IPv6 CIDR ブロックを VPC およびサブネットと関連付ける
- ステップ 2: ルートテーブルを更新する
- ステップ 3: セキュリティグループルールを更新する
- ステップ 4: IPv6 アドレスを各リソースに割り当てる
ステップ3までは無影響でいけそうです。
ステップ4は別の記事で投稿します。
ステップ 1: IPv6 CIDR ブロックを VPC およびサブネットと関連付ける
VPC
GUIでやる場合
terraform でやる場合
aws_vpc ステートに下記1行を加えるだけでGUIと同じ結果になりました。(素敵)
assign_generated_ipv6_cidr_block = "true"
サブネット
サブネット
aws_subnet ステートに下記2行を足します
# ipv6
ipv6_cidr_block = "${cidrsubnet(aws_vpc.ステート名.ipv6_cidr_block, 8, 0)}"
assign_ipv6_address_on_creation = true # or false
cidrsubentの第三引数は、「第二引数のリストから、何番目のCIDR範囲を使用するか」らしいです。
ipv4の例 192.168.0.0/24, 192.168.1.0/24 この第3オクテッドに自分は合わせてみました。
cidrsubnet(aws_vpc.ステート名.ipv6_cidr_block, 8, 0)
ルート
新規追加した方が影響少ないかなって思います。
resource "aws_route" "お名前" {
route_table_id = ルートテーブルのID
destination_ipv6_cidr_block = "::/0"
gateway_id = インターネットゲートウェイのID
}