Azure Application Gatewayのカスタムエラーページ設定手順
Azure Application Gateway(アプリケーションゲートウェイ)のカスタムエラーページの設定手順です。
Application Gatewayでは、ユーザーが準備したカスタムエラーページを表示させることができます。
リスナーにカスタムエラーページを設定することで、ユーザー作成のエラーページを表示することが可能です。
カスタムエラーページは、URL(BLOB コンテナーなど)を指定して設定します。
バックエンドとの疎通が取れない場合は502エラーが発生しますが、何も設定していない場合はデフォルトのエラーページが表示されます。
システムメンテナンスなどでバックエンドのWebサーバーを停止する際には、デフォルトの502エラーページが表示されます。
メンテナンス案内のHTMLをカスタムエラーページとして設定することで、デフォルトのエラーページではなく、メンテナンス案内を表示することができます。
BLOB コンテナーにアップロードしたHTMLファイルを、Application Gatewayのカスタムエラーページとして表示させる手順について確認しました。
また、Azure PowerShellを使用してカスタムエラーページの設定を更新する手順も確認しています。
※本記事では、一部を除きAzure Application Gateway(アプリケーションゲートウェイ)を、Application Gatewayとして表記しています。
Azure Application Gatewayのエラーページについて
デフォルトで表示されるApplication Gatewayのエラーページ
Application Gatewayでは、バックエンドとの疎通が取れない場合、デフォルトの502エラーページが表示されます。
502エラーの場合 | |
502エラーの場合のデフォルトエラー画面です。 |
![]() |
カスタムエラーページはリスナーで設定
Application Gatewayのカスタムエラーページは、リスナーで設定します。
Application Gateway のカスタム エラー ページを作成する
403エラーや502エラーの場合に設定が可能で、リスナー単位で設定できます。
カスタムエラーページの設定画面 | |
カスタムエラーページの設定箇所です。
|
![]() |
—広告—
Azure Application Gatewayのカスタムエラーページ設定手順
Application Gatewayのカスタムエラーページは、URLを指定して設定します。
今回は、BLOB コンテナーにアップロードしたファイルをURLとして指定します。
カスタムエラーページ用のHTMLをBLOB コンテナーにアップロード
BLOB コンテナーにカスタムエラーページ用のHTMLファイルをアップロードします。
ストレージアカウントのBLOB コンテナーを使用する場合、パブリックアクセスが許可されている必要があります。
BLOB コンテナーへカスタムエラーページ用のHTMLファイルをアップロード | ||
テスト用のHTMLファイルを準備します。 サンプルのHTMLをcustom-error.htmlとして保存します。 |
|
|
BLOB コンテナーでファイルをアップロードします。 | ![]() |
|
アップロードしたファイルのプロパティを選択します。 | ![]() |
|
プロパティ内のURLをコピーしておきます。 カスタムエラーページ設定時に指定するURLになります。 |
![]() |
※ストレージアカウントやBLOB コンテナーは準備済みのものを利用しています。
リスナーにカスタムエラーページを設定
Application Gatewayのリスナーに、カスタムエラーページを設定します。
リスナーのカスタムエラーページ設定 | |
リスナーの設定画面です。 エラーページのURLを”はい”にします。 BLOB コンテナーにアップロードしたファイルのURLを入力し保存します。 |
![]() |
※URLにアクセスできない場合、エラーとなり設定が保存できません。
カスタムエラーページの表示確認
カスタムエラーページが正しく表示されるかを確認します。
Application GatewayのIP(もしくはURL)にアクセスします。カスタムエラーページが表示されることを確認できます。
バックエンドのWEBサーバを停止した状態(502エラーが表示される状態)で確認を行います。
カスタムエラーページの表示確認 | |
カスタムエラーページが表示されることを確認できました。 | ![]() |
—広告—
Azure PowerShellを使ったカスタムエラーページの更新手順
リスナーのカスタムエラーページ更新にはSet-AzApplicationGatewayHttpListenerCustomErrorを使う
Azure PowerShellを使用したカスタムエラーページの更新は、リスナー設定の更新とApplication Gatewayの設定更新の2段階で実施します。
-
- Set-AzApplicationGatewayHttpListenerCustomError
- リスナーのエラーページを更新
- Set-AzApplicationGateway
- Application Gatewayの設定を更新
- Set-AzApplicationGatewayHttpListenerCustomError
502エラーのページを更新する場合、ステータスコードは"HttpStatus502″と指定します。
# パラメーター
$ResourceGroupName = “Application GatewayのRG名" # カスタムエラーページを更新 |
PowerShell使ってカスタムエラーページを更新した後の設定確認
Azure PowerShellを使用して502カスタムエラーページを更新します。
カスタムエラーページはcustom-error_powershell.htmlとしてBLOB コンテナーにアップロードしています。
Application GatewayのIP(もしくはURL)にアクセスします。
カスタムエラーページが更新されていることを確認できます。
カスタムエラーページの更新確認 | |
Application Gatewayのリスナー設定を確認します。 502エラーのURLが更新され、custom-error_powershell.htmlになっていることが確認できます。 |
![]() |
更新したカスタムエラーページが表示されている事を確認できます。 | ![]() |
カスタムエラーページのファイルだけを更新しても反映されない
Application Gatewayの設定を変更せずに、カスタムエラーページで指定しているファイルを更新しただけでは、変更が反映されません。
これは、Application Gatewayがキャッシュを保持しているため、ファイルを更新してもその内容が反映されないためです。
最後に
Application Gatewayでカスタムエラーページの設定から更新までを確認してみました。
PowerShellを使用したエラーページを更新する手順も確認してみました。
カスタムエラーページを使うことで、サイトメンテナンスの表示などに活用できそうです。
引き続き、いろいろ試してみたいと思います。
Application Gatewayの概要からリソース作成手順については、こちらで紹介しています。
Application Gatewayのバックエンド正常性確認や監視設定手順については、こちらで紹介しています。
Application GatewayのWAF関連の設定方法については、こちらで紹介しています。
Application Gatewayの起動停止方法については、こちらで紹介しています。