Erstellen einer VM (klassisch) mit mehreren Netzwerkkarten mithilfe der klassischen Azure CLI
Sie können virtuelle Computer (VMs) in Azure erstellen und jedem virtuellen Computer mehrere Netzwerkkarten (NICs) zuordnen. Mehrere NICs ermöglichen die Trennung von Datenverkehrstypen für alle NICs. Beispiel: Eine NIC kommuniziert mit dem Internet, während eine andere nur mit internen Ressourcen kommuniziert, für die keine Internetverbindung besteht. Die Möglichkeit, Netzwerkdatenverkehr auf mehreren NICs zu trennen, ist für zahlreiche virtuelle Netzwerkgeräte erforderlich, beispielsweise für Lösungen zur Anwendungsbereitstellung und WAN-Optimierung.
Wichtig
Azure verfügt über zwei verschiedene Bereitstellungsmodelle für das Erstellen und Verwenden von Ressourcen: das Resource Manager-Modell und das klassische Bereitstellungsmodell. Dieser Artikel befasst sich mit der Verwendung des klassischen Bereitstellungsmodells. Microsoft empfiehlt für die meisten neuen Bereitstellungen die Verwendung des Ressourcen-Manager-Modells. Erfahren Sie, wie Sie diese Schritte mit dem Resource Manager-Bereitstellungsmodell ausführen.
Szenario
In diesem Dokument wird eine Bereitstellung ausführlich erläutert, in der in einem bestimmten Szenario mehrere NICs in virtuellen Computern verwendet werden. In diesem Szenario wird eine IaaS-Workload mit zwei Ebenen in Azure gehostet. Jede Ebene wird in einem eigenen Subnetz in einem virtuellen Netzwerk (VNet) bereitgestellt. Die Front-End-Ebene besteht aus mehreren Webservern, die in einem Lastenausgleich für Hochverfügbarkeit gruppiert werden. Die Back-End-Ebene besteht aus mehreren Datenbankservern. Die Datenbankserver werden mit jeweils zwei Netzwerkkarten bereitgestellt: einer Karte für den Datenbankzugriff und einer anderen für die Verwaltung. Das Szenario umfasst auch Netzwerk-Sicherheitsgruppen (NSGs), die steuern, welcher Datenverkehr für jedes Subnetz und NIC in der Bereitstellung zulässig ist. In der folgenden Abbildung ist die grundlegende Architektur dieses Szenarios dargestellt:
In den folgenden Schritten verwenden Sie eine Ressourcengruppe mit dem Namen IaaSStory für die Webserver und eine Ressourcengruppe mit dem Namen IaaSStory-BackEnd für die DB-Server.
Voraussetzungen
Bevor Sie die DB-Server erstellen können, müssen Sie die Ressourcengruppe IaaSStory mit den erforderlichen Ressourcen für dieses Szenario erstellen. Führen Sie die folgenden Schritte aus, um diese Ressourcen zu erstellen: Erstellen Sie ein virtuelles Netzwerk, indem Sie die Schritte im Artikel Erstellen eines virtuellen Netzwerks befolgen.
Voraussetzung: Installieren der Azure CLI
Um die Schritte in diesem Artikel auszuführen, installieren Sie die Azure CLI und melden Sie sich bei Azure an.
Hinweis
Wenn Sie über kein Azure-Konto verfügen, müssen Sie eines erstellen. Sie können sich hier für eine kostenlose Testversion registrieren. Um die Schritte ausführen zu können, muss außerdem jq oder ein anderes Tool oder eine Bibliothek für die JSON-Analyse installiert sein.
Bereitstellen der Back-End-VMs
Die Back-End-VMs sind auf die Erstellung der folgenden Ressourcen angewiesen:
- Speicherkonto für Datenträger. Für eine bessere Leistung verwenden die Datenträger auf den Datenbankservern Solid State Drive (SSD)-Technik. Dafür ist ein Storage Premium-Konto erforderlich. Achten Sie darauf, dass der Azure-Speicherort für die Bereitstellung Storage Premium unterstützt.
- NICs: Jeder virtuelle Computer hat zwei Netzwerkkarten, eine für den Datenbankzugriff und eine für die Verwaltung.
- Verfügbarkeitsgruppe. Alle Datenbankserver werden einer einzigen Verfügbarkeitsgruppe hinzugefügt, damit sichergestellt ist, dass mindestens ein virtueller Computer während der Wartung ausgeführt wird.
Schritt 1: Starten des Skripts
Sie können das verwendete Bash-Skript ungekürzt hierherunterladen. Führen Sie die nachstehenden Schritte aus, damit das Skript in Ihrer Umgebung funktionieren kann:
Ändern Sie die Werte der nachstehenden Variablen basierend auf der im obigen Abschnitt Voraussetzungenbereitgestellten Ressourcengruppe.
location="useast2" vnetName="WTestVNet" backendSubnetName="BackEnd"
Ändern Sie die Werte der nachstehenden Variablen basierend auf den Werten, die Sie für die Back-End-Bereitstellung verwenden möchten.
backendCSName="IaaSStory-Backend" prmStorageAccountName="iaasstoryprmstorage" image="0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1" avSetName="ASDB" vmSize="Standard_DS3" diskSize=127 vmNamePrefix="DB" osDiskName="osdiskdb" dataDiskPrefix="db" dataDiskName="datadisk" ipAddressPrefix="192.168.2." username='adminuser' password='adminP@ssw0rd' numberOfVMs=2
Schritt 2: Erstellen der erforderlichen Ressourcen für die virtuellen Computer
Erstellen Sie einen neuen Clouddienst für alle Back-End-VMs. Beachten Sie die Verwendung der
$backendCSName
-Variable für den Ressourcengruppennamen und$location
für die Azure-Region.azure service create --serviceName $backendCSName \ --location $location
Erstellen Sie ein Storage Premium-Konto für das Betriebssystem und die Datenträger, die von den virtuellen Computern verwendet werden sollen.
azure storage account create $prmStorageAccountName \ --location $location \ --type PLRS
Schritt 3: Erstellen von virtuellen Computern mit mehreren Netzwerkschnittstellenkarten
Erstellen Sie mithilfe einer Schleife mehrere virtuelle Computer auf Grundlage der
numberOfVMs
-Variablen.for ((suffixNumber=1;suffixNumber<=numberOfVMs;suffixNumber++)); do
Geben Sie für jeden virtuellen Computer den Namen und die IP-Adresse der beiden Netzwerkkarten an.
nic1Name=$vmNamePrefix$suffixNumber-DA x=$((suffixNumber+3)) ipAddress1=$ipAddressPrefix$x nic2Name=$vmNamePrefix$suffixNumber-RA x=$((suffixNumber+53)) ipAddress2=$ipAddressPrefix$x
Erstellen Sie den virtuellen Computer. Beachten Sie, dass der
--nic-config
-Parameter verwendet wird, der eine Liste aller Netzwerkkarten mit Namen, Subnetz und IP-Adresse enthält.azure vm create $backendCSName $image $username $password \ --connect $backendCSName \ --vm-name $vmNamePrefix$suffixNumber \ --vm-size $vmSize \ --availability-set $avSetName \ --blob-url $prmStorageAccountName.blob.core.windows.net/vhds/$osDiskName$suffixNumber.vhd \ --virtual-network-name $vnetName \ --subnet-names $backendSubnetName \ --nic-config $nic1Name:$backendSubnetName:$ipAddress1::,$nic2Name:$backendSubnetName:$ipAddress2::
Erstellen Sie für jeden virtuellen Computer zwei Datenträger.
azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-1.vhd azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-2.vhd done
Schritt 4: Ausführen des Skripts
Führen Sie das Skript aus, nachdem sie es heruntergeladen und angepasst haben, um die Back-End-VMs mit mehreren Netzwerkkarten zu erstellen.
Speichern Sie Ihr Skript, und führen Sie es im Bash -Terminal aus. Anfänglich wird die folgende Ausgabe angezeigt.
info: Executing command service create info: Creating cloud service data: Cloud service name IaaSStory-Backend info: service create command OK info: Executing command storage account create info: Creating storage account info: storage account create command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM
Nach einigen Minuten wird die Ausführung beendet, und Sie sehen den im Folgenden gezeigten Rest der Ausgabe.
info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK
Schritt 5: Konfigurieren des Routings im Betriebssystem des virtuellen Computers
Azure DHCP weist der ersten (primären) Netzwerkschnittstelle, die an den virtuellen Computer angefügt ist, ein Standardgateway zu. Azure weist zusätzlichen (sekundären) Netzwerkschnittstellen, die an einen virtuellen Computer angefügt sind, kein Standardgateway zu. Daher können Sie standardmäßig nicht mit Ressourcen außerhalb des Subnetzes kommunizieren, in dem sich eine sekundäre Netzwerkschnittstelle befindet. Sekundäre Netzwerkschnittstellen können jedoch mit Ressourcen außerhalb ihres Subnetzes kommunizieren. Informationen zum Konfigurieren des Routings für sekundäre Netzwerkschnittstellen finden Sie unter Routing innerhalb des Betriebssystems eines virtuellen Computers mit mehreren Netzwerkschnittstellen.