[小ネタ] EC2の全リージョンの状況をAWS CLIで確認してみた
日本の多くの利用者は東京リージョンを使うかと思いますが、検証やシステム要件などの理由で他のリージョンを使うこともあるかと思います。 全リージョンの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つに入れていただければと思います。