2009年05月04日

[Wakame] Amazon EC2のインスタンスMetadataをダンプ

livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

インスタンスのメタデータを出力したい

WakameにMySQLのレプリケーション設定を組み込むための調査で書いたシェルスクリプトをblogにアウトプット。

Instance Metadataに書かれている通り、
http://169.254.169.254/2008-02-01/meta-data/からメタデータを取得出来る。
具体的に何が出て来るのかざっくり見たかったので、シェルスクリプトを書いた。

dump-meta-data.sh
root@ip-10-251-91-3:~/.ec2# cat dump-meta-data.sh
#!/bin/sh

api_base_uri=http://169.254.169.254/2008-02-01/meta-data/

retrieve_meta_data() {
  curl -s -f --retry 3 ${api_base_uri}$1
}

meta_data() {
  local param=$1

  echo ${param} | egrep '/$' -q && {
    for i in $(retrieve_meta_data ${param}); do
      meta_data ${param}${i}
    done
  } || {
    echo -n "${param} = "
    echo $(retrieve_meta_data ${param})
  }
}

meta_data /

exit 0
実行結果
root@ip-10-251-91-3:~/.ec2# ./dump-meta-data.sh
/ami-id = ami-3c7f9855
/ami-launch-index = 0
/ami-manifest-path = unakatsuo-ami/wakame-0.2-snapshot20090409.manifest.xml
/ancestor-ami-ids = ami-9225c0fb ami-4d24c124 ami-be3adfd7 ami-bd1cf9d4 ami-f51aff9c ami-1c5db975 ami-75b0571c ami-8f9176e6 ami-e29f788b ami-59e30430 ami-59ea0d30 ami-bbe80fd2 ami-cef413a7 ami-94f215fd ami-f3ff189a ami-e6fd1a8f ami-bfc720d6 ami-67c4230e ami-72c4231b ami-a9c423c0 ami-bac92ed3 ami-19d43370 ami-81df38e8 ami-b7dd3ade ami-85dd3aec ami-76dc3b1f ami-35dc3b5c ami-0adc3b63 ami-17d93e7e ami-3327c05a ami-3626c15f ami-8c0cebe5 ami-ae1ff8c7 ami-b91ff8d0 ami-6d1ef904 ami-0f668166 ami-2365824a ami-2b6a8d42 ami-de7295b7
/block-device-mapping/ami = sda1
/block-device-mapping/ephemeral0 = sda2
/block-device-mapping/root = /dev/sda1
/block-device-mapping/swap = sda3
/hostname = ip-10-251-91-3.ec2.internal
/instance-id = i-cf9ee9a6
/instance-type = m1.small
/kernel-id = aki-873bdcee
/local-hostname = ip-10-251-91-3.ec2.internal
/local-ipv4 = 10.251.91.3
/placement/availability-zone = us-east-1a
/public-hostname = ec2-75-101-215-22.compute-1.amazonaws.com
/public-ipv4 = 75.101.215.22
/public-keys/0=hansode =
/ramdisk-id = ari-853bdcec
/reservation-id = r-3bfa6c52
/security-groups = wakame-default

なるほど。

今回使う事になったのは下記2つ。
EBSのボリューム作成時に使う。

  • /instance-id
  • /placement/availability-zone


半袖 at 16:55│Comments(0)TrackBack(0)Wakame 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔