Resource Manager で PowerShell を使用して、IPv6 でインターネットに接続するロード バランサーの作成を開始するGet started creating an Internet facing load balancer with IPv6 using PowerShell for Resource Manager

注意

この記事で説明するのは、Basic Load Balancer で IPv4 と IPv6 の両方の接続性を提供する初歩的な IPv6 機能です。This article describes an introductory IPv6 feature to allow Basic Load Balancers to provide both IPv4 and IPv6 connectivity. IPv6 接続を仮想ネットワークと統合し、IPv6 ネットワーク セキュリティ グループの規則、IPv6 ユーザー定義のルーティング、IPv6 の Basic と Standard の負荷分散などの主要な機能を備えた Azure VNET の IPv6 で、包括的な IPv6 接続を利用できるようになりました。Comprehensive IPv6 connectivity is now available with IPv6 for Azure VNETs which integrates IPv6 connectivity with your Virtual Networks and includes key features such as IPv6 Network Security Group rules, IPv6 User-defined routing, IPv6 Basic and Standard load balancing, and more. Azure VNET の IPv6 は、Azure での IPv6 アプリケーションに推奨される標準です。IPv6 for Azure VNETs is the recommended standard for IPv6 applications in Azure. Azure VNET Powershell の IPv6 のデプロイに関するページを参照してくださいSee IPv6 for Azure VNET Powershell Deployment

Azure Load Balancer は、第 4 層 (TCP、UDP) のロード バランサーです。An Azure load balancer is a Layer-4 (TCP, UDP) load balancer. ロード バランサーは、ロード バランサー セット内のクラウド サービスまたは仮想マシンの正常なサービス インスタンスに着信トラフィックを分散することによって高可用性を提供します。The load balancer provides high availability by distributing incoming traffic among healthy service instances in cloud services or virtual machines in a load balancer set. さらに、Azure Load Balancer は、これらのサービスを複数のポート、複数の IP アドレス、またはその両方に提供できます。Azure Load Balancer can also present those services on multiple ports, multiple IP addresses, or both.

注意

この記事は、新しい 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.

デプロイ シナリオの例Example deployment scenario

次の図は、この記事でデプロイされる負荷分散ソリューションを示します。The following diagram illustrates the load balancing solution being deployed in this article.

ロード バランサーのシナリオ

このシナリオでは、次の Azure リソースを作成します。In this scenario you will create the following Azure resources:

  • IPv4 と IPv6 のパブリック IP アドレスでインターネットに接続するロード バランサーan Internet-facing Load Balancer with an IPv4 and an IPv6 Public IP address
  • パブリック VIP をプライベート エンドポイントにマップする 2 つの負荷分散規則two load balancing rules to map the public VIPs to the private endpoints
  • 2 つの VM が含まれる可用性セットan Availability Set to that contains the two VMs
  • 2 つの仮想マシン (VM)two virtual machines (VMs)
  • IPv4 と IPv6 の両方のアドレスが割り当てられている各 VM の仮想ネットワーク インターフェイスa virtual network interface for each VM with both IPv4 and IPv6 addresses assigned

Azure PowerShell を使用したソリューションのデプロイDeploying the solution using the Azure PowerShell

次の手順では、Azure Resource Manager で PowerShell を使用して、インターネットに接続するロード バランサーを作成する方法を示します。The following steps show how to create an Internet facing load balancer using Azure Resource Manager with PowerShell. Azure Resource Manager では、それぞれのリソースは個別に作成され構成された後、リソースを作成するためにまとまられます。With Azure Resource Manager, each resource is created and configured individually, then put together to create a resource.

ロード バランサーをデプロイするには、次のオブジェクトを作成して構成します。To deploy a load balancer, you create and configure the following objects:

  • フロントエンド IP 構成: 受信ネットワーク トラフィックのパブリック IP アドレスが含まれます。Frontend IP configuration - contains public IP addresses for incoming network traffic.
  • バックエンド アドレス プール: ロード バランサーからネットワーク トラフィックを受信する、仮想マシンのネットワーク インターフェイス (NIC) が含まれます。Backend address pool - contains network interfaces (NICs) for the virtual machines to receive network traffic from the load balancer.
  • 負荷分散規則 - ロード バランサーのパブリック ポートをバックエンド アドレス プール内のポートにマッピングする規則が含まれます。Load balancing rules - contains rules mapping a public port on the load balancer to port in the back-end address pool.
  • 受信 NAT 規則 - ロード バランサーのパブリック ポートをバックエンド アドレス プール内の特定の仮想マシンのポートにマッピングする規則が含まれます。Inbound NAT rules - contains rules mapping a public port on the load balancer to a port for a specific virtual machine in the back-end address pool.
  • プローブ - バックエンド アドレス プール内の仮想マシン インスタンスの可用性を確認するために使用する正常性プローブが含まれます。Probes - contains health probes used to check availability of virtual machines instances in the back-end address pool.

詳細については、Azure Load Balancer コンポーネントに関するページを参照してください。For more information, see Azure Load Balancer components.

Resource Manager を使用するための PowerShell をセットアップSet up PowerShell to use Resource Manager

PowerShell 用 Azure Resource Manager (ARM) モジュールが最新の製品版であることを確認します。Make sure you have the latest production version of the Azure Resource Manager module for PowerShell.

  1. Azure へのサインインSign into Azure

    Connect-AzAccount
    

    メッセージが表示されたら、資格情報を入力します。Enter your credentials when prompted.

  2. アカウントのサブスクリプションを確認します。Check the subscriptions for the account

     Get-AzSubscription
    
  3. 使用する Azure サブスクリプションを選択します。Choose which of your Azure subscriptions to use.

    Select-AzSubscription -SubscriptionId 'GUID of subscription'
    
  4. リソース グループを作成します (既存のリソース グループを使用する場合は、この手順をスキップしてください)。Create a resource group (skip this step if using an existing resource group)

    New-AzResourceGroup -Name NRP-RG -location "West US"
    

Virtual Network と、フロント エンド IP プールのパブリック IP アドレスの作成Create a virtual network and a public IP address for the front-end IP pool

  1. サブネットを含む仮想ネットワークを作成します。Create a virtual network with a subnet.

    $backendSubnet = New-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -AddressPrefix 10.0.2.0/24
    $vnet = New-AzvirtualNetwork -Name VNet -ResourceGroupName NRP-RG -Location 'West US' -AddressPrefix 10.0.0.0/16 -Subnet $backendSubnet
    
  2. フロントエンド IP アドレス プール用の Azure パブリック IP (PIP) リソースを作成します。Create Azure Public IP address (PIP) resources for the front-end IP address pool. 次のコマンドを実行する前に、必ず -DomainNameLabel の値を変更してください。Be sure to change the value for -DomainNameLabel before running the following commands. 値は Azure リージョン内で一意である必要があります。The value must be unique within the Azure region.

    $publicIPv4 = New-AzPublicIpAddress -Name 'pub-ipv4' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Static -IpAddressVersion IPv4 -DomainNameLabel lbnrpipv4
    $publicIPv6 = New-AzPublicIpAddress -Name 'pub-ipv6' -ResourceGroupName NRP-RG -Location 'West US' -AllocationMethod Dynamic -IpAddressVersion IPv6 -DomainNameLabel lbnrpipv6
    

    重要

    ロード バランサーはその FQDN のプレフィックスとしてパブリック IP のドメイン ラベルを使用します。The load balancer uses the domain label of the public IP as prefix for its FQDN. この例では、FQDN は lbnrpipv4.westus.cloudapp.azure.comlbnrpipv6.westus.cloudapp.azure.com です。In this example, the FQDNs are lbnrpipv4.westus.cloudapp.azure.com and lbnrpipv6.westus.cloudapp.azure.com.

フロントエンド IP 構成とバックエンド アドレス プールの作成Create a Front-End IP configurations and a Back-End Address Pool

  1. 作成したパブリック IP アドレスを使用するフロントエンド アドレス構成を作成します。Create front-end address configuration that uses the Public IP addresses you created.

    $FEIPConfigv4 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv4" -PublicIpAddress $publicIPv4
    $FEIPConfigv6 = New-AzLoadBalancerFrontendIpConfig -Name "LB-Frontendv6" -PublicIpAddress $publicIPv6
    
  2. バックエンド アドレス プールを作成します。Create back-end address pools.

    $backendpoolipv4 = New-AzLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv4"
    $backendpoolipv6 = New-AzLoadBalancerBackendAddressPoolConfig -Name "BackendPoolIPv6"
    

LB ルール、NAT 規則、プローブ、およびロード バランサーの作成Create LB rules, NAT rules, a probe, and a load balancer

次の例では、以下の項目が作成されます:This example creates the following items:

  • ポート 443 のすべての受信トラフィックをポート 4443 に転送する NAT 規則a NAT rule to translate all incoming traffic on port 443 to port 4443
  • ポート 80 のすべての受信トラフィックをバックエンド プールのアドレスのポート 80 に分散するロード バランサー規則a load balancer rule to balance all incoming traffic on port 80 to port 80 on the addresses in the back-end pool.
  • VM へのポート 3389 での RDP 接続を許可するロード バランサー規則a load balancer rule to allow RDP connection to the VMs on port 3389.
  • HealthProbe.aspx という名前のページまたはポート 8080 上のサービスの正常性状態を確認するプローブ規則a probe rule to check the health status on a page named HealthProbe.aspx or a service on port 8080
  • これらのオブジェクトをすべて使用するロード バランサーa load balancer that uses all these objects
  1. NAT 規則を作成します。Create the NAT rules.

    $inboundNATRule1v4 = New-AzLoadBalancerInboundNatRuleConfig -Name "NicNatRulev4" -FrontendIpConfiguration $FEIPConfigv4 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    $inboundNATRule1v6 = New-AzLoadBalancerInboundNatRuleConfig -Name "NicNatRulev6" -FrontendIpConfiguration $FEIPConfigv6 -Protocol TCP -FrontendPort 443 -BackendPort 4443
    
  2. 正常性プローブを作成します。Create a health probe. プローブは次の 2 とおりの方法で構成できます。There are two ways to configure a probe:

    HTTP プローブHTTP probe

    $healthProbe = New-AzLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -RequestPath 'HealthProbe.aspx' -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
    

    または TCP プローブor TCP probe

    $healthProbe = New-AzLoadBalancerProbeConfig -Name 'HealthProbe-v4v6' -Protocol Tcp -Port 8080 -IntervalInSeconds 15 -ProbeCount 2
    $RDPprobe = New-AzLoadBalancerProbeConfig -Name 'RDPprobe' -Protocol Tcp -Port 3389 -IntervalInSeconds 15 -ProbeCount 2
    

    この例では、TCP プローブを使用します。For this example, we are going to use the TCP probes.

  3. ロード バランサー規則を作成します。Create a load balancer rule.

    $lbrule1v4 = New-AzLoadBalancerRuleConfig -Name "HTTPv4" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $lbrule1v6 = New-AzLoadBalancerRuleConfig -Name "HTTPv6" -FrontendIpConfiguration $FEIPConfigv6 -BackendAddressPool $backendpoolipv6 -Probe $healthProbe -Protocol Tcp -FrontendPort 80 -BackendPort 8080
    $RDPrule = New-AzLoadBalancerRuleConfig -Name "RDPrule" -FrontendIpConfiguration $FEIPConfigv4 -BackendAddressPool $backendpoolipv4 -Probe $RDPprobe -Protocol Tcp -FrontendPort 3389 -BackendPort 3389
    
  4. 以前に作成したオブジェクトを使用してロード バランサーを作成します。Create the load balancer using the previously created objects.

    $NRPLB = New-AzLoadBalancer -ResourceGroupName NRP-RG -Name 'myNrpIPv6LB' -Location 'West US' -FrontendIpConfiguration $FEIPConfigv4,$FEIPConfigv6 -InboundNatRule $inboundNATRule1v6,$inboundNATRule1v4 -BackendAddressPool $backendpoolipv4,$backendpoolipv6 -Probe $healthProbe,$RDPprobe -LoadBalancingRule $lbrule1v4,$lbrule1v6,$RDPrule
    

バックエンド VM 用の NIC の作成Create NICs for the back-end VMs

  1. NIC の作成先となる Virtual Network と Virtual Network のサブネットを取得します。Get the Virtual Network and Virtual Network Subnet, where the NICs need to be created.

    $vnet = Get-AzVirtualNetwork -Name VNet -ResourceGroupName NRP-RG
    $backendSubnet = Get-AzVirtualNetworkSubnetConfig -Name LB-Subnet-BE -VirtualNetwork $vnet
    
  2. VM の IP 構成と NIC を作成します。Create IP configurations and NICs for the VMs.

    $nic1IPv4 = New-AzNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4 -LoadBalancerInboundNatRule $inboundNATRule1v4
    $nic1IPv6 = New-AzNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6 -LoadBalancerInboundNatRule $inboundNATRule1v6
    $nic1 = New-AzNetworkInterface -Name 'myNrpIPv6Nic0' -IpConfiguration $nic1IPv4,$nic1IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    
    $nic2IPv4 = New-AzNetworkInterfaceIpConfig -Name "IPv4IPConfig" -PrivateIpAddressVersion "IPv4" -Subnet $backendSubnet -LoadBalancerBackendAddressPool $backendpoolipv4
    $nic2IPv6 = New-AzNetworkInterfaceIpConfig -Name "IPv6IPConfig" -PrivateIpAddressVersion "IPv6" -LoadBalancerBackendAddressPool $backendpoolipv6
    $nic2 = New-AzNetworkInterface -Name 'myNrpIPv6Nic1' -IpConfiguration $nic2IPv4,$nic2IPv6 -ResourceGroupName NRP-RG -Location 'West US'
    

仮想マシンを作成して新しく作成された NIC を割り当てるCreate virtual machines and assign the newly created NICs

VM の作成に関する詳細については、「 リソース マネージャーと Azure PowerShell を使用して、Windows 仮想マシンを作成し、事前構成するFor more information about creating a VM, see Create and preconfigure a Windows Virtual Machine with Resource Manager and Azure PowerShell

  1. 可用性セットとストレージ アカウントの作成Create an Availability Set and Storage account

    New-AzAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG -location 'West US'
    $availabilitySet = Get-AzAvailabilitySet -Name 'myNrpIPv6AvSet' -ResourceGroupName NRP-RG
    New-AzStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct' -Location 'West US' -SkuName "Standard_LRS"
    $CreatedStorageAccount = Get-AzStorageAccount -ResourceGroupName NRP-RG -Name 'mynrpipv6stacct'
    
  2. 各 VM を作成して以前に作成した NIC を割り当てるCreate each VM and assign the previous created NICs

    $mySecureCredentials= Get-Credential -Message "Type the username and password of the local administrator account."
    
    $vm1 = New-AzVMConfig -VMName 'myNrpIPv6VM0' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm1 = Set-AzVMOperatingSystem -VM $vm1 -Windows -ComputerName 'myNrpIPv6VM0' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm1 = Set-AzVMSourceImage -VM $vm1 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm1 = Add-AzVMNetworkInterface -VM $vm1 -Id $nic1.Id -Primary
    $osDisk1Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM0osdisk.vhd"
    $vm1 = Set-AzVMOSDisk -VM $vm1 -Name 'myNrpIPv6VM0osdisk' -VhdUri $osDisk1Uri -CreateOption FromImage
    New-AzVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm1
    
    $vm2 = New-AzVMConfig -VMName 'myNrpIPv6VM1' -VMSize 'Standard_G1' -AvailabilitySetId $availabilitySet.Id
    $vm2 = Set-AzVMOperatingSystem -VM $vm2 -Windows -ComputerName 'myNrpIPv6VM1' -Credential $mySecureCredentials -ProvisionVMAgent -EnableAutoUpdate
    $vm2 = Set-AzVMSourceImage -VM $vm2 -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    $vm2 = Add-AzVMNetworkInterface -VM $vm2 -Id $nic2.Id -Primary
    $osDisk2Uri = $CreatedStorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/myNrpIPv6VM1osdisk.vhd"
    $vm2 = Set-AzVMOSDisk -VM $vm2 -Name 'myNrpIPv6VM1osdisk' -VhdUri $osDisk2Uri -CreateOption FromImage
    New-AzVM -ResourceGroupName NRP-RG -Location 'West US' -VM $vm2