자습서: Azure CLI를 사용하여 게이트웨이 부하 분산 장치 만들기
Azure Load Balancer는 표준, 기본 및 게이트웨이 SKU로 구성됩니다. 게이트웨이 부하 분산 장치는 NVA(네트워크 가상 어플라이언스)를 사용자가 인식하지 못하는 새 삽입하는 데 사용됩니다. NVA의 고성능 및 높은 확장성이 필요한 시나리오의 경우 게이트웨이 부하 분산 장치를 사용합니다.
이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.
- 가상 네트워크를 만듭니다.
- 네트워크 보안 그룹을 만듭니다.
- 게이트웨이 부하 분산 장치를 만듭니다.
- 부하 분산 장치 프런트 엔드를 게이트웨이 부하 분산 장치에 연결합니다.
필수 조건
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
이 자습서에는 Azure CLI 버전 2.0.28 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.
활성 구독이 있는 Azure 계정. 체험 계정 만들기
기존 공용 표준 SKU Azure Load Balancer 부하 분산 장치 만들기에 대한 자세한 내용은 Azure CLI 사용하여 공용 부하 분산 장치 만들기를 참조하세요.
- 이 자습서에서는 예제의 기존 부하 분산 장치의 이름을 myLoadBalancer로 지정합니다.
리소스 그룹 만들기
Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.
az group create를 사용하여 리소스 그룹을 만듭니다.
az group create \
--name TutorGwLB-rg \
--location eastus
가상 네트워크 구성.
가상 네트워크는 게이트웨이 부하 분산 장치의 백 엔드 풀에 있는 리소스에 필요합니다.
가상 네트워크 만들기
az network vnet create를 사용하여 가상 네트워크를 만듭니다.
az network vnet create \
--resource-group TutorGwLB-rg \
--location eastus \
--name myVNet \
--address-prefixes 10.1.0.0/16 \
--subnet-name myBackendSubnet \
--subnet-prefixes 10.1.0.0/24
베스천 공용 IP 주소 만들기
az network public-ip create를 사용하여 Azure Bastion 호스트에 대한 공용 IP 주소를 만듭니다.
az network public-ip create \
--resource-group TutorGwLB-rg \
--name myBastionIP \
--sku Standard \
--zone 1 2 3
배스천 서브넷 만들기
az network vnet subnet create를 사용하여 베스천 서브넷을 만듭니다.
az network vnet subnet create \
--resource-group TutorGwLB-rg \
--name AzureBastionSubnet \
--vnet-name myVNet \
--address-prefixes 10.1.1.0/27
베스천 호스트 만들기
az network bastion create를 사용하여 가상 네트워크의 리소스를 안전하게 관리하기 위한 배스천 호스트를 배포합니다.
az network bastion create \
--resource-group TutorGwLB-rg \
--name myBastionHost \
--public-ip-address myBastionIP \
--vnet-name myVNet \
--location eastus
Azure Bastion 호스트를 배포하는 데 몇 분 정도 걸릴 수 있습니다.
Important
시간당 가격 책정은 아웃바운드 데이터 사용량에 관계없이 Bastion이 배포되는 순간부터 시작됩니다. 자세한 내용은 가격 책정 및 SKU를 참조하세요. 자습서 또는 테스트의 일부로 Bastion을 배포하는 경우 이 리소스 사용을 마친 후 삭제하는 것이 좋습니다.
NSG 구성
다음 예제를 사용하여 네트워크 보안 그룹을 만듭니다. 이전에 만든 가상 네트워크의 네트워크 트래픽에 필요한 NSG 규칙을 구성합니다.
NSG 만들기
az network nsg create를 사용하여 NSG를 만듭니다.
az network nsg create \
--resource-group TutorGwLB-rg \
--name myNSG
NSG 규칙 만들기
az network nsg rule create를 사용하여 NSG 규칙을 만듭니다.
az network nsg rule create \
--resource-group TutorGwLB-rg \
--nsg-name myNSG \
--name myNSGRule-AllowAll \
--protocol '*' \
--direction inbound \
--source-address-prefix '0.0.0.0/0' \
--source-port-range '*' \
--destination-address-prefix '0.0.0.0/0' \
--destination-port-range '*' \
--access allow \
--priority 100
az network nsg rule create \
--resource-group TutorGwLB-rg \
--nsg-name myNSG \
--name myNSGRule-AllowAll-TCP-Out \
--protocol 'TCP' \
--direction outbound \
--source-address-prefix '0.0.0.0/0' \
--source-port-range '*' \
--destination-address-prefix '0.0.0.0/0' \
--destination-port-range '*' \
--access allow \
--priority 100
게이트웨이 부하 분산 장치 구성
이 섹션에서는 구성을 만들고 게이트웨이 부하 분산 장치를 배포합니다.
게이트웨이 부하 분산 장치 만들기
az network lb create를 사용하여 부하 분산 장치를 만듭니다.
az network lb create \
--resource-group TutorGwLB-rg \
--name myLoadBalancer-gw \
--sku Gateway \
--vnet-name myVNet \
--subnet myBackendSubnet \
--backend-pool-name myBackendPool \
--frontend-ip-name myFrontEnd
터널 인터페이스 만들기
내부 인터페이스는 --identifier
가 900이고, --port
가 10800인 Azure CLI를 사용하여 자동으로 만들어집니다.
az network lb address-pool tunnel-interface add를 사용하여 부하 분산 장치의 외부 터널 인터페이스를 만듭니다.
az network lb address-pool tunnel-interface add \
--address-pool myBackEndPool \
--identifier '901' \
--lb-name myLoadBalancer-gw \
--protocol VXLAN \
--resource-group TutorGwLB-rg \
--type External \
--port '10801'
상태 프로브 만들기
부하 분산 장치에서 백 엔드 인스턴스의 상태를 모니터링하려면 상태 프로브가 필요합니다. TCP 상태 프로브를 만들려면 az network lb probe create를 사용합니다.
az network lb probe create \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myHealthProbe \
--protocol http \
--port 80 \
--path '/' \
--interval '5' \
--threshold '2'
부하 분산 규칙 만들기
백 엔드 인스턴스로 향하는 트래픽은 부하 분산 규칙을 통해 라우팅됩니다. az network lb rule create를 사용하여 부하 분산 장치 규칙을 만듭니다.
az network lb rule create \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myLBRule \
--protocol All \
--frontend-port 0 \
--backend-port 0 \
--frontend-ip-name myFrontEnd \
--backend-pool-name myBackEndPool \
--probe-name myHealthProbe
게이트웨이 부하 분산 장치 백 엔드 풀에 네트워크 가상 어플라이언스 추가
Azure Marketplace 통해 NLA를 배포합니다. 배포되면 az network nic ip-config address-pool add를 사용하여 백 엔드 풀에 가상 머신을 추가합니다.
게이트웨이 부하 분산 장치에 부하 분산 장치 프런트 엔드 연결
이 예제에서는 표준 부하 분산 장치의 프런트 엔드를 게이트웨이 부하 분산 장치에 연결합니다.
구독에 있는 기존 부하 분산 장치의 프런트 엔드 IP에 프런트 엔드를 추가합니다.
az network lb frontend-ip show를 사용하여 게이트웨이 부하 분산 장치 프런트 엔드의 리소스 ID를 변수에 배치합니다.
az network lb frontend-ip update를 사용하여 게이트웨이 부하 분산 장치 프런트 엔드를 기존 부하 분산 장치에 연결합니다.
feid=$(az network lb frontend-ip show \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myFrontend \
--query id \
--output tsv)
az network lb frontend-ip update \
--resource-group CreatePubLBQS-rg \
--name myFrontendIP \
--lb-name myLoadBalancer \
--public-ip-address myPublicIP \
--gateway-lb $feid
게이트웨이 Load Balancer에 가상 머신 연결
또는 VM의 NIC IP 구성을 게이트웨이 부하 분산 장치에 연결할 수 있습니다.
게이트웨이 부하 분산 장치의 프런트 엔드를 기존 VM의 NIC IP 구성에 추가합니다.
az network lb frontend-ip show를 사용하여 게이트웨이 부하 분산 장치 프런트 엔드의 리소스 ID를 변수에 배치합니다.
az network lb frontend-ip update를 사용하여 게이트웨이 부하 분산 장치 프런트 엔드를 기존 VM의 NIC IP 구성에 연결합니다.
feid=$(az network lb frontend-ip show \
--resource-group TutorGwLB-rg \
--lb-name myLoadBalancer-gw \
--name myFrontend \
--query id \
--output tsv)
az network nic ip-config update \
--resource-group MyResourceGroup
--nic-name MyNIC
--name MyIPconfig
--gateway-lb $feid
리소스 정리
더 이상 필요하지 않은 경우 az group delete 명령을 사용하여 리소스 그룹, 부하 분산 장치 및 남아 있는 리소스를 제거할 수 있습니다.
az group delete \
--name TutorGwLB-rg
다음 단계
Azure에서 네트워크 가상 어플라이언스를 만듭니다.
NVA를 만들 때 이 자습서에서 만든 리소스를 선택합니다.
가상 네트워크
서브넷
네트워크 보안 그룹
게이트웨이 부하 분산 장치
영역 간 Azure Load Balancer를 만드는 방법에 대해 알아보려면 다음 문서로 계속 진행하세요.