2016-07-15 7 views
3

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

Когда я бегу Е.Б. статус внутри папки приложения, я получаю ответ в виде:

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 

Это говорит мне Е.Б. 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 с учетным данными файла, содержащим [ профиль] line и aws_access_key_id и aws_secret_access_key все настроенные строки.

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

EDIT:

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

ответ

0

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

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

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

+0

Благодарим вас за разъяснение. Как я уже сказал, это слишком ново для меня, и все это слишком запутывает. –

+0

Это круто, вы учитесь, когда идете. Не стесняйтесь задавать любой другой вопрос, вот что такое SO –

0

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

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