クラウドライブラリ Fog で AWS を操作!..のサンプル
こんにちは。@jedipunkz です。 最近 OpenStack でサービスを開発!.. じゃなくて AWS でプロトタイプサービス作っ ているのですが、Ruby で開発したかったので Fog を使っています。EC2 と ELB の API を叩くコードになりつつあるのですが、サンプルコードって世の中に中々無いと気 がついたので、このブログ記事にサンプルコードを載せたいと思います。 Fog とは ? Fog http://fog.io/ はクラウドライブラリソフトウェアです。AWS, Rackspace, CloudStack, OpenStack .. と数ある世の中のクラウドプラットフォームを扱うために 用意されたソフトウェアです。対応しているプラットフォームの種別は下記を見ると参 考になります。 http://fog.io/about/provider_documentation.html ドキュメントがまだまだ揃っていなく、Fog のコードを覗きながら実装するしかない状 況です。なので「こう使えば良い!」というお手本があまりネット上にも無い気がしま す。 ドキュメントは一応下記にあります。 が使い方がよくわからない・・!(´;ω;`)ブワッ http://rubydoc.info/gems/fog/frames/index EC2 インスタンスを使ってみる まずは AWS EC2 の API を叩いて t1.micro インスタンスを立ち上げてみましょう。 require 'fog' compute = Fog::Compute.new({ :provider => 'AWS', :aws_access_key_id => '....', :aws_secret_access_key => '....', :region => 'ap-northeast-1' }) server = compute.servers.create( :image_id => 'ami-cedaa2bc', :flavor_id => 't1.micro', :key_name => 'test_key', :tags => {'Name' => 'test'}, :groups => 'ssh-secgroup' ) server.wait_for { print "."; ready? } puts "created instance name :", server.dns_name 解説 compute = … とあるところで接続情報を記しています。 “ACCESS_KEY_ID” や “SECRET_ACCESS_KEY” はみなさん接続する時にお持ちですよね。それ とリージョン名やプロバイダ名 (ここでは AWS) を記して AWS の API に接続します。 ...