share facebook facebook twitter menu hatena pocket slack

2011.06.28 TUE

EC2起動時に設定できるUser DataをPHPで利用する

鈴木 宏康

WRITTEN BY 鈴木 宏康

EC2はインスタンス起動時にUser Dataを設定することができ、
http://169.254.169.254/1.0/user-data
にアクセスすることで取得することが可能です。

また、User Dataが設定されていないときは、下記のように404になります。

# curl http://169.254.169.254/1.0/user-data

   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 
  404 - Not Found
 
 
  

404 - Not Found

 

AWS Managemrnt Consoleで、下記のようにUser Dataを設定してEC2インスタンスを起動すると、

以下のように設定した値が取得できます。(ステータスコードは200です)

# curl http://169.254.169.254/1.0/user-data
test

このことから、PHPでUser Dataの有り無しで処理を分けるときには、

下記のようになります。

$curl = curl_init("http://169.254.169.254/1.0/user-data");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($curl);

if(curl_getinfo($curl, CURLINFO_HTTP_CODE) != 200) {
    // "user-data"が設定されていたときの処理
}
curl_close($curl);

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。