ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Azure] VPN Gateway (VNet-to-Vnet 연결 구성) with Azure Powershell
    Azure 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

     

Designed by Tistory.