2014-07-02 41 views
11

我正在編寫一個bash腳本,它將自動安裝和配置AWS CLI工具。我能夠安裝AWS CLI工具,但無法對其進行配置。用於安裝AWS CLI工具的Bash腳本

我的腳本是這樣的:

#!/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 

我想使用這個腳本也做配置。我希望我可以通過腳本提供這些憑據,以防止手動輸入。如何才能做到這一點?

+0

如果您希望在啓動的實例上運行此功能,請考慮使用[IAM角色for EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon -ec2.html)而不是嵌入您的憑據。該實例負責發佈臨時憑證並對其進行輪換,您只需在啓動實例時指定IAM角色。儘管如此,您仍然需要安裝實際的工具。 –

回答

19

使用配置文件而不是aws configure命令。創建一個名爲~/.aws/config文件看起來像這樣:

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

更多信息in the docs

+2

除此之外,您還可以將憑據,區域和輸出設置爲環境變量或cli參數。 請參閱:http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html –

+0

我無法找到目錄〜/ .aws/ –

+1

您需要創建目錄〜/ .aws,並在裏面的文件'配置' –

0

最好的做法是BASH安裝awscli實用程序和文件從2檔

自己指定的位置複製,沒有擊中

#aws configure 

命令,這些文件將不會生成,您可以使用bash腳本複製和粘貼文件並獲得所有執行完成

~/.aws/credintials 
~/.aws/config 

其中憑據包含

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

和配置文件包含

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

這將幫助你保持鍵在一個地方,你也可以把同樣爲你執行任何CMT工具以及類似Ansible。