Fare riferimento a una rete virtuale esistente in un modello di set di scalabilità di Azure
Questo articolo illustra come modificare il modello di set di scalabilità di base per la distribuzione in una rete virtuale esistente anziché crearne uno nuovo.
Prerequisiti
In un articolo precedente è stato creato un modello di set di scalabilità di base. È necessario tale modello precedente in modo da poterlo modificare per creare un modello che distribuisce un set di scalabilità in una rete virtuale esistente.
Identificare la subnet
Prima di tutto aggiungere un parametro subnetId
. Questa stringa viene passata nella configurazione del set di scalabilità e permette al set di scalabilità di identificare la subnet creata in precedenza in cui distribuire le macchine virtuali. Questa stringa deve essere nel formato :
/subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Ad esempio, per distribuire il set di scalabilità in una rete virtuale esistente con nome myvnet
, subnet mysubnet
, gruppo myrg
di risorse e sottoscrizione 00000000-0000-0000-0000-000000000000
, il subnetId sarà:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet
.
},
"adminPassword": {
"type": "securestring"
+ },
+ "subnetId": {
+ "type": "string"
}
},
Eliminare una risorsa di rete virtuale aggiuntiva
Dal momento che si usa una rete virtuale esistente e non è necessario distribuirne una nuova, eliminare successivamente la risorsa rete virtuale dalla matrice resources
.
"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"
- }
- }
- ]
- }
- },
Rimuovere la clausola di dipendenza
La rete virtuale esiste già prima della distribuzione del modello, quindi non è necessario specificare una dependsOn
clausola dal set di scalabilità alla rete virtuale. Individuare le righe seguenti:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "myScaleSet",
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01",
- "dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
- ],
"sku": {
"name": "Standard_A1",
"capacity": 2
Passare il parametro subnet
Infine, passare il subnetId
parametro impostato dall'utente (anziché usare resourceId
per ottenere l'ID di una rete virtuale nella stessa distribuzione, ovvero il modello di set di scalabilità praticabile di base).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Passaggi successivi
È possibile distribuire il modello precedente seguendo quanto indicato nella documentazione di Azure Resource Manager.
Questa serie di esercitazioni può essere avviata dall'articolo sul modello di set di scalabilità di base.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità in una rete virtuale esistente.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità con un'immagine personalizzata.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire un set di scalabilità Linux con scalabilità automatica basata su guest.
Per altre informazioni al riguardo, vedere la panoramica sui set di scalabilità.