web-dev-qa-db-ja.com

AWS Configure Bash One Liner

ワンライナーでbashのaws設定を自動化する方法を誰かに教えてもらえますか?

例:

$ 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

アプリケーション:Docker Entrypoint内でこれを自動化したい!

24
blacklabelops

aws configure set helpを実行すると、コマンドラインで個別に設定を指定できることがわかり、それらは関連する資格情報または構成ファイルに書き込まれます。例えば:

aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE

これを対話的に実行して、デフォルトの資格情報を変更することもできます。

aws configure

またはインタラクティブに実行して、名前付きプロファイルを作成/変更します。

aws configure --profile qa

29
jarmod

Bashを使いたいと思っている人のために、以下は非常にうまく機能し、スクリプトから秘密を守ります。さらに、一度に名前を付けたプロファイルに入力を保存します。

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

自動化したい場合は、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 = 
6
Thomas L.

Jarmodの回答でのトムの提案に基づいて、「代わりにdockerコンテナーと共有する構成ファイルでキーを構成する」。

私はDockerとawscliを初めて使用するときに少し混乱していることに気付きました。
また、この質問に終わる人のほとんどは、同様にDockerとawscliを一緒に使用しようとしていると思います。

だからあなたがやりたいことは、一歩一歩です:

以下を含むcredentialsファイルを作成します
[default] aws_access_key_id = default_access_key aws_secret_access_key = default_secret_key
コピー先~/.aws/credentials、Dockerfileで次のような行を使用します
COPY credentials /root/.aws/credentials

configファイル
[default] region = us-west-2 output = table
コピー先~/.aws/config、Dockerfileで次のような行を使用します
COPY config /root/.aws/config

参照:
aws configure set help

0
cryanbhu