Amazon Lightsailの一番安いプラン + スナップショット20GB だと月4.5ドル、つまり500円弱になります。
節約すべく家にあるSynology NASを代わりにしてみました。
Synology NASでのホスティング方法
後述しますがネットワーク周りの設定を少し工夫する必要があります。基本的にいつもVPSで動かしているWordpress用 Docker関連ファイルたちを使い回します。
以下の記事でつくったようなやつです。 gzipで固めて引っ越し先サーバにコピーして展開し、
docker-compose up
すればokなので楽。ホストのNICのIPアドレスのTCP/80, 443を通し、リバースプロキシのコンテナのTCP/80, 443にアクセスできる設定です。 しかし今回はSynology NASなのでネットワーク周りが異なります。
ホスト(Synology NAS)のNICのTCP/80と443が既に別プロセスで使われてるため、これらを使えません。 よって今回は以下の記事のように、macvlanを使いdockerコンテナのNICに別なIPアドレスを割り当てるようにしました。
新しく割り当てたIPアドレスの全ポートを使えます。
これでホストのNICのIPアドレスのポートを使用する必要はなくなりました。
(使ってるルータが柔軟にポートマッピングできる機能を持つならこの工夫はいりません。
例として外側からのTCP/443へのアクセスに対して内側の機器のIPアドレスのポートTCP/50443をマッピングすれば、別にSynology NASで動かすコンテナがTCP/443を使う必要はなくTCP/50443を使えばいいだけです。)
感想
さて、所感ですが…満足度はあまり高く無いです。
憂いなく簡単にやるにはVPSを借りた方がいいと思います。 私がSynology NASでWebサイトをホストするとき心配になった点は次のようなもの。
- ストレージ読み込み速度が心配(HDD使用時)
- NASとしての用途で高負荷を掛けてるときはWebサーバの性能劣化が心配
- NASのアップデートなどで電源切ってる時間が心配
- Webサーバが踏み台にされて宅内LANの別な機器が攻撃されないか心配
- NASの他のポートを使うサービスが攻撃されないか心配
ストレージが遅いせいじゃないかと思います。
ベイ数が少ない機種だと気軽にSSDを追加するわけにもいかず…。 ただしもしかすると閲覧側ではあんまり変わらないのかもしれません。
トップページや他いくつかのページの Google Page Speed Insightのスコアもほぼ変わらず。 この辺、ISUCONとかをやる人はしっかりパフォーマンスを計測して原因突き止めて改善していくんでしょうね…。
挙げた他にもNAS置く家の回線の安定性やら速度やらとか、停電時の対処とか色々面倒事はあります。自分の場合は家の回線は幸運にも速度出て安定もしてるし、UPSもあるのでブレーカー落ちても大丈夫ですが…。
なので色々ある煩わしさを考えるとVPSのほうがいいと私は思いました。 まぁ今回はしばらくコレで行こうかなと思います。
ブログを置くNASはバックアップサイト(つまり実家)に設置したもので、あまりNASとしてヘビーユースしないつもりですがもし負荷がかかってWebサーバの性能が安定しなそうであれば移そうかな。
コメント