お久しぶりです。最近は炎上している現場を消火している横から、次々と燃料を投げ込まれる日々を送っております。

Webエンジニアになってからというものの、開発環境としてはVagrantよりもDockerを愛用していました。そのうちに実運用でDockerを使ってみたい欲を抑えきれなくなったので、ついにブログなどを運用している環境を、共用サーバーのCORESERVERからVPSのConoHaに乗り換えました。

CORESERVERも一般的なレンタルサーバーとしてみると、コスパは高い方だと思うのですが(月額500円でディスク120GB使えますし)、VPSで自由度の高い運用が出来るというのはやっぱりいいものです。なにせ、CORESERVERでは12月にリリースされたばかりのPHP7には対応していませんが、VPSであれば自分でインストールすればすぐに使えてしまうというのが大きいです。

構成としては、サブドメイン毎にコンテナを展開していて、それが7個ほど同時に起動している状態です。ただ、このままではドメイン毎にアクセスを振り分けることが出来ないため、nginxのリバースプロキシをその前に置いてバーチャルホスト機能を実現させています。

DBも最初はコンテナとして同一のインスタンスの中で管理していたのですが、MySQLのコンテナだけで300MBほど食ってしまっている状況で、立ち上げて数日すると人知れずMySQLのコンテナが死に、ブログなどのコンテナが実質的に機能しない事態が頻発したので、同じくConoHaでやっているDBサーバーのPaaSに乗り換えました。メモリ2GBプランにすれば全部まかなえたとは思うんですが、さすがにそれだとトータルで月2000円近くになってしまうので、DBを別サーバーに分離することでお茶を濁すこととしました。

また、これまで通りCDNのCloudFlareをVPSの前に置いて、トラフィックの負荷分散を行っています。そこまでやるようなサイトでもないですけどね。

上記の構成で1,2週間ほど運用して様子を見ているのですが、DBを分離してからはだいぶ安定して動作するようになりました。CoreOSやsystemdなど触ったことがない技術のオンパレードになっているため、今から知見を蓄積していきたいもんです。