SIOS Tech. Lab
  • Azure
  • OSS
  • コンテナ
  • 認証
  • シリーズ
  • ホーム
  • クラウド
  • Azure

Application Gatewayのカスタムエラーページを構成する

2025-03-31

SHARE

  • ポスト
  • シェア
  • はてブ
  • LINE

こんにちは、伊藤です。今回は、Application Gatewayのカスタムエラーページを構成する手順を紹介します。

Application Gatewayではデフォルトのエラーページが用意されていますが、エラー番号とエラー内容が簡易に表示されるにとどまっています。そこで、カスタムエラーページを構成していきます。

目次
  • 1 Application Gatewayの作成
  • 2 ストレージアカウントの作成
  • 3 Application Gatewayのカスタムエラーページ設定
  • 4 ストレージアカウントのネットワーク設定
  • 5 まとめ

Application Gatewayの作成

Application Gatewayの解説は過去記事で紹介されているので、参考にしてみてください。
参考:https://tech-lab.sios.jp/archives/30628

Application Gatewayを作成します。今回は以下の設定とします。

基本

フロントエンド

バックエンド

構成

ルーティング規則(リスナー)

ルーティング規則(リスナー)ではカスタムエラーページを設定する項目があり、リスナーごとにカスタムエラーページを設定できます。今回は、Application Gateway全体(グローバルレベル)でカスタムエラーページを設定するため、ここでは未設定とします。

ルーティング規則(バックエンドターゲット)

Application Gatewayの作成後、概要のフロントエンドパブリックIPアドレスを確認し、アクセスします。バックエンドターゲットが存在しないのでエラーとなり、デフォルトのエラーページが表示されます。

ストレージアカウントの作成

カスタムエラーページを配置するストレージアカウントを作成します。今回は以下の設定とします。

基本情報

詳細

ネットワーク

データ保護

暗号化

ストレージアカウントの作成後、コンテナ―にてカスタムエラーページを配置します。

「errorpage」というコンテナーを匿名アクセスレベル「BLOB」で新規作成し、その中にhtmlファイル(502.html)を作成します。カスタムエラーページの条件は以下を参考にしてみてください。

参考:https://learn.microsoft.com/ja-jp/azure/application-gateway/custom-error

502.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>エラー 502 - 不正なゲートウェイ</title>
</head>
<body>
  <div class="error-container">
    <h1>エラー 502 - 不正なゲートウェイ</h1>
    <p>申し訳ありませんが、サーバーへの接続に問題が発生しました。</p>
  </div>
</body>
</html>

htmlファイルのプロパティを開いてURLを確認し、アクセスします。アクセスでき、エラーページが表示されることを確認します。

Application Gatewayのカスタムエラーページ設定

Azure PowerShell を使用して、カスタム エラー ページ(グローバルレベル)を設定します。

$appgw   = Get-AzApplicationGateway -Name testgw -ResourceGroupName <resource-group-name>

$updatedgateway = Add-AzApplicationGatewayCustomError -ApplicationGateway $appgw -StatusCode HttpStatus502 -CustomErrorPageUrl "https://testgwerrorpage.blob.core.windows.net/errorpage/502.html"

Set-AzApplicationGateway -ApplicationGateway $appgw

カスタムエラーページの確認は以下のコマンドを実行します。

$appgw   = Get-AzApplicationGateway -Name testgw -ResourceGroupName <resource-group-name>

$appgw.CustomErrorConfigurations

カスタムエラーページがすでに設定されており、設定変更したい場合は以下のコマンドを実行します。

$appgw   = Get-AzApplicationGateway -Name testgw -ResourceGroupName <resource-group-name>

$updatedgateway = Set-AzApplicationGatewayCustomError -ApplicationGateway $appgw -StatusCode HttpStatus502 -CustomErrorPageUrl "<errorpage-url>"

Set-AzApplicationGateway -ApplicationGateway $appgw

カスタムエラーページを削除する場合は、以下のコマンドを実行します。

$appgw   = Get-AzApplicationGateway -Name testgw -ResourceGroupName <resource-group-name>

$updatedgateway = Remove-AzApplicationGatewayCustomError -ApplicationGateway $appgw -StatusCode HttpStatus502

Set-AzApplicationGateway -ApplicationGateway $appgw

参考:https://learn.microsoft.com/ja-jp/powershell/module/az.network/?view=azps-13.3.0#application-gateway

カスタムエラーページの設定後に、Application Gatewayにアクセスします。カスタムエラーページが表示されることを確認します。

ストレージアカウントのネットワーク設定

ここまでのストレージアカウントは、全てのパブリックネットワークアドレスからアクセスが許可されています。そのため、Application Gatewayのサブネットとカスタムエラーページを管理するクライアントPCからのみアクセスできるようにします。

ストレージアカウントの「ネットワーク」を選択すると、パブリックアクセスの設定が表示されます。「Manage」を選択して設定を変更します。

「Enable from selected networks」を選択して特定のネットワークからのアクセスを許可し、許可するネットワークとしてApplication GatewayのサブネットとクライアントPCのIPアドレスを設定し、設定保存します。

アクセス許可されていないIPアドレスからカスタムエラーページのURLにアクセスできないことを確認します。

Application Gatewayのカスタムエラーページ設定を変更する場合は、Azure PowerShell からカスタムエラーページのURLにアクセスできず設定変更に失敗するため、再度全てのパブリックネットワークアドレスからのアクセスを許可してから設定する必要があります。そのため、次のカスタムエラーページ設定を変更せずエラーページの内容を変更する方法が望ましいです。

カスタムエラーページ設定を変更せずエラーページの内容を変更したい場合は、ストレージアカウントにあるhtmlファイルのプロパティから編集することができます。 編集後のhtmlを反映するためには、Application Gatewayで任意の構成更新を実行して、ファイルのキャッシュを手動で更新します。 例えば、新しいリスナーを追加します。

まとめ

今回は、Application Gatewayのカスタムエラーページを構成する手順を紹介しました。

Application Gatewayの設定の参考になれば幸いです。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
SHARE
  • ポスト
  • シェア
  • はてブ
  • LINE

CATEGORY :

  • Azure
  • フロントエンド

TAGS :

  • Azure Application Gateway
  • Azure Storage Account
  • The use of database in Cloud Native Application

    The use of database in Cloud Native Application

  • Application InsightsとAzure Container InstancesとSeleniumでWebシナリオ監視

    Application InsightsとAzure Container InstancesとSeleniumでWebシナリオ監視

  • Azure:IP ネットワーク制限をかけたストレージアカウントにアクセスする方法

    Azure:IP ネットワーク制限をかけたストレージアカウントにアクセスする方法

  • Shibboleth IdP+MFA Serverで多要素認証(MFA Serverインストール編)

    Shibboleth IdP+MFA Serverで多要素認証(MFA Serverインストール編)

  • Azure OpenAI Add your data 回答精度&連携ログ確認

    Azure OpenAI Add your data 回答精度&連携ログ確認

  • Azure File で Azure ADDS を利用した ID ベース認証

    Azure File で Azure ADDS を利用した ID ベース認証

この記事を書いた人
Sogo Ito

2024年新卒入社です。 主に文教SIでID管理・認証システムを担当しています。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

前の記事

Microsoft AI Tourレポート

次の記事

【重要なお知らせ】RAG スターターパック、Internet …
  • OSS
  • 認証
  • クラウド
  • コンテナ
  • 生成AI
  • トレンド
    • Web3
    • IoT
    • SBOM
  • その他
    • フロントエンド
    • バックエンド
    • データーベース
    • ミドルウェア
    • os
    • 監視
    • API
  • シリーズ
    • 世界一わかりみ深いシリーズ
    • 便利なコマンドシリーズ

Contact

  • About
  • ブラウザで購読する
  • 執筆依頼
  • カジュアル面談
  • お問い合わせ
  • エントリー
  • X
  • Facebook
  • YouTube
HOME
  • サイオステクノロジー株式会社

© 2025 SIOS Tech. Lab All rights reserved.