チュートリアル:Azure Portal を使用してパス ベースのルーティング規則のあるアプリケーション ゲートウェイを作成する
アプリケーション ゲートウェイを作成するときに、Azure Portal を使用して URL パス ベースのルーティング規則を構成できます。 このチュートリアルでは、仮想マシンを使用してバックエンド プールを作成します。 その後、Web トラフィックがプール内の適切なサーバーに確実に到着するようにルーティング規則を作成します。
この記事では、次のことについて説明します。
- アプリケーション ゲートウェイの作成
- バックエンド サーバー用の仮想マシンの作成
- バックエンド サーバーでのバックエンド プールの作成
- バックエンド リスナーの作成
- パス ベースのルーティング規則の作成
Note
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
- Azure サブスクリプション
仮想マシンを作成する
この例では、アプリケーション ゲートウェイのバックエンド サーバーとして使用する 3 つの仮想マシンを作成します。 また、IIS を仮想マシンにインストールして、アプリケーション ゲートウェイが想定どおりに動作することを確認します。
Azure portal にサインインします。
Azure portal で、 [リソースの作成] を選択します。
[人気順] の一覧で [Windows Server 2016 Datacenter] を選択します。
次の仮想マシンの値を入力します。
- [サブスクリプション] - ご使用のサブスクリプションを選択します。
- [リソース グループ] : [新規作成] を選択し、「myResourceGroupAG」と入力します。
- [仮想マシン名] : myVM1
- [リージョン] : (米国) 米国東部
- [ユーザー名] : ユーザー名を入力します
- [パスワード] : パスワードを入力します
[Next:Disks](次へ: ディスク) を選択します。
[次へ:ネットワーク] を選択します。
[仮想ネットワーク] で、 [新規作成] を選択し、次の仮想ネットワークの値を入力します。
- myVNet - 仮想ネットワークの名前です。
- 10.0.0.0/16 - 仮想ネットワークのアドレス空間です。
- myBackendSubnet - 最初のサブネットの名前です。
- 10.0.1.0/24 - サブネットのアドレス空間です。
- myAGSubnet - 2 つ目のサブネットの名前です。
- 10.0.0.0/24 - サブネットのアドレス空間です。
[OK] を選択します。
[サブネット] で、そのサブネットに対して myBackendSubnet が選択されていることを確認してから、 [次へ: 管理] を選択します。
[無効] を選択して、ブート診断を無効にします。
[Review + Create](確認と作成) を選択し、概要ページの設定を確認して、 [作成] を選択します。
さらに 2 つの仮想マシン myVM2 と myVM3 を作成し、それらを MyVNnet 仮想ネットワークと myBackendSubnet サブネットに配置します。
IIS のインストール
対話型シェルを開いて、PowerShell に設定されていることを確認します。
次のコマンドを実行して、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
終了したばかりの手順を使用して、他の仮想マシンに IIS をインストールします。 Set-AzVMExtension の VMName 値には、myVM2 と myVM3 を使用します。
アプリケーション ゲートウェイの作成
Azure portal の左側のメニューにある [リソースの作成] を選択します。
[ネットワーク] を選択し、おすすめのリストで [Application Gateway] を選択します。
[基本] タブ
[基本] タブで、次のアプリケーション ゲートウェイの設定に以下の値を入力します。
- [サブスクリプション]:サブスクリプションを選択します。
- [リソース グループ] :リソース グループには、myResourceGroupAG を選択します。
- [アプリケーション ゲートウェイ名] : アプリケーション ゲートウェイの名前として「myAppGateway」と入力します。
- [リージョン]:[米国東部] を選択します。
[仮想ネットワークの構成] で、仮想ネットワークの名前として myVNet を選択します。
サブネットには、myAGSubnet を選択します。
他の設定は既定値をそのまま使用し、 [次へ:フロントエンド] を選択します。
[フロントエンド] タブ
[フロントエンド] タブで、 [フロントエンド IP アドレスの種類] が [パブリック] に設定されていることを確認します。
Note
Application Gateway v2 SKU では、 [パブリック] フロントエンド IP 構成のみを選択できます。 プライベート フロントエンド IP 構成は、この v2 SKU では現在有効になっていません。
[パブリック IP アドレス] として [新規追加] を選択し、パブリック IP アドレス名として「myAGPublicIPAddress」と入力し、 [OK] を選択します。
バックエンド を選択します。
[バックエンド] タブ
バックエンド プールは、要求を処理するバックエンド サーバーに要求をルーティングするために使用されます。 バックエンド プールは、NIC、仮想マシン スケール セット、パブリック IP、内部 IP、完全修飾ドメイン名 (FQDN)、および Azure App Service などのマルチテナント バックエンドで構成できます。
[バックエンド] タブで、 [バックエンド プールの追加] を選択します。
開いた [バックエンド プールの追加] ウィンドウで、次の値を入力して空のバックエンド プールを作成します。
- Name:バックエンド プールの名前として「myBackendPool」と入力します。
[ターゲットの種類] の下のドロップダウン リストで [仮想マシン] を選択します。
[ターゲット] で、 myVM1 のネットワーク インターフェイスを選択します。
[追加] を選択します。
手順を繰り返し、myVM2 をターゲットとして指定した Images バックエンド プールと、myVM3 をターゲットとして指定した Video バックエンド プールを追加します。
[追加] を選択してバックエンド プールの構成を保存し、 [バックエンド] タブに戻ります。
[バックエンド] タブで、 [次へ:構成] を選択します。
[構成] タブ
[構成] タブで、ルーティング規則を使用して作成したフロントエンドとバックエンド プールを接続します。
[ルーティング規則] 列で [ルーティング規則の追加] を選択します。
開いた [ルーティング規則の追加] ウィンドウで、 [規則名] に「myRoutingRule」と入力します。
ルーティング規則にはリスナーが必要です。 [ルーティング規則の追加] ウィンドウ内の [リスナー] タブで、リスナーの次の値を入力します。
[リスナー名] :リスナーの名前として「myListener」と入力します。
[フロントエンド IP] : [パブリック] を選択して、フロントエンド用に作成したパブリック IP を選択します。
ポート:「8080」と入力します。
[リスナー] タブで他の設定の既定値をそのまま使用し、 [バックエンド ターゲット] タブを選択して、ルーティング規則の残りの部分を構成します。
[バックエンド ターゲット] タブで、 [バックエンド ターゲット] の [myBackendPool] を選択します。
[HTTP 設定] には [新規追加] を選択して、新しい HTTP 設定を作成します。 HTTP 設定によって、ルーティング規則の動作が決まります。
開いた [HTTP 設定の追加] ウィンドウで、 [HTTP 設定名] として「myHTTPSetting」と入力します。 [HTTP 設定の追加] ウィンドウで他の設定の既定値をそのまま使用し、 [追加] を選択して [ルーティング規則の追加] ウィンドウに戻ります。
[パスベースのルーティング] で、 [パスベースの規則を作成する複数のターゲットを追加します] を選択します。
[パス] に、「/images/*」と入力します。
[ターゲット名] に、「Images」と入力します。
[HTTP 設定] で、 [myHTTPSetting] を選択します。
[バックエンド ターゲット] で、 [Images] を選択します。
[追加] を選択して、パスの規則を保存し、 [ルーティング規則の追加] タブに戻ります。
手順を繰り返し、Video 用の別の規則を追加します。
[追加] を選択して、ルーティング規則を追加し、 [構成] タブに戻ります。
タグ、次へ:確認と作成 をクリックします。
Note
既定のケースを処理するために、カスタム / * パス規則を追加する必要はありません。 これは、既定のバックエンド プールによって自動的に処理されます。
Note
ワイルドカード区切り記号 * は、規則の末尾にのみ使用できます。 詳細およびサポートされているパス ベース規則の例については、「URL パス ペースのルーティングの概要」を参照してください。
[確認と作成] タブ
[確認と作成 ] タブの設定を確認し、 [作成] を選択して、仮想ネットワーク、パブリック IP アドレス、およびアプリケーションゲートウェイを作成します。 Azure によるアプリケーション ゲートウェイの作成には数分かかる場合があります。 次のセクションに進む前に、デプロイが正常に完了するまで待機します。
アプリケーション ゲートウェイのテスト
[すべてのリソース] を選択し、myAppGateway を選択します。
そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。 http://52.188.72.175:8080. などです
ポート 8080 のリスナーは、この要求を既定のバックエンド プールにルーティングします。
URL を http://<ip-address>:8080/images/test.htm に変更します。<ip-address> は、myAppGateway のパブリック IP アドレスに置き換えてください。次の例のようになります。
ポート 8080 のリスナーは、この要求を Images バックエンド プールにルーティングします。
URL を http://<ip-address>:8080/video/test.htm に変更します。<ip-address> は、myAppGateway のパブリック IP アドレスに置き換えてください。次の例のようになります。
ポート 8080 のリスナーは、この要求を Video バックエンド プールにルーティングします。
リソースをクリーンアップする
リソース グループおよび関連するすべてのリソースは、不要になったら削除します。 リソース グループを選択し、 [リソース グループの削除] を選択してください。
次のステップ
このチュートリアルでは、パスベースのルーティング規則を使用して Application Gateway を作成しました。
Application Gateway でのパスベースのルーティングの詳細については、URL パスベースのルーティングの概要に関するページを参照してください。
Azure CLI を使用して Web トラフィックスをリダイレクトする App Gateway を作成および構成する方法について確認するには、次のチュートリアルに進んでください。