Referera till ett befintligt virtuellt nätverk i en Azure-skalningsuppsättningsmall
Den här artikeln visar hur du ändrar den grundläggande skalningsuppsättningsmallen för distribution till ett befintligt virtuellt nätverk i stället för att skapa ett nytt.
Förutsättningar
I en tidigare artikel hade vi skapat en grundläggande skalningsuppsättningsmall. Du behöver den tidigare mallen så att du kan ändra den för att skapa en mall som distribuerar en skalningsuppsättning till ett befintligt virtuellt nätverk.
Identifiera undernät
Lägg först till en subnetId
parameter. Den här strängen skickas till skalningsuppsättningens konfiguration, så att skalningsuppsättningen kan identifiera det förskapade undernätet som virtuella datorer ska distribueras till. Den här strängen måste vara i formatet:
/subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Om du till exempel vill distribuera skalningsuppsättningen till ett befintligt virtuellt nätverk med namnet myvnet
, undernätet mysubnet
, resursgruppen myrg
och prenumerationen 00000000-0000-0000-0000-000000000000
blir undernäts-ID:t:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet
.
},
"adminPassword": {
"type": "securestring"
+ },
+ "subnetId": {
+ "type": "string"
}
},
Ta bort extra virtuell nätverksresurs
Ta sedan bort den virtuella nätverksresursen från matrisen resources
eftersom du använder ett befintligt virtuellt nätverk och inte behöver distribuera ett nytt.
"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"
- }
- }
- ]
- }
- },
Ta bort beroendesats
Det virtuella nätverket finns redan innan mallen distribueras, så du behöver inte ange någon dependsOn
sats från skalningsuppsättningen till det virtuella nätverket. Ta bort följande rader:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "myScaleSet",
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01",
- "dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
- ],
"sku": {
"name": "Standard_A1",
"capacity": 2
Skicka undernätsparameter
Slutligen skickar du in parametern subnetId
som angetts av användaren (i stället för att använda resourceId
för att hämta ID:t för ett virtuellt nätverk i samma distribution, vilket är vad den grundläggande mallen för livskraftiga skalningsuppsättningar gör).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Nästa steg
Du kan distribuera föregående mall genom att följa Azure Resource Manager-dokumentationen.
Du kan starta den här självstudieserien från den grundläggande artikeln om skalningsuppsättningsmallar.
Du kan se hur du ändrar den grundläggande skalningsuppsättningsmallen för att distribuera skalningsuppsättningen till ett befintligt virtuellt nätverk.
Du kan se hur du ändrar den grundläggande skalningsuppsättningsmallen för att distribuera skalningsuppsättningen med en anpassad avbildning.
Du kan se hur du ändrar den grundläggande skalningsuppsättningsmallen för att distribuera en Linux-skalningsuppsättning med gästbaserad autoskalning.
Mer information om skalningsuppsättningar finns på översiktssidan för skalningsuppsättningar.