【问题标题】:Get Instance dnsname from a instance create un a cloudformation autoescaling group从 cloudformation 自动缩放组中创建的实例获取实例 dns 名称
【发布时间】:2017-11-15 04:08:06
【问题描述】:

有什么方法可以获取在同一 cloudformation 模板中的自动缩放组中创建的实例的 dns 名称?

目标是:

从创建的实例中获取 DNS 名称。 为 dns 实例名称创建一个众所周知的记录集别名,以便团队中的每个人都知道它以获得远程访问。我们不想使用 elastic-ip。

谢谢!

【问题讨论】:

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


    【解决方案1】:

    Cloudformation 不知道 Auto Scaling 组创建的 EC2 实例。

    在 Auto Scaling 组之外构建 bastion 系统更为常见。然后,您可以拥有一个固定主机,允许您访问 ASG 中的所有实例。

    【讨论】:

    • 您可以使用 CloudFormation 自定义资源 (Lambda) 来获取此信息。 Lambda 可以是一个简单的 Python 脚本,导入 boto3 并等效于 aws ec2 describe-autoscaling-group ...
    【解决方案2】:

    如果您希望将特定 DNS 名称关联到 EC2 实例,您可以:

    • 创建弹性 IP 地址
    • 将 DNS 名称与 Amazon Route 53 中的弹性 IP 地址相关联
    • 编写一个在实例启动时运行的用户数据脚本,它将弹性 IP 地址与其自身(即与实例启动)相关联

    这可以通过AWS Command-Line Interface (CLI) aws ec2 associate-address 命令来完成。见:associate-address documentation

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 2017-08-15
      • 2018-06-17
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 2016-09-21
      • 2012-06-20
      • 1970-01-01
      相关资源
      最近更新 更多