AWS CLI Configuration
25/05/2019
Краткая шпаргалка по конфигурации AWS CLI клиента на локальной машине.
Различные наборы конфигурации группируются в рамках профилей (profile).
Что конфигурировать?
aws_access_key_idиaws_secret_access_key(сладкая парочка Twix)output format–json(default),text,table– формат вывода результатов по умолчаниюregion– AWS регион по умолчанию
Как конфигурировать?
Быстро
Редактировать файлы ~/.aws/credentials и ~/.aws/config вручную, через vim (так кошерней).
Очень быстро
$ aws configure set profile.kaori.aws_access_key_id FAKE4JIGTOYI64PIPZZZ
$ aws configure set profile.kaori.aws_secret_access_key FAKE0fri2ZZ8iB33xJMgl6TapB2lFE3rpmFtFYXZ
Ультра быстро
$ aws configure
$ aws configure --propfile kaori
Приоритет источников конфигурации
- Опции CLI (
--profile,--region,--output) - Перменные окружения (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN) - Файлы
~/.aws/credentialsи~/.aws/config - IAM Роль для ECS контейнера или EC2 инстанса
Как использовать?
$ aws ec2 describe-instances --profile kaori --region eu-west-1 --output table
$ AWS_DEFAULT_PROFILE=kaori AWS_DEFAULT_REGION=eu-west-1 AWS_DEFAULT_OUTPUT=table aws ec2 describe-instances
Что еще нужно знать?
-
Сладкая парочка Twix всегда ассоциирована с конкретным IAM пользователем или ролью
-
Все HTTP запросы к AWS API зашифрованы с учетом даты и времени, поэтому важно иметь корректное время на рабочей машине
-
Для EC2 инстансам и ECS контейнерам кошерно раздавать доступ через IAM роли. Благодаря такому подходу можно избежать необходимости ротировать перманентные ключи, а использовать исключительно временно предоставленные STS сервисом.
-
Все официальные AWS SDK (клиенты) работают с паролями/явками по такому же принципу, как и стандартный питоновский AWS CLI
-
Есть небольшая разница в форматировании секций профайлов
# ~/.aws/credentials
[example]
aws_secret_access_key = EXAMPLE
aws_access_key_id = EXAMPLE
vs
# ~/.aws/config
[profile example]
aws_secret_access_key = EXAMPLE
aws_access_key_id = EXAMPLE