この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
日本の多くの利用者は東京リージョンを使うかと思いますが、検証やシステム要件などの理由で他のリージョンを使うこともあるかと思います。 全リージョンのEC2の状況を確認する機会があったのですが、AWSコンソールでは切り替えの手間を感じたのでAWS CLIで確認してみました。
EC2が対応するリージョンでディスクライブする
describe-regionsコマンドにて、Amazon EC2がサポートされるリージョンの一覧を取得します。
リージョンでループし、インスタンス一覧の取得を--region
オプションを指定して行います。
queryオプションの絞り込みはユーザーガイドが詳しいです。
regions=(`aws ec2 describe-regions --query Regions[*].RegionName --output text`)
for region in ${regions[@]}
do echo "[${region}]"
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[Placement.AvailabilityZone, State.Name, InstanceId]' --output text --region ${region}
echo "---------------------"
done
コマンド実行結果の抜粋
表示がないリージョンは、EC2が存在しません。 ap-northeast-1(東京リージョン)にはEC2が6台あります。
[ap-south-1]
---------------------
[eu-west-3]
---------------------
[eu-west-2]
---------------------
[eu-west-1]
---------------------
[ap-northeast-2]
---------------------
[ap-northeast-1]
ap-northeast-1c stopped i-xxxxxxxxxxx
ap-northeast-1c stopped i-xxxxxxxxxxx
ap-northeast-1c stopped i-xxxxxxxxxxx
ap-northeast-1a stopped i-xxxxxxxxxxx
ap-northeast-1a running i-xxxxxxxxxxx
ap-northeast-1a stopped i-xxxxxxxxxxx
---------------------
他のサービスは配列を作ろう
他のサービスは、AWS のリージョンとエンドポイントを参考に配列を作ると良いでしょう。 以下の例は、Amazon GuardDutyを対応するリージョンで有効化する例です。
regions=( ap-south-1 \
ap-northeast-2 \
ap-southeast-1 \
ap-southeast-2 \
ap-northeast-1 \
ca-central-1 \
eu-central-1 \
eu-west-1 \
eu-west-2 \
us-east-1 \
us-east-2 \
us-west-1 \
us-west-2 \
sa-east-1 \
)
for region in ${regions[@]}
do echo "[${region}]"
aws guardduty create-detector --enable --region ${region}
echo "---------------------"
done
おわりに
全リージョンのEC2の状況をAWS CLIで確認してみました。 AWSコンソールで様々なリージョンの状況を確認したり、設定をするのは手間がかかります。 AWS CLIも選択肢の1つに入れていただければと思います。