AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::EC2::Subnet

可在现有 VPC 中创建子网。

语法

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

JSON

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

YAML

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

属性

AssignIpv6AddressOnCreation

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

必填:条件性。如果指定 Ipv6CidrBlock,则 AssignIpv6AddressOnCreation 必须是 true

类型:布尔值

更新要求无需中断

AvailabilityZone

您要在其中创建子网的可用区。默认设置:AWS 为您选择区域(推荐)。

必需:否

类型:字符串

更新要求替换

注意

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

CidrBlock

您希望子网覆盖的 CIDR 块(例如,"10.0.0.0/24")。

必需:是

类型:字符串

更新要求替换

注意

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

Ipv6CidrBlock

子网的 IPv6 网络范围,采用 CIDR 表示法。子网大小必须使用 /64 前缀长度。

如果指定 Ipv6CidrBlock,则 AssignIpv6AddressOnCreation 必须是 true

必需:否

类型:字符串

更新要求替换

MapPublicIpOnLaunch

指示在此子网中启动的实例是否会收到一个公有 IP 地址。默认情况下,该值为 false

Required: No

Type: Boolean

更新要求无需中断.

Tags

此子网的任意标签组(键/值对)。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断.

VpcId

Ref 结构,其中包含您要在其上创建子网的 VPC 的 ID。该 VPC ID 是作为“Ref”属性的值提供的,如:{ "Ref": "VPCID" }

必需:是

类型:引用 ID

更新要求替换

注意

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

返回值

您可以将资源的逻辑 ID 传送给内部函数,获得从资源返回的值。这一返回的值取决于您使用的函数。

Ref

当向 Ref 内部函数提供此资源的逻辑 ID 时,Ref 将返回此资源 ID,如 subnet-e19f0178

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

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

AvailabilityZone

返回此子网的可用区 (例如“us-east-1a”)。

例如:

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

与子网关联的 IPv6 CIDR 块 (如 [ 2001:db8:1234:1a00::/64 ]) 的列表。

NetworkAclAssociationId

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

VpcId

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

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

下面的示例代码段使用来自 VPC 名为 myVPC 的 VPC ID,该 VPC 是在同一模板的其他位置声明的。

JSON

Copy
{ "AWSTemplateFormatVersion" : "2010-09-09", "Resources" : { "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

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

更多信息