我制作了一个创buildEC2卷快照的脚本。 该脚本查看哪些实例正在运行,哪些卷连接到这些实例,然后为这些卷创build快照,而忽略剩余的卷。
使用describe-instances ,我得到预留ID,而不是实例ID。 这是令人困惑的,但它是如此。 当一个实例启动时,为该实例创build一个保留。
我仍然对预订概念感到困惑。
附注:我知道什么是保留实例,这与我在这里描述的不同。 “保留实例”意味着您租用一年或两三年的实例,并为此降价。 所以你预留了一年的t2.medium,如果你不使用它,你仍然付钱,但如果你使用它,它比正常便宜。
现在回到“预订ID”。 AWS FAQ说:
EC2启动的每个实例都有一个预留ID。 预留ID与实例启动请求具有一对一的关系,但如果使用相同的启动请求启动多个实例,则可以与多个实例关联。
那么这个SE问题: 亚马逊EC2中“预订”的目的是什么?
目前尚不清楚预订ID究竟代表什么
如果一次启动一个实例,则每个实例都有自己唯一的预留ID。
在我们的情况下,所有实例都有一个唯一的预留ID,但是我想知道在哪些情况下,这可以改变,我正在使用describe-instances运行的脚本。
研究ResearvationId与预留实例无关。 这是一个唯一值,表示启动EC2实例的请求。 启动请求可能来自cli,AutoScaling或AWSpipe理控制台。
每个发送aws ec2 run-instances请求将返回零个或多个实例的保留。 通常情况下,如果成功,它会是一个,但是文档会说“零个或多个”(1),所以一个启动请求可能被分解为多个保留。
通常情况下,一次启动的实例获得相同的ReservationId ,但这可能不是一个硬性规则。 但是在2个不同时间启动2个实例最有可能会给出不同的ReservationId值。
例如,作为aws ec2 run-instances命令的一部分,可以指示要同时启动的最小和最大实例数。 很多时候,这将是最小=最大= 1,但它可以更多和/或不同,只要1 <= min <=最大。 您还可以指定从AWSpipe理控制台启动新实例时要运行的实例数。 这可以在“步骤3:configuration实例详细信息”页面上看到。
当执行aws ec2 describe-instances ,您的结果将根据它们的启动方式按照ReservationId值进行分组。
一般情况下,除非您想知道是否同时启动ReservationId值,否则实例中的AmiLaunchIndex将与实例中的实例 – 实例不同(0,1,2,等等。)。
参考文献:
考虑预留ID作为交易ID。 如果你一次购买5张票。 您有一个交易ID,但有五个预订ID。
同样,如果使用aws ec2 run-instances同时启动1 个实例 ,则将有一个预留ID和一个实例ID。
但是,如果使用aws ec2 run-instances一次启动10 个实例 ,则将有1个预留ID和10个实例ID。