AWS EC2到底什么是保留ID,它代表什么?


13

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

使用describe-instances,我得到保留ID,而不是实例ID。这很令人困惑,但事实如此。启动实例后,将为该实例创建预留。

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

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

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

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

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

尚不清楚预订ID代表什么

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

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

在我们的情况下,所有实例都有唯一的保留ID,但是对于我正在运行的脚本,我想知道在什么情况下可以更改describe-instances

Answers:


15

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

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

通常,一次启动的实例具有相同的特性ReservationId,但这可能不是一成不变的规则。但是在两个不同的时间启动两个实例很可能会给出不同的ReservationId值。

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

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

通常,您无需担心该ReservationId值,除非您想知道它们是否同时启动AmiLaunchIndex,实例上的哪一点将与预留中的实例到实例不同(0、1、2等)。 )。

参考文献:


3

将预订ID视为交易ID。例如,如果您一次购买5张票。您有一个交易ID,但有五个预订ID。

同样,如果使用aws ec2 run-instances一次启动1 个实例,则将有一个保留ID和一个Instance ID。

但是,如果您使用aws ec2 run-instances一次启动10 个实例,则将有1个保留ID和10个实例ID。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.