爲了減少手工操作,可以使用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命令重新配置訪問祕鑰解決。