2016-01-17 6 views
5

awashの設定を1つのライナーでbashで自動化する方法を教えてもらえますか?AWS Bash Oneライナーの設定

例:

$ 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資格情報をあらかじめ設定しないでください。ドッカーイメージがEC2インスタンスまたはECS上で実行される場合は、代わりにIAMロールを使用します。 –

+0

これは多目的イメージになります。資格情報はイメージの一部ではなく、コンテナインスタンスに提供されます。 – blacklabelops

+0

コンテナはEC2上で動作しますか? –

答えて

6

あなたがaws configure set helpを実行する場合は、コマンドラインで個別に設定を供給することができ、それらは、関連する資格情報または設定ファイルに書き込まれることがわかります。たとえばます。bashを使用するように傾斜したものについては

aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE

+0

魅力的な作品です。 – blacklabelops

+2

あなたのスクリプトにアクセスキーを埋め込まないことを強くお勧めします。これは非常に悪いことです。 Togetherのコンテナを使って共有する設定ファイルに鍵を設定するにはThomas L. Answer: – Tom

+1

maybegがドッカーコンテナのデプロイメントを自動化しようとしているので、この点についても言及していたので、スクリプトの埋め込み彼の実際のアクセス/秘密鍵。これはコンフィギュレーションであり、コードで混在させるべきではありません(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

、以下は非常にうまく機能し、あなたのスクリプトのうち、秘密を保持します。また、入力した名前付きプロファイルを一度に保存することもできます。

printf "%s\n%s\nus-east-1\njson" "$KEY_ID" "$SECRET_KEY" | aws configure --profile my-profile 
関連する問題