ブログサーバー移転

雨のち曇り朝方は結構な雨が降っていた。 起きたらほぼ止んでいたけれど。
今日はこのブログのサーバー移転を行っていた。 現在のサーバーはさくらのVPSで、東京リージョンの一番安いプラン。 サーバーを作ったのかかなり前なので未だにセキュリティパッチの期限が切れたCentOS7で運用していた。 新しいサーバーは、自分で管理するのを止めて、エックスサーバーのプレミアムプラン。 ブログだけならスタンダードで十分すぎるけれど、他にも自分で管理しているサーバーがあって、そこに入っている33のサイト群も同じサーバーに入れたいので。
サーバー移転するだけなら簡単なのだが、画像類をどうするかが問題だった。 サーバー移転などを簡単にする為に、画像自体は、さくらのレンタルサーバーのライトプランを契約し、そこをストレージ代わりに使っていた。 だけど、ドメインはブログのドメインでアクセスさせたいので、/images/にアクセスがあった場合、nginxのリバースプロキシで、画像サーバーへ接続するようにしていた。 エックスサーバーはレンタルサーバーなので、リバースプロキシとか設定できない。 プログラミング的に考えると、/images/にアクセスがあった場合はプログラムを呼び出して、そのプログラムが画像サーバーへアクセスし画像を取得し返す、必要ならキャッシュを持ったりすればいいかなとは思うが、それでは前時代っぽい。

それを解決する手段として、今回はCloudflareを利用した。 Cloudflareはリバースプロキシ的な機能がデフォルトの動作なので、それに少し手を加える感じで。 ネームサーバーをCloudflareにものに変更。 AレコードなどはCloudflare側で設定したproxyのAレコードが返却されるようになる。 そこにアクセスがあると、Cloudflare内のproxyが動き、Cloudflareから自分のブログにアクセスが来て、コンテンツが返却されるという仕組み。 なので自分のサーバー的には、アクセス元IPアドレスはCloudflareのアドレスになる。 そこまでやっているのが大前提で、CloudflareでWorkersというのを作成する。
これはJavaScriptで書くのだけど、書いてある内容は/images/にアクセスがあった場合、/images/の後の文字列を、特定のURLにくっつけて、アクセスして返却する、返却時にブラウザキャッシュさせる、という感じで、全部で25行しか書かれていない。 それを、/imgaes/にバインドさせて完成。

エックスサーバーとCloudflareで、今までVPSで実現していたことを、サーバー管理無しで実現することができた。 サーバー移転も簡単に終わった。
今までVPSで不便だったことがいくつかあって、
・サーバーのセキュリティリスク
・PHPのアップグレードが面倒
・たまにMariaDBが落ちる
・Let’s Encryptの更新が手間(一応自動化はしていたけど)
・データベースのバックアップが面倒(自動化はしていたけど)
・コンテンツのバックアップが面倒(自動化はしていたけど)
・メールサーバーの設定が超絶面倒(このドメインでメール使うことないので設定すらしなかった)
というのが解決した。

さくらのクラウドで運用している他サイトも全部この方式にしたいが、6月中に終えることができるだろうか? こちらはオブジェクトストレージを使っていて、それの料金も痛いため、Cloudflare R2に移行する。
月々10,000円以上サーバー台で支払っているのが3,000円くらいになる見込みだ。 金額が減るのは嬉しいが、何より管理の手間がほぼゼロになるのが非常に嬉しい。 Cloudflareはこんな素晴らしい機能があるのに、ほぼ0円で使わせてもらって本当にいいのだろうか?

Cloudflareが落ちたら全サービス死ぬ問題はあるけれど、AWSだとしても同じだし、それは考慮しない。

夜はジョギングへ。 今日は大会前の繋ぎジョグ。
5.20, 5.05, 5.16, 5.16, 5.07, 5.04, 5.06, 5.02と、7.3kmを37分53秒で、キロ5分10秒ペースだった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です