Tim*_*uri 7 amazon-web-services autoscaling
我正在编写一些自动化脚本来引导我的应用程序,并将使用 AWS 中的自动扩展组来为我的应用程序启动/关闭 EC2 实例。
我需要能够为遵循以下模式的机器重新创建一致的名称:MYAPP001, MYAPP002, MYAPP003。
有没有办法在用户数据引导阶段查询元数据以确定刚刚出现的这台002机器是否在组中?
如果我可以确定这一点,那么我可以将机器重命名为MYAPP002.
想象一下第 3 方服务希望机器被命名为MYAPP001, MYAPP002, MYAPP003。在此软件中,计算机可以离线并稍后使用不同的 IP 地址重新上线。但是,您不能让两台不同的计算机使用相同的主机名同时与该软件通信。
EEA*_*EAA -1
您确定这些信息甚至可以通过 API 获得吗?我能想到的最好的方法是查询所有正在运行的实例的启动时间,然后找出哪个是“最新的”。
不过,我不得不说,如果您依赖自动缩放组中的任何特定于机器的状态,那么您就做错了。您的部署方法和应用程序的构建应确保所有 ASG 实例都完全相同,甚至它们的主机名也是如此。由于某些技术原因需要分配特定的主机名会再次困扰您。
将此视为重构事物的机会,这样您就不需要这样做。构建您的应用程序,以便 ASG 可以根据需要创建和销毁实例,而无需担心它对每个主机的调用。
作为一个思想实验,让我们更彻底地思考一下。假设您用三个实例实例化一个 ASG:ASG[01,02,03]。在未来的某个时刻,ASG02 会出现问题并被终止。ASG 创建一个新实例来替换它,现在是 ASG04。现在你有了 ASG[01,03,04]。这就是你的意图吗?为什么需要这些信息?如上所述,如果您做得正确,则不需要或无论如何都不需要此信息。如果您这样做只是为了人类可读的目的,或者是为了更好地跟踪事情,那就放手吧,相信 ASG 会做它的事情。
| 归档时间: |
|
| 查看次数: |
5245 次 |
| 最近记录: |