Odwołanie do istniejącej sieci wirtualnej w szablonie zestawu skalowania platformy Azure
W tym artykule przedstawiono sposób modyfikowania podstawowego szablonu zestawu skalowania w celu wdrożenia w istniejącej sieci wirtualnej zamiast tworzenia nowego.
Wymagania wstępne
W poprzednim artykule utworzyliśmy podstawowy szablon zestawu skalowania. Będzie potrzebny wcześniejszy szablon, aby można było go zmodyfikować w celu utworzenia szablonu, który wdraża zestaw skalowania w istniejącej sieci wirtualnej.
Identyfikowanie podsieci
Najpierw dodaj subnetId
parametr. Ten ciąg jest przekazywany do konfiguracji zestawu skalowania, umożliwiając zestawowi skalowania zidentyfikowanie wstępnie utworzonej podsieci w celu wdrożenia maszyn wirtualnych. Ten ciąg musi mieć postać:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Na przykład aby wdrożyć zestaw skalowania w istniejącej sieci wirtualnej o nazwie myvnet
, podsieci mysubnet
, grupie myrg
zasobów i subskrypcji 00000000-0000-0000-0000-000000000000
, identyfikator podsieci będzie:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet
.
},
"adminPassword": {
"type": "securestring"
+ },
+ "subnetId": {
+ "type": "string"
}
},
Usuwanie dodatkowego zasobu sieci wirtualnej
Następnie usuń zasób sieci wirtualnej z resources
tablicy, ponieważ używasz istniejącej sieci wirtualnej i nie musisz wdrażać nowego.
"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"
- }
- }
- ]
- }
- },
Usuń klauzulę zależności
Sieć wirtualna już istnieje przed wdrożeniem szablonu, więc nie ma potrzeby określania dependsOn
klauzuli z zestawu skalowania do sieci wirtualnej. Usuń następujące wiersze:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "myScaleSet",
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01",
- "dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
- ],
"sku": {
"name": "Standard_A1",
"capacity": 2
Przekazywanie parametru podsieci
Na koniec przekaż subnetId
parametr ustawiony przez użytkownika (zamiast używać resourceId
go do pobrania identyfikatora sieci wirtualnej w tym samym wdrożeniu, co jest podstawowym realnym szablonem zestawu skalowania).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Następne kroki
Poprzedni szablon można wdrożyć, wykonując instrukcje opisane w dokumentacji usługi Azure Resource Manager.
Tę serię samouczków można uruchomić z artykułu podstawowego szablonu zestawu skalowania.
Możesz zobaczyć, jak zmodyfikować podstawowy szablon zestawu skalowania w celu wdrożenia zestawu skalowania w istniejącej sieci wirtualnej.
Możesz zobaczyć, jak zmodyfikować podstawowy szablon zestawu skalowania w celu wdrożenia zestawu skalowania przy użyciu obrazu niestandardowego.
Możesz zobaczyć, jak zmodyfikować podstawowy szablon zestawu skalowania w celu wdrożenia zestawu skalowania systemu Linux przy użyciu automatycznego skalowania opartego na gościu.
Aby uzyskać więcej informacji na temat zestawów skalowania, zapoznaj się ze stroną przeglądu zestawu skalowania.