Вопрос или проблема
Когда вы используете следующую команду
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. Если у вас возникнут дополнительные вопросы, не стесняйтесь задать их.