レンタルサーバーとVPS(Virtual Private Server)の違い

ブログを始めるにあたりレンタルサーバーを借りようと思ったのだけど、レンタルサーバーとVPS(Virtual Private Server)の違いが初めよくわからなかったので、他の方の参考になればと思い書いておこうと思います。

まず提供される機能(インフラ、OS、アプリケーションなど)の面から分類すると、レンタルサーバーはPaaS(Platform as a Service)、VPSはIaaS(Infrastructure as a Service)に該当します。

IaaSはインフラ(CPU、メモリ、ストレージ、ネットワーク等)のみの提供でOSやミドルウェア、アプリケーションはユーザー自身でインストールと設定を行う必要があります。ただOSのインストールについては管理画面から好みのOSを選択して自動でインストールしてくれるところが多いです。

PaaSはインフラ部分、および、OSとミドルウェア(Webサーバ、データベース等)まで提供されます。ブログサービスを行うCMS(Content Management System)はユーザーがインストール、設定を行います。代表的なCMSとして、WordPress、concrete5、Joomra! などがあります。CMSのインストールは管理画面で操作して自動でインストールしてくれるところがほとんどです。

SaaS(Software as a Service)はインフラからブログサービスまですべて提供されます。ユーザーは提供されたブログサービスを使うだけです。代表的なブログサービスとして、「Amebaブログ」とか「はてなブログ」などがあります。

僕の場合はCMSにWordPressを使い好きなテーマを選びたかったのと、自由にアフィリエイトをやりたかったためSaaS型のブログサービスは検討から外していました。SaaS型のブログサービスは手軽で一番簡単に始められるのですが、いろいろと制約があるからです。ただ情報発信をメインに考えている方であればSaaS型のブログサービスは良いかと思います。

リソースの面でレンタルサーバーとVPSを比べると、レンタルサーバーでは他の利用者とネットワークの帯域、メモリ、CPUなどを共有します。1台のサーバに自分のユーザーを作成してもらい、みんなでそのサーバーを使うのです。そのため、そのサーバーの利用者の誰かが人気ブロガーでそのサイトにアクセスが集中してサーバーに負荷をかけるようなことがあったら、自分のサイトも重くなってしまうかもしれません。その点、VPSの場合は自分専用のリソースを割り当てられます。だいたい契約するときに「CPUは2コア、メモリ1Gのプラン」等、どのスペックで契約するかを選びます。そのためVPSであれば契約したときのスペックは保証されます。

ここらへんの話はレンタルサーバーの提供会社のサイトの説明にあるのですが、僕が一番知りたかったのは「root権限があるのか?」でした。結論を言うと、レンタルサーバーではroot権限はなく通常のユーザー権限のみですが、VPSではroot権限がもらえます。ではVPSのほうがよいのか?というとそうではなくて、VPSを契約した場合はOSの自動インストールのサポートはあるものの、それ以降(それ以外)は全て自分でやらなくてはならないということです。WordPressを使う場合だと、WEBサーバ(Apache)、データベース(MySQL)、PHPのインストールも自分でやる必要があります。それ以外にもセキュリティの設定(iptablesとか)などもそうです。なので、もしWordPressでブログを始めようとするならレンタルサーバーの方をお勧めします。

僕はブログとは別にC言語で作られたプログラムもそのサーバーで動かしたかったのですが、それにはコンパイルをサーバー上で行う必要があり、コンパイラ(gcc)をインストールする必要がありました。始めからgccがサーバに入っていればいいですが、悪意あるプログラムをサーバ上で動かされては困るだろうからサービス提供会社としてはC言語プログラムの実行は許可していなかったです。そうなると、root権限があればあとは好き勝手にできるので「root権限がもらえるサーバーはどこか?」で探して、VPSのことを知った感じです。

具体的に、さくらインターネット株式会社が提供する「さくらのレンタルサーバー」と「さくらVPS」とで比較します。

レンタルサーバーだと、WEBサーバ、メールサーバ、FTPサーバ、シェル(SSH)ログイン、データベース、PHP、Perl 等、必要と思われるものはだいたい提供されます。管理画面から「インストール」ボタンを押すだけです。

これがVPSになると、選べるOSの説明があるだけで他の資料はないです。上級者向けです(初心者では無理だと思う)。なので、ブログをVPSで始めるのはよほどの理由がない限りやめたほうが良いかと思います。

最後に、僕が使ってみた(もしくは使ってみたい)レンタルサーバー/VPSの提供元のバナーを載せておきます。参考にしてみてください。

レンタルサーバーの提供元

[エックスサーバー株式会社]
エックスサーバーはレンタルサーバーを借りようとしたときの第一候補だったのですが、1ヶ月の値段で以下のさくらインターネットにしました。もし支払えるならエックスサーバーにしていたと思います。

[さくらインターネット株式会社]
エックスサーバーかさくらかで迷いましたがこちらにしました。今のところ、使ってみて特に問題はないです。

VPSの提供元

[さくらインターネット株式会社]
サーバー構築から自分で行う必要がありますが、さくらのホームページのサポート情報が充実していたので問題なかったです。

[GMOクラウド株式会社]

GMOクラウドが推しているPleskは使っていません。特に問題はないですが、ホームページのサポート情報はさくらのほうが見やすい感じがします。

さくらインターネットとGMOクラウドを使ってみてサーバー性能は特に不満はないです。サポートにはメールや電話はしたことがないのでオペレーターの親切度はわからないのですが、ホームページの情報でなんとかなりました。

ubuntuでFirefoxのTLS通信をキャプチャする。

ブラウザにFirefoxを使っている場合、TLS通信をキャプチャできる方法があるので書いてみます。試した環境は以下です。

OS:ubuntu 18.04 LTS
ブラウザ:Firefox Quantum
キャプチャツール:Wireshark(Version 2.6.3)

まず、TLSの通信で使う鍵をファイルに書き出すように環境変数を設定します。設定する環境変数は「SSLKEYLOGFILE」です。コンソール画面を立ち上げて、以下のようにします。

$ export SSLKEYLOGFILE=/home/user/sslkey.log
$ env | grep SSLKEYLOGFILE
SSLKEYLOGFILE=/home/user/sslkey.log

※「/home/user/sslkey.log」は任意の場所、ファイル名で構いません。

Firefoxをコンソールからコマンドで立ち上げます。

$ which firefox
/usr/bin/firefox
$ /usr/bin/firefox

Firefoxが立ち上がり、コンソールは待ち状態になります。別ウィンドウでコンソールを開いて、SSLKEYLOGFILE が書き出されていることを確認します。

$ ls -l /home/user/sslkey.log

[広告]

ここまででキャプチャする準備が整いました。ここからはWiresharkの設定をします。Wiresharkを起動して、上部の「編集」メニューから「設定..」を選択します。設定画面が表示されるので左ウィンドウから「Protocols」を選び、そのなかの「SSL」を選択します。

(Pre)-Master-Secret log filename に SSLKEYLOGFILE の場所を指定します。これでキャプチャを開始するとTLS通信の中身が解析できるようになります。

注意点です。
マウス操作でFirefoxを立ち上げてもSSLKEYLOGFILEで指定したファイルには書き込まれません。コンソールで環境変数を設定した上で、コマンドでFirefoxを立ち上げてください。

なお、Firefoxをマウスを使って閉じるとコンソール画面では「接続が相手からリセットされました」となりますが、気にしなくても良いでしょう。