みんなの「作ってみた」

webサービスの本番サーバーをダウンさせてしまった時に爆速で土下座する方法🙇‍♂️🙇‍♂️💦💦

2019/05/15

retoruto_carry
retoruto_carry
個人WEBサービス開発者。おうちハックもします。大学3年生。 作ったサービス ・みんなのボタンメーカー (https://btns.fun) ・やるぞ宣言(https://yaruzo.me) ・仮想通貨で投げ銭出来る音楽投稿サイト(https://tipmusics.com)

こんにちわ。
れとるときゃりー(@retoruto_carry)です。よろしくね。

なにをしたか

運営している「みんなのボタンメーカー」というサービスのサーバーを誤って落としてしまった。

※ このサービスの開発に関する記事も書いているのでこっちも読んでね
「ツイッターでつぶやけるボタン」を簡単に作成できるサービスをリリースしました【個人開発】

復活させるまでの間、サービスを訪れた人に「サーバーがダウンしているのでしばらく待ってね」と伝えたい。

そのために、DNSを設定して、GitHub Pagesでホスティングした「サーバーがダウンしています」ページにリダイレクトするようにした。

順番に説明していく。

1. 誤ってサーバーを落とす

LINEで通知が来る

サーバーがダウンするとLINEに通知が来るようにmackerelというツールで設定している

実際にサービスを見に行くと落ちている

あっ....

2. とりあえずtwitterで謝る🙏🙏

謝ろう


3. 「サーバーがダウンしています」ページを用意

GitHubレポジトリを作ってこんな感じのページをpush

index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>sorry</title>
</head>
<body>
  <p>ごめんwwwwwwサーバー落としちゃったwwww</p>
</body>
</html>
404.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>sorry</title>
</head>
<body>
  <p>ごめんwwwwwwサーバー落としちゃったwwww</p>
</body>
</html>

404.htmlにも同じ内容を用意することで、 https://btnmaker.me/hoge などで遷移して来たものも「サーバーがダウンしています」が表示できるようにする。

※ CNAMEというファイルは後でGitHub上で設定するので作らなくて良い。

4.GitHub Pageを有効にする

master branchを選択

5. webサーバーのDNSのCNAMEを変更して、上記で用意したページに向き先を変更

DNS上の設定

[ユーザー名].github.ioをCNAMEに設定

※ コメントより追記

DNSの設定にはTTL(Time-To-Live)というのがあって、基本的にこの時間が経過しないとDNSの変更は反映されません。

CloudflareDNSはデフォルトのttlが300になっているので五分で反映されたけど、普通のDNSではttlが24hくらいになってることが多くて、ぜんぜん爆速じゃなくなるのでご注意ください。

GitHub上でのCNAMEの設定

Custom domainにbtnmaker.meなどのリダイレクト元を設定

6.サイトを訪れた人全員に謝れるようになる🙏🙏

btnmaker.meに訪れた人は、全員このページを見ることになる

番外編

復活させよう

本番サーバーを復活させて、DNSのCNAMEをもとに戻す
元通りになった🎉🎉

まとめ

webサービスを落としたら謝ろう🙏🙏🙏🙏

合わせて読んでほしい記事

このサービスの開発に関する記事も書いているのでこっちも読んでね
「ツイッターでつぶやけるボタン」を簡単に作成できるサービスをリリースしました【個人開発】

ここまで読んでくれた方へ

ここまで読んでくださりありがとうございます。

いいねやコメント、SNSでの共有等をしてくださると、今後の励みになります。よろしくお願いします。

良かったらツイッター(@retoruto_carry)もフォローしてね