AWS::EC2::Subnet - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::EC2::Subnet

指定 VPC 的子网。

当您创建每个子网时,您将提供子网的 VPC ID 和 IPv4 CIDR 块。创建子网后,您不能更改其 CIDR 块。子网的 IPv4 CIDR 块的大小可以与 VPC 的 IPv4 CIDR 块或 VPC 的 IPv4 CIDR 块的子集相同。如果您在 VPC 中创建多个子网,则子网的 CIDR 块不得重叠。可创建的最小 IPv4 子网(和 VPC)使用 /28 网络掩码(16 个 IPv4 地址),最大 IPv4 子网使用 /16 网络掩码(65536 个 IPv4 地址)。

如果您已将 IPv6 CIDR 块与 VPC 关联,则可以创建一个具有 IPv6 CIDR 块的子网,它使用 /64 前缀长度。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::EC2::Subnet", "Properties" : { "AssignIpv6AddressOnCreation" : Boolean, "AvailabilityZone" : String, "CidrBlock" : String, "Ipv6CidrBlock" : String, "MapPublicIpOnLaunch" : Boolean, "Tags" : [ Tag, ... ], "VpcId" : String } }

YAML

Type: AWS::EC2::Subnet Properties: AssignIpv6AddressOnCreation: Boolean AvailabilityZone: String CidrBlock: String Ipv6CidrBlock: String MapPublicIpOnLaunch: Boolean Tags: - Tag VpcId: String

属性

AssignIpv6AddressOnCreation

指示在此子网中创建的网络接口是否接收 IPv6 地址。默认值为 false

如果您要指定 AssignIpv6AddressOnCreation,还必须指定 Ipv6CidrBlock

如果您指定 AssignIpv6AddressOnCreation,则不能指定 MapPublicIpOnLaunch

必需:否

类型:布尔值

Update requires: No interruption

AvailabilityZone

子网的可用区。

如果您更新此属性,则还必须更新 CidrBlock 属性。

必需:否

类型:字符串

Update requires: Replacement

CidrBlock

分配给该子网的 IPv4 CIDR 块。

如果您更新此属性,则还必须更新 AvailabilityZone 属性。

必需:是

类型:字符串

Update requires: Replacement

Ipv6CidrBlock

IPv6 CIDR 块。

如果您要指定 AssignIpv6AddressOnCreation,还必须指定 Ipv6CidrBlock

必需:条件

类型:字符串

Update requires: No interruption

MapPublicIpOnLaunch

指示在此子网中启动的实例是否接收公有 IPv4 地址。默认值为 false

如果您指定 MapPublicIpOnLaunch,则不能指定 AssignIpv6AddressOnCreation

必需:否

类型:布尔值

Update requires: No interruption

Tags

分配给子网的任何标签。

必需:否

类型Tag 的列表

Update requires: No interruption

VpcId

子网所在的 VPC 的 ID。

如果您更新此属性,则还必须更新 CidrBlock 属性。

必需:是

类型:字符串

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回子网的 ID。

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

AvailabilityZone

此子网的可用区。例如:

{ "Fn::GetAtt" : [ "mySubnet", "AvailabilityZone" ] }

Ipv6CidrBlocks

与子网关联的 IPv6 CIDR 块,例如 [ 2001:db8:1234:1a00::/64 ]

NetworkAclAssociationId

与子网的 VPC 关联的网络 ACL 的 ID,例如 acl-5fb85d36

VpcId

子网 VPC 的 ID,例如 vpc-11ad4878

示例

子网

以下示例使用来自名为“myVPC”的 VPC 的 VPC ID,该 VPC 是在同一模板中的其他位置声明的。

JSON

"mySubnet" : { "Type" : "AWS::EC2::Subnet", "Properties" : { "VpcId" : { "Ref" : "myVPC" }, "CidrBlock" : "10.0.0.0/24", "AvailabilityZone" : "us-east-1a", "Tags" : [ { "Key" : "foo", "Value" : "bar" } ] } }

YAML

mySubnet: Type: AWS::EC2::Subnet Properties: VpcId: Ref: myVPC CidrBlock: 10.0.0.0/24 AvailabilityZone: "us-east-1a" Tags: - Key: foo Value: bar

另请参阅