Schnellstart: Erstellen eines virtuellen Netzwerks mit Azure PowerShell
Artikel
In dieser Schnellstartanleitung erfahren Sie, wie Sie mithilfe von Azure PowerShell ein virtuelles Netzwerk erstellen. Anschließend erstellen Sie zwei VMs im Netzwerk, stellen über das Internet eine sichere Verbindung mit den VMs her und starten die private Kommunikation zwischen den VMs.
Ein virtuelles Netzwerk ist der grundlegende Baustein für private Netzwerke in Azure. Über Azure Virtual Network können Azure-Ressourcen wie etwa VMs sicher miteinander und mit dem Internet kommunizieren.
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 Cloud Shell auch innerhalb des Azure-Portals ausführen.
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.
Wenn Sie PowerShell lokal ausführen, führen sie Connect-AzAccount aus, um eine Verbindung zu Azure herzustellen.
Erstellen einer Ressourcengruppe
Verwenden Sie New-AzResourceGroup, um eine Ressourcengruppe zum Hosten des virtuellen Netzwerks zu erstellen. Führen Sie den folgenden Code aus, um eine Ressourcengruppe mit dem Namen test-rg in der Azure-Region eastus2 zu erstellen.
Verwenden Sie New-AzVirtualNetwork, um ein virtuelles Netzwerk mit dem Namen vnet-1 und dem IP-Adresspräfix 10.0.0.0/16 in der Ressourcengruppe test-rg am Speicherort eastus2 zu erstellen.
Azure stellt Ressourcen in einem Subnetz innerhalb eines virtuellen Netzwerks bereit. Erstellen Sie mit Add-AzVirtualNetworkSubnetConfig eine Subnetzkonfiguration namens subnet-1 mit dem Adresspräfix 10.0.0.0/24.
Verknüpfen Sie mithilfe von Set-AzVirtualNetwork die Subnetzkonfiguration mit dem virtuellen Netzwerk.
Azure PowerShell
$virtualNetwork | Set-AzVirtualNetwork
Bereitstellen von Azure Bastion
Azure Bastion verwendet Ihren Browser, um mithilfe der privaten IP-Adressen eine Verbindung mit VMs in Ihrem virtuellen Netzwerk über Secure Shell (SSH) oder das Remotedesktopprotokoll (RDP) herzustellen. Die VMs benötigen keine öffentlichen IP-Adressen, keine Clientsoftware und keine spezielle Konfiguration. Weitere Informationen zu Bastion finden Sie unter Was ist Azure Bastion?.
Die Stundenpreise gelten ab dem Zeitpunkt der Bereitstellung von Bastion, unabhängig von der Nutzung ausgehender Daten. Weitere Informationen dazu finden Sie unter Preise und SKUs. Wenn Sie Bastion im Rahmen eines Tutorials oder Tests bereitstellen, empfiehlt es sich, diese Ressource zu löschen, sobald Sie sie nicht mehr benötigen.
Konfigurieren Sie ein Bastion-Subnetz für Ihr virtuelles Netzwerk. Dieses Subnetz ist ausschließlich für Bastion-Ressourcen reserviert und muss den Namen AzureBastionSubnet haben.
Erstellen Sie eine öffentliche IP-Adresse für Bastion. Der Bastion-Host verwendet die öffentliche IP-Adresse für den Zugriff auf SSH und RDP über Port 443.
Die Bereitstellung der Bastion-Ressourcen dauert etwa 10 Minuten. Sie können im nächsten Abschnitt VMs erstellen, während Bastion in Ihrem virtuellen Netzwerk bereitgestellt wird.
Erstellen von virtuellen Computern
Verwenden Sie New-AzVM, um zwei VMs mit den Namen vm-1 und vm-2 im Subnetz subnet-1 des virtuellen Netzwerks zu erstellen. Wenn Sie zur Eingabe von Anmeldeinformationen aufgefordert werden, geben Sie Benutzernamen und Kennwörter für die VMs ein.
Erstellen Sie die erste VM mit folgendem Code:
Azure PowerShell
# Set the administrator and password for the VM. ##$cred = Get-Credential## Place the virtual network into a variable. ##$vnet = Get-AzVirtualNetwork -Name'vnet-1' -ResourceGroupName'test-rg'## Create a network interface for the VM. ##$nic = @{
Name = "nic-1"
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create a virtual machine configuration. ##$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 VM. ##$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
VM = $vmConfig
}
New-AzVM @vm
Erstellen Sie die zweite VM mit folgendem Code:
Azure PowerShell
# Set the administrator and password for the VM. ##$cred = Get-Credential## Place the virtual network into a variable. ##$vnet = Get-AzVirtualNetwork -Name'vnet-1' -ResourceGroupName'test-rg'## Create a network interface for the VM. ##$nic = @{
Name = "nic-2"
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create a virtual machine configuration. ##$vmsz = @{
VMName = "vm-2"
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = "vm-2"
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 VM. ##$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
VM = $vmConfig
}
New-AzVM @vm
Tipp
Sie können die Option -AsJob verwenden, um im Hintergrund eine VM zu erstellen, während Sie mit anderen Aufgaben fortfahren. Führen Sie dazu z. B. New-AzVM @vm1 -AsJobaus. Wenn Azure beginnt, die VM im Hintergrund zu erstellen, wird in etwas folgendes zurückgegeben:
PowerShell
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost New-AzVM
Azure benötigt für das Erstellen der VMs einige Minuten. Wenn Azure die Erstellung der VMs abgeschlossen hat, wird eine Ausgabe an PowerShell zurückgegeben.
Hinweis
VMs in einem virtuellen Netzwerk mit einem Bastion-Host benötigen keine öffentlichen IP-Adressen. Bastion stellt die öffentliche IP-Adresse bereit und die VMs verwenden private IP-Adressen für die Kommunikation innerhalb des Netzwerks. Sie können die öffentlichen IP-Adressen von allen VMs in von Bastion gehosteten virtuellen Netzwerken entfernen. Weitere Informationen finden Sie unter Trennen einer öffentlichen IP-Adresse von einer Azure-VM.
Hinweis
Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.
Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:
Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.
VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.
Geben Sie an der Bash-Eingabeaufforderung für vm-2 den Wert ping -c 4 vm-1 ein.
Sie erhalten eine Antwort ähnlich der folgenden Meldung:
Output
azureuser@vm-2:~$ ping -c 4 vm-1
PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data.
64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms
64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms
64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms
64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
Schließen Sie die Bastion-Verbindung zu vm-2.
Bereinigen von Ressourcen
Wenn Sie die Bearbeitung des virtuellen Netzwerks und der VMs abgeschlossen haben, verwenden Sie Remove-AzResourceGroup, um die Ressourcengruppe und alle darin enthaltenen Ressourcen zu löschen:
Azure PowerShell
Remove-AzResourceGroup -Name'test-rg' -Force
Nächste Schritte
In dieser Schnellstartanleitung haben Sie ein virtuelles Netzwerk mit einem Standardsubnetz erstellt, das zwei VMs enthält. Sie haben Azure Bastion bereitgestellt und verwendet, um eine Verbindung mit den VMs herzustellen und sicher zwischen den VMs zu kommunizieren. Weitere Informationen zu VNET-Einstellungen finden Sie unter Erstellen, Ändern oder Löschen eines virtuellen Netzwerks.
Hier erfahren Sie, wie Azure Bastion bereitgestellt wird, um direkt im Azure-Portal eine sichere Verbindung mit virtuellen Azure-Computern herzustellen.
Zeigen Sie Ihre Kenntnisse zu Entwurf, Implementierung und Wartung der Azure-Netzwerkinfrastruktur, zum Lastenausgleich für Datenverkehr, zum Netzwerkrouting u. v. m.