今天发现使用CloudTrail需要在每个区域都显示地开通,即你需要在每个region下的CloudTrail页面都点击一下“立即开始试用”按钮。
为了减少手工操作,可以使用CLI来完成这个工作
汇总上面3个命令,使用单行脚本开启CloudTrail。
其中bucketForTrailLog 请替换为你的cloudtrail用bucket名字。
输出结果应该为多个
一开始获取region列表时,报错 “Unable to construct an endpoint for ec2 in region None”
为了减少手工操作,可以使用CLI来完成这个工作
涉及到的CLI命令
获取所有region的列表
aws ec2 describe-regions --output text --query 'Regions[*].RegionName'
输出
eu-central-1 sa-east-1 ap-northeast-1 eu-west-1 us-east-1 us-west-1 us-west-2 ap-southeast-2 ap-southeast-1
启用cloudtrail
aws cloudtrail create-trail
开始记录日志
aws cloudtrail start-logging
汇总上面3个命令,使用单行脚本开启CloudTrail。
其中bucketForTrailLog 请替换为你的cloudtrail用bucket名字。
for x in `aws ec2 describe-regions --output text --query 'Regions[*].RegionName'`; do aws cloudtrail create-trail --name Default --s3-bucket-name bucketForTrailLog --include-global-service-events --region $x ; aws cloudtrail start-logging --name Default --region $x ; done
输出结果应该为多个
{
"IncludeGlobalServiceEvents": true,
"Name": "Default",
"S3BucketName": "bucketForTrailLog"
}
异常解决
一开始获取region列表时,报错 “Unable to construct an endpoint for ec2 in region None”
后通过使用aws configure命令重新配置访问秘钥解决。