メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::EC2::EIPAssociation

AWS::EC2::EIPAssociation リソースタイプは、Elastic IP アドレスと Amazon EC2 インスタンスを関連付けます。Elastic IP アドレスは、既存の Elastic IP アドレス、または AWS::EC2::EIP リソースを介して割り当てられる Elastic IP アドレスです。

EC2-Classic と EC2-VPC の詳細については、Amazon EC2 API Reference の「AssociateAddress」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type": "AWS::EC2::EIPAssociation", "Properties": { "AllocationId": String, "EIP": String, "InstanceId": String, "NetworkInterfaceId": String, "PrivateIpAddress": String } }

YAML

Copy
Type: "AWS::EC2::EIPAssociation" Properties: AllocationId: String EIP: String InstanceId: String NetworkInterfaceId: String PrivateIpAddress: String

プロパティ

AllocationId

[EC2-VPC] VPC で Amazon EC2 インスタンスに関連付ける VPC Elastic IP アドレスの割り当て ID。

必須: 条件による。EC2-VPC に必須。

タイプ: 文字列

InstanceId または NetworkInterfaceId プロパティを変更する場合は更新に伴う要件: 置換。それ以外の場合、更新に伴う中断はありません

EIP

InstanceId プロパティによって指定された Amazon EC2インスタンスに関連付ける Elastic IP アドレス。既存の Elastic IP アドレス、または AWS::EC2::EIP リソースに割り当てられた Elastic IP アドレスへのリファレンスを指定できます。

必須: 条件による。EC2-Classic に必須。

タイプ: 文字列

InstanceId または NetworkInterfaceId プロパティを変更する場合は更新に伴う要件: 置換。それ以外の場合、更新に伴う中断はありません

InstanceId

EIP プロパティによって指定された Elastic IP アドレスに関連付ける Amazon EC2インスタンスのインスタンス ID。インスタンスに複数のネットワークインターフェイスがある場合、ネットワークインターフェイス ID を指定する必要があります。

必須: 条件による。EIP プロパティを指定する場合は、このプロパティを指定する必要があります。このプロパティまたは NetworkInterfaceId プロパティを指定する場合は、AllocationId プロパティを指定する必要があります。

タイプ: 文字列

AllocationId または EIP プロパティを変更する場合は更新に伴う要件: 置換。それ以外の場合、更新に伴う中断はありません

NetworkInterfaceId

[EC2-VPC] Elastic IP アドレスに関連付けるネットワークインターフェイスの ID。インスタンスに複数のネットワークインターフェイスがある場合、ネットワークインターフェイス ID を指定する必要があります。

必須: 条件による。このプロパティまたは InstanceId プロパティを指定する場合は、AllocationId プロパティを指定する必要があります。

タイプ: 文字列

AllocationId または EIP プロパティを変更する場合は更新に伴う要件: 置換。それ以外の場合、更新に伴う中断はありません

PrivateIpAddress

[EC2-VPC] Elastic IP アドレスに関連付けるプライベート IP アドレス。プライベート IP アドレスは、ネットワークインターフェイスに関連付けられているプライマリおよびセカンダリプライベート IP アドレスに制限されます。デフォルトでは、EIP と関連付けられるプライベート IP アドレスは、ネットワークインターフェイスのプライマリプライベート IP アドレスです。

必須: いいえ

タイプ: 文字列

更新に伴う要件: 中断はありません。

戻り値

参照番号

このリソースの論理 ID が Ref 組み込み関数に提供されると、Ref によりリソース名が返されます。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

次の例では、2 つの Elastic Network Interface (ENI) を持つインスタンスを作成します。この例では、既存の VPC があることを前提としています。

その他の例については、「AWS::EC2::EIP スニペットを使用した Amazon EC2 Elastic IP の割り当て」を参照してください。

JSON

Copy
"Resources" : { "ControlPortAddress" : { "Type" : "AWS::EC2::EIP", "Properties" : { "Domain" : "vpc" } }, "AssociateControlPort" : { "Type" : "AWS::EC2::EIPAssociation", "Properties" : { "AllocationId" : { "Fn::GetAtt" : [ "ControlPortAddress", "AllocationId" ]}, "NetworkInterfaceId" : { "Ref" : "controlXface" } } }, "WebPortAddress" : { "Type" : "AWS::EC2::EIP", "Properties" : { "Domain" : "vpc" } }, "AssociateWebPort" : { "Type" : "AWS::EC2::EIPAssociation", "Properties" : { "AllocationId" : { "Fn::GetAtt" : [ "WebPortAddress", "AllocationId" ]}, "NetworkInterfaceId" : { "Ref" : "webXface" } } }, "SSHSecurityGroup" : { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "VpcId" : { "Ref" : "VpcId" }, "GroupDescription" : "Enable SSH access via port 22", "SecurityGroupIngress" : [ { "IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : "0.0.0.0/0" } ] } }, "WebSecurityGroup" : { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "VpcId" : { "Ref" : "VpcId" }, "GroupDescription" : "Enable HTTP access via user defined port", "SecurityGroupIngress" : [ { "IpProtocol" : "tcp", "FromPort" : 80, "ToPort" : 80, "CidrIp" : "0.0.0.0/0" } ] } }, "controlXface" : { "Type" : "AWS::EC2::NetworkInterface", "Properties" : { "SubnetId" : { "Ref" : "SubnetId" }, "Description" :"Interface for control traffic such as SSH", "GroupSet" : [ {"Ref" : "SSHSecurityGroup"} ], "SourceDestCheck" : "true", "Tags" : [ {"Key" : "Network", "Value" : "Control"}] } }, "webXface" : { "Type" : "AWS::EC2::NetworkInterface", "Properties" : { "SubnetId" : { "Ref" : "SubnetId" }, "Description" :"Interface for web traffic", "GroupSet" : [ {"Ref" : "WebSecurityGroup"} ], "SourceDestCheck" : "true", "Tags" : [ {"Key" : "Network", "Value" : "Web"}] } }, "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}, "KeyName" : { "Ref" : "KeyName" }, "NetworkInterfaces" : [ { "NetworkInterfaceId" : {"Ref" : "controlXface"}, "DeviceIndex" : "0" }, { "NetworkInterfaceId" : {"Ref" : "webXface"}, "DeviceIndex" : "1" }], "Tags" : [ {"Key" : "Role", "Value" : "Test Instance"}], "UserData" : {"Fn::Base64" : { "Fn::Join" : ["",[ "#!/bin/bash -ex","\n", "\n","yum install ec2-net-utils -y","\n", "ec2ifup eth1","\n", "service httpd start"]]} } } } }

YAML

Copy
Resources: ControlPortAddress: Type: AWS::EC2::EIP Properties: Domain: vpc AssociateControlPort: Type: AWS::EC2::EIPAssociation Properties: AllocationId: !GetAtt ControlPortAddress.AllocationId NetworkInterfaceId: !Ref controlXface WebPortAddress: Type: AWS::EC2::EIP Properties: Domain: vpc AssociateWebPort: Type: AWS::EC2::EIPAssociation Properties: AllocationId: !GetAtt WebPortAddress.AllocationId NetworkInterfaceId: !Ref webXface SSHSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: VpcId: !Ref VpcId GroupDescription: Enable SSH access via port 22 SecurityGroupIngress: - CidrIp: 0.0.0.0/0 FromPort: 22 IpProtocol: tcp ToPort: 22 WebSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: VpcId: !Ref VpcId GroupDescription: Enable HTTP access via user defined port SecurityGroupIngress: - CidrIp: 0.0.0.0/0 FromPort: 80 IpProtocol: tcp ToPort: 80 controlXface: Type: AWS::EC2::NetworkInterface Properties: SubnetId: !Ref SubnetId Description: Interface for controlling traffic such as SSH GroupSet: - !Ref SSHSecurityGroup SourceDestCheck: true Tags: - Key: Network Value: Control webXface: Type: AWS::EC2::NetworkInterface Properties: SubnetId: !Ref SubnetId Description: Interface for controlling traffic such as SSH GroupSet: - !Ref WebSecurityGroup SourceDestCheck: true Tags: - Key: Network Value: Web Ec2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap [ RegionMap, !Ref 'AWS::Region', AMI ] KeyName: !Ref KeyName NetworkInterfaces: - NetworkInterfaceId: !Ref controlXface DeviceIndex: 0 - NetworkInterfaceId: !Ref webXface DeviceIndex: 1 Tags: - Key: Role Value: Test Instance UserData: Fn::Base64: !Sub | #!/bin/bash -xe yum install ec2-net-utils -y ec2ifup eth1 service httpd start

このページの内容: