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를 사용합니다. 

 

 

 

추가 테스트 

 

 

 

 




+ Recent posts