41308


普段、aws を使って開発しているときは、 `aws configure` を用いて aws key の設定を行っています。結果、
`~/.aws/credentials` にそれらが保存されます。

この状態で、たとえば aws とインタラクションを行うサーバーの開発などをやっていたとします。それを docker
に詰め込んだりなどします。サーバーの挙動を確認したくなります。

docker のコンテナは、環境変数から aws の鍵情報を読み込むのが自然かと思います。なので、それをコマンドから `docker run`
する際には、どうにかして `~/.aws/credentials` の内容を読み込まなければならないと思っています。

### 質問

`~/.aws/credentials` に書いてある特定の profile の AWS_KEY や AWS_SECRET を抽出するコマンドはありますか?


CC BY-SA 3.0
2018-01-29T14:35:51.187
41297
2019-01-05T15:06:07.573
2018-01-29T14:43:34.993
754
754
question
aws aws-cli
~/.aws/credentials から AWS_KEY と AWS_SECRET を抽出したい

[code]

    aws configure --profile PROFILE get aws_access_key_id
    aws configure --profile PROFILE get aws_secret_access_key
    
[/code]

でしょうか。


CC BY-SA 3.0
2018-01-30T00:44:33.473
41308
2018-01-30T00:44:33.473
17037
41297
answer


既に承認済みとのことですが、僕の対処法を書いておきます。参考に。

dockerコンテナ内にaws認証情報を環境変数なりで埋め込んで、コンテナ内からAWS SDKを実行したい場合がありました。

以下対策です。

  1. ホストOSの`.bash_profile`に以下を追加して、環境変数に`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`を設定
[code]     if [ -f ~/.aws/credentials ]; then export AWS_ACCESS_KEY_ID=$(grep
aws_access ~/.aws/credentials | cut -d" " -f 3); fi

    if [ -f ~/.aws/credentials ]; then export AWS_SECRET_ACCESS_KEY=$(grep aws_secret ~/.aws/credentials | cut -d" " -f 3); fi
    
[/code]

  2. `docker run`時に環境変数を渡す。`docker-compose`であれば`environment`に`AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`を宣言するだけ


CC BY-SA 4.0
2019-01-05T15:06:07.573
51740
2019-01-05T15:06:07.573
31669
41297
answer