web-dev-qa-db-ja.com

コマンドラインから複数のAWSアカウントを使用する方法は?

Amazon EC2でホストしている2つの異なるアプリを持っています(2つ目のアプリはもうすぐアップします)。

コマンドライン(Mac OS X)で両方のアカウントを操作しながら、EC2キーと証明書を別々に保持するにはどうすればよいですか?各ec2- *コマンドの前に環境変数を変更する必要がありますか?

エイリアスを使用して、環境の設定にエイリアスをインラインで使用できますか?何かのようなもの:

エイリアスec2-describe-instances1 = export EC2_PRIVATE_KEY =/path; ec2-describe-instances

85
Matt Culbreth

EC2_PRIVATE_KEY(およびEC2_CERT)環境変数の代わりに、次のコマンドオプションを使用できるはずです。

  • -K <private key>
  • -C <certificate>

これらをエイリアス内に置くことができます。

alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem
16
vladr

Awsコマンドラインで2つの profiles を作成することにより、2つのアカウントで作業できます。 AWSアクセスキーID、AWSシークレットアクセスキー および目的のリージョンの入力を求められますので、準備を整えてください。

例:

$ aws configure --profile account1
$ aws configure --profile account2

その後、コマンドでプロファイルを渡すことにより、アカウントを切り替えることができます。

$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2

注意:

プロファイルにdefaultという名前を付けると、default profileになります。つまり、--profileパラメーターのコマンド。


デフォルトプロファイルの詳細

account1を使用してより多くの時間を費やす場合は、AWS_DEFAULT_PROFILE環境変数を設定することでそれをデフォルトにすることができます。デフォルトの環境変数が設定されている場合、各コマンドでプロファイルを指定する必要はありません。

Linux、OS Xの例:

$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables

Windowsの例:

$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls
231
iBrianCox

たぶんそれはまだ誰かを助けます。手動で設定できます。

1)ファイルに設定

~/.aws/credentials

この

[default]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

[{{profile_name}}]
aws_access_key_id={{aws_access_key_id}}
aws_secret_access_key={{aws_secret_access_key}}

2)ファイルに設定

~/.aws/config

この

[default]
region={{region}}
output={{output:"json||text"}}

[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}

3) AWS Command Line でテストし、コマンドと出力は [〜#〜] json [〜#〜] になります

aws ec2 describe-instances --profile {{profile_name}}

参照

http://docs.aws.Amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles

41
BG Bruno

新しいawsツールは複数のプロファイルをサポートするようになりました。

ツールを使用してアクセスを設定すると、〜/ .aws/configにデフォルトが自動的に作成されます。

その後、追加のプロファイルを追加できます-詳細は次の場所にあります。

http://docs.aws.Amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles

6
chris

ユーザー入力に基づいて各アカウントの環境変数の対応する値を設定するシェルスクリプトを作成できます。そうすることで、エイリアスを作成する必要がなくなり、さらに、ELBツール、Auto Scalingコマンドラインツールなどのツールも複数のアカウントで機能します。

0
Roman Newaza