CIDRブロック

  • VPCのIPアドレスの範囲を指定するのに使う
  • CIDRとSubnet Maskは同じ役割

サブネットの例

$ terraform console
> cidrsubnet("10.0.0.0/16", 8, 0) <= 8bit分(256個)のネットワークを作れる内の1番目のネットワーク。残りの8bit分(256個)をホストに指定できる
10.0.0.0/24
> cidrsubnet("10.0.0.0/16", 8, 1) <= 8bit分(256個)のネットワークを作れる内の2番目のネットワーク。残りの8bit分(256個)をホストに指定できる
10.0.1.0/24
> cidrsubnet("10.0.0.0/16", 8, 255) <===== 256番目のネットワーク
10.0.255.0/24
> cidrsubnet("10.0.0.0/16", 8, 256) <===== 0番目から始まるので257番目はエラー
Error: Error in function call

  on <console-input> line 1:
  (source code not available)

Call to function "cidrsubnet" failed: prefix extension of 8 does not
accommodate a subnet numbered 256.


cidrsubnet("10.0.0.0/16", 16, 65535) <== 16bit分(65536個)のネットワークを作れる内の65536番目のネットワーク。1個ホストに使える
10.0.255.255/32 
> cidrsubnet("10.0.0.0/16", 16, 65536) <===== 0番目から始まるので、65536番目のはエラー
Error: Error in function call

  on <console-input> line 1:
  (source code not available)

Call to function "cidrsubnet" failed: prefix extension of 16 does not
accommodate a subnet numbered 65536.

RFE

  • https://dev.classmethod.jp/cloud/aws/terraform-ipv6-subnet/