2013年10月10日木曜日

試験環境用VPSとして1時間1円から使えるDigitalOceanが安くて便利

facebookで「もう1個VPS立てなきゃいけないんだけど、毎回比較検討するのも面倒なんで、さくらVPSにするかなー」と言っていたら、安藤さんが(勤務先の)Engine Yardと(勤務先でない)digitalOceanを教えて下さいました。
Engine YardはAWS上で提供されるPaaSということですが、私が探していたのはテスト環境なので、digitalOceanの方を試してみました。
使ってみて、digitalOceanは、VPSと(AWSのような)IaaSの中間的なサービス、あるいはお手軽に使えるIaaSという印象を持ちました。そして、すごく気に入りましたので紹介しますw
その特徴は、下記の5点で説明できると思います。
  • 簡単
  • 安い
  • 速い
  • 便利
  • セキュア

簡単

DigitalOceanを使い始めるのは下記のようにとても簡単です。
  • サインアップする(メールアドレスとパスワードを入力)
  • 支払い方法を登録する(クレジットカード情報の入力か、paypal前払い5ドル以上)
  • インスタンスを作る(プラン、リージョン、OS等を選択するだけ)
  • メールでIPアドレスとルートパスワードが送られてくる
  • 使い始める(ルートパスワードは変更しておきましょう)
OSとしては、Ubuntu、CentOS、Debian、Arch Linux、Fedoraのそれぞれいくつかのバージョン、32bit/64bitから選択できます。また、アプリケーションとして、LAMP、Ruby on Rails、Redmine、Wordpress(いずれもUbuntu)が選べますが、アプリケーションに関してはβ版のようです。
リージョンは、ニューヨーク、サンフランシスコ、アムステルダムが選択できます。私は、一番日本に近いという理由で主にサンフランシスコを指定しています。

安い

DigitalOceanの価格表を少し加工して、時間課金と月額を簡単に比較できるようにしたものを下図に示します。


月額を時間あたり金額で割ってみると、28日~30日となるので、両者の単価はほとんど変わらないことになります。課金プランの月額or従量の指定はないので、使った後の実績で安い方の課金となるようです。
月額で比較すると、さくらVPS(価格表)の方が少し安いようですが、ほぼ同じ価格帯のVPSが完全従量(時間課金)となる点がDigitalOceanの優位で、テスト環境にはうってつけかなと思います。以下に料金明細の一部を晒しますが、1時間1円、10時間7円という見当ですね。


インスタンスは動いていても止まっていても料金は同じで、課金を止めるためにはスナップショットを作成してインスタンスを破棄する必要があります。スナップショットの作成と、スナップショットからのインスタンス生成は1分ほどで終わりました(容量次第だと思います)。再インスタンス化によりIPアドレスとrootパスワードはリセットされます。

速い

どのプランもストレージがSSDなので、インスタンス(DigitalOceanではDropletと呼ぶ)を作ったり壊したりがとても速いですが、CPU速度についてはどうかなと思い、PHPのビルド時間で比較してみました。PHP5.5.4のmakeに要する時間の比較です。

DigitalOcean(512M) さくらVPS(1G)
real 4m17.717s 6m38.635s
user 3m33.869s 5m08.079s
sys 0m15.045s 0m29.734s

DigitalOceanの方が1.5倍ほど高速という結果になっています。
ただし、PHPのビルドという状況では実質1コアのみが使われていると思うので、さくらVPS(2コア)にとって不利な状況でのテストだと思われます。
比較のためDigitalOceanの4コアのプラン(8G)で試したところ、逆に遅くなってしまいました。ホストマシンの性能上の「当たり外れ」があるのか、混み具合の違いなのかよく分かりませんが、いずれにせよ、上記はあくまでも大雑把な目安としてご覧ください。

便利

DigitalOceanには、通常のVPSにはない、下記の機能があり便利です。
  • API
  • リサイズ(サイズ増だけでなく、サイズ減もできる)
  • プライベートネットワーク
  • バックアップとスナップショット
APIについては、こちらをご覧下さい。仮想サーバーのインスタンスを作ったり壊したり、スナップショットを作ったり、そこから複数のインスタンスを生成したり…という一通りのことがシンプルなAPIで実現できます。APIの使用にあたり事前の認証などは必要なく、クライアントIDとAPI KEYをURLに埋め込むだけです。リクエストは全てGETで、結果はJSONで返ります。「これでいいのか」と思うくらい簡単です。
インスタンスのリサイズについては、大きくするだけでなく、小さくすることも可能です。いったんシャットダウンする必要がありました。
プライベートネットワークは、今のところ、ニューヨーク第2リージョンのみ設定可能なようです。本格的なIaaSのように仮想スイッチやVLANを定義できるわけではなく、仮想のNIC2枚差しで、裏でつながっているだけのイメージです。追加費用は必要ありません。凝ったことはできませんが、簡単なのがよいですね。
バックアップは、「数日に一度」自動バックアップを取得する設定で、自動バック取得するように指定すると、料金は2割り増しになります。スナップショットを取得するためにはいったんインスタンスを停止する必要があります。スナップショットからは複数のインスタンスを生成できるので、スケールアウトの時などには重宝するでしょう。これら操作はAPIから自動化できます。
スナップショットには従来課金されていなかったようですが、1Gバイトあたり毎月2セント課金すると、こちらに書いてありました。このあたりはまだ流動的なようです。また、別のQ&Aには、(1)スナップショットはディスク容量全体ではなく、実容量の圧縮後サイズで課金、(2)まだ課金は始まっていない、などが書かれています。

セキュア

レンタルサーバーやクラウドサービスのコントロールパネルが認証不備や脆弱性が原因でのっとられると、そこで管理しているサーバーがすべて「やり放題」になってしまうので危険です。この点、DigitalOceanのコントロールパネルの認証には、Google認証システムによる二要素認証が設定できるので安心です(脆弱性については何とも言えませんが)。設定にあたりSMS受信可能な電話番号を指定する必要があります。これは二要素認証に使う端末の紛失や故障の際のバックアップ用です。試みに、+81-90xxxxという国際電話形式の番号を指定したところ、設定することができました。私が試したのは、ドコモのガラケーとauのiPhoneですが、この方法でどちらも大丈夫でした。普段はiPhoneの方を二要素認証に使うので、バックアップ用SMSはドコモのガラケーにしました。

注意点

いくつか注意点があります。
日本のVPSやIaaSは、転送量の課金がないサービスが多いですが、DigitalOceanはプラン毎に転送量の上限があり、超過すると1Gバイトあたり2セント課金されます。一番安いプランの転送量上限は1Tバイトなので、試験・開発向けの使用では、まず超過することはないでしょうが、利用方法によっては要注意です。
また、生成されたインスタンスにログインしてみると、スワップの指定がされていないようです。利用者側ハックでスワップを指定できるかどうか不明ですが、スワップが指定できないとすると、余裕を見たプランの設定が必要でしょう。もっとも、前述のように、プランは後から変更することもできます。
私の経験した範囲だと、Ubuntu12.04LTS64ビット、512Mバイトの設定だとPHP5.5.4のビルドがこけてしまい、apacheとmysqlを停止させるとビルドができました。

アフィリエイト

DigitalOceanはアフィリエイトもやっています。詳細はこちら。これを見ると、トータル10$の支払いに達した紹介ユーザ一人につき、10$がアフィリエイターに支払われるようです。なんか気前がいい気もしますが、私の使い方だと中々10$に行かなさそうという…
ちなに、私のアフィリエイトURLはこちらです。よろしければ、こちらからアカウントを作成いただけると、私が喜びますw

https://www.digitalocean.com/?refcode=c93686100a3a

まとめ

DigitalOceanについてご紹介しました。DigitalOceanは、時間課金単価の安いVPSとして使用できますが、IaaS的な要素(API、スナップショット、プライベートネットワーク…)も使えて便利、二要素認証も使えて安心…というあたりが特徴かと思います。とくに、時間課金を安く使えるという特性は、試験環境用のVPSを探していた私にとっては、ぴったりの選択でした。
まだ課金の仕組みなど流動的な要素がありそうなので、気づいた点があれば、こちらでご案内していきます。

0 件のコメント:

コメントを投稿

コメントは管理者の承認後に公開されます