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

Как использовать интерфейс командной строки Amazon EC2?

Я пытаюсь использовать интерфейс командной строки, чтобы получить описание только что настроенного экземпляра EC2.

Я подключился к серверу по ssh и выполнил команду ec2-describe-images ami-12345abc. Вместо описания экземпляра я получаю следующее сообщение об ошибке

Required option '-K, --private-key KEY' missing (-h for usage)

Есть предложения, как я могу это решить?

Инструменты командной строки AWS используют закрытые ключи и сертификаты для установления вашей личности, как это делают API веб-сервисов AWS. Таким образом, вы должны передавать свой закрытый ключ или сертификат с каждой командой. (Кстати, вам не нужно подключаться к экземпляру EC2 для выполнения команд. Вы можете запускать их с любого компьютера с установленными инструментами и подключением к Интернету.)

Обычно проще всего создать сценарий, который устанавливает закрытый ключ и сертификат в переменных среды EC2_PRIVATE_KEY и EC2_CERT. Таким образом, вам не нужно каждый раз указывать их явно через параметры командной строки.

См. Документацию ниже (особенно параметры --private-key и --cert) для получения дополнительной информации. Общие параметры для инструментов API

И, как всегда, будьте осторожны, чтобы не раскрывать ваши личные ключи и сертификаты более широко, чем это необходимо.

Следуйте инструкциям по созданию закрытого ключа и сертификата для своей учетной записи AWS.

Создание вашего закрытого ключа Aws и файла сертификата

У вас есть два варианта:

1. Вы можете экспортировать эти ключи (убедитесь, что они есть в вашем файле bashrc) и выполнить команды EC2

export EC2_PRIVATE_KEY=$HOME/<where your private key is>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_CERT=$HOME/<where your certificate is>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
ec2-describe-images ami-12345abc

2. Укажите путь к закрытому ключу и файлу сертификата при запуске AWS в CLI.

ec2-describe-images \
-C <path-to-certificate-file>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem \
-K <path-to-private-key>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem ami-12345abc

Я бы посоветовал выбрать вариант 2, так как он всегда заставляет меня помнить эти важные файлы.

Самый простой способ предоставить ключи доступа к интерфейсу командной строки Amazon EC2 - установить переменные среды AWS_ACCESS_KEY и AWS_SECRET_KEY. Сначала добавьте следующие строки в ~ / .bashrc и сохраните файл.

export AWS_ACCESS_KEY=your-aws-access-key-id

export AWS_SECRET_KEY=your-aws-secret-key

После обновления ~ / .bashrc выполните следующую команду:

source ~/.bashrc

Чтобы убедиться, что ваши инструменты CLI настроены правильно, выполните следующую команду:

ec2-describe-regions

Источник: http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html