我们正在 AWS 上设置一个可自动扩展的 Web 服务。我们的要求之一是我们可以通过 SSH 重新加载 Web 服务器配置。通常,这并不难,因为只需执行
ssh user@webserver "service apache2 reload"
问题是,当您自动扩展 Web 服务器时,您不知道有多少服务器处于运行状态,最重要的是,不知道 IP 地址是多少。因此,我们需要一种方法来获取当前在自动扩展组中启动的 IP 地址列表。
我已经检查了 AWS CLI 的describe-auto-scaling-instances
命令,但它只提供了实例 ID。据我所知,没有办法获取与该 ID 关联的 IP。
我尝试在 AWS API 文档中寻找线索,但无济于事。
这里有谁知道一个干净的方法来做到这一点?另一种方法是,服务器在启动时在中央服务器上进行自我检查,并在停机时自我检查。然而,这很容易出错,并且需要一个可用性不高的中央服务器,坦率地说,只用于这个目的有点浪费……
答案1
显然我看错了。EC2 实例的 AWS API 在发出命令时确实列出了 IP 地址describe-instances
。