あけましておめでとうございます。エンジニアの こじま です。
今年もよろしくお願いいたします。
今回は,ランサーズの開発・運用を楽にするための
サーバ管理システムのご紹介をします。
弊社プラットフォームでは 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 の情報を取得できます。
このようにしてランサーズでは,
ユーザ様に快適なプラットフォームを提供すべく日々努力をしております。