【问题标题】:How to get IP address of the newly span up instance of AWS Auto Scaling Group如何获取 AWS Auto Scaling Group 新跨实例的 IP 地址
【发布时间】:2021-11-05 22:24:00
【问题描述】:

不确定这是否重复,但我想获取 AWS Auto Scaling Group 的新 span up 实例的 IP 地址。

我怎样才能做到这一点?

我想要一个 lambda 函数或者一个脚本。我想要的是,一旦实例启动,获取 IP,将该 IP 发送到某处的某个服务器。

【问题讨论】:

  • 你能详细说明用例吗?您的意思是在 AWS 控制台中?或者在某种脚本或 lambda 中?因为 ec2s 您可以在 AWS 控制台中进行过滤。

标签: amazon-web-services networking aws-auto-scaling


【解决方案1】:

最简单的方法是通过实例的云初始化脚本或启动脚本(用户数据)发送。

我想您的实例已经有一个云初始化脚本或启动脚本,它会在实例启动时运行。您可以在该脚本中添加命令以从实例元数据 url 中获取 ip,使用以下命令:

curl http://169.254.169.254/latest/meta-data/public-ipv4

然后您可以将此值发送到您需要的任何地方,方法是将此值传递给已创建的 lambda 函数,或直接传递给需要此值的实体。

【讨论】:

【解决方案2】:

创建一个用户数据脚本,它将获取实例的公共 IP 并通过 curl 将其发送到您的目的地。

要获取 IP,您可以点击实例元数据服务-

curl http://169.254.169.254/latest/meta-data/public-ipv4

或其他一些一般公共 IP 查找器- curl ipinfo.io

发送到目的地只是意味着制作一个 curl 有效负载并发送

curl -XPOST http://<destination>/ -d {ip: <IP here>}

整个脚本看起来应该有点像-

ip=$(curl http://169.254.169.254/latest/meta-data/public-ipv4) 
curl -XPOST http://<destination>/ -d {'ip' : $ip}

只需将此脚本放入您的 ASG 启动配置的用户数据中即可。

【讨论】:

  • 小问题,你从哪里得到这个169.254.169.254?
  • 实例元数据服务IP-refer
猜你喜欢
  • 2017-10-07
  • 2016-04-16
  • 2019-02-23
  • 2014-10-14
  • 2015-10-08
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2018-04-25
相关资源
最近更新 更多