前提
複数のAWSアカウントを1つのPCから操作している時に
eb cliが現在どのアカウントを向いているかを確認したい状況でした。
新しいAWSアカウントで新しいBeansTalk環境を作成した時に確認した方法です。
AWSアカウントは複数の要素から判定されます
以下優先度の高い要素から書いていきます。基本的にはAWS CLIと同じ構成ですが後述する注意点もあります。
コマンドオプション
ebコマンドを実行する際に--profileオプションを付けることでアカウントを指定することができます。このオプションは後述するローカルPCのファイルに書いてある情報を見てアカウントを判断します。
$ eb init --profile account1
環境変数
AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEYを設定することで使用できます。
#環境変数設定
$ AWS_ACCESS_KEY_ID=EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
$ AWS_SECRET_ACCESS_KEY=BCLIEBCLIEBCLIEBCLIEBCLIEBCLIBCLI
#環境変数削除
$ unset AWS_ACCESS_KEY_ID
$ unset AWS_SECRET_ACCESS_KEY
AWS 認証情報ファイル
ローカルmacに保存されている設定ファイルです。
テキストエディタで編集もできます。
[default]
aws_access_key_id = EBCLIDEFAULTEBCLIDEFAULTEBCLIDEFAULT
aws_secret_access_key = EBCLIDEFAULTEBCLIDEFAULTEBCLIDEFAULTEBCLIDEFAULT
[account1]
aws_access_key_id = EBCLITESTEBCLITESTEBCLITEST
aws_secret_access_key = EBCLITESTEBCLITESTEBCLITESTEBCLITEST
eb-cli|注意点
eb-cli独自の仕様として以下どちらか記述がある場合
[eb-cli]
aws_access_key_id = EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
aws_secret_access_key = BCLIEBCLIEBCLIEBCLIEBCLIEBCLIBCLI
[profile eb-cli]
aws_access_key_id = EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
aws_secret_access_key = BCLIEBCLIEBCLIEBCLIEBCLIEBCLIBCLI
以下のデフォルトより優先される動きになります。
[default]
aws_access_key_id = EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
aws_secret_access_key = BCLIEBCLIEBCLIEBCLIEBCLIEBCLIBCLI
注意したいのはconfigにeb-cliの記述があった場合
credentialsのデフォルトより優先される動きです。
AWS CLI 設定ファイル
AWS CLIの設定ファイルでも設定ができます。
[profile eb-cli]
aws_access_key_id = EBCLIEBCLIEBCLIEBCLIEBCLIEBCLI
aws_secret_access_key = BCLIEBCLIEBCLIEBCLIEBCLIEBCLIBCLI
レガシー EB CLI 設定ファイル
自分で使用していないので項目だけ紹介します。詳細は参考ページをご確認下さい。
インスタンスプロファイルの認証情報
自分で使用していないので項目だけ紹介します。詳細は参考ページをご確認下さい。
運用中のローカルディレクトリで確認する場合
現在運用中のプロジェクトディレクトリ(eb init済みのディレクトリ)では
以下のコマンドで現在ebコマンドが見ているAWSアカウントのBeansTalk環境一覧が見れます。
$ eb list