LoginSignup
5
4

More than 5 years have passed since last update.

AWS EC2 インスタンスの一覧を取得するコマンド

Last updated at Posted at 2016-05-16

用途 → ブラウザで AWS 管理コンソールを開かずに、EC2 の各インスタンスの IP アドレスを確認したい。

(1) IAM 管理コンソール で「新規ユーザの作成」から myproject ユーザを作成する。(プロジェクトごとのユーザ)

(2) 「ユーザーのセキュリティ認証情報を表示」から「アクセスキー ID」と「シークレットアクセスキー」をコピーして、~/.aws/credentials に記載する。

[myproject]
aws_access_key_id = XXXXXXXX
aws_secret_access_key = XXXXXXXX

(3) ~/.aws/config に以下を記載する

[profile myproject]
output = text
region = ap-northeast-1

(4) IAM 管理コンソールのユーザ一覧画面に戻って、 myproject ユーザを選択して、「アクセス許可」タブで「ポリシーのアタッチ」を開く。AmazonEC2ReadOnlyAccess を選択してポリシーをアタッチする。

(5) Terminal で以下のコマンドを叩く。

aws ec2 describe-instances --profile myproject --query 'Reservations[].Instances[].[PublicIpAddress,Tags[?Key==`Name`].Value|[0]]'

(6) 各 EC2 インスタンスの IP アドレスと、Name タグが一覧で出力される。

52.11.22.33 foo
52.44.55.66 bar
52.77.88.99 baz

(2016-07-21 追記)
~/.aws/ 内にファイルを作らなくても、以下の手順で環境変数経由でも指定できる。

export AWS_ACCESS_KEY_ID='XXXXXXXXXXXXXXXXXXXX'
export AWS_SECRET_ACCESS_KEY='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
aws ec2 describe-instances --region 'ap-northeast-1' --output text --query 'Reservations[].Instances[].[PublicIpAddress,Tags[?Key==`Name`].Value|[0]]'
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4