Mec*_*orm 8 amazon-web-services aws-cloudformation
在AWS Cloudformation中,有没有办法在VPC中使用公共IP声明EC2实例,而无需声明弹性IP并附加到它?
在AWS :: AutoScaling :: LaunchConfiguration中,您可以添加属性"AssociatePublicIpAddress"以表示实例将自动接受公共IP.我正在寻找AWS :: EC2 :: Instance的等价物
下面是我用于创建EC2实例的cloudformation代码段.我不能提及任何提及如何添加公共IP而无需预先声明弹性IP的文档.
"MyEc2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"IamInstanceProfile": {
"Ref": "MyEc2InstanceProfile"
},
"ImageId": {
"Fn::FindInMap": [
"MyEc2Box",
{
"Ref": "Region"
},
"ImageId"
]
},
"InstanceType": {
"Fn::FindInMap": [
"MyEc2Box",
{
"Ref": "Region"
},
"InstanceType"
]
},
"KeyName": {
"Ref": "DefaultKeyPair"
},
"Monitoring": "true",
"SecurityGroupIds": [
{
"Ref": "MyEc2SecurityGroup"
}
],
"SubnetId": {
"Ref": "MyBoxSubnet"
},
"Tags": [
{
"Key": "Name",
"Value": "MyBox"
},
]
}
},
Run Code Online (Sandbox Code Playgroud)
Séb*_*acq 17
假设您在VPC公有子网中启动实例(即具有路由表的子网,包括将流量发送到0.0.0.0/0到Internet网关的规则),只需在EC2的NetworkInterfaces组中定义AssociatePublicIpAddress属性即可.资源:
"NetworkInterfaces" : [{
"AssociatePublicIpAddress" : "True",
"DeleteOnTermination" : "True",
"SubnetId" : { "Ref" : "PublicSubnet" },
"DeviceIndex" : "0",
"GroupSet" : [ { "Ref" : "SecurityGroup" } ]
}],
Run Code Online (Sandbox Code Playgroud)
请参阅http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-network-iface-embedded.html上的文档.
如果您在EC2 Classic网络(非VPC)中启动实例,它将自动接收公共IP地址.
小智 5
我看到这是旧帖子,但无论如何我都会发布答案可能会有所帮助。在子网中,可以将“ MapPublicIpOnLaunch”设置为True,以便该子网的所有实例都具有公共IP。
MapPublicIpOnLaunch
Indicates whether instances that are launched in this subnet receive a public IP address. By default, the value is false.
Required: No
Type: Boolean
Update requires: No interruption.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9248 次 |
| 最近记录: |