Как использовать несколько учетных записей AWS из командной строки?
116
У меня есть два разных приложения, которые я размещаю на Amazon EC2 (второе скоро будет запущено).
Как я могу работать с обеими учетными записями в командной строке (Mac OS X), но хранить ключи и сертификаты EC2 отдельно? Нужно ли мне изменять переменные среды перед каждой командой ec2- *?
Будет ли работать с использованием псевдонима и его настройки в среде? Что-то вроде:
Если вы присвоите профилю имя, defaultон станет профилем по умолчанию, т.е. если --profileв команде нет параметров.
Подробнее о профиле по умолчанию
Если вы проводите больше времени с помощью account1 , вы можете сделать это по умолчанию, установив AWS_DEFAULT_PROFILE переменного окружения. Если установлена переменная среды по умолчанию, вам не нужно указывать профиль для каждой команды.
@iBrianCox - эту информацию желательно объединить в ответ, получивший наибольшее количество голосов ( stackoverflow.com/a/34246053/1199564 ), потому что он позволяет пользователю понять, как перемещать настройки из одного профиля в другой, если, например, вы начали только с профилем по умолчанию и хотите продолжить с выделенными отдельными профилями.
mgd
@slm, пожалуйста, прочтите мой комментарий выше (смог сделать только одно упоминание за комментарий)
mgd
@mgd спасибо за предложение, но нет - потому что сначала это не мой ответ, а во-вторых, это другой подход к его настройке
BG BRUNO
@mgd В, не могли бы вы подробнее описать, что вы имеете в виду «одно упоминание на комментарий»?
BG BRUNO
Я имел в виду, что в моем первом комментарии я намеревался упомянуть как iBrianCox, так и slm (автор и редактор другого ответа соответственно), но вам разрешено делать только одно упоминание для каждого комментария, поэтому мне пришлось добавить еще один комментарий, чтобы упомянуть оба . Вы правы, что ваш ответ - это другой подход, но очень полезно знать, где хранится информация, в частности, если вы собираетесь копировать настройки между профилями.
mgd
6
Новые инструменты aws теперь поддерживают несколько профилей.
Если вы настраиваете доступ с помощью инструментов, он автоматически создает значение по умолчанию в ~ / .aws / config.
Затем вы можете добавить дополнительные профили - подробности по адресу:
Вы можете написать сценарий оболочки для установки соответствующих значений переменных среды для каждой учетной записи на основе ввода данных пользователем. При этом вам не нужно создавать никаких псевдонимов, и, кроме того, такие инструменты, как инструменты ELB, инструменты командной строки Auto Scaling, также будут работать с несколькими учетными записями.
Я создал простой инструмент aaws для переключения между учетными записями AWS.
Он работает путем установки AWS_DEFAULT_PROFILEв вашей оболочке. Просто убедитесь, что у вас есть несколько записей в вашем ~/.aws/credentialsфайле, и он может легко переключаться между несколькими учетными записями.
/tmp
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
Может еще кому-то поможет. Вы можете установить его вручную.
1) Установить в файл
этот
2) Установить в файл
этот
3) Протестируйте его с помощью командной строки AWS, команда и вывод будут в формате JSON.
Ссылка
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
источник
Новые инструменты aws теперь поддерживают несколько профилей.
Если вы настраиваете доступ с помощью инструментов, он автоматически создает значение по умолчанию в ~ / .aws / config.
Затем вы можете добавить дополнительные профили - подробности по адресу:
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
источник
Вы можете написать сценарий оболочки для установки соответствующих значений переменных среды для каждой учетной записи на основе ввода данных пользователем. При этом вам не нужно создавать никаких псевдонимов, и, кроме того, такие инструменты, как инструменты ELB, инструменты командной строки Auto Scaling, также будут работать с несколькими учетными записями.
источник
Я создал простой инструмент aaws для переключения между учетными записями AWS.
Он работает путем установки
AWS_DEFAULT_PROFILE
в вашей оболочке. Просто убедитесь, что у вас есть несколько записей в вашем~/.aws/credentials
файле, и он может легко переключаться между несколькими учетными записями.источник