Verweisen auf ein vorhandenes virtuelles Netzwerk in einer Vorlage für eine Azure-Skalierungsgruppe
In diesem Artikel wird gezeigt, wie die Vorlage für eine grundlegende Skalierungsgruppe geändert wird, um die Bereitstellung in einem vorhandenen virtuellen Netzwerk durchzuführen, statt ein neues zu erstellen.
Voraussetzungen
In einem vorherigen Artikel haben wir eine grundlegende Vorlage für eine Skalierungsgruppe erstellt. Sie benötigen diese frühere Vorlage, damit Sie sie ändern können, um eine Vorlage zu erstellen, die ein Skalierungsset in einem vorhandenen virtuellen Netzwerk einsetzt.
Subnetz identifizieren
Fügen Sie zunächst einen subnetId
-Parameter hinzu. Diese Zeichenfolge wird an die Skalierungsgruppenkonfiguration übergeben und ermöglicht der Skalierungsgruppe das Identifizieren des vorab erstellten Subnetzes, in dem virtuelle Computer bereitgestellt werden sollen. Diese Zeichenfolge muss folgendes Format aufweisen: .
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Beispiel: Zum Bereitstellen der Skalierungsgruppe in einem vorhandenen virtuellen Netzwerk mit dem Namen myvnet
, dem Subnetz mysubnet
, der Ressourcengruppe myrg
, und dem Abonnement 00000000-0000-0000-0000-000000000000
, wäre „subnetId“:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet
.
},
"adminPassword": {
"type": "securestring"
+ },
+ "subnetId": {
+ "type": "string"
}
},
Zusätzliche virtuelle Netzwerkressource löschen
Löschen Sie als Nächstes die Ressource für das virtuelle Netzwerk aus dem resources
-Array, da Sie ein vorhandenes virtuelles Netzwerk verwenden und kein neues bereitstellen müssen.
"variables": {},
"resources": [
- {
- "type": "Microsoft.Network/virtualNetworks",
- "name": "myVnet",
- "location": "[resourceGroup().location]",
- "apiVersion": "2018-11-01",
- "properties": {
- "addressSpace": {
- "addressPrefixes": [
- "10.0.0.0/16"
- ]
- },
- "subnets": [
- {
- "name": "mySubnet",
- "properties": {
- "addressPrefix": "10.0.0.0/16"
- }
- }
- ]
- }
- },
Abhängigkeitsklausel entfernen
Das virtuelle Netzwerk ist bereits vorhanden, bevor die Vorlage bereitgestellt wird, daher ist es nicht erforderlich, dependsOn
eine Klausel vom Skalensatz zum virtuellen Netzwerk anzugeben. Löschen Sie die folgenden Zeilen:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "myScaleSet",
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01",
- "dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
- ],
"sku": {
"name": "Standard_A1",
"capacity": 2
Übergeben von Subnetz-Parametern
Schließlich übergeben Sie den subnetId
-Parameter, der vom Benutzer festgelegt wird (statt resourceId
, um die ID des VNET in der gleichen Bereitstellung abzurufen, was von der Vorlage für die grundlegende Skalierungsgruppe ausgeführt wird).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Nächste Schritte
Eine Anleitung zum Bereitstellen der vorherigen Vorlage finden Sie in der Dokumentation für Azure Resource Manager.
Sie können diese Tutorialreihe über den Artikel zur Vorlage für eine einfache Skalierungsgruppe starten.
Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um die Skalierungsgruppe in einem vorhandenen virtuellen Netzwerk bereitzustellen.
Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um die Skalierungsgruppe mit einem benutzerdefinierten Image bereitzustellen.
Sie erfahren, wie die Vorlage für eine einfache Skalierungsgruppe geändert wird, um eine Linux-Skalierungsgruppe mit gastbasierter automatischer Skalierung bereitzustellen.
Weitere Informationen zu Skalierungsgruppen finden Sie in der Übersicht über Skalierungsgruppen.