チュートリアル:Azure portal を使用して TLS ターミネーションでアプリケーション ゲートウェイを構成するTutorial: Configure an application gateway with TLS termination using the Azure portal

Azure portal を使用して、バックエンド サーバーに仮想マシンを使用する TLS ターミネーションの証明書で、アプリケーション ゲートウェイを構成することができます。You can use the Azure portal to configure an application gateway with a certificate for TLS termination that uses virtual machines for backend servers.

このチュートリアルでは、以下の内容を学習します。In this tutorial, you learn how to:

  • 自己署名証明書の作成Create a self-signed certificate
  • 証明書でのアプリケーション ゲートウェイの作成Create an application gateway with the certificate
  • バックエンド サーバーとして使用される仮想マシンの作成Create the virtual machines used as backend servers
  • アプリケーション ゲートウェイのテストTest the application gateway

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

Azure へのサインインSign in to Azure

Azure Portal (https://portal.azure.com) にサインインします。Sign in to the Azure portal at https://portal.azure.com

自己署名証明書の作成Create a self-signed certificate

このセクションでは、New-SelfSignedCertificate を使用して、自己署名証明書を作成します。In this section, you use New-SelfSignedCertificate to create a self-signed certificate. アプリケーション ゲートウェイのリスナーを作成するときに、証明書を Azure portal にアップロードします。You upload the certificate to the Azure portal when you create the listener for the application gateway.

ローカル コンピューターでは、管理者として Windows PowerShell ウィンドウを開きます。On your local computer, open a Windows PowerShell window as an administrator. 次のコマンドを実行して、証明書を作成します。Run the following command to create the certificate:

New-SelfSignedCertificate `
  -certstorelocation cert:\localmachine\my `
  -dnsname www.contoso.com

次のような応答が表示されます。You should see something like this response:

PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint                                Subject
----------                                -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630  CN=www.contoso.com

Export-PfxCertificate と返されたサムプリントを使用して、pfx ファイルを証明書からエクスポートします。Use Export-PfxCertificate with the Thumbprint that was returned to export a pfx file from the certificate. パスワードの長さが 4 - 12 文字であることを確認してください。Make sure your password is 4 - 12 characters long:

$pwd = ConvertTo-SecureString -String <your password> -Force -AsPlainText
Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

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

  1. Azure portal の左側のメニューにある [リソースの作成] を選択します。Select Create a resource on the left menu of the Azure portal. [新規作成] ウィンドウが表示されます。The New window appears.

  2. [ネットワーク] を選択し、おすすめのリストで [Application Gateway] を選択します。Select Networking and then select Application Gateway in the Featured list.

[基本] タブBasics tab

  1. [基本] タブで、次のアプリケーション ゲートウェイの設定に以下の値を入力します。On the Basics tab, enter these values for the following application gateway settings:

    • [リソース グループ] :リソース グループには、myResourceGroupAG を選択します。Resource group: Select myResourceGroupAG for the resource group. 存在しない場合は、 [新規作成] を選択して作成します。If it doesn't exist, select Create new to create it.

    • [アプリケーション ゲートウェイ名] :アプリケーション ゲートウェイの名前として「myAppGateway」と入力します。Application gateway name: Enter myAppGateway for the name of the application gateway.

      新しいアプリケーション ゲートウェイの作成:基本

  2. お客様が作成するリソースの間で Azure による通信が行われるには、仮想ネットワークが必要です。For Azure to communicate between the resources that you create, it needs a virtual network. 新しい仮想ネットワークを作成することも、既存の仮想ネットワークを使用することもできます。You can either create a new virtual network or use an existing one. この例では、アプリケーション ゲートウェイの作成と同時に新しい仮想ネットワークを作成します。In this example, you'll create a new virtual network at the same time that you create the application gateway. Application Gateway インスタンスは、個別のサブネットに作成されます。Application Gateway instances are created in separate subnets. この例では 2 つのサブネットを作成します。1 つはアプリケーション ゲートウェイ用で、もう 1 つはバックエンド サーバー用です。You create two subnets in this example: one for the application gateway, and another for the backend servers.

    [仮想ネットワークの構成] で、 [新規作成] を選択して新しい仮想ネットワークを作成します。Under Configure virtual network, create a new virtual network by selecting Create new. [仮想ネットワークの作成] ウィンドウが開いたら、次の値を入力して、仮想ネットワークと 2 つのサブネットを作成します。In the Create virtual network window that opens, enter the following values to create the virtual network and two subnets:

    • Name:仮想ネットワークの名前として「myVNet」と入力します。Name: Enter myVNet for the name of the virtual network.

    • [サブネット名] (Application Gateway サブネット): [サブネット] グリッドには、 [既定] という名前のサブネットが表示されます。Subnet name (Application Gateway subnet): The Subnets grid will show a subnet named Default. このサブネットの名前を myAGSubnet に変更します。Change the name of this subnet to myAGSubnet.
      アプリケーション ゲートウェイ サブネットには、アプリケーション ゲートウェイのみを含めることができます。The application gateway subnet can contain only application gateways. その他のリソースは許可されません。No other resources are allowed.

    • [サブネット名] (バックエンド サーバー サブネット): [サブネット] グリッドの 2 行目で、 [サブネット名] 列に「myBackendSubnet」と入力します。Subnet name (backend server subnet): In the second row of the Subnets grid, enter myBackendSubnet in the Subnet name column.

    • [アドレス範囲] (バックエンド サーバー サブネット): [サブネット] グリッドの 2 行目に、myAGSubnet のアドレス範囲と重複しないアドレス範囲を入力します。Address range (backend server subnet): In the second row of the Subnets Grid, enter an address range that doesn't overlap with the address range of myAGSubnet. たとえば、myAGSubnet のアドレス範囲が 10.0.0.0/24 の場合は、myBackendSubnet のアドレス範囲として「10.0.1.0/24」と入力します。For example, if the address range of myAGSubnet is 10.0.0.0/24, enter 10.0.1.0/24 for the address range of myBackendSubnet.

    [OK] を選択して [仮想ネットワークの作成] ウィンドウを閉じ、仮想ネットワークの設定を保存します。Select OK to close the Create virtual network window and save the virtual network settings.

    新しいアプリケーションゲートウェイの作成: 仮想ネットワーク

  3. [基本] タブで、その他の設定の既定値をそのまま使用し、 [次へ:フロントエンド] を選択します。On the Basics tab, accept the default values for the other settings and then select Next: Frontends.

[フロントエンド] タブFrontends tab

  1. [フロントエンド] タブで、 [フロントエンド IP アドレスの種類][パブリック] に設定されていることを確認します。On the Frontends tab, verify Frontend IP address type is set to Public.
    ユース ケースに従って、フロントエンド IP を [パブリック] または [プライベート] に設定できます。You can configure the Frontend IP to be Public or Private as per your use case. この例では、パブリック フロントエンド IP を選択します。In this example, you'll choose a Public Frontend IP.

    注意

    Application Gateway v2 SKU では、 [パブリック] フロントエンド IP 構成のみを選択できます。For the Application Gateway v2 SKU, you can only choose Public frontend IP configuration. プライベート フロントエンド IP 構成は、この v2 SKU では現在有効になっていません。Private frontend IP configuration is currently not enabled for this v2 SKU.

  2. [パブリック IP アドレス] として [新規作成] を選択し、パブリック IP アドレス名として「myAGPublicIPAddress」と入力し、 [OK] を選択します。Choose Create new for the Public IP address and enter myAGPublicIPAddress for the public IP address name, and then select OK.

    新しいアプリケーション ゲートウェイの作成: フロントエンド

  3. バックエンド を選択します。Select Next: Backends.

[バックエンド] タブBackends tab

バックエンド プールは、要求を処理するバックエンド サーバーに要求をルーティングするために使用されます。The backend pool is used to route requests to the backend servers that serve the request. バックエンド プールは、NIC、仮想マシン スケール セット、パブリック IP、内部 IP、完全修飾ドメイン名 (FQDN)、および Azure App Service などのマルチテナント バックエンドで構成できます。Backend pools can be composed of NICs, virtual machine scale sets, public IPs, internal IPs, fully qualified domain names (FQDN), and multi-tenant back-ends like Azure App Service. この例では、アプリケーション ゲートウェイを使用して空のバックエンド プールを作成し、バックエンド ターゲットをバックエンド プールに追加します。In this example, you'll create an empty backend pool with your application gateway and then add backend targets to the backend pool.

  1. [バックエンド] タブで、 [+ バックエンド プールの追加] を選択します。On the Backends tab, select +Add a backend pool.

  2. 開いた [バックエンド プールの追加] ウィンドウで、次の値を入力して空のバックエンド プールを作成します。In the Add a backend pool window that opens, enter the following values to create an empty backend pool:

    • Name:バックエンド プールの名前として「myBackendPool」と入力します。Name: Enter myBackendPool for the name of the backend pool.
    • [ターゲットを持たないバックエンド プールを追加します] : [はい] を選択して、ターゲットを持たないバックエンド プールを作成します。Add backend pool without targets: Select Yes to create a backend pool with no targets. アプリケーション ゲートウェイを作成した後で、バックエンド ターゲットを追加します。You'll add backend targets after creating the application gateway.
  3. [バックエンド プールの追加] ウィンドウで、 [追加] を選択してバックエンド プールの構成を保存し、 [バックエンド] タブに戻ります。In the Add a backend pool window, select Add to save the backend pool configuration and return to the Backends tab.

    新しいアプリケーション ゲートウェイの作成: バックエンド

  4. [バックエンド] タブで、 [次へ:構成] を選択します。On the Backends tab, select Next: Configuration.

[構成] タブConfiguration tab

[構成] タブで、ルーティング規則を使用して作成したフロントエンドとバックエンド プールを接続します。On the Configuration tab, you'll connect the frontend and backend pool you created using a routing rule.

  1. [ルーティング規則] 列で [規則を追加する] を選択します。Select Add a rule in the Routing rules column.

  2. 開いた [ルーティング規則の追加] ウィンドウで、 [規則名] に「myRoutingRule」と入力します。In the Add a routing rule window that opens, enter myRoutingRule for the Rule name.

  3. ルーティング規則にはリスナーが必要です。A routing rule requires a listener. [ルーティング規則の追加] ウィンドウ内の [リスナー] タブで、リスナーの次の値を入力します。On the Listener tab within the Add a routing rule window, enter the following values for the listener:

    • [リスナー名] :リスナーの名前として「myListener」と入力します。Listener name: Enter myListener for the name of the listener.
    • [フロントエンド IP] : [パブリック] を選択して、フロントエンド用に作成したパブリック IP を選択します。Frontend IP: Select Public to choose the public IP you created for the frontend.
    • プロトコル: [HTTPS] を選択します。Protocol: Select HTTPS.
    • ポート:ポートに対して 443 が入力されていることを確認します。Port: Verify 443 is entered for the port.

    [HTTPS 証明書] で以下の操作を行います。Under HTTPS Certificate:

    • [PFX 証明書ファイル] - 前に作成した c:\appgwcert.pfx ファイルを参照して選択します。PFX certificate file - Browse to and select the c:\appgwcert.pfx file that you create earlier.

    • [証明書名] - 証明書の名前として「mycert1」と入力します。Certificate name - Type mycert1 for the name of the certificate.

    • [パスワード] - 自分のパスワードを入力します。Password - Type your password.

      [リスナー] タブで他の設定の既定値をそのまま使用し、 [バックエンド ターゲット] タブを選択して、ルーティング規則の残りの部分を構成します。Accept the default values for the other settings on the Listener tab, then select the Backend targets tab to configure the rest of the routing rule.

    新しいアプリケーション ゲートウェイの作成: リスナー

  4. [バックエンド ターゲット] タブで、 [バックエンド ターゲット][myBackendPool] を選択します。On the Backend targets tab, select myBackendPool for the Backend target.

  5. [HTTP 設定] には [新規作成] を選択して新しい HTTP 設定を作成します。For the HTTP setting, select Create new to create a new HTTP setting. HTTP 設定によって、ルーティング規則の動作が決まります。The HTTP setting will determine the behavior of the routing rule. 開いた [HTTP 設定の追加] ウィンドウで、 [HTTP 設定名] として「myHTTPSetting」と入力します。In the Add an HTTP setting window that opens, enter myHTTPSetting for the HTTP setting name. [HTTP 設定の追加] ウィンドウで他の設定の既定値をそのまま使用し、 [追加] を選択して [ルーティング規則の追加] ウィンドウに戻ります。Accept the default values for the other settings in the Add an HTTP setting window, then select Add to return to the Add a routing rule window.

    新しいアプリケーション ゲートウェイの作成:HTTP 設定

  6. [ルーティング規則の追加] ウィンドウで [追加] を選択してルーティング規則を保存し、 [構成] タブに戻ります。On the Add a routing rule window, select Add to save the routing rule and return to the Configuration tab.

    新しいアプリケーションゲートウェイの作成: ルーティング規則

  7. タグ次へ:確認と作成 をクリックします。Select Next: Tags and then Next: Review + create.

[確認と作成] タブReview + create tab

[確認と作成 ] タブの設定を確認し、 [作成] を選択して、仮想ネットワーク、パブリック IP アドレス、およびアプリケーションゲートウェイを作成します。Review the settings on the Review + create tab, and then select Create to create the virtual network, the public IP address, and the application gateway. Azure によるアプリケーション ゲートウェイの作成には数分かかる場合があります。It may take several minutes for Azure to create the application gateway. 次のセクションに進む前に、デプロイが正常に完了するまで待機します。Wait until the deployment finishes successfully before moving on to the next section.

バックエンド ターゲットの追加Add backend targets

この例では、ターゲットのバックエンドとして仮想マシンを使用します。In this example, you'll use virtual machines as the target backend. 既存の仮想マシンを使用することも、新しい仮想マシンを作成することもできます。You can either use existing virtual machines or create new ones. Azure がアプリケーション ゲートウェイのバックエンド サーバーとして使用する 2 つの仮想マシンを作成します。You'll create two virtual machines that Azure uses as backend servers for the application gateway.

これを行うには、次を実行します。To do this, you'll:

  1. バックエンド サーバーとして使用される 2 つの新しい VM (myVMmyVM2) を作成します。Create two new VMs, myVM and myVM2, to be used as backend servers.
  2. IIS を仮想マシンにインストールして、アプリケーション ゲートウェイが正常に作成されたことを確認します。Install IIS on the virtual machines to verify that the application gateway was created successfully.
  3. バックエンド サーバーをバックエンド プールに追加します。Add the backend servers to the backend pool.

仮想マシンの作成Create a virtual machine

  1. Azure portal で、 [リソースの作成] を選択します。On the Azure portal, select Create a resource. [新規作成] ウィンドウが表示されます。The New window appears.

  2. [人気順] の一覧で [Windows Server 2016 Datacenter] を選択します。Select Windows Server 2016 Datacenter in the Popular list. [仮想マシンの作成] ページが表示されます。The Create a virtual machine page appears.

    Application Gateway は、バックエンド プールで使用されているあらゆる種類の仮想マシンにトラフィックをルートできます。Application Gateway can route traffic to any type of virtual machine used in its backend pool. この例では、Windows Server 2016 Datacenter を使用します。In this example, you use a Windows Server 2016 Datacenter.

  3. [基本] タブで、次の仮想マシンの設定に以下の値を入力します。Enter these values in the Basics tab for the following virtual machine settings:

    • [リソース グループ] :リソース グループ名には、myResourceGroupAG を選択します。Resource group: Select myResourceGroupAG for the resource group name.
    • [仮想マシン名] : 仮想マシンの名前として「myVM」と入力します。Virtual machine name: Enter myVM for the name of the virtual machine.
    • [ユーザー名] : 管理者のユーザー名として「azureuser」と入力します。Username: Enter azureuser for the administrator user name.
    • パスワード:管理者アカウントのパスワードを入力します。Password: Enter a password for the administrator account.
  4. 他の既定値をそのまま使用し、 [Next: ディスク] を選択します。Accept the other defaults and then select Next: Disks.

  5. [ディスク] タブの既定値をそのまま使用し、 [Next: Networking](次へ : ネットワーク) を選択します。Accept the Disks tab defaults and then select Next: Networking.

  6. [ネットワーク] タブで、 [仮想ネットワーク]myVNet が選択されていること、および [サブネット]myBackendSubnet に設定されていることを確認します。On the Networking tab, verify that myVNet is selected for the Virtual network and the Subnet is set to myBackendSubnet. 他の既定値をそのまま使用し、 [Next: 管理] を選択します。Accept the other defaults and then select Next: Management.

    Application Gateway は、それが存在している仮想ネットワークの外部にあるインスタンスと通信できますが、IP 接続があることを確認する必要があります。Application Gateway can communicate with instances outside of the virtual network that it is in, but you need to ensure there's IP connectivity.

  7. [管理] タブで、 [ブート診断][オフ] に設定します。On the Management tab, set Boot diagnostics to Off. 他の既定値をそのまま使用し、 [確認および作成] を選択します。Accept the other defaults and then select Review + create.

  8. [確認および作成] タブで、設定を確認し、検証エラーを修正してから、 [作成] を選択します。On the Review + create tab, review the settings, correct any validation errors, and then select Create.

  9. 続行する前に、デプロイが完了するまで待ちます。Wait for the deployment to complete before continuing.

テスト用の IIS のインストールInstall IIS for testing

この例では、Azure がアプリケーション ゲートウェイを正常に作成したことを確認するためにのみ、仮想マシンに IIS をインストールします。In this example, you install IIS on the virtual machines only to verify Azure created the application gateway successfully.

  1. Azure PowerShellを開きます。Open Azure PowerShell. そのためには、Azure portal の上部のナビゲーション バーで [Cloud Shell] を選択して、ドロップダウン リストで [PowerShell] を選択します。To do so, select Cloud Shell from the top navigation bar of the Azure portal and then select PowerShell from the drop-down list.

    カスタム拡張機能のインストール

  2. 次のコマンドを実行して、IIS を仮想マシンにインストールします。Run the following command to install IIS on the virtual machine:

           Set-AzVMExtension `
             -ResourceGroupName myResourceGroupAG `
             -ExtensionName IIS `
             -VMName myVM `
             -Publisher Microsoft.Compute `
             -ExtensionType CustomScriptExtension `
             -TypeHandlerVersion 1.4 `
             -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
             -Location EastUS
    
  3. 2 番目の仮想マシンを作成し、お客様が先ほど完了した手順を使用して IIS をインストールします。Create a second virtual machine and install IIS by using the steps that you previously completed. 仮想マシンの名前と、Set-AzVMExtension コマンドレットの VMName 設定には、myVM2 を使用します。Use myVM2 for the virtual machine name and for the VMName setting of the Set-AzVMExtension cmdlet.

バックエンド プールヘのバックエンド サーバーの追加Add backend servers to backend pool

  1. [すべてのリソース] を選択し、myAppGateway を選択します。Select All resources, and then select myAppGateway.

  2. 左側のメニューで [バックエンド プール] を選択します。Select Backend pools from the left menu.

  3. [myBackendPool] を選択します。Select myBackendPool.

  4. [ターゲット] の下のドロップダウン リストで [仮想マシン] を選択します。Under Targets, select Virtual machine from the drop-down list.

  5. [仮想マシン][ネットワーク インターフェイス] で、myVM 仮想マシンおよび myVM2 仮想マシンとそれらの関連するネットワーク インターフェイスをドロップダウン リストから選択します。Under VIRTUAL MACHINE and NETWORK INTERFACES, select the myVM and myVM2 virtual machines and their associated network interfaces from the drop-down lists.

    バックエンド サーバーの追加

  6. [保存] を選択します。Select Save.

  7. デプロイが完了するまで待ってから次の手順に進んでください。Wait for the deployment to complete before proceeding to the next step.

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

  1. [すべてのリソース] を選択し、 [myAGPublicIPAddress] を選択します。Select All resources, and then select myAGPublicIPAddress.

    アプリケーション ゲートウェイのパブリック IP アドレスの記録

  2. ブラウザーのアドレス バーに「https://<自分のアプリケーション ゲートウェイ IP アドレス> 」と入力します。In the address bar of your browser, type https://<your application gateway ip address>.

    自己署名証明書を使用した場合、セキュリティ警告を受け入れるには [詳細] (Chrome では [Advanced](詳細設定) ) を選択し、Web ページへ移動します。To accept the security warning if you used a self-signed certificate, select Details (or Advanced on Chrome) and then go on to the webpage:

    セキュリティに関する警告

    セキュリティで保護された IIS Web サイトは、次の例のように表示されます。Your secured IIS website is then displayed as in the following example:

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

次のステップNext steps