Azure

[Azure] VPN Gateway (VNet-to-Vnet 연결 구성) with Azure Powershell

bbiyak2da 2023. 3. 30. 15:49

** 참고문서 : https://learn.microsoft.com/ko-kr/azure/vpn-gateway/vpn-gateway-vnet-vnet-rm-ps

 

VPN Gateway VNet 간 연결을 사용하여 VNet을 다른 VNet에 연결: PowerShell - Azure VPN Gateway

VNet 간 연결 및 PowerShell을 사용하여 가상 네트워크를 서로 연결하는 방법에 대해 알아봅니다.

learn.microsoft.com


[실습1. VPN 게이트웨이를 통해 VNet-VNet 연결 (with Azure Powershell)]

- 동일한 구독에 상주하는 VNet ver.

 

 

 

 

 

 

TestVNet1에 대한 값:

  • VNet 이름: TestVNet1
  • 리소스 그룹: TestRG1
  • 위치: 미국 동부
  • TestVNet1: 10.11.0.0/16 & 10.12.0.0/16
  • 프런트 엔드: 10.11.0.0/24
  • 백 엔드: 10.12.0.0/24
  • 게이트웨이 서브넷 = 10.12.255.0/27
  • 게이트웨이 이름: VNet1GW
  • 공용 IP: VNet1GWIP
  • VpnType: 경로 기반
  • 연결(1 대 4): VNet1 대 VNet4
  • 연결(1 대 5): VNet1 대 VNet5(예: 다른 구독의 VNet)
  • 연결 유형: VNet 간

 

TestVNet4에 대한 값:

  • VNet 이름: TestVNet4
  • TestVNet2: 10.41.0.0/16 & 10.42.0.0/16
  • 프런트 엔드: 10.41.0.0/24
  • 백 엔드: 10.42.0.0/24
  • 게이트웨이 서브넷: 10.42.255.0/27
  • 리소스 그룹: TestRG4
  • 위치: 미국 서부
  • 게이트웨이 이름: VNet4GW
  • 공용 IP: VNet4GWIP
  • VpnType: 경로 기반
  • 연결: VNet4 대 VNet1
  • 연결 유형: VNet 간

#1. TestVNet1 만들기 및 구성

본인은 Azure Cloud Shell을 이용하였음

 

1. 구독설정

 

<계정 연결>

Connect-AzAccount

<구독 확인>

Get-AzSubscription

<구독 지정>

Select-AzSubscription -SubscriptionName 구독이름

2. 변수선언

$RG1 = "TestRG1"
$Location1 = "East US"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$GWName1 = "VNet1GW"
$GWIPName1 = "VNet1GWIP"
$GWIPconfName1 = "gwipconf1"
$Connection14 = "VNet1toVNet4"
$Connection15 = "VNet1toVNet5"

3. 리소스 그룹 생성

New-AzResourceGroup -Name $RG1 -Location $Location1

4. TestVNet1에 대한 서브넷 구성 생성

 

- 가상네트워크 : TestVNet1

- 서브넷 : GatewaySubnet, FrontEnd, Backend

$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix1

 

 

앞에서 설정한 변수를 사용한다.

게이트웨이 서브넷은 /27을 사용하였는데, 게이트웨이 서브넷을 /29만큼 작게 만들 수 있지만 적어도 /28 또는 /27을 선택하여 더 많은 주소를 포함하는 큰 서브넷을 만드는 것이 좋다.

이렇게 하면 나중에 필요할 수도 있는 추가 구성에 맞게 충분히 주소를 사용할 수 있다.

 

5. TestVNet1 생성

New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 `
-Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

6. VNet용으로 만들 게이트웨이에 할당할 공용 IP 주소를 요청

$gwpip1 = New-AzPublicIpAddress -Name $GWIPName1 -ResourceGroupName $RG1 `
-Location $Location1 -AllocationMethod Dynamic

또한 AllocationMethod가 동적인지 확인

 

7. 게이트웨이 구성

$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gwipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName1 `
-Subnet $subnet1 -PublicIpAddress $gwpip1

8. TestVNet1에 대한 게이트웨이 생성

New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gwipconf1 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1

#2. TestVNet4 만들기 및 구성

 

1. 변수 선언

$RG4 = "TestRG4"
$Location4 = "West US"
$VnetName4 = "TestVNet4"
$FESubName4 = "FrontEnd"
$BESubName4 = "Backend"
$VnetPrefix41 = "10.41.0.0/16"
$VnetPrefix42 = "10.42.0.0/16"
$FESubPrefix4 = "10.41.0.0/24"
$BESubPrefix4 = "10.42.0.0/24"
$GWSubPrefix4 = "10.42.255.0/27"
$GWName4 = "VNet4GW"
$GWIPName4 = "VNet4GWIP"
$GWIPconfName4 = "gwipconf4"
$Connection41 = "VNet4toVNet1"

2. 리소스 그룹 생성

New-AzResourceGroup -Name $RG4 -Location $Location4

3. TestVNet4에 대한 서브넷 구성 생성

$fesub4 = New-AzVirtualNetworkSubnetConfig -Name $FESubName4 -AddressPrefix $FESubPrefix4
$besub4 = New-AzVirtualNetworkSubnetConfig -Name $BESubName4 -AddressPrefix $BESubPrefix4
$gwsub4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix $GWSubPrefix4

4. TestVNet4 만들기

New-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4 `
-Location $Location4 -AddressPrefix $VnetPrefix41,$VnetPrefix42 -Subnet $fesub4,$besub4,$gwsub4

 

5. 공용 IP 주소 요청

$gwpip4 = New-AzPublicIpAddress -Name $GWIPName4 -ResourceGroupName $RG4 `
-Location $Location4 -AllocationMethod Dynamic

6. 게이트웨이 구성 생성

$vnet4 = Get-AzVirtualNetwork -Name $VnetName4 -ResourceGroupName $RG4
$subnet4 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet4
$gwipconf4 = New-AzVirtualNetworkGatewayIpConfig -Name $GWIPconfName4 -Subnet $subnet4 -PublicIpAddress $gwpip4

7. TestVNet4 게이트웨이 만들기

New-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4 `
-Location $Location4 -IpConfigurations $gwipconf4 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1

 


#3. 연결 만들기

1. 두 개의 가상 네트워크 게이트웨이 모두 가져오기

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$vnet4gw = Get-AzVirtualNetworkGateway -Name $GWName4 -ResourceGroupName $RG4

2. TestVNet1 -> TestVNet4 연결 생성

New-AzVirtualNetworkGatewayConnection -Name $Connection14 -ResourceGroupName $RG1 `
-VirtualNetworkGateway1 $vnet1gw -VirtualNetworkGateway2 $vnet4gw -Location $Location1 `
-ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'

TestVNet1에서 TestVNet4까지 연결을 만든다.

공유 키에 대해 고유한 값을 사용할 수 있습니다. 중요한 점은 두 연결에서 모두 공유 키가 일치해야 한다.

 

3. TestVNet4 -> TestVNet1 연결 생성

New-AzVirtualNetworkGatewayConnection -Name $Connection41 -ResourceGroupName $RG4 `
-VirtualNetworkGateway1 $vnet4gw -VirtualNetworkGateway2 $vnet1gw -Location $Location4 `
-ConnectionType Vnet2Vnet -SharedKey 'AzureA1b2C3'

#4. 연결 확인

 

Get-AzVirtualNetworkGatewayConnection -Name VNet1toVNet4 -ResourceGroupName TestRG1
Get-AzVirtualNetworkGatewayConnection -Name VNet4toVNet1 -ResourceGroupName TestRG4

명령어 입력

연결 확인

 

OR