この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
初めに
協栄情報の陸です。
やりたいこと
ここでは、Pythonを使ってインスタンスのメタデータを取得する2つの方法をご紹介します。
- python独自のライブラリ: uillib
- サードパーティライブラリ:requests
前提条件
メタデータを解析するためにインスタンス環境で実行する必要があり、そうしないと接続タイムアウトエラーが発生します。
操作
urllib
メタ・データを出力するテスト・コードを書く
テストファイルを実行すると、コンソールにメタデータのすべての情報が表示されます。
requests
まず requests をインストールし、[pip3 install requests] というコマンドを入力する。
テストコードを書き、メタデータを出力する
テストファイルを実行すると、コンソールにメタデータのすべての情報が表示されます。
他のデータ
メタデータを取得した後、URLのメタデータの後に欲しい情報のフィールドを追加すれば、特定のデータを取得することができます。以下は、インスタンスIDを取得するデモです。
code
import requests
import urllib
url="http://169.254.169.254/latest/meta-data"
meta_data = urllib.request.Request(url)
respons_message = urllib.request.urlopen(az_obj).read().decode('utf-8')
instance_id="http://169.254.169.254/latest/meta-data/instance-id"
respons_message = requests.get(instance_id).text
以上、よろしくお願いします