あまぶろぐ

インフラと趣味のゆるいブログ

Boto3 EC2の情報を取得

プログラミングスキル向上を目指し、自分で手を動かしてコードを書いていこうと思う。 まずは、入門レベルから。今回は、「EC2の情報を取得する」コードを書いてみた。

import boto3 

client = boto3.client('ec2')
response = client.describe_instances()

#jsonファイルのReservations から情報を取得、EC2台数分必要なのでfor を使う
for instance in response['Reservations']:
    #Reservations 配下のInstancesから情報を取得、EC2台数分必要なのでfor を使う
    for instance2 in instance['Instances']:
        #Instances>Placementから情報を取得
        az = instance2['Placement']['AvailabilityZone']
        #Instances>Stateから情報を取得
        state = instance2['State']['Name']
        print("InstanceID:" +instance2['InstanceId'],
                "Type:" +instance2['InstanceType'],
                "AZ:" +az,
                "Status:" +state
                )

はまったところ。「az」の情報を取得する際に、「Placement」からうまく情報を引っ張れなかった。 JSONの階層を見間違いしていたためである。次回以降は気をつけたい。