自动递增 EC2 实例名称

Auto increment EC2 instance Name

我在 Whosebug 上看到很多问题,询问是否有自动增加实例名称的方法。例如:

foo1
foo2
fooN

我正在尝试查看是否有在 Powershell 中执行此操作的方法。我正在使用 AutoLaunchConfiguration/ASG 来启动实例。是否有自动递增实例方式的编程方式?到目前为止,我看到的所有资源都说这是可能的,但没有人提供这样做的方法。以下是我正在查看的一些资源:

有没有人有使用 AutoLaunchConfiguration 和 ASG 执行此操作的工作示例?如果是这样,您能否提供一个可以向我提供此信息的link/article?

首先要决定"auto-incrementing"是什么意思。

例如,如果这些实例已经存在:

  • foo1
  • foo2

那么显然下一个实例将是 foo3

但是假设一个实例之前因为负载减少而被终止,currently-running 个实例是:

  • foo1
  • foo3

那么问题是下一个实例应该是foo2还是foo4

如果答案是foo4,那么想想foo4稍后终止并启动另一个实例的情况。应该是foo4还是foo5(因为之前有一个foo4)。

归根结底就是确定为什么你想要一个auto-incremented名字

原因通常是:

  • 需要一个唯一的名字
  • 需要一个human-friendly名字
  • 需要提示 启动实例的顺序

如果需要一个唯一名称,那么实例ID可以完美地满足这个需求,而不需要额外的名称。

假设您想使用 human-friendly 名称,并且可以使用以前使用过的 re-use 名称(例如,如果 foo1foo3 存在,然后使用 foo2 接下来)。在这种情况下,您需要一些逻辑上 检查现有实例并找到第一个未使用的数字 .

另一方面,如果您不想re-use命名,那么您需要一些地方来存储'current'号码以便它可以为下一个实例增加。

然后,最后是how to assign the auto-incremented name的问题(这是你原来的问题,但是上面的内容也很重要,先理解).我的建议是:

  • 向通过用户数据触发的每个实例添加一些代码,以便在实例启动时运行(例如PowerShell)
  • 代码将检查具有describe-instances的现有实例或保存计数的地方,然后为自己分配下一个数字
  • 然后代码可以调用 create-tags 自身,添加具有适当名称的 Name 标签