Когда использовать AWS CLI и EB CLI

Примерно месяц я изучаю сервисы AWS, и теперь мне нужно выполнить некоторые базовые задачи на AWS elastic beanstalk через командную строку. Насколько я понимаю, в экземпляре сборки установлены aws elasticbeanstalk [команда] и eb [команда] CLI.

Когда я запускаю eb status внутри папки приложения, я получаю ответ в виде:

Environment details for: app-name
Application name: app-name
Region: us-east-1
Deployed Version: app-version
Environment ID: env-name
Platform: 64bit Amazon Linux ........
Tier: WebServer-Standard
CNAME: app-name.elasticbeanstalk.com
Updated: 2016-07-14 .......
Status: Ready
Health: Green

Это говорит о том, что для приложения был запущен eb init.

С другой стороны, если я бегу:

aws elasticbeanstalk describe-application-versions --application-name app-name --region us-east-1

Я получаю сообщение об ошибке:

Unable to locate credentials. You can configure credentials by running "aws configure".

В домашней папке текущего пользователя есть каталог .aws с файлом учетных данных, содержащим строку [profile] и строки aws_access_key_id и aws_secret_access_key, все настроенные.

Помимо очевидной проблемы с учетными данными, мне действительно не хватает понимания двух cli. Почему EB cli не запрашивает учетные данные, а AWS cli -? Когда я использую тот или иной? Могу ли я использовать только aws cli? Будем очень признательны за любые разъяснения по этому поводу.

РЕДАКТИРОВАТЬ:

Для всех, кто попадает сюда, возникает та же проблема с «Невозможно найти учетные данные». Добавление опции --profile profile-name решило проблему для меня. имя-профиля можно найти в файле ~ / .aws / config (или учетных данных) в строке [имя-профиля ].


person ERIK_SON    schedule 15.07.2016    source источник
comment
Ваше последующее редактирование спасло меня. Спасибо!   -  person dpurrington    schedule 15.03.2018


Ответы (2)


Чтобы убедиться, что интерфейс командной строки AWS настроен в вашей системе, запустите aws configure и предоставьте ему все необходимые сведения. Это должно решить проблему с вашими учетными данными, а проверка изменений в конфигурации позволит вам понять, что не так с вашей текущей конфигурацией.

eb cli и aws cli имеют очень похожие возможности, и я тоже немного не понимаю, почему они оба должны существовать. По моему опыту, основные отличия заключаются в том, что cli используется для взаимодействия с вашей учетной записью AWS с помощью простых запросов, в то время как eb cli создает соединения между вами и eb envs, что позволяет более точно контролировать их.

Например, я только что разработал конвейер CI / CD для наших приложений beanstalk. Когда я использую eb cli, я могу отслеживать развертывание наших приложений и уведомлять разработчиков о его завершении. aws cli не предлагает эту функциональность, и единственное, что можно достичь, - это многократно запрашивать службу, пока вы не получите желаемый результат.

person Yaron Idan    schedule 15.07.2016
comment
Спасибо за объяснение. Как я уже сказал, это слишком ново для меня и до сих пор сбивает с толку. - person ERIK_SON; 15.07.2016
comment
Здорово, учишься на ходу. Не стесняйтесь задавать любой другой вопрос, вот что такое SO - person Yaron Idan; 15.07.2016

AWS CLI - это универсальный инструмент, который работает на всех ресурсах AWS. Он не привязан к конкретному программному проекту, типу компьютера, на котором вы работаете, каталогу, в котором вы находитесь, или чему-то в этом роде. Ему нужны только учетные данные, независимо от того, были ли они введены туда вручную, если это ваша собственная машина, или сгенерированы AWS, если это экземпляр EC2.

EB CLI - это инструмент высокого уровня, позволяющий реализовать ваш программный проект. Он привязан к каталогу, в котором вы находитесь, он предполагает, что материал в вашем каталоге - это ваш проект, и у него есть короткие команды, которые выполняют много фоновой работы, чтобы волшебным образом разместить все в нужном месте.

person snetch    schedule 13.12.2017