Я сделал скрипт, который создает снимки наших томов EC2. Сценарий проверяет, какие экземпляры работают, какие тома подключены к этим экземплярам, а затем создает моментальные снимки для этих томов, игнорируя остальные.
С помощью describe-instances
, Я получаю идентификаторы резервирования, а не идентификаторы экземпляров. Это сбивает с толку, но это как есть. Когда экземпляр запускается, для него создается резервирование.
Я все еще не понимаю концепцию бронирования.
Боковое примечание: я знаю, что такое зарезервированные экземпляры, что отличается от того, что я здесь описываю. «Зарезервированный экземпляр» означает, что вы арендуете экземпляр на год, два или три и получаете за это снижение цены. Таким образом, вы резервируете t2.medium на один год, и если вы не используете его, вы все равно платите, но если вы его используете, это дешевле, чем обычно.
Теперь вернемся к «ID бронирования». В FAQ AWS говорится:
Каждый экземпляр, запущенный EC2, имеет идентификатор резервирования. Идентификатор резервирования имеет однозначную связь с запросом на запуск экземпляра, но может быть связан с более чем одним экземпляром, если вы запускаете несколько экземпляров, используя один и тот же запрос на запуск.
Тогда есть этот вопрос SE: Какова цель резервирования в Amazon EC2
По-прежнему неясно, что именно представляет собой идентификатор бронирования.
Если вы запускаете по одному экземпляру за раз, каждый экземпляр будет иметь свой уникальный идентификатор резервирования.
В нашей ситуации у всех экземпляров есть уникальный идентификатор резервирования, но я хочу знать, в каких ситуациях это может измениться, для скрипта, который я запускаю, используя describe-instances
.
В ResearvationId
не имеет ничего общего с зарезервированными инстансами. Это уникальное значение, указывающее на запрос на запуск экземпляров EC2. Запрос на запуск может поступать из консоли, AutoScaling или консоли управления AWS.
Каждый запрос к aws ec2 run-instances
вернет ноль или более резервирований экземпляров. Обычно в случае успеха это будет один, но в документации указано «ноль или более» (1), поэтому один запрос на запуск может быть разбит на несколько резервирований.
Обычно экземпляры, которые запускаются одновременно, получают одинаковые ReservationId
, но это не может быть жестким правилом. Но запуск двух экземпляров в 2 разных раза, скорее всего, даст разные ReservationId
ценности.
Например, в составе aws ec2 run-instances
можно указать минимальное и максимальное количество экземпляров для одновременного запуска. Часто это будет min = max = 1, но может быть больше и / или отличаться, пока 1 <= min <= max. Вы также можете указать количество запускаемых экземпляров при запуске новых экземпляров из Консоли управления AWS. Это можно увидеть на странице «Шаг 3: Настройка сведений об экземпляре».
При выполнении aws ec2 describe-instances
, ваши результаты будут сгруппированы по ReservationId
ценность в зависимости от того, как они были запущены.
Как правило, вам не нужно беспокоиться о ReservationId
значение, если вы не хотите знать, были ли они запущены одновременно в какой момент AmiLaunchIndex
на экземпляре будет отличаться от экземпляра к экземпляру в пределах резервирования (0, 1, 2 и т. д.).
Ссылки:
Считайте идентификатор резервирования идентификатором транзакции. например, если вы покупаете 5 билетов за один раз. У вас есть один идентификатор транзакции, но пять идентификаторов бронирования.
Таким же образом, если вы запускаете 1 экземпляр за один раз, используя запуск экземпляров aws ec2, у вас будет один идентификатор бронирования и один идентификатор экземпляра.
Но если вы запускаете 10 экземпляров за один раз, используя запуск экземпляров aws ec2, у вас будет 1 идентификатор резервирования и 10 идентификаторов экземпляра.