10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OCI】Webサイトにソーリーページを実装する方法

Last updated at Posted at 2021-12-22

はじめに

この記事はOracle Cloud Infrastructure Advent Calendar 2021 Day22の記事として書いています。
OCIで公開しているWebサイトにソーリーページを実装する方法について書きます。

結論

ロード・バランサのバックアップ機能+Sorryサーバで実現出来ます。

Appendix: 本記事以外で、SorryPageを出す方法紹介

この記事で紹介する方法以外にも2つ、SorryPageに切り替える手法がありますので、以下に参考として記載します。

  • ① WAFのHTTPレスポンスを利用してSorryページに切り替える
  • ② LBの機能でリダイレクト機能を利用する(Object Storageや、API Gatewayのコンテンツにリダイレクト)

それぞれのメリット・デメリットは以下です。

方法 メリット デメリット 参考URL
① WAFHTTPレスポンス 専用Compute不要/URLは不変 自動化はFunctionsを利用 OCI:WAFとFunctionsを使ったSorryPageの自動切り替えの実装手順
② LBリダイレクト機能 専用Compute不要 SorryPageはURLが変わる クラウド・ネイティブ・サービスを使用したロード・バランサのカスタム・エラー・ページの実装
③ LB標準機能 LB機能のみで自動的にできる Sorryページ用Computeが必要 <本記事>

ソーリーページとは?

障害やメンテナンスなどでWebサイトが停止している時に表示されるページの事です。

ソーリーページがない場合。エラーが表示されます。
OCIの ロード・バランサ 経由でホストしたWebサービスが応答ない場合、502エラーが表示されます。

chrome-alldown.png

なお、このメッセージを編集する方法は現在(2021/12時点)ではありません。

想定構成

構成図-20211222_qiita_sorry.drawio.png

LB経由で、以下のメッセージがラウンドロビンで表示されます。

chrome-web1.png chrome-web2.png

サーバ2台ともダウンしている場合は、以下のメッセージを表示させます。

chrome.sorry.png

実現方法

ロード・バランサの バックアップ機能 を使います。

バックアップ機能とは、通常時はトラフィックは転送されないサーバを設定できます。
全てのバックエンド・サーバのヘルスチェックが失敗した場合にのみ、トラフィックが転送されます。

OCI技術資料 : ロード・バランサー 概要 バックエンドサーバー

実装方法

Webサーバの作成とロード・バランサの作成は割愛します。

ロードバランサの作成詳細手順は以下のスライド13~21ページを参照ください。
OCI技術資料 : ロード・バランサー 概要

1.Sorryサーバをバックエンドサーバに登録

ロード・バランサのバックエンド・セットの画面から「バックエンドの追加」を押下します。

バックエンド1.png

コンピュート・インスタンスで用意したsorryサーバを選択し、「追加」を押下します。

バックエンド2.png

2.Sorryサーバをバックアップ状態に変更

今のままだと、ラウンドロビンでSorryサーバも選択されてしまいます。

一覧からSorryサーバ選択後、「アクション」→「バックアップ状態の編集」を押下します。

バックエンド3.png

「True」にチェックを入れ、「変更の保存を押下」します。

バックエンド4.png

これで設定完了です。

バックエンド5.png

3.動作確認

Webサーバ1を停止(今回はWebサーバ1はApacheの停止を実施)

stop-web1.png

この時点ではWebサーバ2が生きているため、Sorryサーバに飛ばない事を確認。

chrome-web2.png

Webサーバ2を停止(ロード・バランサからオフラインを実施)

stop-web12.png

Sorryサーバに飛んだ事を確認。

chrome.sorry.png

まとめ

ロード・バランサのバックアップ機能を使用することで実現出来ます。
ただし、ソーリーページ用のサーバの用意が必要です。

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?