【问题标题】:Cloud Formation : Assign Elastic IP to Auto Scaling group with one instanceCloud Formation:将弹性 IP 分配给具有一个实例的 Auto Scaling 组
【发布时间】:2018-03-01 07:05:27
【问题描述】:

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

很遗憾,AWS::AutoScaling::AutoScalingGroup 没有任何 Fn::GetAtt 来获取附加到此 Auto Scaling 组的实例 ID。

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

不接受用户数据脚本,因为它需要 AWS IAM 凭证。

【问题讨论】:

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


【解决方案1】:

更改 cloudformation 以创建实例,分配 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 与实例保持一致的方法是使用附加的 userdata 脚本和有权执行此操作的 IAM 角色。

【讨论】:

  • 这是我最初的计划,启动一个 EC2 实例,然后将其附加到自动扩展组。但是我找不到任何关于通过 cloudformation 将实例关联到自动缩放组的信息。 docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/… 在传递 InstanceId 时,这会从该实例复制启动配置参数,并启动一个新的自动缩放组(以及其中的一个新实例)。这不会将同一个实例附加到自动缩放组。
  • 是的,它确实创建了一个新的启动配置,并将其与 ASG 相关联。 “当您使用 Amazon EC2 实例创建 Auto Scaling 组时,首先会创建新的启动配置,然后将其与 Auto Scaling 组关联。”
  • 你确定吗?我现在尝试这样做只是为了仔细检查,它会启动一个新实例而不是附加提供的实例。这是我的资源模板code { "myASG" : { "Type" : "AWS::AutoScaling::AutoScalingGroup", "Properties" : { "MinSize" : "0", "MaxSize" : "1", " DesiredCapacity”:“1”,“InstanceId”:“i-02a889c736df3f646”,“VPCZoneIdentifier”:[“subnet-5defa934”],}}code
  • 您是在 cloudformation 中创建了新实例还是引用了实例 ID?
猜你喜欢
  • 2018-11-01
  • 2019-07-11
  • 2015-10-05
  • 2017-10-07
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 2021-09-03
  • 2018-04-16
相关资源
最近更新 更多