Railsアプリを公開しよう!サーバーの種類とおすすめの選び方まとめ

こんにちは!インストラクターの井上です。

「Ruby on Railsのアプリを公開したい!」

と思っても、どのサーバーを使うのが適切なのかよくわからないですよね。

実際に僕が参加するプログラミング学習コミュニティでもサーバー選びに悩まれているのをよく目にします。

サーバーによってはリリースをする方法も違えば特徴も様々ですので迷うのも仕方ありませんよね。

そこで今回、Rails学習中の方向けに、よく使われるサーバーの種類とその特徴、目的別のサーバーの選び方などを見ていきます。

実際にRailsのアプリを公開する際に御利用下さい。

【こんな方に向けて書きました】
・自分の技術をアウトプットする場を探している方
・アプリの公開に最適な場を探している方

前提知識:PaaSとIaaSとVPS

Shutterstock 349061969

まずはRailsアプリを公開するサーバーの種類として、主にPaaSを使う方法、VPSを使う方法、IaaSを使う方法という3パターンが存在することを知っておきましょう。

それぞれにメリットやデメリット、気をつけるポイントがあるので、順番に確認していきましょう。

PaaSとは?

PaaS(Platform as a Service)とは、アプリ公開用のプラットフォームをレンタルして使用できるサービスです。

つまり、自分でWEBサーバーを立てること無く、レンタルしたらすぐにアプリが公開できる仕組みを提供しています。

最近はGitで管理していれば、Gitの機能を用いて、自分のアプリを一瞬で展開する事が可能です。

PaaSのメリット

初心者でもとても簡単にアプリを公開できるようになります。

インフラの知識が殆ど無くても公開が可能なため、WEBサーバー構築などの学習コストや保守に費やす労力が少ないです。

金銭的に本格稼働させると少し料金がかかる場合もありますが、それ以上に簡単に使えることは大きいでしょう。

Railsで使える主なPaaSではHerokuSqaleがあります。

Herokuにおいてはアクセス時間などに制限はあるものの無料でも使えるというのは大きいです。

PaaSのデメリット

特にHerokuやSqaleでは固定IPではない為、特別な設定をしないとサブドメインが必須になります。

つまり、通常の設定では、

http://www.example.com

というサブドメイン有りのURLは設定できますが、

http://example.com

というサブドメインなしでURLを紐付けることが出来ません。

ただ、これらもCloudFlareなどのサービスを利用することで解決できます。

その他上級者にとっては細かな設定がしづらいため、使い勝手が悪く感じることも多いでしょう。

VPSとは

VPS(Virtual Private Server)とは、サーバーを切り出して一部を自由に使えるように簡単にレンタルできる仕組みのことです。

サーバーの運営業者がこの区画は好きに使っていいよと貸し出してくれるので、比較的自由度の高い設定が可能になります。

ただ、そのぶんWEBサーバーとして機能するようにApacheなどのアプリを自力でインストールして設定する必要が有るため、難易度が高いことが多いです。

有名なVPSとしてはさくらのVPSなどがあります。

VPSのメリット

定額でレンタルできることが多いので金銭的に見通しも立てやすく手軽に利用をはじめられます。

特にある程度の稼働が求められるサービスでは、PaaSやIaaSを用いるよりもコストパフォーマンスが最も高くなりやすいでしょう。

VPSのデメリット

初心者には構築難易度が高いので手が出しづらいでしょう。

また、Railsのリリースの方法でもCapistranoなどのデプロイツールを用いる必要があり、こちらにも学習コストを掛ける必要があります。

IaaSやPaaSに比べて細かな処理能力の調整(パーツのグレードアップ)などがしづらいというのもデメリットになるかもしれません。

IaaSとは

IaaS(Infrastructure as a Service)とは、WEBのインフラを独自に構築できる環境をレンタルできるサービスです。

どこまでがPaaSでどこまでがIaaSなのかという定義は曖昧ですが、主にAWSなどのネットワーク周りまで自分で設定できるサービスをIaaSと呼ぶことが多いようです。

サーバを複数立てて自分で負荷分散をしたり、サーバが落ちた時の監視体制を自分で作ったりと、ものすごく自由度の高い設計が可能になります。

特にAWSはスタートアップ企業や大企業での導入も増えており、近年注目を集めています。

IaaSのメリット

特にAWSでは非常に柔軟な構成を決めることが出来て、小規模なブログから、大規模なビッグデータを扱うシステムまで作成することが出来ます。

また、利用する構成を途中で簡単に変更できるので、サービスの成長や、一時的なキャンペーンへの負荷対応などにも予め備えることが可能です。

IaaSのデメリット

初心者にはとてつもなく構築難易度が高いのでしっかり学習を行わないと手が出せません。

VPS同様WEBサーバへのリリースもCapistranoなどのデプロイツールの設定も必要で少し難易度が上がります。

また、AWSは料金が従量課金制なので、請求金額が厳格に予測できないという点もデメリットになるでしょう。

特に初心者は下手な設定を行ってしまうと、多額の請求をされるという可能性もあるので注意が必要です。

Railsアプリ公開にオススメのレンタルサーバー

ここまででサーバーの種類などがおおよそ掴んで頂けたかと思いますので、具体的なレンタルサーバーの選び方を見ていきましょう。

Heroku(PaaS)を選ぶ基準

スクリーンショット 2016 06 29 15 13 22
URL:https://www.heroku.com/

Herokuは兎に角手軽な点が評価されています。

RailsTutorialなどの教材でも扱っているサーバーでRailsエンジニアは一度は触れたことがあるサーバーになるでしょう。

基本無料で使えるので、他のサービスと連携するAPIなどの学習に使うのにもオススメです。

インフラがよくわからない人や、はじめてのRailsアプリはHerokuを選ぶのが安定でしょう。

ただサーバが置いてあるのがアメリカとかだけなので、日本からのアクセスが遅い点で残念です。

さくらのVPS(VPS)を選ぶ基準

スクリーンショット 2016 06 29 15 15 54
URL:http://vps.sakura.ad.jp/

HerokuやSqaleでは、セキュリティを担保するためのSSL(HTTPSの通信)を導入するためにも、証明書の購入のほか、月額でプラス2000〜3000円ほどお金がかかってしまいます。

それを加味しても小規模なアプリを継続的に動かすときにはコストパフォーマンスが良くなりやすいです。

ただ、VPSの説明のところでも書いたとおりRailsをデプロイするまでの設定でもある程度学習が必要になります。

ある程度インフラの知識があり、自分でWEBサーバを構築できて、かつすぐにユーザー数が増える見込みが無い場合には一番使い勝手が良いでしょう。

また、ディスク容量などは増やせても、コストパフォーマンスの高い共用サーバでは大量のアクセスを捌くなど柔軟な拡張は苦手な点が残念です。

VPSの中でも専用サーバーを借りる方法でより多いアクセスに対応できたりはしますが、その場合はそれなりにお金を払う必要がありますのでIaaSの方が良い場合も多いでしょう。

AmazonWebServices EC2(IaaS)を選ぶ基準

スクリーンショット 2016 06 29 15 19 54
URL:https://aws.amazon.com/jp/ec2/

AWSのEC2を利用する理由は、ほとんどアクセスが無いアプリをものすごく安く使いたいか、今後のサービス拡大に堪えられるように備えるかというどちらかになるかと思います。

AWSのWEBサーバである「EC2」は、WEBサーバ単体として準備することはVPSとあまり変わりがありません。

(VPSでRailsアプリを公開できていれば、EC2の環境構築などはそこまで難しくはありません。)

ただAWS独自のルールや、ネットワーク周りの設定などは学習して自分で行う必要があります。

料金体系もしっかり設定すればとても柔軟で使いやすいですが、覚えることが多いのでなかなか使いこなしづらいという点で残念ではあります。

上級者向けでは有りますが、比較的大規模なサービスを公開するのであれば、その学習コストは払ってしかるべきではあります。

まとめ

Railsアプリを公開するサーバーの選び方について見てきましたがいかがでしたでしょうか。

実際にRailsの学習を進めて、是非学習の成果としてオリジナルのアプリを公開してみましょう!

とりあえず迷った方はHerokuで一旦公開してみるのが良いでしょう。

ゆくゆく大規模に展開したい場合は、AWSを検討してみてください。

関連記事

プログラミングの勉強を始める初心者が最初にやるべき7つのこと
更新日 : 2019年6月28日
非WEB系SEがWEBエンジニアに3ヶ月で転職出来た7つの理由
更新日 : 2019年4月2日
【全て無料】独学でもスキルが身につくプログラミング学習サイトTOP5
更新日 : 2019年5月29日

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

井上 慎也

井上 慎也

侍エンジニア塾のインストラクター。フリーでWEB制作の受託や自身の事業の傍ら、侍ではWEBプログラミング方法の指導やプログラミング学習コミュニティの運用を行っている。
好きなショートカットキーは、command + w 。愛機はMac Book Pro。ブラウザのタブを大量に開きがち。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説