2021年11月現在の私のサーバー構成

目次

概要

私が自宅でのサーバーをやめて3か月くらいが経ちました。現在の私のサーバー構成を振り返りつつ、どんなことをやっているのかを説明していきます。

VPSなどを用いたサーバーを利用する意味

最初に、現時点で私が考えているサーバーを用意している意味を説明します。自宅サーバーをやめても、VPSやレンタルサーバーを借りて運用しているため、サーバー自体の利用はやめていません。

最近では、サーバーを用意するまでもなく、AWSやGCPなどの外部のクラウドサービスを利用することでサーバーを利用する感覚がほとんどなくすということもできます。

このような背景がありながら、VPSなどを用いてサーバーを利用する理由は次です。

  • サーバー構築の学習
  • クラウドサービスよりも安い
  • クラウドサービスでは手が届かないようなことをできる

主にこちらの三つが理由です。

サーバー構築の学習というのは、その言葉の通りで、勉強をしたいという考えがあります。クラウドサービスよりも安いというのも、自分で色々と設定をする必要があるためVPSの利用の方が安く済むということです。

クラウドサービスでは、様々な構成があらかじめ用意されているため、それを管理コンソールなどから組み合わせてサーバーを構成していくということが多いですが、あくまでも用意されたものを用いて構成していくため、VPSよりも自由度が落ちます。その代わり、可用性が担保されていたり、構成が簡単だったりしますが、私の利用用途では自分で作成したアプリケーションを動かしたいという考えがあったため、できれば自由度が高いということを重要視していたことから、VPSを選択しました。

現在のサーバー構成

私は、現在VPSとして、ConoHaのサービスを利用しています。ConoHaでは、このブログやメールサーバーを構成しているConoHa Wingというレンタルサーバーと、VPSとして1GBのプランをひとつ利用しています。

レンタルサーバーについては、WordPressでブログを構成しており、メールサーバーも利用できるということで、管理パネル上からポチポチとボタンをクリックしてかなり簡単に構築ができました。

VPSについては、なるべくひとつのVPS上に複数のサービスを動かしたいという要求から、Dockerのコンテナを利用して、なるべく実行するアプリケーションを分離できるような構成としています。また、Dockerを使う際には、Docker Composeを用いて連携させたいコンテナを分かりやすく管理できるようにしています。

Dockerコンテナとして動かしているアプリケーションへの接続には、Nginxのリバースプロキシ機能を利用しています。リバースプロキシを用いることで、バーチャルホストに応じて接続先のアプリケーションを切り替えることができ、1つのVPSだけで複数のアプリケーションを実行できるようにしています。

現在のサーバー構成への思い

現在のサーバー構成について、結構気に入っています。

他にもConoHaは、VPSとレンタルサーバーともに、まとめて料金を支払うと安く済み、さらに私がまだ学生ということで学割を利用して1割引でクーポンを購入して利用できるのでもっと安く購入できました。何よりも安く済み、それなりの不満無く利用できるというのは、とても重要です。安いだけでまともに利用できないサービスというのも世の中にはあるので、そのようなサービスではないというだけでもうれしいです。

Dockerを使って1台のVPSで済んでいるというのもかなり気に入っています。今まであれば、いらなくなったときに壊しやすいように、なるべくひとつのサーバーでひとつの機能を実現するように構成していたのですが、Dockerを使う場合は、コンテナでアプリケーションが分離されているので、作って壊してということがしやすくとても良いです。

もちろん不満点もあり、特にDockerやDocker Composeの使い方について少し難しく、毎回Dockerの構成を変更するときは、その都度調べながらやっています。また、VPSとして1GBのものを購入したので、あまりメモリを使用するアプリケーションなどは動かしにくいです。このあたりは、ソースコードなどを用意して、適切なメモリなどを設定するだけでよいクラウドサービスの方が良さそうです。ただ、このあたりは勉強だと思って割り切っています。

さいごに

自宅サーバーも楽しかったのですが、時々ちゃんと動いているのか気にするのが煩わしかったので、VPSなどの利用を始めて後悔はありません。

Dockerは、VPSのリソースを無駄にすることなくさらにほとんど環境を汚すことなく、アプリケーションをまとめることができるので、みなさんもDockerを使ったサーバー構成がおすすめです。