我写了一个云形成模板来创建一个大小为1的Auto Scaling组。现在我想通过云形成为这个实例分配弹性IP。
不幸的是,AWS :: AutoScaling :: AutoScalingGroup没有任何Fn :: GetAtt来获取附加到此自动缩放组的实例ID。
有没有其他方法可以获取此实例的instance-id?或者我们可以直接从云形成的名称标签中获取现有EC2实例的实例ID吗?
不接受Userdata脚本,因为它需要AWS IAM凭证。
答案 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组,请使用此属性。
编辑:如果实例扩展,此EIP将丢失,保证EIP与实例保持一致的方法是使用附加的用户数据脚本和具有此权限的IAM角色。