ブログのサーバーをGoogle Compute Enginenに移して10日が経った。現在は最低構成のe2-microで運営している。おそらくアメリカなど特定のマシンを選んで入ればほぼ無料で導入できたはずだがなぜかモントリオールを選んでしまいちょっと失敗したなあと思っている。
無料枠についてはGoogleが公式サイトで説明している。
サイトのレスポンスなどを考えると距離が近いアジアのほうがいいという話もある。
当初このサイトは「過度な負担がかかっている」という警告が出ていた。やはりサーバーのスペックを上げざるを得ないのかなどと考えた。
最初は何を対処していいかわからず放置しておいたのだがxml-rpcというサービスが問題であるということがわかった。このサービスは今ではほとんど使われていないのだが古いシステムとの間の整合性のためにサービスとしては生きていてDDoS攻撃などの対象になってしまうらしい。
試しにこのサービスを切るプラグインを導入して1日置いてみた。1日に一度程度あった急激なネットワーク負荷がなくなりCPUの負担も上がらなくなった。やはり攻撃の対象になっていたようだ。
ml-rpcが攻撃されるたびに内部では何らかの処理が行われていたのだろう。ついでに高負荷のエラーが消えた。
つまり、中小規模のWordpressサイトはe2-microで十分だがxml-rpc対策をしないとGoogleのシステムから「過負荷がかかっていますよ」という警告が出るということになるということになりそうだ。
結局このサーバーは2年ほど運営したのだが、次第にアクセスが増える(特定の時間に集中する)ことが増えた。実は一時的にサーバースペックをアップグレードできるのだが運営している時には「下手なことをしてサーバーが飛んでしまうと怖い」という気持ちの方が強くサーバースペックのアップグレードができなかった。最後は半日ほどサーバーを飛ばしてしまい、それをきっかけにサイトの急激な流入のきっかけになったサービスからの流入がピッタリと止まった。2年ぶりにサーバーをレンタルサーバーに移した後でサーバーのアップグレードを試してみたのだが意外と簡単にできたので「もっと早くやっておけばトラフィックを失ってしまうことはなかったなあ」などと少し後悔している。
現在はURLを変更し起動ディスクを保存している。やり方は次のようなものだ。
- ドメインを管理しているDNSサービスのURLをhoge.hoge.comからhoge2.hoge.comに変更する
- 念のためにGoogle Cloud PlatformのクラウドDNSも変えておく(おそらく使っていないとは思うのだが……)
- Certbotから証明書を削除する
Certbotから証明書を失効
certbot Revoke -d hoge.hoge.com
Certbotから証明書を削除
certbot Delete -d hoge.hoge.com
Certbotに新しい証明書をインストール
certbot certonly -d hoge2.hoge.com
次に更新される証明書の一覧を調べる(hogeからhoge2に変更できていれば完成)
certbot certificates
コメントを残す