Schnellstart: Erstellen eines NAT-Gateways mithilfe von Azure PowerShell

In dieser Schnellstartanleitung erfahren Sie, wie Sie ein NAT-Gateway mithilfe von PowerShell erstellen. Der NAT-Gatewaydienst bietet ausgehende Konnektivität für virtuelle Computer in Azure.

Diagramm von Ressourcen, die im Schnellstart „NAT-Gateway“ erstellt wurden.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.

  • Azure Cloud Shell oder Azure PowerShell.

    Die Schritte in dieser Schnellstartanleitung führen die Azure PowerShell Cmdlets interaktiv in Azure Cloud Shell aus. Um die Befehle in der Cloud Shell auszuführen, wählen Sie in der oberen rechten Ecke eines Codeblocks Cloud Shell öffnen aus. Wählen Sie Kopieren aus, um den Code zu kopieren und fügen Sie ihn in Cloud Shell ein, um ihn auszuführen. Sie können Azure Cloud Shell innerhalb des Azure-Portals starten.

    Sie können Azure PowerShell auch lokal installieren, um die Cmdlets auszuführen. Für die Beispiele in diesem Artikel muss Version 5.4.1 oder höher des Azure PowerShell-Moduls verwendet werden. Führen Sie Get-Module -ListAvailable Az aus, um die installierte Version zu ermitteln. Sollte ein Upgrade erforderlich sein, lesen Sie Aktualisieren des Azure PowerShell-Moduls.

Erstellen einer Ressourcengruppe

Erstellen Sie mit New-AzResourceGroup eine Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden.

Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen test-rg am Standort eastus2 erstellt:

$rsg = @{
    Name = 'test-rg'
    Location = 'eastus2'
}
New-AzResourceGroup @rsg

Erstellen des NAT-Gateways

In diesem Abschnitt erstellen Sie das NAT-Gateway und unterstützende Ressourcen.

  • Für den Zugriff auf das Internet benötigen Sie mindestens eine öffentliche IP-Adresse für das NAT-Gateway. Verwenden Sie New-AzPublicIpAddress, um eine öffentliche IP-Adressressource namens public-ip-nat in test-rg zu erstellen.

  • Erstellen Sie mit New-AzNatGateway ein globales Azure-NAT-Gateway. Das Ergebnis dieses Befehls erstellt eine Gatewayressource namens nat-gateway, die die öffentliche IP-Adresse public-ip-nat verwendet. Das Leerlauftimeout wird auf zehn Minuten festgelegt.

  • Erstellen Sie ein virtuelles Netzwerk namens vnet-1 mit einem Subnetz namens subnet-1 mit New-AzVirtualNetworkSubnetConfig in test-rg, indem Sie New-AzVirtualNetwork verwenden. Der IP-Adressraum für das virtuelle Netzwerk ist 10.0.0.0/16. Das Subnetz im virtuellen Netzwerk ist 10.0.0.0/24.

  • Erstellen Sie einen Azure Bastion-Host mit dem Namen bastion für den Zugriff auf die VM. Verwenden Sie New-AzBastion, um den Bastionhost zu erstellen. Erstellen Sie mit New-AzPublicIpAddress eine öffentliche IP-Adresse für den Bastionhost.

## Create public IP address for NAT gateway ##
$ip = @{
    Name = 'public-ip-nat'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicIP = New-AzPublicIpAddress @ip

## Create NAT gateway resource ##
$nat = @{
    ResourceGroupName = 'test-rg'
    Name = 'nat-gateway'
    IdleTimeoutInMinutes = '10'
    Sku = 'Standard'
    Location = 'eastus2'
    PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat

## Create subnet config and associate NAT gateway to subnet##
$subnet = @{
    Name = 'subnet-1'
    AddressPrefix = '10.0.0.0/24'
    NatGateway = $natGateway
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet 

## Create Azure Bastion subnet. ##
$bastsubnet = @{
    Name = 'AzureBastionSubnet' 
    AddressPrefix = '10.0.1.0/26'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet

## Create the virtual network ##
$net = @{
    Name = 'vnet-1'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    AddressPrefix = '10.0.0.0/16'
    Subnet = $subnetConfig,$bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net

## Create public IP address for bastion host. ##
$ip = @{
    Name = 'public-ip'
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Sku = 'Standard'
    AllocationMethod = 'Static'
    Zone = 1,2,3
}
$publicip = New-AzPublicIpAddress @ip

## Create bastion host ##
$bastion = @{
    Name = 'bastion'
    ResourceGroupName = 'test-rg'
    PublicIpAddressRgName = 'test-rg'
    PublicIpAddressName = 'public-ip'
    VirtualNetworkRgName = 'test-rg'
    VirtualNetworkName = 'vnet-1'
    Sku = 'Basic'
}
New-AzBastion @bastion

Die Bereitstellung des Bastionhosts kann einige Minuten dauern. Warten Sie, bis der Bastionhost bereitgestellt wurde, bevor Sie mit dem nächsten Abschnitt fortfahren.

Virtueller Computer

In diesem Abschnitt erstellen Sie einen virtuellen Computer, um das NAT-Gateway zu testen und die öffentliche IP-Adresse der ausgehenden Verbindung zu überprüfen.

# Set the administrator and password for the VMs. ##
$cred = Get-Credential

## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'

## Create network interface for virtual machine. ##
$nic = @{
    Name = "nic-1"
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic

## Create a virtual machine configuration for VMs ##
$vmsz = @{
    VMName = 'vm-1'
    VMSize = 'Standard_DS1_v2'  
}
$vmos = @{
    ComputerName = 'vm-1'
    Credential = $cred
}
$vmimage = @{
    PublisherName = 'Canonical'
    Offer = '0001-com-ubuntu-server-jammy'
    Skus = '22_04-lts-gen2'
    Version = 'latest'     
}
$vmConfig = New-AzVMConfig @vmsz `
    | Set-AzVMOperatingSystem @vmos -Linux `
    | Set-AzVMSourceImage @vmimage `
    | Add-AzVMNetworkInterface -Id $nicVM.Id

## Create the virtual machine for VMs ##
$vm = @{
    ResourceGroupName = 'test-rg'
    Location = 'eastus2'
    VM = $vmConfig
}
New-AzVM @vm

Warten Sie, bis die Erstellung des virtuellen Computers abgeschlossen ist, bevor Sie mit dem nächsten Abschnitt fortfahren.

Testen des NAT-Gateways

In diesem Abschnitt testen Sie das NAT-Gateway. Sie ermitteln zunächst die öffentliche IP-Adresse des NAT-Gateways. Anschließend stellen Sie eine Verbindung mit dem virtuellen Testcomputer her und überprüfen die ausgehende Verbindung über das NAT-Gateway.

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie am oberen Rand des Portals den Suchbegriff Öffentliche IP-Adresse in das Suchfeld ein. Wählen Sie in den Suchergebnissen Öffentliche IP-Adressen aus.

  3. Wählen Sie public-ip-nat aus.

  4. Notieren Sie sich die öffentliche IP-Adresse:

    Ermitteln der öffentlichen IP-Adresse des NAT-Gateways

  5. Geben Sie im Suchfeld oben im Portal den Suchbegriff Virtueller Computer ein. Wählen Sie in den Suchergebnissen Virtuelle Computer aus.

  6. Wählen Sie vm-1 aus.

  7. Wählen Sie auf der Seite Übersicht die Option Verbinden und dann die Registerkarte Bastion aus.

  8. Klicken Sie auf Bastion verwenden.

  9. Geben Sie den Benutzernamen und das Kennwort ein, die Sie bei der VM-Erstellung verwendet haben. Wählen Sie Verbinden.

  10. Geben Sie an der Bash-Eingabeaufforderung den folgenden Befehl ein:

    curl ifconfig.me
    
  11. Überprüfen Sie, ob die vom Befehl zurückgegebene IP-Adresse mit der öffentlichen IP-Adresse des NAT-Gateways übereinstimmt.

    azureuser@vm-1:~$ curl ifconfig.me
    20.7.200.36
    

Bereinigen von Ressourcen

Falls Sie diese Anwendung nicht mehr benötigen, löschen Sie die das virtuelle Netzwerk, den virtuellen Computer und das NAT-Gateway wie folgt:

Remove-AzResourceGroup -Name 'test-rg' -Force

Nächste Schritte

Weitere Informationen zum Azure NAT Gateway finden Sie hier: