PowerShell을 사용하여 가상 네트워크 삭제

VPN 게이트웨이 구성에 대한 가상 네트워크 게이트웨이 삭제하려는 경우에 몇 가지 다른 접근 방법을 사용할 수 있습니다.

  • 테스트 환경의 경우처럼 모든 항목을 삭제하고 다시 시작하려면 전체 리소스 그룹을 삭제하면 됩니다. 리소스 그룹을 삭제하면 그룹 내의 모든 리소스가 삭제됩니다. 이 방법은 리소스 그룹에 리소스를 유지하지 않으려는 경우에만 권장됩니다. 이 방법을 사용할 때는 몇 가지 리소스만 선택적으로 삭제할 수가 없습니다.

  • 리소스 그룹에 일부 리소스를 유지하려는 경우 가상 네트워크 게이트웨이를 삭제하는 작업이 좀 더 복잡해집니다. 가상 네트워크 게이트웨이를 삭제하려면 먼저 게이트웨이에 의존하는 모든 리소스를 삭제해야 합니다. 수행하는 단계는 만든 연결의 유형 및 각 연결에 대한 종속 리소스에 따라 달라집니다.

사이트 간 VPN 게이트웨이 삭제

S2S 구성에 대한 가상 네트워크 게이트웨이를 삭제하려면 먼저 가상 네트워크 게이트웨이와 관련된 각 리소스를 삭제해야 합니다. 리소스는 종속성으로 인해 특정 순서로 삭제해야 합니다. 아래 예제에서 일부 값은 지정되어야 하지만 일부 값은 출력 결과로 나타납니다. 데모를 위해 예제에 다음과 같은 특정 값을 사용합니다.

  • VNet 이름: VNet1
  • 리소스 그룹 이름: TestRG1
  • 가상 네트워크 게이트웨이 이름: VNet1GW
  1. 삭제하려는 가상 네트워크 게이트웨이를 가져옵니다.

    $GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. 가상 네트워크 게이트웨이에 연결이 있는지 확인합니다.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    $Conns=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  3. 모든 연결을 삭제합니다. 각 연결의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    $Conns | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    
  4. 가상 네트워크 게이트웨이를 삭제합니다. 게이트웨이의 삭제를 확인하라는 메시지가 표시될 수 있습니다. 이 VNet에 S2S 구성 외에 P2S 구성이 있는 경우 가상 네트워크 게이트웨이를 삭제하면 경고 없이 모든 P2S 클라이언트의 연결이 자동으로 끊어집니다.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    이때 가상 네트워크 게이트웨이가 삭제되었습니다. 다음 단계를 사용하여 더 이상 사용되지 않는 모든 리소스를 삭제할 수 있습니다.

  5. 로컬 네트워크 게이트웨이를 삭제하려면 먼저 해당 로컬 네트워크 게이트웨이 목록을 가져옵니다.

    $LNG=Get-AzLocalNetworkGateway -ResourceGroupName "TestRG1" | where-object {$_.Id -In $Conns.LocalNetworkGateway2.Id}
    

    다음으로 로컬 네트워크 게이트웨이를 삭제합니다. 각 로컬 네트워크 게이트웨이의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    $LNG | ForEach-Object {Remove-AzLocalNetworkGateway -Name $_.Name -ResourceGroupName $_.ResourceGroupName}
    
  6. 공용 IP 주소 리소스를 삭제하려면 먼저 가상 네트워크 게이트웨이의 IP 구성을 가져옵니다.

    $GWIpConfigs = $Gateway.IpConfigurations
    

    다음으로 이 가상 네트워크 게이트웨이에 사용되는 공용 IP 주소 리소스 목록을 가져옵니다. 가상 네트워크 게이트웨이가 활성-활성인 경우 두 개의 공용 IP 주소가 표시됩니다.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    

    공용 IP 리소스를 삭제합니다.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "TestRG1"}
    
  7. 게이트웨이 서브넷을 삭제하고 구성을 설정합니다.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

VNet 간 VPN 게이트웨이 삭제

V2V 구성에 대한 가상 네트워크 게이트웨이를 삭제하려면 먼저 가상 네트워크 게이트웨이와 관련된 각 리소스를 삭제해야 합니다. 리소스는 종속성으로 인해 특정 순서로 삭제해야 합니다. 아래 예제에서 일부 값은 지정되어야 하지만 일부 값은 출력 결과로 나타납니다. 데모를 위해 예제에 다음과 같은 특정 값을 사용합니다.

  • VNet 이름: VNet1
  • 리소스 그룹 이름: TestRG1
  • 가상 네트워크 게이트웨이 이름: VNet1GW
  1. 삭제하려는 가상 네트워크 게이트웨이를 가져옵니다.

    $GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. 가상 네트워크 게이트웨이에 연결이 있는지 확인합니다.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  3. 다른 리소스 그룹의 일부인 가상 네트워크 게이트웨이에 대한 다른 연결이 있을 수 있습니다. 각 추가 리소스 그룹에서 추가 연결을 확인합니다. 이 예제에서 RG2의 연결을 확인합니다. 가상 네트워크 게이트웨이에 연결되어 있을 수 있는 각 리소스 그룹에 대해 이 작업을 실행합니다.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "RG2" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
    
  4. 양방향으로 연결 목록을 가져옵니다. VNet 간 구성이기 때문에 양방향 연결 목록이 필요합니다.

    $ConnsL=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  5. 이 예제에서 RG2의 연결을 확인합니다. 가상 네트워크 게이트웨이에 연결되어 있을 수 있는 각 리소스 그룹에 대해 이 작업을 실행합니다.

     $ConnsR=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "<NameOfResourceGroup2>" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
    
  6. 모든 연결을 삭제합니다. 각 연결의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    $ConnsL | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    $ConnsR | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    
  7. 가상 네트워크 게이트웨이를 삭제합니다. 가상 네트워크 게이트웨이의 삭제를 확인하라는 메시지가 표시될 수 있습니다. VNet에 V2V 구성 외에 P2S 구성이 있는 경우 가상 네트워크 게이트웨이를 삭제하면 경고 없이 모든 P2S 클라이언트의 연결이 자동으로 끊어집니다.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    이때 가상 네트워크 게이트웨이가 삭제되었습니다. 다음 단계를 사용하여 더 이상 사용되지 않는 모든 리소스를 삭제할 수 있습니다.

  8. 공용 IP 주소 리소스를 삭제하려면 가상 네트워크 게이트웨이의 IP 구성을 가져옵니다.

    $GWIpConfigs = $Gateway.IpConfigurations
    
  9. 다음으로 이 가상 네트워크 게이트웨이에 사용되는 공용 IP 주소 리소스 목록을 가져옵니다. 가상 네트워크 게이트웨이가 활성-활성인 경우 두 개의 공용 IP 주소가 표시됩니다.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    
  10. 공용 IP 리소스를 삭제합니다. 공용 IP의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
    
  11. 게이트웨이 서브넷을 삭제하고 구성을 설정합니다.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

지점 및 사이트 간 VPN 게이트웨이 삭제

P2S 구성에 대한 가상 네트워크 게이트웨이를 삭제하려면 먼저 가상 네트워크 게이트웨이와 관련된 각 리소스를 삭제해야 합니다. 리소스는 종속성으로 인해 특정 순서로 삭제해야 합니다. 아래 예제를 사용할 경우 일부 값은 지정되어야 하지만 일부 값은 출력 결과로 나타납니다. 데모를 위해 예제에 다음과 같은 특정 값을 사용합니다.

  • VNet 이름: VNet1
  • 리소스 그룹 이름: TestRG1
  • 가상 네트워크 게이트웨이 이름: VNet1GW

참고 항목

VPN Gateway를 삭제하면 경고 없이 VNet에서 연결된 모든 클라이언트의 연결이 끊어집니다.

  1. 삭제하려는 가상 네트워크 게이트웨이를 가져옵니다.

    GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. 가상 네트워크 게이트웨이를 삭제합니다. 가상 네트워크 게이트웨이의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    이때 가상 네트워크 게이트웨이가 삭제되었습니다. 다음 단계를 사용하여 더 이상 사용되지 않는 모든 리소스를 삭제할 수 있습니다.

  3. 공용 IP 주소 리소스를 삭제하려면 먼저 가상 네트워크 게이트웨이의 IP 구성을 가져옵니다.

    $GWIpConfigs = $Gateway.IpConfigurations
    

    다음으로 이 가상 네트워크 게이트웨이에 사용되는 공용 IP 주소 목록을 가져옵니다. 가상 네트워크 게이트웨이가 활성-활성인 경우 두 개의 공용 IP 주소가 표시됩니다.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    
  4. 공용 IP를 삭제합니다. 공용 IP의 삭제를 확인하라는 메시지가 표시될 수 있습니다.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
    
  5. 게이트웨이 서브넷을 삭제하고 구성을 설정합니다.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

리소스 그룹을 삭제하여 VPN 게이트웨이 삭제

리소스 그룹에 리소스를 유지하지 않고 새로 시작하려는 경우 전체 리소스 그룹을 삭제하면 됩니다. 모든 항목을 제거하는 빠른 방법입니다.

  1. 구독 중인 모든 리소스 그룹 목록을 가져옵니다.

    Get-AzResourceGroup
    
  2. 삭제할 리소스 그룹을 찾습니다.

    삭제하려는 리소스 그룹을 찾고 해당 리소스 그룹의 리소스 목록을 확인합니다. 예제에서 리소스 그룹의 이름은 TestRG1입니다. 모든 리소스 목록을 검색하도록 예제를 수정합니다.

    Find-AzResource -ResourceGroupNameContains TestRG1
    
  3. 목록의 리소스를 확인합니다.

    목록이 반환되면 리소스 그룹의 모든 리소스와 리소스 그룹 자체를 삭제할 것인지도 확인합니다. 리소스 그룹에 일부 리소스를 유지하려면 이 문서에 있는 이전 섹션의 단계를 사용하여 게이트웨이를 삭제합니다.

  4. 리소스 그룹 및 리소스를 삭제합니다. 리소스 그룹 및 리소스 그룹에 포함된 모든 리소스를 삭제하려면 예제를 수정하고 실행합니다.

    Remove-AzResourceGroup -Name TestRG1
    
  5. 상태를 확인합니다. Azure에서 모든 리소스를 삭제하려면 다소 시간이 소요됩니다. 다음 cmdlet을 사용하여 리소스 그룹의 상태를 확인할 수 있습니다.

    Get-AzResourceGroup -ResourceGroupName TestRG1
    

    반환되는 결과에는 'Succeeded'가 표시됩니다.

    ResourceGroupName : TestRG1
    Location          : eastus
    ProvisioningState : Succeeded
    

다음 단계

FAQ 정보는 Azure VPN Gateway FAQ를 참조하세요.