如何在Cloudformation中使用Route53创建动态数量的子域?

时间:2019-07-19 23:18:55

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

我需要创建动态数量的子域,具体取决于要创建的实例数。我的目标ID以创建

之类的东西
  • customer-code-100.example.com

  • customer-code-101.example.com

  • customer-code-102.example.com

  • customer-code-103.example.com

我已经进行了研究,但似乎没有解决方案。我需要能够在多个主机上运行Puppet,但是它们每个都需要一个不同的域。

理想情况下,我希望能够使用自动缩放或某种动态方式来完成此操作,但是我却找不到任何答案。

MyRecordSet: 
   Type: AWS::Route53::RecordSet
   Properties: 
     HostedZoneName: example.com.
     Name: !Join[".", [!Ref Alias, "example.com"]]
     Type: A

1 个答案:

答案 0 :(得分:0)

更简单的方法是让实例在Amazon Route 53中进行注册。这可以通过使用AWS CLI注册域名的启动脚本来完成。

诚然,很难确定要分配实例的编号,尤其是在使用Auto Scaling的情况下。例如:

  • 如果Instance 1Instance 2存在,显然下一个是Instance 3
  • 但是如果Instance 2通过自动缩放终止并且只有Instance 1Instance 3存在,下一个实例应该是Instance 2还是Instance 4

或者,使用实例ID的一部分生成名称。

然后,当实例终止时,存在“注销”子域的问题。

实际上,通常无需为Auto Scaling实例分配子域。这是因为流量通常通过负载均衡器进行路由,或者实例正在从队列中拉动工作。不必唯一地解决特定实例。