Adicionar referência a uma rede virtual existente em um modelo do conjunto de dimensionamento do Azure
Este artigo mostra como modificar o modelo de conjunto de dimensionamento básico a ser implantado em uma rede virtual existente, em vez de criar um novo.
Pré-requisitos
Em um artigo anterior, foi criado um modelo de conjunto de dimensionamento básico. Você precisará modificá-lo para criar um modelo que implante um conjunto de dimensionamento em uma rede virtual existente.
Identificar uma sub-rede
Primeiro, adicione um parâmetro subnetId
. Essa cadeia de caracteres será passada para a configuração do conjunto de dimensionamento, permitindo que o conjunto de dimensionamento identifique a sub-rede pré-criada na qual implantará máquinas virtuais. Essa cadeia de caracteres deve estar no formato a seguir:
/subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<virtual-network-name>/subnets/<subnet-name>
Por exemplo, para implantar o conjunto de dimensionamento em uma rede virtual existente com o nome myvnet
, a sub-rede mysubnet
, o grupo de recursos myrg
e a assinatura00000000-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"
}
},
Excluir recurso de rede virtual adicional
Em seguida, exclua o recurso de rede virtual da matriz resources
, pois você usará uma rede virtual existente e não precisará implantar 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 a cláusula de dependência
Como a rede virtual já existe antes de implantar o modelo, não é necessário especificar uma cláusula dependsOn
do conjunto de dimensionamento para ela. Exclua 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 o parâmetro de sub-rede
Por fim, transmita o parâmetro subnetId
definido pelo usuário (em vez de usar resourceId
para obter o ID de uma VNet na mesma implantação, como feito pelo modelo de conjunto de dimensionamento básico viável).
"name": "myIpConfig",
"properties": {
"subnet": {
- "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', 'myVnet'), '/subnets/mySubnet')]"
+ "id": "[parameters('subnetId')]"
}
}
}
Próximas etapas
É possível implantar o modelo anterior seguindo a documentação do Azure Resource Manager.
Você pode iniciar esta série de tutoriais pelo artigo sobre o modelo de conjunto de dimensionamento básico.
Você pode ver como modificar o modelo de conjunto de dimensionamento básico para implantar o conjunto de dimensionamento em uma rede virtual existente.
Você pode ver como modificar o modelo de conjunto de dimensionamento básico para implantar o conjunto de dimensionamento com uma imagem personalizada.
Você pode ver como modificar o modelo de conjunto de dimensionamento básico para implantar um conjunto de dimensionamento do Linux com o dimensionamento automático baseado no convidado.
Para obter mais informações sobre conjuntos de dimensionamento, consulte a página de visão geral do conjunto de dimensionamento.