LoginSignup
8
1

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-12-22

はじめに

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

結論

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

ソーリーページとは?

障害やメンテナンスなどで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

まとめ

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

8
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
8
1