ec2 describe-images не возвращает результатов для AMI Ubuntu 24.04 на EC2

Вопрос или проблема

Когда вы используете следующую команду

aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*" \
  --query 'Images[*].[ImageLocation]' | grep "24.04"

почему я не получаю никаких результатов?

Скорее всего, если вы задаетесь этим вопросом, это потому, что вы скопировали и вставили

aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*" \
  --query 'Images[*].[ImageLocation]' | grep "24.04"

из одного из множества источников в Интернете. Проблема в этом случае заключается в том, что строки AMI изменились с hvm-ssd на hvm-ssd-gp3. Как только вы измените эту подстроку, вы снова начнете получать совпадения

% aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=*ubuntu-*" \
  --query 'Images[*].[ImageLocation]' | grep "24.04"
        "amazon/ubuntu-pro-server/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-pro-server-20240710"
        "amazon/ubuntu-minimal/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-minimal-20240822"
        "amazon/ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-server-20240423"
# обрезано для краткости

Ответ или решение

Проблема, с которой вы столкнулись при использовании команды aws ec2 describe-images, указывает на то, что вы не можете найти ни одного AMI для Ubuntu 24.04, поскольку фильтр, который вы используете, устарел.

Команда, которую вы указали изначально, выглядит следующим образом:

aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-*" \
  --query 'Images[*].[ImageLocation]' | grep "24.04"

Проблема заключается в том, что строки AMI для Ubuntu были изменены, и вместо hvm-ssd используются значения hvm-ssd-gp3. Поэтому ваш первоначальный фильтр не возвращает никаких результатов.

Для того чтобы найти доступные AMI для Ubuntu 24.04, вы можете использовать изменённую команду с более общим фильтром:

aws ec2 describe-images \
  --owners amazon \
  --filters "Name=name,Values=*ubuntu-*" \
  --query 'Images[*].[ImageLocation]' | grep "24.04"

Это измененное использование фильтра Name=name,Values=*ubuntu-* позволит вам получить результаты, так как оно охватывает более широкий диапазон имен изображений, в то время как ключевая строка grep "24.04" будет фильтровать только те результаты, которые содержат нужную версию Ubuntu.

После выполнения вышеуказанной команды вы должны увидеть что-то подобное:

"amazon/ubuntu-pro-server/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-pro-server-20240710"
"amazon/ubuntu-minimal/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-minimal-20240822"
"amazon/ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-arm64-server-20240423"

Таким образом, вы получите список доступных образов для Ubuntu 24.04 на Amazon EC2. Если у вас возникнут дополнительные вопросы, не стесняйтесь задать их.

Оцените материал
Добавить комментарий

Капча загружается...