次の方法で共有


Azure Application Gateway を使用して Azure VMware Solution 上の Web アプリを保護する

Azure Application Gateway は、Azure VMware Solution v1.0 と v2.0 の両方で提供される Web アプリケーションへのトラフィックを管理できるレイヤー 7 Web トラフィック ロード バランサーです。 どちらのバージョンも、Azure VMware Solution で実行されている Web アプリでテストされています。

次の機能が含まれます。

  • Cookie ベースのセッション アフィニティ
  • URL ベースのルーティング
  • Web アプリケーション ファイアウォール (WAF)

機能の完全な一覧については、 Azure Application Gateway の機能に関するページを参照してください。

この記事では、Web サーバー ファームの前で Application Gateway を使用して、Azure VMware Solution で実行されている Web アプリを保護する方法について説明します。

トポロジ

この図は、Application Gateway を使用して、Azure IaaS 仮想マシン (VM)、Azure 仮想マシン スケール セット、またはオンプレミス サーバーを保護する方法を示しています。 Application Gateway は、Azure VMware Solution VM をオンプレミス サーバーとして扱います。

Application Gateway が Azure IaaS 仮想マシン (VM)、Azure Virtual Machine Scale Sets、またはオンプレミス サーバーを保護する方法を示す図。

Von Bedeutung

Azure Application Gateway は、Azure VMware Solution VM で実行されている Web アプリを公開する場合に推奨される方法です。

この図は、Azure VMware Solution Web アプリケーションで Application Gateway を検証するために使用されるテスト シナリオを示しています。

Azure VMware Solution Web アプリケーションで Application Gateway を検証するために使用されるテスト シナリオを示す図。

Application Gateway インスタンスは、Azure パブリック IP アドレスを持つ専用サブネット内のハブにデプロイされます。 仮想ネットワークの Azure DDoS Protection をアクティブ化することをお勧めします。 Web サーバーは、NSX T0 および T1 ゲートウェイの背後にある Azure VMware Solution プライベート クラウドでホストされます。 さらに、Azure VMware Solution は ExpressRoute Global Reach を使用して、ハブおよびオンプレミス システムとの通信を有効にします。

[前提条件]

  • アクティブなサブスクリプションを持つ Azure アカウント。
  • デプロイされて実行されている Azure VMware Solution プライベート クラウド。

デプロイと構成

  1. Azure portal で Application Gateway を検索し、[ アプリケーション ゲートウェイの作成] を選択します。

  2. 次の図のように、基本的な詳細を指定します。[ 次へ: フロントエンド>] を選択します。

    Azure portal の [アプリケーション ゲートウェイの作成] ページを示すスクリーンショット。

  3. フロントエンド IP アドレスの種類を選択します。 パブリックの場合は、既存のパブリック IP アドレスを選択するか、新しいパブリック IP アドレスを作成します。 [次へ: バックエンド>] を選択します。

    プライベート フロントエンドでは、Standard SKU と Web Application Firewall (WAF) SKU のみがサポートされます。

  4. Azure VMware Solution インフラストラクチャで実行される VM のバックエンド プールを追加します。 Azure VMware Solution プライベート クラウドで実行される Web サーバーの詳細を指定し、[ 追加] を選択します。 次に、[Next: 構成]>を選択します。

  5. [ 構成 ] タブで、[ ルーティング規則の追加] を選択します。

  6. [ リスナー ] タブで、リスナーの詳細を指定します。 HTTPS が選択されている場合は、PFX ファイルまたは既存の Azure Key Vault 証明書から証明書を指定する必要があります。

  7. [ バックエンド ターゲット ] タブを選択し、以前に作成したバックエンド プールを選択します。 [HTTP 設定] フィールドで、[新規追加] を選択します。

  8. HTTP 設定のパラメーターを構成します。 [] を選択し、[] を追加します。

  9. パスベースのルールを構成する場合は、[ 複数のターゲットを追加] を選択してパスベースのルールを作成します

  10. パスベースのルールを追加し、[ 追加] を選択します。 パスベースのルールをさらに追加するには、この手順を繰り返します。

  11. パスベースのルールの追加が完了したら、[ 追加] をもう一度選択し、[ 次へ: タグ> を選択します。

  12. タグを追加し、[ 次へ: 確認と作成>] を選択します。

  13. 検証は Application Gateway で実行されます。 成功した場合は、[ 作成 ] を選択してデプロイします。

構成の例

次のユース ケース用に、Azure VMware Solution VM をバックエンド プールとして Application Gateway を構成します。

複数のサイトをホストする

この手順では、既存のアプリケーション ゲートウェイ上の Azure VMware Solution プライベート クラウドで実行されている VM を使用してバックエンド アドレス プールを定義する方法を示します。

この手順では、複数のドメインがあることを前提としているため、 www.contoso.comwww.contoso2.comの例を使用します。

  1. プライベート クラウドで、2 つの異なる VM プールを作成します。 1 つは Contoso と 2 番目の contoso2 を表します。

    VMware vSphere Client での Web サーバーの詳細の概要を示すスクリーンショット。

    インターネット インフォメーション サービス (IIS) の役割がインストールされた Windows Server 2016 を使用しました。 VM がインストールされたら、次の PowerShell コマンドを実行して、各 VM で IIS を構成します。

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    
  2. 既存のアプリケーション ゲートウェイ インスタンスで、左側のメニューから [バックエンド プール ] を選択し、[ 追加] を選択して、新しいプールの詳細を入力します。 右側のウィンドウで [ 追加] を選択します。

    バックエンド プールを追加するための [バックエンド プール] ページのスクリーンショット。

  3. [リスナー] セクション 、Web サイトごとに新しいリスナーを作成します。 各リスナーの詳細を入力し、[ 追加] を選択します。

  4. 左側の [ HTTP 設定 ] を選択し、左側のウィンドウで [ 追加] を選択します。 詳細を入力して新しい HTTP 設定を作成し、[ 保存] を選択します。

    新しい HTTP 設定を作成するための [HTTP 設定] ページのスクリーンショット。

  5. 左側のメニューの [ ルール ] セクションでルールを作成します。 各ルールを対応するリスナーに関連付けます。 [] を選択し、[] を追加します。

  6. 対応するバックエンド プールと HTTP 設定を構成します。 [] を選択し、[] を追加します。

  7. 接続をテストします。 好みのブラウザーを開き、Azure VMware Solution 環境でホストされている別の Web サイトに移動します。

    接続のテストが成功したことを示すブラウザー ページのスクリーンショット。

URL によるルーティング

次の手順では、Azure VMware Solution プライベート クラウドで実行されている VM を使用してバックエンド アドレス プールを定義します。 プライベート クラウドは、既存のアプリケーション ゲートウェイ上にあります。 その後、Web トラフィックがプール内の適切なサーバーに確実に到着するようにルーティング規則を作成します。

  1. プライベート クラウドで、Web ファームを表す仮想マシン プールを作成します。

    別の VM の概要を示す VMware vSphere Client のページのスクリーンショット。

    IIS の役割がインストールされている Windows Server 2016 を使用して、このチュートリアルを説明しました。 VM がインストールされたら、次の PowerShell コマンドを実行して、各 VM の IIS チュートリアルを構成します。

    最初の仮想マシン contoso-web-01 は、メイン Web サイトをホストします。

    Install-WindowsFeature -Name Web-Server
    Add-Content -Path C:\inetpub\wwwroot\Default.htm -Value $($env:computername)
    

    2 つ目の仮想マシン contoso-web-02 は、イメージ サイトをホストします。

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "images" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\images\test.htm -Value $($env:computername)
    

    3 つ目の仮想マシン contoso-web-03 は、ビデオ サイトをホストします。

    Install-WindowsFeature -Name Web-Server
    New-Item -Path "C:\inetpub\wwwroot\" -Name "video" -ItemType "directory"
    Add-Content -Path C:\inetpub\wwwroot\video\test.htm -Value $($env:computername)
    
  2. 既存のアプリケーション ゲートウェイ インスタンスに 3 つの新しいバックエンド プールを追加します。

    1. 左側のメニューで [バックエンド プール] を選択します。
    2. [ 追加] を選択し、最初のプール contoso-web の詳細を入力します。
    3. ターゲットとして 1 つの VM を追加します。
    4. [] を選択し、[] を追加します。
    5. contoso-imagescontoso-video に対してこのプロセスを繰り返し、1 つの一意の VM をターゲットとして追加します。

    3 つの新しいバックエンド プールの追加を示す [バックエンド プール] ページのスクリーンショット。

  3. [ リスナー ] セクションで、ポート 8080 を使用して Basic 型の新しいリスナーを作成します。

  4. 左側のナビゲーションで、[ HTTP 設定 ] を選択し、左側のウィンドウで [ 追加] を選択します。 詳細を入力して新しい HTTP 設定を作成し、[ 保存] を選択します。

    HTTP 設定の構成を示す [HTTP 設定の追加] ページのスクリーンショット。

  5. 左側のメニューの [ルール ] セクションでルールを作成し、各ルールを以前に作成したリスナーに関連付けます。 次に、メイン バックエンド プールと HTTP 設定を構成し、[ 追加] を選択します。

    バックエンド ターゲットへのルーティング規則を構成するための [ルーティング規則の追加] ページのスクリーンショット。

  6. 構成をテストします。 Azure portal でアプリケーション ゲートウェイにアクセスし、[ 概要 ] セクションでパブリック IP アドレスをコピーします。

    1. 新しいブラウザー ウィンドウを開き、URL http://<app-gw-ip-address>:8080を入力します。

      構成のテストが成功したことを示すブラウザー ページのスクリーンショット。

    2. URL を http://<app-gw-ip-address>:8080/images/test.htm に変更します。

      新しい URL を使用した別の成功したテストのスクリーンショット。

    3. URL をもう一度 http://<app-gw-ip-address>:8080/video/test.htmに変更します。

      最終的な URL を含む成功したテストのスクリーンショット。

次のステップ

ここでは、Application Gateway を使用して Azure VMware Solution で実行されている Web アプリを保護する方法について説明しました。詳細については、以下を参照してください。