2014-07-02 18 views
11

Piszę skrypt bash, który automatycznie zainstaluje i skonfiguruje narzędzia AWS CLI. Mogę zainstalować narzędzia AWS CLI, ale nie mogę ich skonfigurować.Skrypt Bash do instalacji narzędzi AWS CLI

Mój skrypt jest coś takiego:

#!/bin/bash 


wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip 
unzip awscli-bundle.zip 
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws 
./awscli-bundle/install -b ~/bin/aws 
./awscli-bundle/install -h 

aws configure 
AWS Access Key ID [None]: ABCDEFGHIJKLMNOP ## unable to provide this data 
AWS Secret Access Key [None]: xbdwsdADDS/ssfsfa/afzfASADQASAd ## unable to provide this data 
Default region name [None]: us-west-2 ## unable to provide this data 
Default output format [None]: json ## unable to provide this data 

pragnę zrobić konfigurację za pomocą tego skryptu też. Chciałbym, abym mógł podać te referencje za pomocą skryptu, aby uniemożliwić ręczne wprowadzanie. Jak to zrobić?

+0

Jeśli chcesz uruchomić to w uruchamianych instancjach, rozważ użycie opcji [Rola IAM dla EC2] (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon -ec2.html) zamiast osadzać swoje poświadczenia. Instancja zajmuje się wydaniem tymczasowych poświadczeń i ich rotacją, wystarczy określić rolę IAM podczas uruchamiania instancji. Będziesz jednak musiał zainstalować rzeczywiste narzędzia. –

Odpowiedz

19

Użyj pliku konfiguracyjnego zamiast polecenia aws configure. Utwórz plik o nazwie ~/.aws/config, który wygląda tak:

[default] 
aws_access_key_id=AKIAIOSFODNN7EXAMPLE 
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY 
region=us-west-2 
output=json 

Więcej informacji in the docs.

+2

Oprócz tego można również ustawić poświadczenia, region i dane wyjściowe jako zmienne środowiskowe lub argumenty cli. Zobacz: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html –

+0

Nie mogę znaleźć katalogu ~/.aws/ –

+1

, musisz utworzyć katalog ~/.aws i wewnątrz niego plik 'config' –

0

najlepszym rozwiązaniem jest zainstalowanie awscli narzędzia przez bash i skopiować plik z własnego określonej lokalizacji 2 pliki

bez uderzania

#aws configure 

polecenia te pliki nie zostanie utworzony, możesz kopiować i wklejać pliki za pomocą skryptu Bash i wykonać całą operację wykonaną w postaci

gdzie Poświadczenia zawiera

[default] 
aws_access_key_id=ABCDEFGHIJKLMNOP 
aws_secret_access_key=xbdwsdADDS/ssfsfa/afzfASADQASAd 

i plik konfiguracyjny zawiera

[default] 
output=json 
region=us-west-2 

to pomoże Ci utrzymać klawiszy w jednym miejscu i można również wcisnąć samo za wykonanie dla każdego narzędzia CMT oraz jak ansibl.

Powiązane problemy