Basic Load Balancer を使用して IPv6 デュアル スタック アプリケーションをデプロイする - CLI (プレビュー)Deploy an IPv6 dual stack application using Basic Load Balancer - CLI (Preview)

この記事では、Azure CLI を使用して Basic Load Balancer でデュアル スタック (IPv4 および IPv6) アプリケーションをデプロイする方法を説明します。Azure 内には、デュアル スタック サブネットを持つデュアル スタック仮想ネットワーク、デュアル (IPv4 および IPv6) フロントエンド構成を持つ Basic ロード バランサー、および NIC を持つ VM が含まれています。NIC は、デュアル IP 構成、デュアル ネットワーク セキュリティ グループのルール、およびデュアル パブリック IP を備えています。This article shows you how to deploy a dual stack (IPv4 + IPv6) application with Basic Load Balancer using Azure CLI that includes a dual stack virtual network with a dual stack subnet, a Basic Load Balancer with dual (IPv4 + IPv6) front-end configurations, VMs with NICs that have a dual IP configuration, dual network security group rules, and dual public IPs.

Standard Load Balancer を使用するデュアル スタック (IPV4 と IPv6) アプリケーションをデプロイするには、「Azure 仮想ネットワーク内に Standard Load Balancer を使用して IPv6 デュアル スタック アプリケーションをデプロイする - CLI」を参照してください。To deploy a dual stack (IPV4 + IPv6) application using Standard Load Balancer, see Deploy an IPv6 dual stack application with Standard Load Balancer using Azure CLI.

重要

現在、Azure Virtual Network の IPv6 デュアル スタックは、パブリック プレビュー段階です。IPv6 dual stack for Azure Virtual Network is currently in public preview. このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。This preview is provided without a service level agreement and is not recommended for production workloads. 特定の機能はサポート対象ではなく、機能が制限されることがあります。Certain features may not be supported or may have constrained capabilities. 詳しくは、「Microsoft Azure プレビューの追加使用条件」をご覧ください。See the Supplemental Terms of Use for Microsoft Azure Previews for details.

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

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。You can use either Bash or PowerShell with Cloud Shell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を開始するには:To start Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を開始します。Start Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter キーを選択して、コードを実行します。Select Enter to run the code.

代わりに Azure CLI をローカルにインストールして使用する場合、このクイック スタートでは、Azure CLI バージョン 2.0.49 以降を使用する必要があります。If you decide to install and use Azure CLI locally instead, this quickstart requires you to use Azure CLI version 2.0.49 or later. インストールされているバージョンを確認するには、az --version を実行します。To find your installed version, run az --version. インストールまたはアップグレードについては、「Azure CLI のインストール」をご覧ください。See Install Azure CLI for install or upgrade info.

前提条件Prerequisites

Azure 仮想ネットワークの IPv6 機能を使用するには、次のように、Azure CLI を使用してサブスクリプションを構成する必要があります。To use the IPv6 for Azure virtual network feature, you must configure your subscription using Azure CLI as follows:

az feature register --name AllowIPv6VirtualNetwork --namespace Microsoft.Network
az feature register --name AllowIPv6CAOnStandardLB --namespace Microsoft.Network

機能の登録が完了するまで、最長で 30 分かかります。It takes up to 30 minutes for feature registration to complete. 次の Azure CLI コマンドを実行することで、登録状態を確認できます。You can check your registration status by running the following Azure CLI command:

az feature show --name AllowIPv6VirtualNetwork --namespace Microsoft.Network
az feature show --name AllowIPv6CAOnStandardLB --namespace Microsoft.Network

登録が完了した後、次のコマンドを実行します。After the registration is complete, run the following command:

az provider register --namespace Microsoft.Network

リソース グループを作成するCreate a resource group

デュアル スタック仮想ネットワークを作成する前に、az group create でリソース グループを作成する必要があります。Before you can create your dual-stack virtual network, you must create a resource group with az group create. 次の例では、DsResourceGroup01 という名前のリソース グループを eastus という場所に作成します。The following example creates a resource group named DsResourceGroup01 in the eastus location:

az group create \
--name DsResourceGroup01 \
--location eastus

ロード バランサーの IPv4 および IPv6 パブリック IP アドレスの作成Create IPv4 and IPv6 public IP addresses for load balancer

インターネット上の IPv4 および IPv6 エンドポイントにアクセスするには、ロード バランサーの IPv4 および IPv6 パブリック IP アドレスが必要です。To access your IPv4 and IPv6 endpoints on the Internet, you need IPv4 and IPv6 public IP addresses for the load balancer. パブリック IP アドレスは、az network public-ip create で作成します。Create a public IP address with az network public-ip create. 次の例では、DsResourceGroup01 リソース グループ内に dsPublicIP_v4dsPublicIP_v6 という名前の IPv4 および IPv6 パブリック IP アドレスを作成します。The following example creates IPv4 and IPv6 public IP address named dsPublicIP_v4 and dsPublicIP_v6 in the DsResourceGroup01 resource group:

# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku BASIC  \
--allocation-method dynamic  \
--version IPv4

# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6  \
--resource-group DsResourceGroup01  \
--location eastus \
--sku BASIC  \
--allocation-method dynamic  \
--version IPv6

VM のパブリック IP アドレスの作成Create public IP addresses for VMs

インターネット上の VM にリモート アクセスするには、VM の IPv4 パブリック IP アドレスが必要です。To remotely access your VMs on the internet, you need IPv4 public IP addresses for the VMs. パブリック IP アドレスは、az network public-ip create で作成します。Create a public IP address with az network public-ip create.

az network public-ip create \
--name dsVM0_remote_access  \
--resource-group DsResourceGroup01 \
--location eastus  \
--sku BASIC  \
--allocation-method dynamic  \
--version IPv4

az network public-ip create \
--name dsVM1_remote_access  \
--resource-group DsResourceGroup01  \
--location eastus  \
--sku BASIC  \
--allocation-method dynamic  \
--version IPv4

Basic Load Balancer を作成するCreate Basic Load Balancer

このセクションでは、ロード バランサーのデュアル フロントエンド IP (IPv4 および IPv6) とバックエンド アドレス プールを構成してから、Basic Load Balancer を作成します。In this section, you configure dual frontend IP (IPv4 and IPv6) and the back-end address pool for the load balancer and then create a Basic Load Balancer.

ロード バランサーの作成Create load balancer

az network lb create を使用して、dsLB という名前の Basic Load Balancer を作成します。これには、dsLbFrontEnd_v4 という名前のフロントエンド プールと dsLbBackEndPool_v4 という名前のバックエンド プールが含まれています。このバックエンド プールは、前のステップで作成した IPv4 パブリック IP アドレス dsPublicIP_v4 に関連付けられています。Create the Basic Load Balancer with az network lb create named dsLB that includes a frontend pool named dsLbFrontEnd_v4, a backend pool named dsLbBackEndPool_v4 that is associated with the IPv4 public IP address dsPublicIP_v4 that you created in the preceding step.

az network lb create \
--name dsLB  \
--resource-group DsResourceGroup01 \
--sku Basic \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4  \
--public-ip-address dsPublicIP_v4  \
--backend-pool-name dsLbBackEndPool_v4

IPv6 フロントエンドの作成Create IPv6 frontend

IPV6 フロントエンド IP を作成するには、az network lb frontend-ip create を使用します。Create an IPV6 frontend IP with az network lb frontend-ip create. 次の例では、dsLbFrontEnd_v6 という名前のフロントエンド IP 構成を作成して、dsPublicIP_v6 アドレスをアタッチします。The following example creates a frontend IP configuration named dsLbFrontEnd_v6 and attaches the dsPublicIP_v6 address:

az network lb frontend-ip create \
--lb-name dsLB  \
--name dsLbFrontEnd_v6  \
--resource-group DsResourceGroup01  \
--public-ip-address dsPublicIP_v6

IPv6 バックエンド アドレス プールの構成Configure IPv6 back-end address pool

az network lb address-pool create を使用して、IPv6 バックエンド アドレス プールを作成します。Create a IPv6 back-end address pools with az network lb address-pool create. 次の例では、IPv6 NIC が構成された VM を含めるための dsLbBackEndPool_v6 という名前のバックエンド アドレス プールを作成します。The following example creates back-end address pool named dsLbBackEndPool_v6 to include VMs with IPv6 NIC configurations:

az network lb address-pool create \
--lb-name dsLB  \
--name dsLbBackEndPool_v6  \
--resource-group DsResourceGroup01

正常性プローブの作成Create a health probe

az network lb probe create を使用して正常性プローブを作成し、仮想マシンの正常性を監視します。Create a health probe with az network lb probe create to monitor the health of the virtual machines.

az network lb probe create -g DsResourceGroup01  --lb-name dsLB -n dsProbe --protocol tcp --port 3389

ロード バランサー規則の作成Create a load balancer rule

ロード バランサー規則の目的は、一連の VM に対するトラフィックの分散方法を定義することです。A load balancer rule is used to define how traffic is distributed to the VMs. 着信トラフィック用のフロントエンド IP 構成と、トラフィックを受信するためのバックエンド IP プールを、必要な発信元ポートと宛先ポートと共に定義します。You define the frontend IP configuration for the incoming traffic and the backend IP pool to receive the traffic, along with the required source and destination port.

ロード バランサー規則は、az network lb rule create で作成します。Create a load balancer rule with az network lb rule create. 次の例では、dsLBrule_v4 および dsLBrule_v6 という名前のロード バランサー規則を作成し、IPv4 および IPv6 フロントエンド IP 構成に応じて、TCP ポート 80 のトラフィックを負荷分散します。The following example creates load balancer rules named dsLBrule_v4 and dsLBrule_v6 and balances traffic on TCP port 80 to the IPv4 and IPv6 frontend IP configurations:

az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v4  \
--resource-group DsResourceGroup01  \
--frontend-ip-name dsLbFrontEnd_v4  \
--protocol Tcp  \
--frontend-port 80  \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4


az network lb rule create \
--lb-name dsLB  \
--name dsLBrule_v6  \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6  \
--protocol Tcp  \
--frontend-port 80 \
--backend-port 80  \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6

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

複数の VM をデプロイする前に、サポートするネットワーク リソース (可用性セット、ネットワーク セキュリティ グループ、仮想ネットワーク、および仮想 NIC) を作成する必要があります。Before you deploy some VMs, you must create supporting network resources - availability set, network security group, virtual network, and virtual NICs.

可用性セットの作成Create an availability set

アプリの可用性を高めるには、可用性セットに VM を配置します。To improve the availability of your app, place your VMs in an availability set.

可用性セットを作成するには、az vm availability-set create を使用します。Create an availability set with az vm availability-set create. 次の例では、dsAVset という名前の可用性セットを作成します。The following example creates an availability set named dsAVset:

az vm availability-set create \
--name dsAVset  \
--resource-group DsResourceGroup01  \
--location eastus \
--platform-fault-domain-count 2  \
--platform-update-domain-count 2  

ネットワーク セキュリティ グループの作成Create network security group

VNET でのインバウンドおよびアウトバウンド通信を管理する規則のネットワーク セキュリティ グループを作成します。Create a network security group for the rules that will govern inbound and outbound communication in your VNET.

ネットワーク セキュリティ グループの作成Create a network security group

ネットワーク セキュリティ グループを作成するには、az network nsg create を使用します。Create a network security group with az network nsg create

az network nsg create \
--name dsNSG1  \
--resource-group DsResourceGroup01  \
--location eastus

インバウンドおよびアウトバウンド接続に関するネットワーク セキュリティ グループ規則の作成Create a network security group rule for inbound and outbound connections

az network nsg rule create を使用して、ポート 3389 経由の RDP 接続と、ポート 80 経由のインターネット接続を許可するネットワーク セキュリティ グループ規則を作成します。また、アウトバウンド接続用のネットワーク セキュリティ グループ規則を作成します。Create a network security group rule to allow RDP connections through port 3389, internet connection through port 80, and for outbound connections with az network nsg rule create.

# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 100  \
--description "Allow Remote Desktop In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges 3389

# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 200  \
--description "Allow HTTP In"  \
--access Allow  \
--protocol "*"  \
--direction Inbound  \
--source-address-prefixes "*"  \
--source-port-ranges 80  \
--destination-address-prefixes "*"  \
--destination-port-ranges 80

# Create outbound rule

az network nsg rule create \
--name allowAllOut  \
--nsg-name dsNSG1  \
--resource-group DsResourceGroup01  \
--priority 300  \
--description "Allow All Out"  \
--access Allow  \
--protocol "*"  \
--direction Outbound  \
--source-address-prefixes "*"  \
--source-port-ranges "*"  \
--destination-address-prefixes "*"  \
--destination-port-ranges "*"

仮想ネットワークの作成Create a virtual network

az network vnet create を使用して仮想ネットワークを作成します。Create a virtual network with az network vnet create. 次の例では、dsVNET という名前の仮想ネットワークと、サブネット dsSubNET_v4 および dsSubNET_v6 を作成します。The following example creates a virtual network named dsVNET with subnets dsSubNET_v4 and dsSubNET_v6:

# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus  \
--address-prefixes "10.0.0.0/16" "ace:cab:deca::/48"

# Create a single dual stack subnet

az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "ace:cab:deca:deed::/64" \
--network-security-group dsNSG1

NIC の作成Create NICs

各 VM の仮想 NIC を作成するには、az network nic create を使用します。Create virtual NICs for each VM with az network nic create. 次の例では、各 VM の仮想 NIC を作成します。The following example creates a virtual NIC for each VM. 各 NIC には、2 つの IP 構成があります (1 つは IPv4 構成、1 つは IPv6 構成)。Each NIC has two IP configurations (1 IPv4 config, 1 IPv6 config). IPV6 構成を作成するには、az network nic ip-config create を使用します。You create the IPV6 configuration with az network nic ip-config create.

# Create NICs
az network nic create \
--name dsNIC0  \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1  \
--vnet-name dsVNET  \
--subnet dsSubNet  \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4  \
--lb-name dsLB  \
--public-ip-address dsVM0_remote_access

az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access

# Create IPV6 configurations for each NIC

az network nic ip-config create \
--name dsIp6Config_NIC0  \
--nic-name dsNIC0  \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB

仮想マシンを作成するCreate virtual machines

VM を作成するには、az vm create を使用します。Create the VMs with az vm create. 次の例では、2 つの VM と必要な仮想ネットワーク コンポーネントがまだ存在しない場合にそれらを作成します。The following example creates two VMs and the required virtual network components if they do not already exist.

仮想マシン dsVM0 を以下のように作成します。Create virtual machine dsVM0 as follows:

 az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest  

仮想マシン dsVM1 を以下のように作成します。Create virtual machine dsVM1 as follows:

az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest 

Azure portal で IPv6 デュアル スタック仮想ネットワークを表示するView IPv6 dual stack virtual network in Azure portal

次のようにして、Azure portal で IPv6 デュアル スタック仮想ネットワークを表示することができます。You can view the IPv6 dual stack virtual network in Azure portal as follows:

  1. ポータルの検索バーで、「dsVnet」と入力します。In the portal's search bar, enter dsVnet.
  2. 検索結果に [myVirtualNetwork] が表示されたら、それを選択します。When myVirtualNetwork appears in the search results, select it. これにより、dsVnet という名前のデュアル スタック仮想ネットワークの [概要] ページが起動します。This launches the Overview page of the dual stack virtual network named dsVnet. デュアル スタック仮想ネットワークには、dsSubnet という名前のデュアル スタック サブネットにある、IPv4 と IPv6 の両方の構成を持つ 2 つの NIC が表示されます。The dual stack virtual network shows the two NICs with both IPv4 and IPv6 configurations located in the dual stack subnet named dsSubnet.

Azure の IPv6 デュアル スタック仮想ネットワーク

注意

このプレビュー リリースの場合、Azure 仮想ネットワークの IPv6 は、Azure portal で読み取り専用で使用できます。The IPv6 for Azure virtual network is available in the Azure portal in read-only for this preview release.

リソースをクリーンアップするClean up resources

必要がなくなったら、az group delete コマンドを使用して、リソース グループ、VM、およびすべての関連リソースを削除できます。When no longer needed, you can use the az group delete command to remove the resource group, VM, and all related resources.

 az group delete --name DsResourceGroup01

次のステップNext steps

この記事では、デュアル フロントエンド IP 構成 (IPv4 および IPv6) を持つ Basic Load Balancer を作成しました。In this article, you created a Basic Load Balancer with a dual frontend IP configuration (IPv4 and IPv6). また、NIC を含む 2 つの仮想マシンも作成しました。この NIC のデュアル IP 構成 (IPV4 および IPv6) は、ロード バランサーのバックエンド プールに追加されました。You also created a two virtual machines that included NICs with dual IP configurations (IPV4 + IPv6) that were added to the back-end pool of the load balancer. Azure 仮想ネットワークでの IPv6 サポートの詳細については、Azure Virtual Network の IPv6 の概要に関するページを参照してくださいTo learn more about IPv6 support in Azure virtual networks, see What is IPv6 for Azure Virtual Network?