Mat*_*eth 90 amazon-ec2 amazon-web-services
我在Amazon EC2上有两个不同的应用程序(第二个即将上市).
如何在命令行(Mac OS X)中使用这两个帐户,但保持EC2密钥和证书分开?在每个ec2-*命令之前,我是否需要更改环境变量?
会使用别名并将其设置为环境在线工作吗?就像是:
别名ec2-describe-instances1 = export EC2_PRIVATE_KEY =/path; EC2-描述,实例
小智 247
您可以通过在aws命令行上创建两个配置文件来使用两个帐户.它将提示您输入AWS访问密钥ID,AWS秘密访问密钥和所需区域,以便准备好它们.
例子:
$ aws configure --profile account1
$ aws configure --profile account2
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过在命令上传递配置文件来在帐户之间切换.
$ aws dynamodb list-tables --profile account1
$ aws s3 ls --profile account2
Run Code Online (Sandbox Code Playgroud)
注意:
如果您将配置文件命名为default它将成为默认配置文件,即--profile命令中没有参数时.
如果您花费更多时间使用account1,则可以通过设置AWS_DEFAULT_PROFILE环境变量将其设置为默认值.设置默认环境变量时,无需在每个命令上指定配置文件.
Linux,OS X示例:
$ export AWS_DEFAULT_PROFILE=account1
$ aws dynamodb list-tables
Run Code Online (Sandbox Code Playgroud)
Windows示例:
$ set AWS_DEFAULT_PROFILE=account1
$ aws s3 ls
Run Code Online (Sandbox Code Playgroud)
BG *_*uno 48
也许它仍然可以帮到某人.您可以手动设置它.
1)设置文件
~/.aws/credentials
Run Code Online (Sandbox Code Playgroud)
这个
[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}}
Run Code Online (Sandbox Code Playgroud)
2)设置文件
~/.aws/config
Run Code Online (Sandbox Code Playgroud)
这个
[default]
region={{region}}
output={{output:"json||text"}}
[profile {{profile_name}}]
region={{region}}
output={{output:"json||text"}}
Run Code Online (Sandbox Code Playgroud)
3)使用AWS Command Line进行测试,命令和输出将为JSON
aws ec2 describe-instances --profile {{profile_name}}
Run Code Online (Sandbox Code Playgroud)
参考
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
ox.*_*ox. 21
创建或编辑此文件:
vim ~/.aws/credentials
Run Code Online (Sandbox Code Playgroud)
列出任意数量的密钥对:
[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
Run Code Online (Sandbox Code Playgroud)
设置一个局部变量来选择您要使用的键对:
export AWS_PROFILE=user1
Run Code Online (Sandbox Code Playgroud)
你喜欢什么:
aws s3api list-buckets # any aws cli command now using user1 pair of keys
Run Code Online (Sandbox Code Playgroud)
--profile user1您还可以通过包含每个命令来逐个命令地执行此操作:
aws s3api list-buckets --profile user1
# any aws cli command now using user1 pair of keys
Run Code Online (Sandbox Code Playgroud)
更多详细信息:AWS CLI 的命名配置文件
vla*_*adr 14
您应该能够使用以下命令选项代替EC2_PRIVATE_KEY(甚至EC2_CERT)环境变量:
-K <private key>-C <certificate>您可以将这些放在别名中,例如
alias ec2-describe-instances1 ec2-describe-instances -K /path/to/key.pem
Run Code Online (Sandbox Code Playgroud)
恕我直言,最简单的方法是手动编辑.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
Run Code Online (Sandbox Code Playgroud)
.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
Run Code Online (Sandbox Code Playgroud)
新的aws工具现在支持多个配置文件.
如果使用工具配置访问权限,它会自动在〜/ .aws/config中创建默认值.
然后,您可以添加其他配置文件 - 更多详细信息:
http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-multiple-profiles
| 归档时间: |
|
| 查看次数: |
44304 次 |
| 最近记录: |