2016-01-17 98 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