ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

Labels:  AWS, DevOps 投稿者:kojima

AWS API とサーバ管理

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

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

 

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

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

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

 

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

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

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

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

サーバ一覧

 

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

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

アクセスログ

 

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

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

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

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

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

[code language=”ruby”]
#!/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}
[/code]

 

実行結果

[code language=”ruby”]
$ ./aws_sdk_sample1.rb
["10.0.1.11", "10.0.101.11"]
[/code]

 

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

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。

PHPエンジニア
Rubyエンジニア
フロントエンドエンジニア
インフラエンジニア
新卒エンジニア
その他採用情報

関連記事

thumbnail
Subversionで413レスポンスが返却された場合の対処

ご無沙汰しております。keiです。 Subversionで、大容量ファイルをコミットする際に遭遇した エラーの対処方法について、共有の意味で記事化させて頂きます。 事象 開発が完了したプロジェクトのソースをまとめてコミットしようとした際に、 ステータスコード4 …

EC2 SSH サーバ ごった煮 〜 Google Authenticator + ChatWork 通知 入り

こんにちわ。 Lancers のバックエンドの開発と運用担当の こじま です。   みなさん,サーバをどのようにリモートしていますか? 直接,ターゲットのサーバへログインせず SSH サーバを経由してリモートすることが多いと思います。 SSH サーバ …

thumbnail
API仕様書をMarkDownで書き、GitHubをつかって運用する方法

こんにちは、tsuyoshiです。 API仕様書の作成や、その運用。皆さんはどうやっていますか? 現在自分が所属するチームでは、以下のツールを使って API をドキュメント形式で書いて管理しています。 - api blue print: APIドキュメントを …