Referenciar uma rede virtual existente num modelo de conjunto de dimensionamento do Azure
Este artigo mostra como modificar o modelo de conjunto de dimensionamento básico para implementar numa rede virtual existente em vez de criar um novo.
Pré-requisitos
Num artigo anterior, criámos um modelo de conjunto de dimensionamento básico. Precisará desse modelo anterior para poder modificá-lo para criar um modelo que implemente um conjunto de dimensionamento numa rede virtual existente.
Identificar sub-rede
Primeiro, adicione um subnetId
parâmetro. Esta cadeia é transmitida para a configuração do conjunto de dimensionamento, permitindo que o conjunto de dimensionamento identifique a sub-rede pré-criada para implementar máquinas virtuais. Esta cadeia tem de ser do formulário:
/subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Por exemplo, para implementar o conjunto de dimensionamento numa rede virtual existente com o nome myvnet
, sub-rede mysubnet
, grupo myrg
de recursos e subscrição 00000000-0000-0000-0000-000000000000
, o subnetId seria:
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myrg/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet
.
},
"adminPassword": {
"type": "securestring"
+ },
+ "subnetId": {
+ "type": "string"
}
},
Eliminar recurso de rede virtual adicional
Em seguida, elimine o recurso de rede virtual da resources
matriz, uma vez que utiliza uma rede virtual existente e não precisa de implementar uma nova.
"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"
- }
- }
- ]
- }
- },
Remover cláusula de dependência
A rede virtual já existe antes de o modelo ser implementado, pelo que não é necessário especificar uma dependsOn
cláusula do conjunto de dimensionamento para a rede virtual. Elimine as seguintes linhas:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"name": "myScaleSet",
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01",
- "dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
- ],
"sku": {
"name": "Standard_A1",
"capacity": 2
Transmitir parâmetro de sub-rede
Por fim, transmita o subnetId
parâmetro definido pelo utilizador (em vez de utilizar resourceId
para obter o ID de uma vnet na mesma implementação, que é o que faz o modelo de conjunto de dimensionamento viável básico).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Passos seguintes
Pode seguir a documentação do Azure Resource Manager para implementar o modelo anterior.
Pode iniciar esta série de tutoriais a partir do artigo de modelo do conjunto de dimensionamento básico.
Pode ver como modificar o modelo de conjunto de dimensionamento básico para implementar o conjunto de dimensionamento numa rede virtual existente.
Pode ver como modificar o modelo do conjunto de dimensionamento básico para implementar o conjunto de dimensionamento com uma imagem personalizada.
Pode ver como modificar o modelo de conjunto de dimensionamento básico para implementar um conjunto de dimensionamento do Linux com o dimensionamento automático baseado em convidados.
Para obter mais informações sobre conjuntos de dimensionamento, veja a página de descrição geral do conjunto de dimensionamento.