云形成:使用一个实例

时间:2017-09-20 09:31:54

标签: amazon-web-services amazon-ec2 amazon-cloudformation

我写了一个云形成模板来创建一个大小为1的Auto Scaling组。现在我想通过云形成为这个实例分配弹性IP。

不幸的是,AWS :: AutoScaling :: AutoScalingGroup没有任何Fn :: GetAtt来获取附加到此自动缩放组的实例ID。

有没有其他方法可以获取此实例的instance-id?或者我们可以直接从云形成的名称标签中获取现有EC2实例的实例ID吗?

不接受Userdata脚本,因为它需要AWS IAM凭证。

1 个答案:

答案 0 :(得分:0)

更改云信息以创建实例,分配EIP,然后将实例与ASG关联。所有这些都可以在cloudformation中进行。

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-eip.html

  

INSTANCEID

     

要用于创建Auto Scaling组的Amazon EC2实例的ID。如果要创建使用现有Amazon EC2实例而不是启动配置的Auto Scaling组,请使用此属性。

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-group.html#cfn-as-group-instanceid

编辑:如果实例扩展,此EIP将丢失,保证EIP与实例保持一致的方法是使用附加的用户数据脚本和具有此权限的IAM角色。