切换AWS环境配置
aws 配置文件在 用户目录下的 .aws 里,如果我有多个环境,这个配置文件怎么切换?
在 ~/.aws
目录下,你可以使用 config
和 credentials
文件来管理多个 AWS 账户或环境。你可以通过 AWS Named Profiles 来切换不同的环境。
1. 配置多个环境
在 ~/.aws/credentials
文件中,你可以定义多个 profile,比如:
[default]
aws_access_key_id = YOUR_DEFAULT_ACCESS_KEY
aws_secret_access_key = YOUR_DEFAULT_SECRET_KEY
[dev]
aws_access_key_id = YOUR_DEV_ACCESS_KEY
aws_secret_access_key = YOUR_DEV_SECRET_KEY
[prod]
aws_access_key_id = YOUR_PROD_ACCESS_KEY
aws_secret_access_key = YOUR_PROD_SECRET_KEY
在 ~/.aws/config
文件中,你可以指定更多配置,如 region:
[default]
region = us-east-1
output = json
[profile dev]
region = us-west-2
[profile prod]
region = us-east-1
2. 切换不同环境的方法
方法 1:使用 AWS_PROFILE
环境变量
你可以在终端中运行:
export AWS_PROFILE=dev
或者:
export AWS_PROFILE=prod
这样后续所有 AWS CLI 命令都会使用该 profile。
如果你只想临时使用某个 profile,可以在命令前加上 AWS_PROFILE
:
AWS_PROFILE=prod aws s3 ls
方法 2:在 AWS CLI 命令中指定 --profile
aws s3 ls --profile dev
aws ec2 describe-instances --profile prod
方法 3:在 SDK 中使用
如果你的程序是用 SDK 访问 AWS,可以指定 profile。例如,在 Python 的 boto3
:
import boto3
session = boto3.Session(profile_name="dev")
s3 = session.client("s3")
在 Golang:
sess := session.Must(session.NewSessionWithOptions(session.Options{
Profile: "prod",
}))
svc := s3.New(sess)
这样你可以轻松在多个 AWS 账户或环境之间切换! 🚀