175

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

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

エイリアスを使用して、それを環境のインライン作業の設定に含めることはできますか? 何かのようなもの:

alias ec2-describe-instances1 = export EC2_PRIVATE_KEY=/path; ec2-describe-instances
4

9 に答える 9

423

aws コマンドラインで2 つのプロファイルを作成することにより、2 つのアカウントで作業できます。AWS アクセス キー ID、AWS シークレット アクセス キー、および目的のリージョンの入力を求めるプロンプトが表示されるので、準備しておいてください。

例:

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

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

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

ノート:

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


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

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

Linux、OS X の例:

$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables

ウィンドウの例:

$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls
于 2015-12-12T23:06:21.353 に答える
21

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

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

これらをエイリアスの中に入れることができます。

alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem
于 2009-02-27T03:05:12.190 に答える
15

私見、最も簡単な方法.aws/credentialsは、手動で.aws/configファイルを編集することです。

簡単で、Linux、Mac、および Windows で動作します。詳細については、こちらをお読みください(1 分で読めます)

.aws/credentialsファイル:

[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[user1]
aws_access_key_id=AKIAI44QH8DHBEXAMPLE
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

.aws/configファイル:

[default]
region=us-west-2
output=json

[profile user1]    <-- 'profile' in front of 'profile_name' (not for default)!!
region=us-east-1
output=text
于 2021-03-28T17:35:47.643 に答える
7

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

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

その後、追加のプロファイルを追加できます。詳細については、次を参照してください。

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

于 2013-12-15T13:54:31.217 に答える
0

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

于 2012-02-17T01:25:15.233 に答える