-
[Azure] VPN Gateway (VNet-to-Vnet 연결 구성) with Azure PowershellAzure 2023. 3. 30. 15:49
** 참고문서 : https://learn.microsoft.com/ko-kr/azure/vpn-gateway/vpn-gateway-vnet-vnet-rm-ps
[실습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
'Azure' 카테고리의 다른 글
[Azure] Bastion (0) 2023.03.31 [Azure] VPN Gateway (VNet-to-Vnet 연결 구성) with Azure CLI (0) 2023.03.30 [Azure] VPN Gateway (VNet-to-Vnet 연결 구성) with Azure Portal (0) 2023.03.30 [Azure] VPN Gateway (0) 2023.03.29 [Azure] Basic YAML Pipeline in Azure DevOps (CI) (0) 2023.03.23