1. ホーム
  2. bash

[解決済み] AWS CLIのプロファイルを一時的に切り替えるには?

2022-03-02 01:02:46

質問

回答を更新しました(2021年7月10日)。AWS CLI v1では、このようにします。

export AWS_DEFAULT_PROFILE=user2

AWS CLI v2の場合、下記で動作します。

export AWS_PROFILE=user2

質問の全文は、文脈のために以下にあります。


(1.) AWS CLIに2つ目のプロファイルを設定することに成功した後、bashセッションで以下のコマンドでプロファイルをuser2に設定しようとしたのですが、失敗しました。

export AWS_PROFILE=user2

...ここでのアドバイスによる。 https://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

(2.) 次のコマンドは動作します。

aws s3 ls --profile user2

それで、AWS CLIとuser2プロファイルの両方が私のコンピュータ上で動作していることがわかりました。

(3.) しかし、その後(つまり "export AWS_PROFILE=user2" を入力した後)、次のようなことを試すと。

aws s3 ls

... AWSの応答は、私がデフォルトユーザ(NOT user2)として問い合わせをしたいことを想定しています。

(4.) そのため、コマンドラインから user2 プロファイルを使用するには、すべてのコマンドに "--profile user2" を追加し続ける必要があり、これは面倒です。

(5.)

echo $AWS_PROFILE

の収量です。

>> user2

は、予想通りです。

何が起こっているのか、何か心当たりはありませんか?きっとどこかで馬鹿な間違いをしてるんだろうな。

解決方法は?

AWS CLI v1 の場合、最もクリーンな解決策は以下の通りです。

export AWS_DEFAULT_PROFILE=user2

その後、以下のようなコマンド。

aws s3 ls

... は、適切なアカウントから処理されます。

AWS CLI v2 の場合は、以下のようになります。

export AWS_PROFILE=user2