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. 仮想ネットワーク ゲートウェイを削除します。 ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。 S2S 構成に加えてこの VNet に対する 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 アドレス リソースの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック 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. 仮想ネットワーク ゲートウェイを削除します。 仮想ネットワーク ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。 V2V 構成に加えて VNet に対する P2S 構成がある場合は、仮想ネットワーク ゲートウェイを削除すると、警告なしにすべての P2S クライアントが自動的に切断されます。

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

    この時点で、仮想ネットワーク ゲートウェイは削除されています。 次の手順を使用して、使用されなくなったリソースを削除できます。

  8. パブリック IP アドレス リソースを削除するには、仮想ネットワーク ゲートウェイの IP 構成を取得します。

    $GWIpConfigs = $Gateway.IpConfigurations
    
  9. 次に、この仮想ネットワーク ゲートウェイに使用されるパブリック IP アドレス リソースの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック 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

Note

VPN ゲートウェイを削除すると、接続しているすべてのクライアントが VNet から警告なしで切断されます。

  1. 削除する仮想ネットワーク ゲートウェイを取得します。

    GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. 仮想ネットワーク ゲートウェイを削除します。 仮想ネットワーク ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。

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

    この時点で、仮想ネットワーク ゲートウェイは削除されています。 次の手順を使用して、使用されなくなったリソースを削除できます。

  3. パブリック IP アドレス リソースを削除するには、まず、仮想ネットワーク ゲートウェイの IP 構成を取得します。

    $GWIpConfigs = $Gateway.IpConfigurations
    

    次に、この仮想ネットワーク ゲートウェイに使用されるパブリック IP アドレスの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック 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 によってすべてのリソースが削除されるまで、しばらく時間がかかります。 リソース グループの状態を確認するには、このコマンドレットを使用します。

    Get-AzResourceGroup -ResourceGroupName TestRG1
    

    結果が返され、"Succeeded" と表示されます。

    ResourceGroupName : TestRG1
    Location          : eastus
    ProvisioningState : Succeeded
    

次の手順

FAQ 情報については、「Azure VPN Gateway に関する FAQ」を参照してください。