VNet 피어링
장점
트래픽은 항상 비공개
Azure 백본 네트워크에서 제공하는 높은 대역폭과 낮은 대기 시간
아이콘은 다음과 같음
종류
한 리전안에 Vnet피어링
다른 리전간에 글로벌 Vnet피어링
다른 AD테넌트, 다른 구독과의 피어링도 가능
피어 구독의 관리자에게 가상 네트워크의 Network Contributor 역할을 부여
Ex) 인수합병 등
비 전이적
A <-> B <-> C 의 경우에, A와 C는 통신불가.
통신하려면, A-C간에 명시적 피어링 해야됨
게이트웨이 전송
허브역할하는 Vnet은 "게이트웨이 전송 허용" 옵션 구성
허브만, 온프렘과 VPN연결해놓고
허브와 피어링 연결된 스포크 가상네트워크에서는 "원격 게이트웨이 사용" 옵션 구성
모든 Vnet에 VPN구성안해도 됨. 비용과 복잡성을 줄인다?
게이트웨이 피어링인가 이게?
단, 글로벌 Vnet피어링은 게이트웨이 전송 지원안됨.
제약사항
VNet 피어링, VPN 또는 ExpressRoute 모두
겹치는 주소공간을 쓰면 안됨.
예제 스크립트
VNet |
Azure 지역 |
VNet 주소 공간 |
서브넷 |
서브넷 주소 공간 |
SalesVNet |
북유럽 |
10.1.0.0/16 |
앱 |
10.1.1.0/24 |
MarketingVNet |
북유럽 |
10.2.0.0/16 |
앱 |
10.2.1.0/24 |
ResearchVNet |
서유럽 |
10.3.0.0/16 |
데이터 |
10.3.1.0/24 |
테스트라, 리소스그룹은 하나로 통일
az network vnet create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \ --name SalesVNet \ --address-prefix 10.1.0.0/16 \ --subnet-name Apps \ --subnet-prefix 10.1.1.0/24 \ --location northeurope
아래와 같이 명령실행 후 생성됨.
az network vnet create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--name MarketingVNet \
--address-prefix 10.2.0.0/16 \
--subnet-name Apps \
--subnet-prefix 10.2.1.0/24 \
--location northeurope
az network vnet create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--name ResearchVNet \
--address-prefix 10.3.0.0/16 \
--subnet-name Data \
--subnet-prefix 10.3.1.0/24 \
--location westeurope
가상네트워크 확인
az network vnet list --output table
SalesVNet의 앱 서브넷에 Ubuntu 가상 머신
az vm create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--no-wait \
--name SalesVM \
--location northeurope \
--vnet-name SalesVNet \
--subnet Apps \
--image UbuntuLTS \
--admin-username azureuser \
--admin-password **P@ssword**
--no-wait 주면 Shell에서 대기안해도 됨.
MarketingVNet의 앱 서브넷에 또 다른 Ubuntu 가상 머신
az vm create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--no-wait \
--name MarketingVM \
--location northeurope \
--vnet-name MarketingVNet \
--subnet Apps \
--image UbuntuLTS \
--admin-username azureuser \
--admin-password **P@ssword**
ResearchVNet의 데이터 서브넷에 Ubuntu 가상 머신
az vm create --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--no-wait \
--name ResearchVM \
--location westeurope \
--vnet-name ResearchVNet \
--subnet Data \
--image UbuntuLTS \
--admin-username azureuser \
--admin-password **P@ssword**
VM상태 조회
az vm get-instance-view --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--output table \
--name SalesVM
az vm get-instance-view --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--output table \
--name MarketingVM
az vm get-instance-view --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--output table \
--name ResearchVM
결과 한방에 확인, 빠르네 우분투라...
Sales와 Marketing간 피어링
az network vnet peering create --name SalesVNet-To-MarketingVNet \
--remote-vnet MarketingVNet \
--resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name SalesVNet \
--allow-vnet-access
반대방향도 피어링 (필수)
az network vnet peering create --name MarketingVNet-To-SalesVNet \
--remote-vnet SalesVNet \
--resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name MarketingVNet \
--allow-vnet-access
이번 예제에서는 아래와 같이 연결함.
Sales --- Marketing
Marketing --- Research
아래는 마케팅과 리서치 간 피어링
az network vnet peering create --name MarketingVNet-To-ResearchVNet \
--remote-vnet ResearchVNet \
--resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name MarketingVNet \
--allow-vnet-access
az network vnet peering create --name ResearchVNet-To-MarketingVNet \
--remote-vnet MarketingVNet \
--resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name ResearchVNet \
--allow-vnet-access
이번 예제에서는 아래와 같이 연결함.
Sales --- Marketing
Marketing --- Research
피어링 연결 확인용
az network vnet peering list --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name SalesVNet \
--output table
az network vnet peering list --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name ResearchVNet \
--output table
az network vnet peering list --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--vnet-name MarketingVNet \
--output table
이번 예제에서는 아래와 같이 연결함.
Sales --- Marketing
Marketing --- Research
3개 VM의 NIC 라우팅테이블 확인
az network nic show-effective-route-table --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--name SalesVMVMNic \
--output table
az network nic show-effective-route-table --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--name MarketingVMVMNic \
--output table
az network nic show-effective-route-table --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--no-wait \
--name ResearchVMVMNic \
--output table
세일즈
Vnet 피어링 확인됨.
마케팅
Vnet 피어링 확인됨.
리서치
검증.
VM의 IP먼저 확인
az vm list --resource-group ee7ed9eb-499d-45cb-a09d-621808994290 \
--query "[*].{Name:name, PrivateIP:privateIps, PublicIP:publicIps}" \
--show-details \
--output table
세일즈VM 접속
세일즈 VM에서 마케팅 VM으로 접속 성공 (Private IP)
확인결과,
세일즈 VM에서 리서치VM으로 공인아이피로는 접속됨.
Private IP로 접속 시도
VNet 피어링 연결이 없기 때문에 연결 시도가 필요합니다. 연결 시도가 완전히 시간 초과될 때까지 최대 60초가 걸릴 수 있습니다. 연결 시도를 강제로 중지하려면 Ctrl-C를 사용합니다.
추가 테스트
'기술(Azure 만...) > [MS]Azure' 카테고리의 다른 글
Azure AD Graph , Microsoft Graph (0) | 2019.06.04 |
---|---|
Azure 트래픽 분산 장치 Traffic Manager (0) | 2019.05.24 |
Azure DSVM, DLVM 이미지 (0) | 2019.04.05 |
Azure SQL Data Sync (0) | 2019.03.10 |
Azure Blob Shared Access Signature (SAS), Soft Delete (0) | 2019.03.10 |