【问题标题】:Cloudformation stack where a route53 record is assigned to a a single instance in an autoscale groupCloudformation 堆栈,其中将 route53 记录分配给自动缩放组中的单个实例
【发布时间】:2014-12-29 16:01:52
【问题描述】:

我希望使用Cloudformation 创建以下内容:

具有单个 Spot 实例的自动缩放组,分配的 route53 记录将始终定向到该实例,即使该实例已被替换。

我知道如何使用 Ruby API(不是 cloudformation)来做到这一点。

如何使用 Cloudformation 进行定义?

【问题讨论】:

  • “持久性现场实例”是矛盾的,这是什么意思?

标签: amazon-ec2 amazon-cloudformation


【解决方案1】:

你有两个选择:

选项 #1:在您的 Spot 实例中更新 R53,在它启动后:

  1. 在您的 Cloudformation 模板中创建一个具有更新相应 R53 记录的权限的 IAM 角色
  2. 将该角色分配给您的 Spot 实例
  3. 当您的 Spot 实例初始化时,让它直接通过 REST API 更新 R53。我通常通过在UserData 中设置一个 shell 脚本并让 cloudinit 在启动时运行它来做到这一点。

要通过 Ruby 进行更新,您需要访问 ID、访问密钥和安全令牌。由于您为实例分配了 IAM 角色,因此可以通过 Metadata API 获得这些角色。大多数库会自动提取这些值,因此您甚至可能不需要手动操作。 Boto 和 nodejs SDK 会自动完成。

选项 #2:使用 ELB

  1. 在您的 CloudFormation 中创建一个 ELB
  2. 在您的 CloudFormation 中创建指向 ELB 的 DNS 名称的 R53 别名记录

如果成本是一个因素,ELB 可能会稍微贵一点,只需添加一个额外的间接层。

【讨论】:

  • 在用户数据中这样做其实是我没有想到的。谢谢!
猜你喜欢
  • 2021-05-13
  • 2016-07-28
  • 2018-03-08
  • 2017-11-15
  • 1970-01-01
  • 2019-11-15
  • 2013-04-22
  • 2014-12-29
  • 2012-02-15
相关资源
最近更新 更多