Mam dwie różne aplikacje, które hostuję (druga wkrótce zostanie udostępniona) na Amazon EC2.
Jak mogę pracować z oboma kontami w wierszu poleceń (Mac OS X), ale oddzielnie przechowywać klucze i certyfikaty EC2? Czy muszę zmieniać zmienne środowiskowe przed każdym poleceniem ec2- *?
Czy użycie aliasu i umieszczenie go w ustawieniu środowiska w linii działałoby? Coś jak:
alias ec2-opis-instancje1 = eksport EC2_PRIVATE_KEY = / ścieżka; ec2-opis-instancje
Jeśli nazwiesz ten profil default, stanie się on profilem domyślnym, tj. Gdy --profilew poleceniu nie ma żadnego parametru.
Więcej o profilu domyślnym
Jeśli spędzasz więcej czasu na koncie 1 , możesz ustawić je jako domyślne, ustawiając zmienną środowiskową AWS_DEFAULT_PROFILE. Gdy ustawiona jest domyślna zmienna środowiskowa, nie ma potrzeby określania profilu w każdym poleceniu.
@iBrianCox - Najlepiej byłoby, gdyby te informacje zostały połączone w odpowiedzi, które cieszą się największą popularnością ( stackoverflow.com/a/34246053/1199564 ), ponieważ pozwalają one użytkownikowi zrozumieć, jak przenosić ustawienia z jednego profilu do drugiego, jeśli np. tylko z domyślnym profilem i chcesz kontynuować z dedykowanymi, oddzielnymi profilami.
mgd
@slm, przeczytaj mój komentarz powyżej (był w stanie zrobić tylko jedną wzmiankę na komentarz)
mgd
@mgd dziękuję za sugestię, ale nie - ponieważ na początku ta odpowiedź nie jest moja - a po drugie jest to inne podejście, jak to ustawić
BG BRUNO
@mgd P czy możesz dokładniej opisać, co masz na myśli, mówiąc „jedna wzmianka na komentarz”?
BG BRUNO
Chodziło mi o to, że w moim pierwszym komentarzu zamierzałem wspomnieć zarówno iBrianCox, jak i slm (odpowiednio autor i redaktor drugiej odpowiedzi), ale możesz zrobić tylko jedną wzmiankę na komentarz, więc musiałem dodać kolejny komentarz, aby wspomnieć oba . Masz rację, że Twoja odpowiedź jest innym podejściem, ale bardzo pomocne jest wiedzieć, gdzie przechowywane są informacje, w szczególności jeśli zamierzasz kopiować ustawienia między profilami.
mgd
6
Nowe narzędzia aws obsługują teraz wiele profili.
Jeśli skonfigurujesz dostęp za pomocą narzędzi, automatycznie utworzy to ustawienie domyślne w ~ / .aws / config.
Możesz wtedy dodać dodatkowe profile - więcej szczegółów na:
Możesz napisać skrypt powłoki, aby ustawić odpowiednie wartości zmiennych środowiskowych dla każdego konta na podstawie danych wejściowych użytkownika. Robiąc to, nie musisz tworzyć żadnych aliasów, a ponadto narzędzia takie jak narzędzia ELB, narzędzia wiersza poleceń automatycznego skalowania będą działać również na wielu kontach.
Stworzyłem proste narzędzie aaws do przełączania się między kontami AWS.
Działa poprzez ustawienie AWS_DEFAULT_PROFILEw powłoce. Po prostu upewnij się, że masz jakieś wpisy w ~/.aws/credentialspliku i będzie można łatwo przełączać się między wieloma kontami.
/tmp
$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".
Może to nadal komuś pomoże. Możesz ustawić go ręcznie.
1) Ustaw w pliku
to
2) Ustaw w pliku
to
3) Przetestuj za pomocą wiersza poleceń AWS, a polecenie i dane wyjściowe będą w formacie JSON
Nr ref
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
źródło
Nowe narzędzia aws obsługują teraz wiele profili.
Jeśli skonfigurujesz dostęp za pomocą narzędzi, automatycznie utworzy to ustawienie domyślne w ~ / .aws / config.
Możesz wtedy dodać dodatkowe profile - więcej szczegółów na:
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
źródło
Możesz napisać skrypt powłoki, aby ustawić odpowiednie wartości zmiennych środowiskowych dla każdego konta na podstawie danych wejściowych użytkownika. Robiąc to, nie musisz tworzyć żadnych aliasów, a ponadto narzędzia takie jak narzędzia ELB, narzędzia wiersza poleceń automatycznego skalowania będą działać również na wielu kontach.
źródło
Stworzyłem proste narzędzie aaws do przełączania się między kontami AWS.
Działa poprzez ustawienie
AWS_DEFAULT_PROFILE
w powłoce. Po prostu upewnij się, że masz jakieś wpisy w~/.aws/credentials
pliku i będzie można łatwo przełączać się między wieloma kontami.źródło