使用Profile切换AWS CLI认证区域

由于AWS中国区和海外区的系统完全隔离,因此在日常使用过程中经常会遇到需要切换AWS CLI的Access Key的问题。例如当向国内的S3上传文件,需要运行 aws configure 配置一个国内的Access Key;当给海外传输文件的时候,需要一个海外AWS账户的Access key,如此切换非常不方便。这时候,可以通过设置Profile进行切换。

1、设置登录密钥

首先从官网安装最新版本的AWS CLI工具。CLI工具一直在进行版本升级,需要调用诸如WAF V2等2019年底发布的新功能的话,需要安装最新版本的CLI工具。

针对 MacOS,编辑 ~/.aws/credentials 配置文件(此文件是隐藏文件)。内容如下。

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

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

其中default区域代表global,cn区域代表中国区域。

2、设置默认区域

执行如下命令,编辑~/.aws/config 配置文件(此文件为隐藏文件)。内容如下

[default]
region=ap-southeast-1
output=json

[profile cn]
region=cn-north-1
output=json

其中default表示global区域,cn表示中国北京区域。

3、设置 shell 快捷方式

如果使用bash,则可以编辑 /etc/bashrc 配置文件。如果使用 MacOS 10.15 系统默认为zsh,或者使用oh-my-zsh,则编辑 ~/.zshrc 配置文件。在其中加入如下两行:

alias bjs="export AWS_PROFILE=bjs"
alias global="export AWS_PROFILE=default"

即可设置好shell别名。执行 source ~/.zshrc 重新加载配置文件,或者彻底退出 Terminal 窗口,并重新进入。

4、最终效果

键入 bjs 回车即可加载中国区域的配置文件。

键入 global 回车即可加载海外区域的配置文件。

全文完。