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

AWS::EC2::NetworkInterface

为 AWS CloudFormation 描述 Elastic Compute Cloud (EC2) 实例的网络接口。这是在 NetworkInterfacesAWS::EC2::Instance 属性列表中提供的。

语法

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

JSON

Copy
{ "Type" : "AWS::EC2::NetworkInterface", "Properties" : { "Description" : String, "GroupSet" : [ String, ... ], "Ipv6AddressCount" : Integer, "Ipv6Addresses" : [ Ipv6Address, ... ], "PrivateIpAddress" : String, "PrivateIpAddresses" : [ PrivateIpAddressSpecification, ... ], "SecondaryPrivateIpAddressCount" : Integer, "SourceDestCheck" : Boolean, "SubnetId" : String, "Tags" : [ 资源标签, ... ] } }

YAML

Copy
Type: "AWS::EC2::NetworkInterface" Properties: Description: String GroupSet: - 字符串 Ipv6AddressCount: Integer Ipv6Addresses: - Ipv6Address PrivateIpAddress: String PrivateIpAddresses: - PrivateIpAddressSpecification SecondaryPrivateIpAddressCount: Integer SourceDestCheck: Boolean SubnetId: String Tags: - 资源标签

属性

Description

有关此网络接口的描述。

Required: No

Type: String

更新要求无需中断.

GroupSet

此网络接口相关的安全组 ID 列表。

Required: No

类型:字符串列表。

更新要求无需中断

Ipv6AddressCount

要与网络接口关联的 IPv6 地址的数目。EC2 将自动选择子网范围内的 IPv6 地址。要指定特定的 IPv6 地址,可使用 Ipv6Addresses 属性且不要指定此属性。

Required: No

Type: Integer

更新要求无需中断

Ipv6Addresses

您的子网的 IPv6 CIDR 块范围中的要与网络接口关联的一个或多个特定 IPv6 地址。如果您正在指定大量 IPv6 地址,可使用 Ipv6AddressCount 属性且不要指定此属性。

Required: No

Type: EC2 NetworkInterface Ipv6Addresses 列表

更新要求无需中断

PrivateIpAddress

将单个私有 IP 地址分配给网络接口,该地址用作主要私有 IP 地址。如果您想指定多个私有 IP 地址,请使用 PrivateIpAddresses 属性。

Required: No

Type: String

更新要求替换.

PrivateIpAddresses

将一组私有 IP 地址分配给网络接口。您可以通过在 Primary 属性中将 true 属性的值设置为 PrivateIpAddressSpecification 来指定主要私有 IP 地址。如果要让 EC2 自动分配私有 IP 地址,请使用 SecondaryPrivateIpAddressCount 属性,而不要指定该属性。

有关私有 IP 地址的最大数量的信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的每个实例类型每个 ENI 的私有 IP 地址

Required: No

类型PrivateIpAddressSpecification 列表。

如果更改主要私有 IP 地址,则更新要求替换。如果不更改,则更新要求无中断

SecondaryPrivateIpAddressCount

EC2 自动分配给网络接口的辅助私有 IP 地址数。EC2 使用 PrivateIpAddress 属性的值作为主要私有 IP 地址。如果不指定该属性,则 EC2 会自动分配主要私有 IP 地址和辅助私有 IP 地址。

如果您想指定自己的私有 IP 地址列表,请使用 PrivateIpAddresses 属性,并且不指定此属性。

有关私有 IP 地址的最大数量的信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的每个实例类型每个 ENI 的私有 IP 地址

Required: No

类型:整数。

更新要求无需中断.

SourceDestCheck

表示实例的进出流量是否有效的标记。

Required: No

Type: Boolean

更新要求无需中断.

SubnetId

要与网络接口关联的子网的 ID。

Required: Yes

Type: String

更新要求替换.

Tags

此网络接口的任意标签组(键/值对)。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断.

返回值

Ref

当该资源的逻辑 ID 提供给 Ref内部函数时,Ref 将返回资源名称。

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

Fn::GetAtt

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

PrimaryPrivateIpAddress

返回网络接口的主要私有 IP 地址。例如:10.0.0.192

SecondaryPrivateIpAddresses

返回网络接口的辅助私有 IP 地址。例如:["10.0.0.161", "10.0.0.162", "10.0.0.163"]

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

示例

提示

要查看更多有关 NetworkInterface 模板的示例,请参阅 Elastic Network Interface (ENI) Template Snippets

简单的独立 ENI

这是一个使用所有可用属性的简单的独立 Elastic Network Interface (ENI)。

JSON

Copy
{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "Simple Standalone ENI", "Resources" : { "myENI" : { "Type" : "AWS::EC2::NetworkInterface", "Properties" : { "Tags": [{"Key":"foo","Value":"bar"}], "Description": "A nice description.", "SourceDestCheck": "false", "GroupSet": ["sg-75zzz219"], "SubnetId": "subnet-3z648z53", "PrivateIpAddress": "10.0.0.16" } } } }

YAML

Copy
AWSTemplateFormatVersion: '2010-09-09' Description: Simple Standalone ENI Resources: myENI: Type: AWS::EC2::NetworkInterface Properties: Tags: - Key: foo Value: bar Description: A nice description. SourceDestCheck: 'false' GroupSet: - sg-75zzz219 SubnetId: subnet-3z648z53 PrivateIpAddress: 10.0.0.16

EC2 实例上的 ENI

此为 EC2 实例上的 ENI 示例。在此示例中,会将一个 ENI 添加到该实例中。如果您想添加一个以上的 ENI,则可以为 NetworkInterface 属性指定一个列表。但是,只有在所有 ENI 都仅有专用 IP 地址(没有关联的公共 IP 地址)的情况下,才可以指定多个 ENI。如果您有带公共 IP 地址的 ENI,请将其指定,然后使用 AWS::EC2::NetworkInterfaceAttachment 资源来添加其他 ENI。

JSON

Copy
"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}, "KeyName" : { "Ref" : "KeyName" }, "SecurityGroupIds" : [{ "Ref" : "WebSecurityGroup" }], "SubnetId" : { "Ref" : "SubnetId" }, "NetworkInterfaces" : [ { "NetworkInterfaceId" : {"Ref" : "controlXface"}, "DeviceIndex" : "1" } ], "Tags" : [ {"Key" : "Role", "Value" : "Test Instance"}], "UserData" : { "Fn::Base64" : { "Ref" : "WebServerPort" }} } }

YAML

Copy
Ec2Instance: Type: AWS::EC2::Instance Properties: ImageId: Fn::FindInMap: - RegionMap - Ref: AWS::Region - AMI KeyName: Ref: KeyName SecurityGroupIds: - Ref: WebSecurityGroup SubnetId: Ref: SubnetId NetworkInterfaces: - NetworkInterfaceId: Ref: controlXface DeviceIndex: '1' Tags: - Key: Role Value: Test Instance UserData: Fn::Base64: Ref: WebServerPort

更多信息