はじめに
Next.jsをS3に配置してCloudFront経由で配信している環境で、アプリケーション障害時にメンテナンスページに切り替えたい場合、どのように実装するのが最も簡単かをまとめました。
この内容は、あくまで個人的な備忘録として、まだ実際に実装はしていません。
自分なりに調べてまとめたものです。
書こうと思ったきっかけ
アプリケーションサービスは、メンテナンス時も含めて「どれだけ速く、シンプルに」対応できるかが大切です。
サクッと短時間で実装できる手法を探して、自分なりの解答として決まったのでまとめることにしました。
さくっと運用したい場合の現実的な手法
- サクッと運用したい
- 手間を少なくしたい
これを優先するなら
CloudFrontのオリジンを手動切り替える
が現実的です!
ざっくりイメージ図
CloudFront
├── 通常オリジン (S3: Next.js静的ファイル)
│
└── メンテオリジン (S3: メンテナンスページ)
- 通常は Next.js S3オリジン
- メンテ時は S3メンテオリジンに手動スイッチ!
まとめ
Next.jsをS3+CloudFrontで運用する場合、障害時は手動でオリジンを切り替える方法が最もシンプルだと思っています。
メンテナンス専用S3バケットを用意し、CloudFrontから切り替えるだけで対応可能で、即対応・手間削減を重視するなら、この手法が現実的だと認識しております...!