【AWS Lambda】describe_instancesの使い方を簡単解説!

今回は、boto3関数のdescribe_instancesについて解説します。
「どうやって使うの?」の解説からパラメータを入力したら自動でコード作成までお手伝いします。

利用目的

EC2を検索し、対象インスタンスの情報を取得します。

フィルター条件を設定しない場合は、全EC2をリストアップします。
各種フィルターが用意されているため、特定条件に合致するインスタンスを抽出することが可能です。

フィルター条件が多数用意されているため、本サイトで全てのフィルターのご用意ができません。
本ページのフィルター条件だけでは不足する場合は、以下のサイトより使用するフィルターを選定下さい。
 EC2(describe_instances)— Boto3 Docs

削除したEC2についても削除後約1時間程度までは検索可能ですが、それを超えると情報を取得することができません。

権限

Lambdaに付与するIAMロールに「ec2:DescribeInstances」の権限を付与してください。

コード生成

パラメータを入力することで、コピーすればすぐに使えるLambdaコードを生成できます。
「*」のついている物は必須パラメータで、ついていないものはオプションです。
import boto3

ec2_client = boto3.client('ec2')
def lambda_handler(event, context):
    response = ec2_client.describe_instances(
    )
    
    print(response)
    return 0

▼基本設定

検索種別

▼インスタンスID検索

インスタンスID*

▼全件検索設定

結果表示件数

一度に表示する検索結果数を選択できます。
検索結果がページサイズを超える場合は、
次の検索結果ページであるネクストマーカーが結果に出力されます。

ネクストトークン

ページサイズを超えた検索結果を受け取った場合、
ネクストトークンを指定することで追加の検索結果を表示できます。

▼検索オプション

インスタンスID


イメージID


ステータスコード ペンディング 起動済み シャットダウン中
削除済み 停止中 停止済み


起動状態 ペンディング 起動済み シャットダウン中
削除済み 停止中 停止済み


インスタンスタイプ


ライフサイクル


プライベートDNS名


パブリックDNS名


プライベートIPアドレス


パブリックIP


MACアドレス


セキュリティグループID


セキュリティグループ名


アベイラビリティゾーン 東京AZ-a 東京AZ-c 東京AZ-d


アフィニティ default host


アーキテクチャ i386 x86_64 arm64


ハイバネーション


ホストID


キャパシティ予約ID


ハイパーバイザー


インスタンスプロファイルARN


EBSボリュームID


EBSデバイス名


EBSアタッチ状態 アタッチ中 アタッチ済み デタッチ中
デタッチ済み


EBS終了時削除


カーネルID


キーペア名


IMDS設定


IMDSホップ数制限


IMDS有効/無効


モニタリング状態


タグ(Name)


仕様

こちらの記事もどうぞ