我在Stackoverflow上看到了许多问题,询问是否存在一种自动增加实例名称的方法。例如:
foo1
foo2
fooN
我正在尝试查看Powershell中是否有这样做的方法。我正在使用AutoLaunchConfiguration / ASG启动实例。有自动编程实例方式的编程方式吗?到目前为止,我所见过的每一种资源都说有可能,但没有一种提供这样做的方法。这是我正在查看的一些资源:
有人使用AutoLaunchConfiguration和ASG进行此操作的示例吗?如果是这样,您能否提供可以向我提供此信息的链接/文章?
答案 0 :(得分:1)
第一件事是确定“自动递增”的含义。
例如,如果这些实例已经存在:
foo1
foo2
那么显然下一个实例将是foo3
。
但是,我们可以说一个实例先前由于负载减少而被终止,而当前正在运行的实例是:
foo1
foo3
然后,问题是下一个实例是foo2
还是foo4
。
如果答案为foo4
,请考虑一下foo4
后来终止并启动另一个实例的情况。应该是foo4
还是foo5
(因为以前有foo4
)。
这实际上归结为确定为什么您要自动递增的名称。
原因通常是:
如果需要一个唯一名称,则实例ID 可以完全满足此需求,而无需其他名称。
让我们假设您想使用一个人性化的名称,并且可以重新使用以前使用的名称(例如,如果foo1
和foo3
存在,则使用{{1} } 下一个)。在这种情况下,您需要在逻辑上检查现有实例并找到第一个未使用的编号的东西。
另一方面,如果您不想再使用名称,那么您将需要某个位置来存储“当前”编号,以便在下一个实例中可以递增该编号。
然后,最后出现了一个问题:如何分配自动递增的名称(这是您的原始问题,但是上面的内容对于理解也是很重要的)。我的建议是:
describe-instances
或保留计数的位置检查现有实例,然后为其分配下一个数字create-tags
,并添加一个具有适当名称的foo2
标签