EC2 -> Инстансы -> Зарезервированные инстансы показывает доступные для покупки сторонние инстансы:
Как можно получить этот список с помощью AWS CLI?
Я пробовал:
aws ec2 describe-reserved-instances-offerings --availability-zone us-east-1e --include-marketplace --filters Name=marketplace,Values=true > output.txt
Но иногда команда возвращает 125 МБ данных (с сотнями инстансов m5a.large, в то время как интерфейс показывает только несколько), в других случаях она возвращает только 5 КБ с 5 инстансами в общей сложности.
Какая команда правильная для получения корректного списка сторонних инстансов?
Ответ
Чтобы получить список предложений резервированных инстансов от третьих сторон на Amazon Marketplace с помощью AWS CLI, можно использовать команду aws ec2 describe-reserved-instances-offerings
. Вы уже правильно применили эту команду, но чтобы получить отфильтрованный и более точный результат, попробуйте следующие рекомендации:
-
Уточните Фильтры: Сначала убедитесь, что вы фильтруете данные правильно. Вы можете использовать различные фильтры, чтобы уточнить результаты. Например, вы можете добавить фильтр для конкретного типа инстансов или конкретной зоны доступности.
-
Используйте параметр
--max-results
: AWS CLI позволяет ограничить количество возвращаемых результатов. Это может помочь избежать больших объемов данных. Например:aws ec2 describe-reserved-instances-offerings --include-marketplace --max-results 100
-
Пагинация: Если количество результатов велико, AWS может возвращать их партиями. В таком случае вам нужно будет использовать механизм пагинации:
aws ec2 describe-reserved-instances-offerings --include-marketplace --no-paginate
-
Команда с фильтрами: Вот пример команды, который использует фильтры для получения только третьих сторон, и устанавливает максимальное количество результатов:
aws ec2 describe-reserved-instances-offerings --include-marketplace --filters "Name=marketplace,Values=true" --max-results 10
-
Дополнительно: Если вы все равно получаете слишком много данных, попробуйте использовать инструмент
jq
для фильтрации данных. Например:aws ec2 describe-reserved-instances-offerings --include-marketplace | jq '.ReservedInstancesOfferings[] | {InstanceType, OfferingType, Duration, UpfrontPrice}'
- Полная команда с сохранением в файл:
Если вам нужно сохранить результат в файл, используйте следующую команду:aws ec2 describe-reserved-instances-offerings --include-marketplace --filters "Name=marketplace,Values=true" --output json > output.json
Эти шаги должны помочь вам получить более четкий и полный список резервированных инстансов третьих сторон на Amazon Marketplace через AWS CLI. Не стесняйтесь экспериментировать с разными фильтрами и параметрами, чтобы настроить вывод так, как вам нужно.