どのリージョンにどんなCloudWatch Alarmがあるのかを知りたかったので、Bashスクリプトを書きました. 利用するツールは、jqとAWS CLIv2の2つ.
#!/usr/bin/env bash # 利用可能なリージョンを取得 get_regions() { aws ec2 describe-regions | jq -r '.Regions[].RegionName' } # 指定されたリージョンのアラームを取得し、「リージョン\tアラーム名」というTSV形式で出力 get_alarms() { local region="$1" aws --region $region cloudwatch describe-alarms | jq --arg REGION "$region" -r '.MetricAlarms[] | [$REGION, .AlarmName] | @tsv' } main() { for region in $(get_regions); do local alarms=$(get_alarms $region) if [ -n "$alarms" ]; then echo "$alarms" fi done } main $*