为什么具有 /24 网络掩码的子网范围对于 AWS VPC 无效?

问题描述 投票:0回答:1

我目前正在尝试使用 Terraform 在 AWS 中建立 VPC,并且我在子网之间划分 CIDR 范围,如下所示:

resource "aws_vpc" "dev_vpc" {
  cidr_block = "10.0.0.0/24"

  tags = {
    Name = "Dev environment VPC"
  }
}

resource "aws_subnet" "private_subnet_operational_db_dev_1" {
  vpc_id            = aws_vpc.dev_vpc.id
  cidr_block        = "10.0.0.0/30"
  availability_zone = "eu-west-1a"

  tags = {
    Name = "Public Subnet Operational db dev 1"
  }
}

我计算出我的 VPC 的 CIDR 范围是从

10.0.0.0
10.0.0.255

考虑到子网的范围是从

10.0.0.0
10.0.0.3
,为什么无效呢?

amazon-web-services terraform amazon-vpc
1个回答
1
投票

AWS 中 VPC 允许的最小 CIDR 块大小是

/28
网络掩码,相当于 16 个 IP 地址

将子网中可用的 IP 地址数量增加到至少 16 个,即使用 28 或更低的网络掩码。


仅供参考,AWS 还会在每个子网内自动保留 5 个 IP 地址。

根据文档

每个子网 CIDR 块中的前四个 IP 地址和最后一个 IP 地址不可供您使用,并且无法将它们分配给资源,例如 EC2 实例。

因此,即使允许更高的网络掩码,CIDR 块为 10.0.0.0/30 的子网也只能提供 AWS 自己保留的至少 4/5 个 IP 地址。

© www.soinside.com 2019 - 2024. All rights reserved.