Подтвердить что ты не робот

Как использовать несколько учетных записей AWS из командной строки?

У меня есть два разных приложения, которые я размещаю (ну, а второй собирается подняться) на Amazon EC2.

Как я могу работать с обоими учетными записями в командной строке (Mac OS X), но сохранить ключи EC2 и сертификаты отдельно? Нужно ли мне менять переменные среды перед каждой командой ec2- *?

Будет ли использовать псевдоним и иметь его в настройке среды в режиме работы? Что-то вроде:

alias ec2-describe-examples1 = export EC2_PRIVATE_KEY =/путь; EC2-описывающие-экземпляры

4b9b3361

Ответ 1

Вы можете использовать следующие параметры команды вместо переменных среды EC2_PRIVATE_KEY (и даже EC2_CERT):

  • -K <private key>
  • -C <certificate>

Вы можете поместить эти внутренние псевдонимы, например.

alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem

Ответ 2

Вы можете работать с двумя учетными записями, создав два profiles в командной строке aws. Он предложит вам идентификатор ключа доступа AWS, секретный ключ доступа AWS и желаемую область, чтобы они были готовы.

Примеры:

$ aws configure --profile account1
$ aws configure --profile account2

Затем вы можете переключаться между учетными записями, передавая профиль в команде.

$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2

Примечание:

Если вы назовете профиль default, он станет профилем по умолчанию, т.е. когда в команде не будет параметра --profile.


Подробнее о профиле по умолчанию

Если вы тратите больше времени на использование учетной записи1, вы можете сделать это по умолчанию, установив переменную среды AWS_DEFAULT_PROFILE. Когда задана переменная среды по умолчанию, вам не нужно указывать профиль для каждой команды.

Linux, OS X Пример:

$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables

Пример Windows:

$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls

Ответ 3

Может быть, он по-прежнему помогает кому-то. Вы можете установить его вручную.

1) Установить в файл

~/.aws/credentials

это

[default]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

[{{profile_name}}]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

2) Установить в файл

~/.aws/config

это

[default]
region={{region}}
output={{output:"json||text"}}

[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}

3) Проверьте его с помощью Командная строка AWS, а команда и вывод будут JSON

aws ec2 describe-instances --profile {{profile_name}}

Ссылка

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles

Ответ 4

Новые утилиты aws теперь поддерживают несколько профилей.

Если вы настраиваете доступ с помощью инструментов, он автоматически создает значение по умолчанию в файле ~/.aws/config.

Затем вы можете добавить дополнительные профили - более подробную информацию по адресу:

http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles

Ответ 5

Вы можете написать shell script, чтобы установить соответствующие значения переменных среды для каждой учетной записи на основе ввода пользователя. Для этого вам не нужно создавать какие-либо псевдонимы и, кроме того, такие инструменты, как инструменты ELB, средства автоматической масштабирования командной строки будут работать и под несколькими учетными записями.