狠狠撸
Submit Search
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
?
Download as PPTX, PDF
?
0 likes
?
901 views
聡 大久保
Follow
AWSでサービスを構築した際のノウハウ集03 ec2インスタンスから、マネジメントコンソールで設定したタグ情報を取得する
Read less
Read more
1 of 10
Download now
Download to read offline
More Related Content
Awsで構築したのだよ 03 ec2インスタンスに設定したタグをサーバから取得
1.
AWSで構築したのだよ 「ec2で自分についているタグを読み取りたい」
2.
お品書き ? ユーザのコンソール操作をログに残したい
? ec2で自分のインスタンスIDが知りたい ? ec2で自分についているタグを読み取りたい ? ec2起動時にホスト名を変更したい ? ec2起動時にクラウドウォッチに追加したい ? Amazon LinuxのsshをユーザID/PWに変更し たい。 ? VPNのプライベートネットワークでNTPを使いたい ? プライベートネットワークのRDSにssh経由で接続したい ? 夜間にec2を落としたい ? サーバーのシャットダウン時にログを退避したい ? プロセス監視、メモリ残、ディスク使用率をCloudwatc hに追加したい ? nginxで名前解決を都度行いたい
3.
ec2で自分についている タグを読み取りたい(1/3) ?
ec2のタグに名前などの属性をつけて管理しやすくする。 わかりやすい名前、運用環境かステージング環境なのか、 バックアップ対象なのかどうかなど
4.
ec2で自分についている タグを読み取りたい(2/3) ?
awsの操作をするためのアプリケーションの開発と管理 のための主要なSDKが提供されています。Java、.NET、 Node.js、PHP、Python、RubyのSDKをインストールして、 各言語からいろいろな操作が可能です。 今回は、Rubyを使ってインスタンスIDを取得しま す。Ruby用のawsのSDKをインストールします。
5.
http://aws.amazon.com/jp/tools/?nc2=h_l2_d/
6.
Rubyはデフォルトでインストールされています。 $ ruby
-v ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux] aws-sdkを入れます、関連するパッケージをインストールしてからsdkをインス トールします。 $ su $ yum install -y gcc libxml2-devel libxslt-devel ruby-devel $ gem install capistrano $ gem install capistrano_colors $ gem install capistrano-ext $ gem install railsless-deploy $ gem install nokogiri -- --use-system-libraries $ gem install aws-sdk
7.
ec2で自分についている タグを読み取りたい(3/3) ?
実際に取得するためのスクリプトをコーディングします ポイント ?awsの操作に必要な権限を持ったユーザの作成。そのユー ザのaccess_key_id:、secret_access_keyをIAMで準備する。 今回は、IAMの操作については省略いたします。
8.
権限を持ったユーザの情報、リージョンの情報など、操作に必要な情報をyml ファイルで定義しておきます。 #
vi aws.yml access_key_id: "AKIAIFJPTCXRF943FBXA" secret_access_key: "lLaGfDbBE+gjbSVrGyD7+35AlOAg364qtge91XDM" ec2_endpoint: "ec2.ap-northeast-1.amazonaws.com" region: "ap-northeast-1"
9.
# vi getTagList.rb
#!/usr/bin/env ruby # encoding: utf-8 require 'rubygems' require 'aws-sdk' def get_tag_set(ec2, instance_id) tag_set = ec2.describe_instances(:instance_ids => [instance_id])[:instance_index][instance_id][:tag_set] return tag_set end AWS.config(YAML.load(File.read("./aws.yml"))) @instanceID = `wget --no-proxy -q -O - http://169.254.169.254/latest/meta-data/instance-id` @ec2 = AWS::EC2.new().client tag_set = get_tag_set(@ec2, @instanceID) tag_set.each do |tag| p tag[:key] + " / " + tag[:value] end
10.
作成したスクリプトを実行します。 # ruby
getTagList.rb "Type / Staging" "Name / LogicApp01" "Backup / true"
Download