AWS VPC 及其子网的 CIDR 块
CIDR blocks for AWS VPC and its subnets
我有一个 CIDR 块 172.30.0.0/21,需要创建 2 个私有子网,然后为它创建 2 个 public 个子网。
起初我创建了:
对于私人:[“172.30.8.0/21”,“172.30.16.0/21”]
对于 public: ["172.30.0.0/22", "172.30.8.0/22"]
但随后出现以下错误:
Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.8.0/22' is invalid.
10:59:12 status code: 400, request id: 9***
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
10:59:12 335: resource "aws_subnet" "public" {
10:59:12
10:59:12
10:59:12
10:59:12 Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.16.0/21' is invalid.
10:59:12 status code: 400, request id: d**
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 363, in resource "aws_subnet" "private":
10:59:12 363: resource "aws_subnet" "private" {
10:59:12
10:59:12
10:59:12
10:59:12 Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.8.0/21' is invalid.
10:59:12 status code: 400, request id: d**
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 363, in resource "aws_subnet" "private":
10:59:12 363: resource "aws_subnet" "private" {
所以现在:-
- 我创建了:
对于私人:[“172.30.0.0/21”,“172.30.4.0/21”]
对于 public: ["172.30.0.0/22", "172.30.2.0/22"]
他们还好吗?他们会工作并修复错误吗?
- 这是我的代码的一部分:
# List of private subnets to create in the environment, e.g. ["172.18.0.0/21", "172.18.8.0/21"]
variable "private_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.6.0/23"]
}
# List of public subnets to create in the environment, e.g. ["172.18.168.0/22", "172.18.172.0/22"]
variable "public_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.4.0/23"]
}
(当前子网中的值,我不确定它们是否有效)
这些是我需要创建的子网。同样,我的 CIDR 是 172.30.0.0/21
更新:我的私有子网工作正常:
# List of private subnets to create in the environment, e.g. ["172.18.0.0/21", "172.18.8.0/21"]
variable "private_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.6.0/23"]
}
但是,一个小时以来,我一直在为我的 public 尝试不同的子网,但找不到合适的子网:
# List of public subnets to create in the environment, e.g. ["172.18.168.0/22", "172.18.172.0/22"]
variable "public_subnets-west-2" {
type = list(string)
default = ["172.30.0.64/26", "172.30.0.128/26"]
}
继续获取冲突或无效错误:
Error: Error creating subnet: InvalidSubnet.Conflict: The CIDR '172.30.0.128/26' conflicts with another subnet
status code: 400, request id:
on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
335: resource "aws_subnet" "public" {
Error: Error creating subnet: InvalidSubnet.Conflict: The CIDR '172.30.0.64/26' conflicts with another subnet
status code: 400, request id:
on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
335: resource "aws_subnet" "public" {
我卡了很久了,如果有人能帮我,告诉我到底可以用哪2个子网,那就太好了!
错误 - 172.30.8.x 网络出现“无效子网”,因为 172.30.8.x 超出分配地址 space (172.30. 0.0/21) .
解释如下:
172.30.0.0/21是可用地址space.
也可以写成:
172.30.0.0 / 255.255.248.0
属于该网络的IP地址范围是:
172.30.0.0 至 172.30.7.255
位于此边界(172.30.0.0 到 172.30.7.255)内的任何子网都将被 AWS 接受。
给定 CIDR space 可接受的子网的一些示例是:
172.30.1.0 / 24
172.30.2.0 / 30
172.30.7.0 / 28
172.30.7.248 / 29
172.30.0.0/21
CIDR 从 172.30.0.0
变为 172.30.7.255
。
如果你想把这个平均分成4个子网,你可以使用:
172.30.0.0/23
,从 172.30.0.0
到 172.30.1.255
172.30.2.0/23
,从 172.30.2.0
到 172.30.3.255
172.30.4.0/23
,从 172.30.4.0
到 172.30.5.255
172.30.6.0/23
,从 172.30.6.0
到 172.30.7.255
@jordanm 把这个 link 给了一个很棒的 CIDR 计算器:http://jodies.de/ipcalc?host=172.30.0.0&mask1=21&mask2=23
我有一个 CIDR 块 172.30.0.0/21,需要创建 2 个私有子网,然后为它创建 2 个 public 个子网。
起初我创建了: 对于私人:[“172.30.8.0/21”,“172.30.16.0/21”] 对于 public: ["172.30.0.0/22", "172.30.8.0/22"]
但随后出现以下错误:
Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.8.0/22' is invalid.
10:59:12 status code: 400, request id: 9***
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
10:59:12 335: resource "aws_subnet" "public" {
10:59:12
10:59:12
10:59:12
10:59:12 Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.16.0/21' is invalid.
10:59:12 status code: 400, request id: d**
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 363, in resource "aws_subnet" "private":
10:59:12 363: resource "aws_subnet" "private" {
10:59:12
10:59:12
10:59:12
10:59:12 Error: Error creating subnet: InvalidSubnet.Range: The CIDR '172.30.8.0/21' is invalid.
10:59:12 status code: 400, request id: d**
10:59:12
10:59:12 on .terraform/modules/vpc-us-west-2/main.tf line 363, in resource "aws_subnet" "private":
10:59:12 363: resource "aws_subnet" "private" {
所以现在:-
- 我创建了:
对于私人:[“172.30.0.0/21”,“172.30.4.0/21”] 对于 public: ["172.30.0.0/22", "172.30.2.0/22"]
他们还好吗?他们会工作并修复错误吗?
- 这是我的代码的一部分:
# List of private subnets to create in the environment, e.g. ["172.18.0.0/21", "172.18.8.0/21"]
variable "private_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.6.0/23"]
}
# List of public subnets to create in the environment, e.g. ["172.18.168.0/22", "172.18.172.0/22"]
variable "public_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.4.0/23"]
}
(当前子网中的值,我不确定它们是否有效)
这些是我需要创建的子网。同样,我的 CIDR 是 172.30.0.0/21
更新:我的私有子网工作正常:
# List of private subnets to create in the environment, e.g. ["172.18.0.0/21", "172.18.8.0/21"]
variable "private_subnets-west-2" {
type = list(string)
default = ["172.30.0.0/22", "172.30.6.0/23"]
}
但是,一个小时以来,我一直在为我的 public 尝试不同的子网,但找不到合适的子网:
# List of public subnets to create in the environment, e.g. ["172.18.168.0/22", "172.18.172.0/22"]
variable "public_subnets-west-2" {
type = list(string)
default = ["172.30.0.64/26", "172.30.0.128/26"]
}
继续获取冲突或无效错误:
Error: Error creating subnet: InvalidSubnet.Conflict: The CIDR '172.30.0.128/26' conflicts with another subnet
status code: 400, request id:
on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
335: resource "aws_subnet" "public" {
Error: Error creating subnet: InvalidSubnet.Conflict: The CIDR '172.30.0.64/26' conflicts with another subnet
status code: 400, request id:
on .terraform/modules/vpc-us-west-2/main.tf line 335, in resource "aws_subnet" "public":
335: resource "aws_subnet" "public" {
我卡了很久了,如果有人能帮我,告诉我到底可以用哪2个子网,那就太好了!
错误 - 172.30.8.x 网络出现“无效子网”,因为 172.30.8.x 超出分配地址 space (172.30. 0.0/21) .
解释如下:
172.30.0.0/21是可用地址space.
也可以写成:
172.30.0.0 / 255.255.248.0
属于该网络的IP地址范围是:
172.30.0.0 至 172.30.7.255
位于此边界(172.30.0.0 到 172.30.7.255)内的任何子网都将被 AWS 接受。
给定 CIDR space 可接受的子网的一些示例是:
172.30.1.0 / 24
172.30.2.0 / 30
172.30.7.0 / 28
172.30.7.248 / 29
172.30.0.0/21
CIDR 从 172.30.0.0
变为 172.30.7.255
。
如果你想把这个平均分成4个子网,你可以使用:
172.30.0.0/23
,从172.30.0.0
到172.30.1.255
172.30.2.0/23
,从172.30.2.0
到172.30.3.255
172.30.4.0/23
,从172.30.4.0
到172.30.5.255
172.30.6.0/23
,从172.30.6.0
到172.30.7.255
@jordanm 把这个 link 给了一个很棒的 CIDR 计算器:http://jodies.de/ipcalc?host=172.30.0.0&mask1=21&mask2=23