AWS EC2 什么是预留 ID,它代表什么?

SPR*_*BRN 16 snapshot amazon-ec2 amazon-web-services

我制作了一个脚本来创建我们的 EC2 卷的快照。该脚本查看哪些实例正在运行,哪些卷连接到这些实例,然后为这些卷创建快照,忽略其余的。

使用describe-instances,我获得了预订 ID,而不是实例 ID。这令人困惑,但事实就是如此。当一个实例启动时,会为该实例创建一个预留。

我仍然对预订概念感到困惑。

旁注:我知道什么是保留实例,这与我在这里描述的不同。“预留实例”意味着您将实例租用一年或两年或三年,并因此获得降价。所以你预留了一年的t2.medium,如果你不使用它,你仍然需要付费,但如果你使用它,它比正常的便宜。

现在回到“预订 ID”。AWS 常见问题解答说:

EC2 启动的每个实例都有一个预留 ID。预留 ID 与实例启动请求是一对一的关系,但如果您使用同一个启动请求启动多个实例,则可以与多个实例相关联。

然后是这个 SE 问题:Amazon EC2 中“预订”的目的是什么

目前尚不清楚预订 ID 究竟代表什么

如果您一次启动一个实例,每个实例都有自己唯一的预留 ID。

  • 何时或如何将单个预留 ID 链接到多个实例?
  • 它可以链接到几个不相关的实例吗?假设我有一个网络服务器和一个数据库服务器。我可以使用一个预订 ID 启动它们吗?
  • 或者,一个预留 ID 是否可以只链接到一个多次启动的实例,例如用于负载平衡目的。

在我们的情况下,所有实例都有一个唯一的预留 ID,但我想知道在什么情况下这可以改变,对于我使用describe-instances.

Mat*_*ser 18

ResearvationId没有任何与保留的情况。它是一个唯一值,指示启动 EC2 实例的请求。启动请求可能来自 cli、AutoScaling 或 AWS 管理控制台。

每个请求都aws ec2 run-instances将返回零个或多个实例预留。通常,如果成功,它将是一个,但文档说“零个或多个”(1),因此单个启动请求可能会分解为多个保留。

通常,一次启动的实例得到相同的ReservationId,但这可能不是一项硬性规定。但是在 2 个不同的时间启动 2 个实例很可能会给出不同的ReservationId值。

例如,作为aws ec2 run-instances命令的一部分,您可以指定同时启动的最小和最大实例数。很多时候,这将是 min = max = 1,但只要 1 <= min <= max,它就可以更多和/或不同。您还可以指定从 AWS 管理控制台启动新实例时要运行的实例数。这可以在“第 3 步:配置实例详细信息”页面上看到。

执行时aws ec2 describe-instances,您的结果将ReservationId根据它们的启动方式按值分组。

通常,您不需要关心该ReservationId值,除非您想知道它们是否同时启动AmiLaunchIndex,实例上的哪个点在预留中因实例而异(0、1、2 等)。 )。

参考: