2016-01-17 32 views
5

任何人都可以告訴我如何使用一個班輪在bash中自動配置aws配置嗎?AWS配置Bash一個班輪

例子:

$ aws configure --profile user2 
AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE 
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY 
Default region name [None]: us-east-1 
Default output format [None]: text 

應用:我想一個泊塢入口點內自動完成這個!

+1

如果這個碼頭圖像超出了您的控制範圍(即對客戶等),請不要在其中預先配置AWS憑證。如果Docker鏡像將在EC2實例或ECS上運行,請改爲使用IAM角色。 –

+0

這將是一個多用途的圖像。憑證不是圖像的一部分,但將爲容器實例提供。 – blacklabelops

+0

容器是否在EC2上運行? –

回答

6

如果運行aws configure set help你會看到,你可以在命令行上單獨提供的設置,他們將被寫入到相關的憑據或配置文件。例如:

aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE

+0

工程就像一個魅力。 – blacklabelops

+2

我強烈建議不要將您的訪問密鑰嵌入到腳本中,這是非常糟糕的做法。以Thomas L.的答案來配置您的密鑰在配置文件中,然後與您的Docker容器共享 – Tom

+1

我也提到了這一點,因爲Maybeg願意自動化其docker容器部署,所以他很可能最終會嵌入腳本他真正的訪問/密鑰。這是配置,不應該混入代碼中(例如,不在github上提交)。乾杯 – Tom

2

如果你想自動化你應該使用文件而不是CLI。您的CLI只寫這些文件。

➜ cat ~/.aws/config 
[profile_1] 
output = json 
region = eu-west-1 
[profile_2] 
output = json 
region = eu-west-1 

➜ cat ~/.aws/credentials 
[profile_1] 
aws_access_key_id = 
aws_secret_access_key = 
[profile_2] 
aws_access_key_id = 
aws_secret_access_key = 
0

對於那些傾向於使用bash,下面的作品非常好,並保持祕密,你的腳本。此外,它還會一次性將您的輸入保存到指定的配置文件中。

printf "%s\n%s\nus-east-1\njson" "$KEY_ID" "$SECRET_KEY" | aws configure --profile my-profile