Azure PowerShell を使用してアプリケーション ゲートウェイを作成するCreate an application gateway using Azure PowerShell

Azure PowerShell を使用して、コマンドラインやスクリプトからアプリケーション ゲートウェイを作成または管理できます。You can use Azure PowerShell to create or manage application gateways from the command line or in scripts. このクイック スタートでは、ネットワーク リソース、バックエンド サーバー、およびアプリケーション ゲートウェイを作成する方法について説明します。This quickstart shows you how to create network resources, backend servers, and an application gateway.

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

Azure Cloud Shell を起動するLaunch Azure Cloud Shell

Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。It has common Azure tools preinstalled and configured to use with your account. [コピー] をクリックしてコードをコピーし、Cloud Shell に貼り付けて Enter キーを押すだけで、コードを実行することができます。Just click the Copy to copy the code, paste it into the Cloud Shell, and then press enter to run it. Cloud Shell は、次のようにいくつかの方法で起動することができます。There are a few ways to launch the Cloud Shell:

コード ブロックの右上隅にある [使ってみる] をクリックします。Click Try It in the upper right corner of a code block. この記事の Cloud Shell
ブラウザーで Cloud Shell を開きます。Open Cloud Shell in your browser. https://shell.azure.com/powershell
Azure Portal の右上のメニューの [Cloud Shell] ボタンをクリックします。Click the Cloud Shell button on the menu in the upper right of the Azure portal. ポータルの Cloud ShellCloud Shell in the portal

PowerShell をインストールしてローカルで使用する場合、このチュートリアルでは Azure PowerShell モジュール バージョン 3.6 以降が必要になります。If you choose to install and use the PowerShell locally, this tutorial requires the Azure PowerShell module version 3.6 or later. バージョンを確認するには、Get-Module -ListAvailable AzureRM を実行します。To find the version, run Get-Module -ListAvailable AzureRM . アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。If you need to upgrade, see Install Azure PowerShell module. PowerShell をローカルで実行している場合、Connect-AzureRmAccount を実行して Azure との接続を作成することも必要です。If you are running PowerShell locally, you also need to run Connect-AzureRmAccount to create a connection with Azure.

リソース グループの作成Create a resource group

New-AzureRmResourceGroup を使用して Azure リソース グループを作成します。Create an Azure resource group using New-AzureRmResourceGroup. リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。A resource group is a logical container into which Azure resources are deployed and managed.

New-AzureRmResourceGroup -Name myResourceGroupAG -Location eastus

ネットワーク リソースを作成するCreate network resources

New-AzureRmVirtualNetworkSubnetConfig を使用してサブネット構成を作成します。Create the subnet configurations using New-AzureRmVirtualNetworkSubnetConfig. New-AzureRmVirtualNetwork とサブネット構成を使用して仮想ネットワークを作成します。Create the virtual network using New-AzureRmVirtualNetwork with the subnet configurations. 最後に、New-AzureRmPublicIpAddress を使用してパブリック IP アドレスを作成します。And finally, create the public IP address using New-AzureRmPublicIpAddress. こうしたリソースは、アプリケーション ゲートウェイとその関連リソースにネットワーク接続を提供するために使用されます。These resources are used to provide network connectivity to the application gateway and its associated resources.

$backendSubnetConfig = New-AzureRmVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.0.1.0/24
$agSubnetConfig = New-AzureRmVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.0.2.0/24
New-AzureRmVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $backendSubnetConfig, $agSubnetConfig
New-AzureRmPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Dynamic

バックエンド サーバーの作成Create backend servers

この例では、アプリケーション ゲートウェイのバックエンド サーバーとして使用する 2 つの仮想マシンを作成します。In this example, you create two virtual machines to be used as backend servers for the application gateway. また、IIS を仮想マシンにインストールして、アプリケーション ゲートウェイが正常に作成されたことを確認します。You also install IIS on the virtual machines to verify that the application gateway was successfully created.

2 つの仮想マシンの作成Create two virtual machines

New-AzureRmNetworkInterface を使用してネットワーク インターフェイスを作成します。Create a network interface with New-AzureRmNetworkInterface. New-AzureRmVMConfig を使用して仮想マシンの構成を作成します。Create a virtual machine configuration with New-AzureRmVMConfig. 後述のコマンドを実行するときに、資格情報の入力を求められます。When you run the following commands, you are prompted for credentials. ユーザー名として「azureuser」を、パスワードとして「Azure123456!」をEnter azureuser for the user name and Azure123456! 入力します。for the password. New-AzureRmVM を使用して、仮想マシンを作成します。Create the virtual machine with New-AzureRmVM.

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzureRmNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -SubnetId $vnet.Subnets[1].Id
  $vm = New-AzureRmVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2
  $vm = Set-AzureRmVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  $vm = Set-AzureRmVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  $vm = Add-AzureRmVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  $vm = Set-AzureRmVMBootDiagnostics `
    -VM $vm `
    -Disable
  New-AzureRmVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzureRmVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -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
}

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

IP 構成とフロントエンド ポートの作成Create the IP configurations and frontend port

先ほど作成したサブネットをアプリケーション ゲートウェイに関連付けるための構成は、New-AzureRmApplicationGatewayIPConfiguration を使用して作成します。Use New-AzureRmApplicationGatewayIPConfiguration to create the configuration that associates the subnet that you previously created with the application gateway. 同様に、先ほど作成したパブリック IP アドレスをアプリケーション ゲートウェイに割り当てるための構成を New-AzureRmApplicationGatewayFrontendIPConfig で作成します。Use New-AzureRmApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you also previously created to the application gateway. New-AzureRmApplicationGatewayFrontendPort を使用して、アプリケーション ゲートウェイへのアクセスに使用するポート 80 を割り当てます。Use New-AzureRmApplicationGatewayFrontendPort to assign port 80 to be used to access the application gateway.

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$pip = Get-AzureRmPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$subnet=$vnet.Subnets[0]
$gipconfig = New-AzureRmApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzureRmApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzureRmApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

バックエンド プールの作成Create the backend pool

アプリケーション ゲートウェイのバックエンド プールは、New-AzureRmApplicationGatewayBackendAddressPool を使用して作成します。Use New-AzureRmApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. New-AzureRmApplicationGatewayBackendHttpSettings を使用して、バックエンド プールの設定を構成します。Configure the settings for the backend pool using New-AzureRmApplicationGatewayBackendHttpSettings.

$address1 = Get-AzureRmNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic1
$address2 = Get-AzureRmNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic2
$backendPool = New-AzureRmApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool `
  -BackendIPAddresses $address1.ipconfigurations[0].privateipaddress, $address2.ipconfigurations[0].privateipaddress
$poolSettings = New-AzureRmApplicationGatewayBackendHttpSettings `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 120

リスナーの作成とルールの追加Create the listener and add a rule

アプリケーション ゲートウェイがバックエンド プールに対して適切にトラフィックをルーティングするためにはリスナーが必要です。A listener is required to enable the application gateway to route traffic appropriately to the backend pool. リスナーは、New-AzureRmApplicationGatewayHttpListener に、先ほど作成したフロントエンド構成とフロントエンド ポートを指定して作成します。Create a listener using New-AzureRmApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created. 着信トラフィックに使用するバックエンド プールをリスナーが判断するには、ルールが必要です。A rule is required for the listener to know which backend pool to use for incoming traffic. New-AzureRmApplicationGatewayRequestRoutingRule を使用して、rule1 という名前のルールを作成します。Use New-AzureRmApplicationGatewayRequestRoutingRule to create a rule named rule1.

$defaultlistener = New-AzureRmApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzureRmApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

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

必要な関連リソースを作成したら、アプリケーション ゲートウェイのパラメーターを New-AzureRmApplicationGatewaySku で指定し、New-AzureRmApplicationGateway を使用してアプリケーション ゲートウェイを作成します。Now that you created the necessary supporting resources, use New-AzureRmApplicationGatewaySku to specify parameters for the application gateway, and then use New-AzureRmApplicationGateway to create it.

$sku = New-AzureRmApplicationGatewaySku `
  -Name Standard_Medium `
  -Tier Standard `
  -Capacity 2
New-AzureRmApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

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

アプリケーション ゲートウェイのパブリック IP アドレスは、Get-AzureRmPublicIPAddress を使用して取得します。Use Get-AzureRmPublicIPAddress to get the public IP address of the application gateway. そのパブリック IP アドレスをコピーし、ブラウザーのアドレス バーに貼り付けます。Copy the public IP address, and then paste it into the address bar of your browser.

Get-AzureRmPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

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

リソースのクリーンアップClean up resources

必要がなくなったら、Remove-AzureRmResourceGroup コマンドを使用して、リソース グループとアプリケーションゲートウェイ、およびすべての関連リソースを削除できます。When no longer needed, you can use the Remove-AzureRmResourceGroup command to remove the resource group, application gateway, and all related resources.

Remove-AzureRmResourceGroup -Name myResourceGroupAG

次の手順Next steps

このクイック スタートでは、リソース グループ、ネットワーク リソース、およびバックエンド サーバーを作成しました。In this quickstart, you created a resource group, network resources, and backend servers. その後、そのリソースを使用して、アプリケーション ゲートウェイを作成しました。You then used those resources to create an application gateway. アプリケーション ゲートウェイとその関連リソースの詳細を確認するには、ハウツー記事に進みます。To learn more about application gateways and their associated resources, continue to the how-to articles.