amazon-web-services - Cloudformation EC2 实例在初始化时将外部 DNS 和 IP 添加到 .conf 文件

标签 amazon-web-services amazon-ec2 aws-cloudformation

我正在创建一个云形成文件,用于设置 EC2 实例并在其上安装一些应用程序等。然后它还会安装用于添加网络密码保护的鱿鱼。

我遇到的问题是在设置实例时需要使用外部 IP 和公共(public) DNS 地址设置配置文件。不幸的是,这些在 EC2 实例初始化之前并不存在,如果我尝试在云形成脚本中的实例的 userData 中引用该值,我会收到循环引用错误。

有谁知道在创建实例并分配公共(public) IP 和 DNS 地址后如何获取 cloudformation 脚本来更新此配置?

最佳答案

您可以从 metadata server 获取此信息在http://169.254.169.254每个 EC2 实例都可用。

要获取公共(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

在您的用户数据脚本中使用它们。

关于amazon-web-services - Cloudformation EC2 实例在初始化时将外部 DNS 和 IP 添加到 .conf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49862945/

相关文章:

amazon-s3 - 将 foobar.com 和 www.foobar.com 设置为指向我的 Amazon S3 托管站点

amazon-web-services - 如何知道从 aws sam 模板创建 aws 资源时返回哪些属性

aws-cloudformation - AWS CloudFormation GetAtt 无法在 Fn::Sub 下工作

mysql - 在unix中安装mysql服务器连接超时

javascript - 使用 .catch() 处理未处理的 Promise 拒绝

linux - 如何读取 AWS ElasticBeanstalk 中设置的环境属性

amazon-web-services - 无法获取 AWS 云提供商。 GetCloudProvider 返回了 <nil>

python - 弹性 beantalk 上的 psycopg2 - 无法部署应用程序

php - 是否可以使用 php pdo 连接到 ec2 实例上的远程数据库?

amazon-web-services - aws cloudformation 包将一些本地路径转换为 ​​S3 uri,但不是全部