6

Click here to load reader

Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

Embed Size (px)

Citation preview

Page 1: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

AWSで構築したのだよ「ec2で自分のインスタンスIDが知りたい」

Page 2: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

ユーザのコンソール操作をログに残したい

ec2で自分のインスタンスIDが知りたい

ec2で自分についているタグを読み取りたい

ec2起動時にホスト名を変更したい

ec2起動時にクラウドウォッチに追加したい

AmazonLinuxのsshをユーザID/PWに変更したい。

VPNのプライベートネットワークでNTPを使いたい

プライベートネットワークのRDSにssh経由で接続したい

夜間にec2を落としたい

サーバーのシャットダウン時にログを退避したい

プロセス監視、メモリ残、ディスク使用率をCloudwatchに追加したい

nginxで名前解決を都度行いたい

お品書き

Page 3: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

ec2を操作する上で、自分自身を識別するためのインスタンスIDが知りたい。

ec2で自分のインスタンスIDが知りたい(1/2)

Page 4: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

実際に取得するためのスクリプトをコーディングします

ポイント

・インスタンスに関連する情報を取得するには、http://169.254.169.254/latest/meta-data/というメタ情

報を参照するためのエンドポイントが用意されています。ここにec2インスタンスからアクセスするだけで取得できます。

ec2で自分のインスタンスIDが知りたい(2/2)

Page 5: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

rubyでwgetコマンドを発行して値を取得する。

# vi getInstanceid.rb#!/usr/bin/env ruby# encoding: utf-8

@instanceID = `wget --no-proxy -q -O - http://169.254.169.254/latest/meta-data/instance-id`

p @instanceID

実行するとインスタンスIDが取得できる。# ruby getInstanceid.rb

"i-05460c1c"

Page 6: Awsで構築したのだよ 02 ec2インスタンスから自分のインスタンスidを取得

# curl http://169.254.169.254/latest/meta-data/ami-idami-launch-indexami-manifest-pathblock-device-mapping/hostnameinstance-actioninstance-idinstance-typelocal-hostnamelocal-ipv4macmetrics/network/placement/profilepublic-hostnamepublic-ipv4public-keys/reservation-idsecurity-groups

補足 ec2インスタンスから取得できるメタ情報

http://169.254.169.254/latest/meta-data/で、一覧を取得することができます。