Назад | Перейти на главную страницу

AWS EC2 что такое идентификатор бронирования и что он представляет?

Я сделал скрипт, который создает снимки наших томов 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 идентификаторов экземпляра.