Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
- Implante uma máquina virtual do Azure Nexus usando um modelo do Azure Resource Manager.
Este guia de início rápido foi projetado para ajudá-lo a começar a usar máquinas virtuais Nexus para hospedar funções de rede virtual (VNFs). Seguindo as etapas descritas neste guia, você pode criar rápida e facilmente uma máquina virtual Nexus personalizada que atenda às suas necessidades e requisitos específicos. Se você é um iniciante ou um especialista em redes Nexus, este guia está aqui para ajudar. Você aprende tudo o que precisa saber para criar e personalizar máquinas virtuais Nexus para hospedar funções de rede virtual.
Antes de começar
Se não tiver uma conta do Azure, crie uma conta gratuita antes de começar.
Utilize o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale o CLI do Azure. Se estiver a usar Windows ou macOS, considere executar o Azure CLI num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga os passos exibidos no seu terminal. Para outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão do Azure CLI na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a CLI do Azure.
Execute az version para descobrir a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Instale a versão mais recente das extensões necessárias da CLI do Azure.
Se você tiver várias assinaturas do Azure, selecione a ID de assinatura apropriada na qual os recursos devem ser cobrados usando o
az accountcomando.Antes de prosseguir com a criação da máquina virtual, verifique se a imagem do contêiner a ser usada é criada de acordo com as instruções.
Crie um grupo de recursos usando o comando
az group create. Um grupo de recursos do Azure é um grupo lógico no qual os recursos do Azure são implantados e gerenciados. Ao criar um grupo de recursos, você será solicitado a especificar um local. Esse local é o local de armazenamento dos metadados do grupo de recursos e onde os recursos são executados no Azure se você não especificar outra região durante a criação do recurso. O exemplo seguinte cria um grupo de recursos com o nome myResourceGroup na localização eastus.az group create --name myResourceGroup --location eastusO exemplo de saída a seguir é semelhante à criação bem-sucedida do grupo de recursos:
{ "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup", "location": "eastus", "managedBy": null, "name": "myResourceGroup", "properties": { "provisioningState": "Succeeded" }, "tags": null }Para implementar um ficheiro Bicep ou modelo ARM, precisa de permissão de escrita nos recursos que está a implementar e permissão para todas as operações no tipo de recurso Microsoft.Resources/deployments. Por exemplo, para implantar um cluster, você precisa das permissões Microsoft.NetworkCloud/virtualMachines/write e Microsoft.Resources/deployments/*. Para obter uma lista de funções e permissões, veja Funções incorporadas do Azure.
Você precisa da
custom locationID do recurso do cluster do Azure Operator Nexus.Você precisa criar várias redes de acordo com seus requisitos específicos de carga de trabalho, e é essencial ter os endereços IP apropriados disponíveis para suas cargas de trabalho. Para garantir uma implementação sem problemas, é aconselhável consultar as equipas de apoio relevantes para obter assistência.
- Conclua os pré-requisitos para implantar uma máquina virtual Nexus.
Rever o modelo
Antes de implantar o modelo de máquina virtual, vamos revisar o conteúdo para entender sua estrutura.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "The name of Nexus virtual machine"
}
},
"location": {
"type": "string",
"metadata": {
"description": "The Azure region where the VM is to be deployed"
},
"defaultValue": "[resourceGroup().location]"
},
"extendedLocation": {
"type": "string",
"metadata": {
"description": "The custom location of the Nexus instance"
}
},
"tags": {
"type": "object",
"metadata": {
"description": "The metadata tags to be associated with the cluster resource"
},
"defaultValue": {}
},
"adminUsername": {
"type": "string",
"defaultValue": "azureuser",
"maxLength": 32,
"minLength": 1,
"metadata": {
"description": "The name of the administrator to which the ssh public keys will be added into the authorized keys."
}
},
"bootMethod": {
"type": "string",
"defaultValue": "UEFI",
"allowedValues": [
"UEFI",
"BIOS"
],
"metadata": {
"description": "Selects the boot method for the virtual machine."
}
},
"cloudServicesNetworkId": {
"type": "string",
"metadata": {
"description": "The Cloud Services Network attachment ARM ID to attach to virtual machine."
}
},
"cpuCores": {
"type": "int",
"defaultValue": 2,
"metadata": {
"description": "Number of CPU cores for the virtual machine. Choose a value between 2 and 46."
}
},
"memorySizeGB": {
"type": "int",
"defaultValue": 4,
"metadata": {
"description": "The memory size of the virtual machine in GiB (max 224 GiB)"
}
},
"networkAttachments": {
"type": "array",
"metadata": {
"description": "The list of network attachments to the virtual machine."
}
/*
{
"attachedNetworkId": "string",
"defaultGateway": "True"/"False",
"ipAllocationMethod": "Dynamic"/"Static"/"Disabled",
"ipv4Address": "string",
"ipv6Address": "string",
"networkAttachmentName": "string"
}
*/
},
"networkDataContent": {
"type": "string",
"metadata": {
"description": "The Base64 encoded cloud-init network data."
},
"defaultValue": ""
},
"placementHints": {
"type": "array",
"metadata": {
"description": "The placement hints for the virtual machine."
},
"defaultValue": []
/*
{
"hintType": "Affinity",
"resourceId": "string",
"schedulingExecution": "Hard",
"scope": "Rack"
}
*/
},
"sshPublicKeys": {
"type": "array",
"metadata": {
"description": "The list of SSH public keys for the virtual machine."
}
/*
{
"keyData": "string"
}
*/
},
"storageProfile": {
"type": "object",
"metadata": {
"description": "StorageProfile represents information about a disk."
},
"defaultValue": {
"osDisk": {
"createOption": "Ephemeral",
"deleteOption": "Delete",
"diskSizeGB": 64
}
}
},
"userDataContent": {
"type": "string",
"metadata": {
"description": "The Base64 encoded cloud-init user data."
},
"defaultValue": ""
},
"vmDeviceModel": {
"type": "string",
"defaultValue": "T2",
"allowedValues": [
"T1",
"T2"
],
"metadata": {
"description": "The type of the device model to use."
}
},
"vmImage": {
"type": "string",
"metadata": {
"description": "The virtual machine image that is currently provisioned to the OS disk, using the full URL and tag notation used to pull the image."
}
},
"vmImageRepositoryCredentials": {
"type": "object",
"metadata": {
"description": "Credentials used to login to the image repository."
},
"defaultValue": {}
/*
"password": "string",
"registryUrl": "string",
"username": "string"
*/
}
},
"resources": [
{
"type": "Microsoft.NetworkCloud/virtualMachines",
"apiVersion": "2025-09-01",
"name": "[parameters('vmName')]",
"location": "[parameters('location')]",
"extendedLocation": {
"type": "CustomLocation",
"name": "[parameters('extendedLocation')]"
},
"tags": "[parameters('tags')]",
"properties": {
"adminUsername": "[if(empty(parameters('adminUsername')), json('null'), parameters('adminUsername'))]",
"bootMethod": "[if(empty(parameters('bootMethod')), json('null'), parameters('bootMethod'))]",
"cloudServicesNetworkAttachment": {
"attachedNetworkId": "[parameters('cloudServicesNetworkId')]",
"ipAllocationMethod": "Dynamic"
},
"cpuCores": "[parameters('cpuCores')]",
"memorySizeGB": "[parameters('memorySizeGB')]",
"networkDataContent": "[if(empty(parameters('networkDataContent')), json('null'), parameters('networkDataContent'))]",
"networkAttachments": "[if(empty(parameters('networkAttachments')), json('null'), parameters('networkAttachments'))]",
"placementHints": "[if(empty(parameters('placementHints')), json('null'), parameters('placementHints'))]",
"sshPublicKeys": "[if(empty(parameters('sshPublicKeys')), json('null'), parameters('sshPublicKeys'))]",
"storageProfile": "[if(empty(parameters('storageProfile')), json('null'), parameters('storageProfile'))]",
"userDataContent": "[if(empty(parameters('userDataContent')), json('null'), parameters('userDataContent'))]",
"vmDeviceModel": "[if(empty(parameters('vmDeviceModel')), json('null'), parameters('vmDeviceModel'))]",
"vmImage": "[if(empty(parameters('vmImage')), json('null'), parameters('vmImage'))]",
"vmImageRepositoryCredentials": "[if(empty(parameters('vmImageRepositoryCredentials')), json('null'), parameters('vmImageRepositoryCredentials'))]"
}
}
]
}
Advertência
Os dados do usuário não são criptografados e qualquer processo na VM pode consultar esses dados. Você não deve armazenar informações confidenciais nos dados do usuário. Para obter mais informações, consulte Práticas recomendadas de segurança de dados e criptografia do Azure.
Depois de revisar e salvar o arquivo de modelo chamado virtual-machine-arm-template.json, prossiga para a próxima seção para implantar o modelo.
Máquinas virtuais com identidades gerenciadas
Crie a máquina virtual com uma identidade gerenciada atribuída pelo sistema ou pelo usuário.
Para adicionar uma identidade gerenciada à VM, a versão da API deve ser 2025-07-01-preview ou posterior.
O apiVersion pode ser preenchido com 2025-07-01-preview, 2025-09-01 ou qualquer versão futura da API.
Importante
Se você não especificar uma identidade gerenciada ao criar a VM, não poderá habilitar o suporte à identidade gerenciada atualizando a VM após o provisionamento.
Atualize o apiVersion para o recurso de máquina virtual no arquivo virtual-machine-arm-template.json.
...
"resources": [
{
"type": "Microsoft.NetworkCloud/virtualMachines",
"apiVersion": "2025-09-01", // Update the API version here
...
}
]
...
Para o virtual-machine-arm-template.json arquivo, adicione a identity propriedade à definição de recurso de máquina virtual.
Para a Identidade Gerida Atribuída pelo Sistema, use o seguinte trecho:
"identity": {
"type": "SystemAssigned"
}
Para Identidade Gerenciada Atribuída pelo Utilizador, use o seguinte código.
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-name}": {}
}
}
Implementar o modelo
- Crie um arquivo chamado
virtual-machine-parameters.jsone adicione os parâmetros necessários no formato JSON. Você pode usar o exemplo a seguir como ponto de partida. Substitua os valores pelos seus.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"value": "myNexusVirtualMachine"
},
"location": {
"value": "eastus"
},
"extendedLocation": {
"value": "/subscriptions/<subscription>/resourcegroups/<cluster-managed-resource-group>/providers/microsoft.extendedlocation/customlocations/<custom-location-name>"
},
"cloudServicesNetworkId": {
"value": "/subscriptions/<subscription>/resourceGroups/<network-resource-group>/providers/Microsoft.NetworkCloud/cloudServicesNetworks/<csn-name>"
},
"networkAttachments": {
"value": [
{
"attachedNetworkId": "/subscriptions/<subscription>/resourceGroups/<network-resource-group>/providers/Microsoft.NetworkCloud/l3Networks/<l3network-name>",
"ipAllocationMethod": "Dynamic",
"defaultGateway": "True",
"networkAttachmentName": "mgmt0"
}
]
},
"sshPublicKeys": {
"value": [
{
"keyData": "ssh-rsa AAAAB3...."
}
]
},
"vmImage": {
"value": "<Image ACR URL>"
},
"vmImageRepositoryCredentials": {
"value": {
"password": "********************",
"registryUrl": "<ACR registry URL>",
"username": "<ACR user name>"
}
}
}
}
- Implemente o modelo.
az deployment group create \
--resource-group myResourceGroup \
--template-file virtual-machine-arm-template.json \
--parameters @virtual-machine-parameters.json
Analisar os recursos implementados
az deployment group show --resource-group myResourceGroup --name <deployment-name>
Após a conclusão da implantação, você pode exibir os recursos usando a CLI ou o portal do Azure.
Para exibir os detalhes do myNexusVirtualMachine cluster no grupo de recursos, execute o myResourceGroup seguinte
az networkcloud virtualmachine show --name myNexusVirtualMachine --resource-group myResourceGroup
Limpeza de recursos
Quando não for mais necessário, exclua o grupo de recursos. O grupo de recursos e todos os recursos no grupo de recursos são excluídos.
Use o comando az group delete para remover o grupo de recursos, a máquina virtual e todos os recursos relacionados, exceto os recursos de rede do Operator Nexus.
az group delete --name myResourceGroup --yes --no-wait
Próximos passos
A máquina virtual Nexus foi criada com sucesso! Agora você pode usar a máquina virtual para hospedar funções de rede virtual (VNFs).