チュートリアル:Azure Portal を使用してパス ベースのルーティング規則のあるアプリケーション ゲートウェイを作成する

アプリケーション ゲートウェイを作成するときに、Azure Portal を使用して URL パス ベースのルーティング規則を構成できます。 このチュートリアルでは、仮想マシンを使用してバックエンド プールを作成します。 その後、Web トラフィックがプール内の適切なサーバーに確実に到着するようにルーティング規則を作成します。

この記事では、次のことについて説明します。

  • アプリケーション ゲートウェイの作成
  • バックエンド サーバー用の仮想マシンの作成
  • バックエンド サーバーでのバックエンド プールの作成
  • バックエンド リスナーの作成
  • パス ベースのルーティング規則の作成

Diagram of application gateway URL routing example.

注意

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、Azure PowerShell のインストールに関する記事を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

  • Azure サブスクリプション

仮想マシンを作成する

この例では、アプリケーション ゲートウェイのバックエンド サーバーとして使用する 3 つの仮想マシンを作成します。 また、IIS を仮想マシンにインストールして、アプリケーション ゲートウェイが想定どおりに動作することを確認します。

  1. Azure portal にサインインします。

  2. Azure portal で、 [リソースの作成] を選択します。

  3. [人気順] の一覧で [Windows Server 2016 Datacenter] を選択します。

  4. 次の仮想マシンの値を入力します。

    • [サブスクリプション] - ご使用のサブスクリプションを選択します。
    • [リソース グループ] : [新規作成] を選択し、「myResourceGroupAG」と入力します。
    • [仮想マシン名] : myVM1
    • [リージョン] : (米国) 米国東部
    • [ユーザー名] : ユーザー名を入力します
    • [パスワード] : パスワードを入力します
  5. [Next:Disks](次へ: ディスク) を選択します。

  6. [次へ:ネットワーク] を選択します。

  7. [仮想ネットワーク] で、 [新規作成] を選択し、次の仮想ネットワークの値を入力します。

    • myVNet - 仮想ネットワークの名前です。
    • 10.0.0.0/16 - 仮想ネットワークのアドレス空間です。
    • myBackendSubnet - 最初のサブネットの名前です。
    • 10.0.1.0/24 - サブネットのアドレス空間です。
    • myAGSubnet - 2 つ目のサブネットの名前です。
    • 10.0.0.0/24 - サブネットのアドレス空間です。
  8. [OK] を選択します。

  9. [サブネット] で、そのサブネットに対して myBackendSubnet が選択されていることを確認してから、 [次へ: 管理] を選択します。

  10. [無効] を選択して、ブート診断を無効にします。

  11. [Review + Create](確認と作成) を選択し、概要ページの設定を確認して、 [作成] を選択します。

  12. さらに 2 つの仮想マシン myVM2myVM3 を作成し、それらを MyVNnet 仮想ネットワークと myBackendSubnet サブネットに配置します。

IIS のインストール

  1. 対話型シェルを開いて、PowerShell に設定されていることを確認します。

    Install custom extension

  2. 次のコマンドを実行して、IIS を仮想マシンにインストールします。

         $publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1");  "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
    
        Set-AzVMExtension `
         -ResourceGroupName myResourceGroupAG `
         -Location eastus `
         -ExtensionName IIS `
         -VMName myVM1 `
         -Publisher Microsoft.Compute `
         -ExtensionType CustomScriptExtension `
         -TypeHandlerVersion 1.4 `
         -Settings $publicSettings
    
  3. 終了したばかりの手順を使用して、他の仮想マシンに IIS をインストールします。 Set-AzVMExtension の VMName 値には、myVM2myVM3 を使用します。

アプリケーション ゲートウェイの作成

  1. Azure portal の左側のメニューにある [リソースの作成] を選択します。

  2. [ネットワーク] を選択し、おすすめのリストで [Application Gateway] を選択します。

[基本] タブ

  1. [基本] タブで、次のアプリケーション ゲートウェイの設定に以下の値を入力します。

    • [サブスクリプション]:サブスクリプションを選択します。
    • [リソース グループ] :リソース グループには、myResourceGroupAG を選択します。
    • [アプリケーション ゲートウェイ名] : アプリケーション ゲートウェイの名前として「myAppGateway」と入力します。
    • [リージョン]:[米国東部] を選択します。
  2. [仮想ネットワークの構成] で、仮想ネットワークの名前として myVNet を選択します。

  3. サブネットには、myAGSubnet を選択します。

  4. 他の設定は既定値をそのまま使用し、 [次へ:フロントエンド] を選択します。

    Screenshot of Basics tab of Create application gateway page.

[フロントエンド] タブ

  1. [フロントエンド] タブで、 [フロントエンド IP アドレスの種類][パブリック] に設定されていることを確認します。

    Note

    Application Gateway v2 SKU では、 [パブリック] フロントエンド IP 構成のみを選択できます。 プライベート フロントエンド IP 構成は、この v2 SKU では現在有効になっていません。

  2. [パブリック IP アドレス] として [新規追加] を選択し、パブリック IP アドレス名として「myAGPublicIPAddress」と入力し、 [OK] を選択します。

  3. バックエンド を選択します。

[バックエンド] タブ

バックエンド プールは、要求を処理するバックエンド サーバーに要求をルーティングするために使用されます。 バックエンド プールは、NIC、仮想マシン スケール セット、パブリック IP、内部 IP、完全修飾ドメイン名 (FQDN)、および Azure App Service などのマルチテナント バックエンドで構成できます。

  1. [バックエンド] タブで、 [バックエンド プールの追加] を選択します。

  2. 開いた [バックエンド プールの追加] ウィンドウで、次の値を入力して空のバックエンド プールを作成します。

    • Name:バックエンド プールの名前として「myBackendPool」と入力します。
  3. [ターゲットの種類] の下のドロップダウン リストで [仮想マシン] を選択します。

  4. [ターゲット] で、 myVM1 のネットワーク インターフェイスを選択します。

  5. [追加] を選択します。

  6. 手順を繰り返し、myVM2 をターゲットとして指定した Images バックエンド プールと、myVM3 をターゲットとして指定した Video バックエンド プールを追加します。

  7. [追加] を選択してバックエンド プールの構成を保存し、 [バックエンド] タブに戻ります。

  8. [バックエンド] タブで、 [次へ:構成] を選択します。

[構成] タブ

[構成] タブで、ルーティング規則を使用して作成したフロントエンドとバックエンド プールを接続します。

  1. [ルーティング規則] 列で [ルーティング規則の追加] を選択します。

  2. 開いた [ルーティング規則の追加] ウィンドウで、 [規則名] に「myRoutingRule」と入力します。

  3. ルーティング規則にはリスナーが必要です。 [ルーティング規則の追加] ウィンドウ内の [リスナー] タブで、リスナーの次の値を入力します。

    • [リスナー名] :リスナーの名前として「myListener」と入力します。

    • [フロントエンド IP] : [パブリック] を選択して、フロントエンド用に作成したパブリック IP を選択します。

    • ポート:「8080」と入力します。

      [リスナー] タブで他の設定の既定値をそのまま使用し、 [バックエンド ターゲット] タブを選択して、ルーティング規則の残りの部分を構成します。

  4. [バックエンド ターゲット] タブで、 [バックエンド ターゲット][myBackendPool] を選択します。

  5. [HTTP 設定] には [新規追加] を選択して、新しい HTTP 設定を作成します。 HTTP 設定によって、ルーティング規則の動作が決まります。

  6. 開いた [HTTP 設定の追加] ウィンドウで、 [HTTP 設定名] として「myHTTPSetting」と入力します。 [HTTP 設定の追加] ウィンドウで他の設定の既定値をそのまま使用し、 [追加] を選択して [ルーティング規則の追加] ウィンドウに戻ります。

  7. [パスベースのルーティング] で、 [パスベースの規則を作成する複数のターゲットを追加します] を選択します。

  8. [パス] に、「/images/*」と入力します。

  9. [ターゲット名] に、「Images」と入力します。

  10. [HTTP 設定] で、 [myHTTPSetting] を選択します。

  11. [バックエンド ターゲット] で、 [Images] を選択します。

  12. [追加] を選択して、パスの規則を保存し、 [ルーティング規則の追加] タブに戻ります。

  13. 手順を繰り返し、Video 用の別の規則を追加します。

  14. [追加] を選択して、ルーティング規則を追加し、 [構成] タブに戻ります。

  15. タグ次へ:確認と作成 をクリックします。

Note

既定のケースを処理するために、カスタム / * パス規則を追加する必要はありません。 これは、既定のバックエンド プールによって自動的に処理されます。

Note

ワイルドカード区切り記号 * は、規則の末尾にのみ使用できます。 詳細およびサポートされているパス ベース規則の例については、「URL パス ペースのルーティングの概要」を参照してください。

[確認と作成] タブ

[確認と作成 ] タブの設定を確認し、 [作成] を選択して、仮想ネットワーク、パブリック IP アドレス、およびアプリケーションゲートウェイを作成します。 Azure によるアプリケーション ゲートウェイの作成には数分かかる場合があります。 次のセクションに進む前に、デプロイが正常に完了するまで待機します。

アプリケーション ゲートウェイのテスト

  1. [すべてのリソース] を選択し、myAppGateway を選択します。

    Record application gateway public IP address

  2. そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 http://52.188.72.175:8080. などです

    Test base URL in application gateway

    ポート 8080 のリスナーは、この要求を既定のバックエンド プールにルーティングします。

  3. URL を http://<ip-address>:8080/images/test.htm に変更します。<ip-address> は、myAppGateway のパブリック IP アドレスに置き換えてください。次の例のようになります。

    Test images URL in application gateway

    ポート 8080 のリスナーは、この要求を Images バックエンド プールにルーティングします。

  4. URL を http://<ip-address>:8080/video/test.htm に変更します。<ip-address> は、myAppGateway のパブリック IP アドレスに置き換えてください。次の例のようになります。

    Test video URL in application gateway

    ポート 8080 のリスナーは、この要求を Video バックエンド プールにルーティングします。

リソースをクリーンアップする

リソース グループおよび関連するすべてのリソースは、不要になったら削除します。 リソース グループを選択し、 [リソース グループの削除] を選択してください。

次のステップ

このチュートリアルでは、パスベースのルーティング規則を使用して Application Gateway を作成しました。

Application Gateway でのパスベースのルーティングの詳細については、URL パスベースのルーティングの概要に関するページを参照してください。

Azure CLI を使用して Web トラフィックスをリダイレクトする App Gateway を作成および構成する方法について確認するには、次のチュートリアルに進んでください。