다음을 통해 공유


Azure Load Balancer를 사용하여 IPv6 이중 스택 애플리케이션 배포

이 문서에서는 Azure에서 표준 Load Balancer를 사용하여 이중 스택(IPv4 + IPv6) 애플리케이션을 배포하는 방법을 보여 줍니다. 이 시나리오에는 이중 스택 서브넷이 있는 이중 스택 가상 네트워크, 이중(IPv4 + IPv6) 프런트 엔드 구성이 있는 표준 Load Balancer, 이중 IP 구성이 있는 NIC가 있는 VM, 이중 네트워크 보안 그룹 규칙 및 이중 공용 IP가 포함됩니다.

필수 조건

  • 활성 구독이 있는 Azure 계정. 무료로계정을 만드세요.

이중 스택(IPv4 + IPv6) 애플리케이션 배포

Azure CLI의 다음 지침에 따라 Azure에서 표준 Load Balancer를 사용하여 이중 스택(IPv4 + IPv6) 애플리케이션을 배포합니다.

리소스 그룹 만들기

이중 스택 가상 네트워크를 만들려면 먼저 az group create를 사용하여 리소스 그룹을 만들어야 합니다. 다음 예제에서는 동쪽 위치에 DsResourceGroup01이라는 리소스 그룹을 만듭니다.

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

부하 분산 장치에 대한 IPv4 및 IPv6 공용 IP 주소 만들기

인터넷에서 IPv4 및 IPv6 엔드포인트에 액세스하려면 부하 분산 장치에 대한 IPv4 및 IPv6 공용 IP 주소가 필요합니다. "az network public-ip create"를 사용하여 공용 IP 주소를 만듭니다. 다음 예제에서는 DsResourceGroup01 리소스 그룹에 dsPublicIP_v4dsPublicIP_v6 IPv4 및 IPv6 공용 IP 주소를 만듭니다.

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

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

VM에 대한 공용 IP 주소 만들기

인터넷에서 VM에 원격으로 액세스하려면 VM에 대한 IPv4 공용 IP 주소가 필요합니다. az network public-ip create 명령을 사용하여 공용 IP 주소를 만듭니다.

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

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

표준 Load Balancer 만들기

이 섹션에서는 부하 분산 장치의 이중 프런트 엔드 IP(IPv4 및 IPv6) 및 백 엔드 주소 풀을 구성한 다음, 표준 Load Balancer를 만듭니다.

부하 분산 장치 만들기

az network lb create를 사용하여 dsLB이라는 표준 부하 분산 장치를 만들고, 프런트 엔드 풀 dsLbFrontEnd_v4와 이전 단계에서 만든 IPv4 공용 IP 주소 dsPublicIP_v4에 연결된 백엔드 풀 dsLbBackEndPool_v4를 포함합니다.

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

IPv6 프런트 엔드 만들기

az network lb frontend-ip create를 사용하여 IPV6 프런트 엔드 IP를 만듭니다. 다음 예제에서는 dsLbFrontEnd_v6 프런트 엔드 IP 구성을 만들고 dsPublicIP_v6 주소를 연결합니다.

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

IPv6 백 엔드 주소 풀 구성

az network lb address-pool create를 사용하여 IPv6 백 엔드 주소 풀을 만듭니다. 다음 예제에서는 IPv6 NIC 구성이 있는 VM을 포함하도록 dsLbBackEndPool_v6 백 엔드 주소 풀을 만듭니다.

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

상태 프로브 만들기

az network lb probe create를 사용하여 상태 프로브를 만들어 가상 머신의 상태를 모니터링합니다.

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

부하 분산 장치 규칙 만들기

부하 분산 장치 규칙은 VM으로 트래픽이 분산되는 방법을 정의하는 데 사용됩니다. 들어오는 트래픽에 대한 프런트 엔드 IP 구성 및 트래픽을 수신할 백 엔드 IP 풀과 필요한 원본 및 대상 포트를 함께 정의합니다.

az network lb rule create를 사용하여 부하 분산 장치 규칙을 만듭니다. 다음 예제에서는 dsLBrule_v4dsLBrule_v6이라는 부하 분산 장치 규칙을 만들고 IPv4 및 IPv6 프런트 엔드 IP 구성에 대한 TCP 포트 80의 트래픽을 분산합니다.

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

네트워크 리소스 만들기

일부 VM을 배포하기 전에 가용성 집합, 네트워크 보안 그룹, 가상 네트워크 및 가상 NIC와 같은 지원 네트워크 리소스를 만들어야 합니다.

가용성 집합 만들기

앱의 가용성을 향상하려면 VM을 가용성 집합에 배치합니다.

az vm availability-set create를 사용하여 가용성 집합을 만듭니다. 다음 예제에서는 dsAVset이라는 가용성 집합을 만듭니다.

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

네트워크 보안 그룹 만들기

가상 네트워크의 인바운드 및 아웃바운드 통신을 제어하는 규칙에 대한 네트워크 보안 그룹을 만듭니다.

네트워크 보안 그룹 만들기

az network nsg create를 사용하여 네트워크 보안 그룹 만들기

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

인바운드 및 아웃바운드 연결에 대한 네트워크 보안 그룹 규칙 만들기

포트 3389를 통한 RDP 연결, 포트 80을 통한 인터넷 연결 및 az network nsg 규칙 만들기를 사용한 아웃바운드 연결을 허용하는 네트워크 보안 그룹 규칙을 만듭니다.

# 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 "*"

가상 네트워크 만들기

az network vnet create를 사용하여 가상 네트워크를 만듭니다. 다음 예제는 서브넷 dsSubNET_v4dsSubNET_v6를 포함한 가상 네트워크 dsVNET을 생성합니다:

# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus  \
--address-prefixes "10.0.0.0/16" "fd00:db8: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" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1

NIC 만들기

az network nic create를 사용하여 각 VM에 대한 가상 NIC를 만듭니다. 다음 예제에서는 각 VM에 대한 가상 NIC를 만듭니다. 각 NIC에는 두 개의 IP 구성(IPv4 구성 1개, IPv6 구성 1개)이 있습니다. az network nic ip-config create를 사용하여 IPV6 구성을 만듭니다.

# 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

가상 머신 만들기

az vm create를 사용하여 VM을 만듭니다. 다음 예제에서는 2개의 VM 및 아직 없는 경우 필요한 가상 네트워크 구성 요소를 만듭니다.

다음과 같이 가상 머신 dsVM0 을 만듭니다.

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

다음과 같이 가상 머신 dsVM1 을 만듭니다.

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 이중 스택 가상 네트워크 보기

다음과 같이 Azure Portal에서 IPv6 이중 스택 가상 네트워크를 볼 수 있습니다.

  1. 포털의 검색 창에 dsVnet을 입력합니다.
  2. 검색 결과에 myVirtualNetwork가 표시되면 선택합니다. 그러면 dsVnet이라는 이중 스택 가상 네트워크의 개요 페이지가 시작됩니다. 이중 스택 가상 네트워크는 dsSubnet이라는 이중 스택 서브넷에 있는 IPv4 및 IPv6 구성을 모두 사용하여 두 개의 NIC를 표시합니다.

리소스 정리

더 이상 필요하지 않은 경우 az group delete 명령을 사용하여 리소스 그룹, VM 및 모든 관련된 리소스를 제거할 수 있습니다.

 az group delete --name DsResourceGroup01

다음 단계