【问题标题】:How to create a dynamic amount of sub domain with Route53 in Cloudformation?如何在 Cloudformation 中使用 Route53 创建动态数量的子域?
【发布时间】:2019-07-19 23:18:55
【问题描述】:

我需要根据要创建的实例数量来创建动态数量的子域。我的目标 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

【问题讨论】:

  • 您需要为每个实例创建一个子域的特定用例是什么?通常,访问将通过负载均衡器。
  • @JohnRotenstein 感谢答案下的解释。此用例是按可用区分隔每个客户。我们还需要使用 Puppet,但由于 Puppet 是基于认证的,我们需要为每个主机提供一个唯一的域。希望这会有所帮助。

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


【解决方案1】:

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

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

  • 如果Instance 1Instance 2存在,显然下一个是Instance 3
  • 但是如果Instance 2被Auto Scaling终止并且只存在Instance 1Instance 3,那么下一个实例应该是Instance 2还是Instance 4

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

然后就是实例终止时“注销”子域的问题。

实际上,通常不需要将子域分配给 Auto Scaling 实例。这是因为流量通常通过负载均衡器路由,或者实例正在从队列中提取工作。应该没有必要对特定实例进行唯一寻址。

【讨论】:

    猜你喜欢
    • 2016-04-12
    • 1970-01-01
    • 2019-12-09
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2011-08-14
    • 2016-07-07
    相关资源
    最近更新 更多