Cloudformation EC2 实例将外部 DNS 和 IP 添加到 init 上的 .conf 文件
Cloudformation EC2 instance add External DNS and IP to .conf file on init
我正在创建一个云形成文件,用于设置 EC2 实例并在其上安装一些应用程序等。然后它还会安装用于从网络添加密码保护的 squid。
我遇到的问题是在设置实例时需要使用外部 ip 和 public dns 地址设置配置文件。不幸的是,这些在 EC2 实例初始化之前不存在,如果我尝试在云形成脚本中的实例的 userData 中引用此值,我会收到循环引用错误。
有谁知道在创建实例并分配 public IP 和 DNS 地址后我如何获取 cloudformation 脚本来更新此 conf?
您可以从每个 EC2 实例上可用的 metadata server at http://169.254.169.254 获取此信息。
要获取 public IP 使用:
curl -f http://169.254.169.254/latest/meta-data/public-ipv4
要获取 public 域,请使用:
curl -f http://169.254.169.254/latest/meta-data/public-hostname
在您的用户数据脚本中使用它们。
我正在创建一个云形成文件,用于设置 EC2 实例并在其上安装一些应用程序等。然后它还会安装用于从网络添加密码保护的 squid。
我遇到的问题是在设置实例时需要使用外部 ip 和 public dns 地址设置配置文件。不幸的是,这些在 EC2 实例初始化之前不存在,如果我尝试在云形成脚本中的实例的 userData 中引用此值,我会收到循环引用错误。
有谁知道在创建实例并分配 public IP 和 DNS 地址后我如何获取 cloudformation 脚本来更新此 conf?
您可以从每个 EC2 实例上可用的 metadata server at http://169.254.169.254 获取此信息。
要获取 public IP 使用:
curl -f http://169.254.169.254/latest/meta-data/public-ipv4
要获取 public 域,请使用:
curl -f http://169.254.169.254/latest/meta-data/public-hostname
在您的用户数据脚本中使用它们。