個人開発用のインフラ選び(IaaS/PaaS/VPS)


この記事はなに?

個人開発で、Railsを使ったWebサービスを公開するための環境選びをしたので、そこで調べた・考えた内容を共有します。
基本的に「最初はなるべくお金をかけず」「必要になったら課金すればスペックを上げられる」ことを重視しました。

実際の作業は2018年3月上旬に実施。
記事の情報は2018年4月12日時点まで更新済みです。

※あくまで個人で調べた範囲であり、個人の見解です。
サービス内容は随時変更されると思いますので、最新情報は各社サイトでご確認ください。

サマリー

目的

ちょっとしたWebサービスをいくつかリリースするための、インフラを確保する。
dockerの上に nginx+rails+postgres な環境を構築する想定。

結論

自分はカゴヤVPSを選択。

主な選択肢

  • IaaS系*
    • Amazon Web Services (AWS)
    • Google Cloud Platform (GCP)
    • Microsoft Azure
    • IBM Cloud
  • PaaS系
    • Heroku
  • VPS系
    • ConoHa
    • GMOクラウド
    • さくらインターネット
    • WebArena (NTTPC)
    • カゴヤ
    • VULTR(海外)
    • Digital Ocean(海外)

*PaaS的な機能も多々展開されていますが、ここでは他との対比でIaaSというくくりにしました。

比較1:IaaSかPaaSかVPSか

IaaS系の特徴

  • ○急にトラフィックが増えても対応しやすい
  • ○なんかイケてる感
  • ×時間課金。個人としては課金額が青天井になるのが怖い
  • ×データ転送にも課金されることが多く、費用が読みにくい

PaaS(というかHeroku)の特徴

  • ○環境構築をほとんど意識しなくて良い
  • ○Rails使うなら第1選択肢かも
  • ○無料プランで試せる(ただし30分でサーバがスリープに入る)
  • △有料プランは月額745円前後($7)から。ドル建てなので為替の影響を受ける
  • 独自ドメインでHTTPS対応にするには、有料プラン必須
  • ×ファイルアップロードが必要なサービスを作る場合は、S3など外部ストレージとの連携が必須。最長でも24時間おきに実施されるサーバ再起動のタイミングでgit管理下にないローカルファイルは消去される仕様。

VPS系の特徴

  • ○月額固定料金で費用が読めるので個人でも安心
  • △急にトラフィックが増えた時、スケールアップはできるがクラウドほど対応が早くない
  • ×共有サーバなので、同居している他所様次第では処理スピードが出ないこともある
  • ×海外のVPSはデータ転送量に制限があるか、従量課金になる

個人としてはどれがいい?

青天井課金でクラウド破産したくないので、IaaS系は除外。
転送量の従量課金も避けたいので海外VPSも除外。
Herokuは良さそう。インフラを気にせず最速でアプリをリリースするにはベストかも。
国内VPSだと、月額が安く転送量課金もないので「お小遣いの範囲」で構築するには最適。その代わりインフラの知識はある程度必要。特にOS周り。

今回は、インフラ周りの勉強も兼ねようということで、あえて国内VPSを選択しました。

比較2:どのVPSにする?

最小プランで比較しました。
※2018年4月時点の情報です。お読みの時点では変化している可能性もあります。最新情報は各社公式サイトでご確認ください。

費用一覧(最小プランの月額料金が安い順)

初期費用 月額料金 メモリ CPU ディスク データ転送量
WebArena 無料 360円 512MB 1core SSD 20GB 無制限
ConoHa 無料 630円 512MB 1core SSD 20GB 無制限
カゴヤ 無料 648円 1GB 1core SSD 20GB 無制限
さくら 1,080円 685円 512MB 1core SSD 20GB 無制限
参考:WebArena* 無料 720円 1GB 2core SSD 30GB 無制限
GMOクラウド 無料 780円** 1GB 2core SSD 50GB 無制限

*WebArenaの1GBプランは最安プランではないので参考扱いですが、コア数・ディスク容量も多く魅力的です。
**12ヶ月契約時の月額。1ヶ月契約だと980円。

カゴヤを選択するまでの道のり

1.WebArena良さそう

3月上旬時点では512MB・1GB・2GBのプランが「在庫切れ」。2018年2月以降在庫切れが続いていたようです。
よって、残念ながら契約できませんでした。機会損失ですね。
その後3月下旬に一度復活したようですが、4月12日現在512MB・1GBのプランが「在庫不足」でインスタンスを生成できないことがあるようです。
気長に待てる人なら単価が安いので良いかもしれません。

2.じゃぁConoHaか?

DoS攻撃を食らった時に、利用者側のせいにされて解約に至るという事例が複数あったことが判明。
[事例1(https://qiita.com/suin/items/58ddfc5b6186b1b8a4af)]
[事例2(https://i-think-it.net/conoha-vps-server-shutdown-cancel/)]

DoS攻撃を食らうかどうかは運次第なので、さすがにそれでは安心してサーバ運用できないと考え、選外に。
同じ理由でGMOクラウドも選外。スペックからみたコスパは比較的良さそうでしたが。

3.それならカゴヤは?

以前セキュリティ事故(クレジットカード情報の漏洩)があった模様。ちょっと微妙か。
(と、この時点ではこれ以上調べず次へ行きました)

4.では、さくら?

試用してみたところ、外部のストレージサービスへデータバックアップを取ると、転送量増加により処理制限がかかってしまうことが判明。
→試用期間中は転送量制限があるとの情報をコメントでいただきました。調べ切れていませんでした...
よって転送量制限は本契約後も続くと誤解してしまったこともあり、試用期間満了を待たずに契約終了。
試用期間内にわかったからよかったようなものの、初期費用を払った後だったら撤退判断ができたかどうか。

初期費用なしの方が機動的に対応できますし。

5.カゴヤを改めて調べてみる

セキュリティ事故の後、クレジットカード決済関係は完全に外部委託*になっていることが判明。
なので、その点は問題なしと判断。
そうなると、契約できる中で最安なので、カゴヤに決定。
費用が日割りなのもプラス要素。最悪何かデメリットがあっても出費を抑えやすいので。

*GMOペイメントゲートウェイ株式会社。EC決済関係の大手ですね。

さいごに

このような流れで、私はカゴヤの採用を決定しました。
人により採用基準は色々あると思いますが、何かの参考になりましたら幸いです。