【问题标题】:Auto increment EC2 instance Name自动递增 EC2 实例名称
【发布时间】:2019-10-28 11:39:55
【问题描述】:

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

foo1
foo2
fooN

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

有没有人有一个使用 AutoLaunchConfiguration 和 ASG 的工作示例?如果是这样,您能否提供一个可以为我提供此信息的链接/文章?

【问题讨论】:

    标签: powershell amazon-ec2 autoscaling


    【解决方案1】:

    首先要确定什么是“自动递增”

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

    • foo1
    • foo2

    那么显然下一个实例是foo3

    但是假设一个实例之前因为负载减少而被终止,而当前运行的实例是:

    • foo1
    • foo3

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

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

    这真的归结为确定为什么您需要一个自动递增的名称

    原因通常是:

    • 需要唯一的名称
    • 需要一个人性化的名称
    • 需要提示启动实例的顺序

    如果需要唯一的名称,那么Instance ID可以完美地满足这一需求,无需额外的名称。

    假设您想使用一个人性化的名称,并且可以重复使用以前使用的名称(例如,如果存在foo1foo3,则使用foo2 下一个)。在这种情况下,您需要能够在逻辑上检查现有实例并找到第一个未使用的编号

    另一方面,如果您不想重复使用名称,那么您将需要某个地方来存储“当前”数字,以便在下一个实例中递增。

    然后,最后是如何分配自动递增名称的问题(这是您最初的问题,但首先要理解上述内容也很重要)。我的建议是:

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

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 2021-04-26
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-04-23
      • 2021-02-02
      • 2017-07-12
      相关资源
      最近更新 更多