AWS SDK for Python boto3でインスタンスに割り振られたEIPを手に入れる

このインスタンスに割り振られたEIPってなんだっけ?となったら。 画面上からならすぐに確認できますが、boto3ならこのように

instances_data = client.describe_instances(
        Filters=[{'Name':'instance-id','Values':[instance_id]}]
    )

print("EIP :" + instances_data['Reservations'][0]['Instances'][0]['NetworkInterfaces'][0]['Association']['PublicIp'])

手頃なのがなかったので、describe_instancesをインスタンスIDで絞込み、インスタンスのデータ全部持ってきてその中から出してます。

NetworkInterfacesが複数割り当てている場合にはご希望の番号に変えるか、他で絞り込んでね。

EIP以外にもインスタンスのデータはいっぱい入ってきているのでお好きにどうぞ。

多分、EIPだけとってくる方法が他にあると思う・・・。