AWS API とサーバ管理

kojima|2015年01月02日
AWS

あけましておめでとうございます。エンジニアの こじま です。

今年もよろしくお願いいたします。

 

今回は,ランサーズの開発・運用を楽にするための

サーバ管理システムのご紹介をします。

弊社プラットフォームでは AWS を利用しています。

 

AWS には AWS マネジメントコンソールが提供されますが,

ランサーズでは,自社製のシステムでサーバ情報を一元管理し

各ツールと連携し開発・運用効率を図っています。

サーバ情報は以下のようなビューを持ち一元管理をしています。

サーバ一覧

 

また,不必要にサーバにログインしなくて済むように

ウェブサーバなどのログの表示も WEB UI から可能としています。

アクセスログ

 

今回は,サーバ管理を実現するために利用した

AWS の Ruby ライブラリによる API 取得についてご紹介します。

あらかじめ aws-sdk のインストールと

Endpoint, Access Key, Secret Key を準備ください。

EC2 インスタンスの Private IPAddress の一覧を表示するサンプルを記述します。

#!/bin/env ruby
require 'aws-sdk'

ec2 = AWS::EC2.new(
:ec2_endpoint = 'ec2.ap-????????.amazonaws.com',
:access_key_id = '??????????',
:secret_access_key = '??????????'
)

p ec2.instances.map{|m| m.private_ip_address}

 

実行結果

$ ./aws_sdk_sample1.rb
["10.0.1.11", "10.0.101.11"]

 

とても簡単に AWS の情報を取得できます。
このようにしてランサーズでは,
ユーザ様に快適なプラットフォームを提供すべく日々努力をしております。