Compartilhar via


Criar e modificar um controlador de malha de rede usando a CLI do Azure

Este artigo descreve como criar um NFC (Controlador de Malha de Rede) usando a Interface de Linha de Comando do Azure (AzureCLI). Este documento também mostra como verificar o status ou excluir um Controlador do Network Fabric.

Pré-requisitos

Antes de configurar o NFC, verifique se você atende aos seguintes requisitos:

  • Os nomes de recursos devem começar com uma letra (maiúscula ou minúscula).

  • Somente letras, dígitos e hifens são permitidos.

  • Sublinhados (_) e outros caracteres especiais não são permitidos.

  • O tamanho máximo é de 63 caracteres.

Validar circuito do ExpressRoute

Validar os circuitos do ExpressRoute para conectividade correta (CircuitID)(AuthID); O provisionamento nfc falhará se a conectividade estiver incorreta.

Informações de SKU da VM (Máquina Virtual) para o Controlador de Malha de Rede

Todas as novas implementações de cluster NFC usam a SKU Standard_D8s_v3 de máquinas virtuais. Para manter a confiabilidade e garantir o serviço ininterrupto, todos os clusters subjacentes na arquitetura NFC são implantados para garantir a redundância de zona em todas as zonas de disponibilidade.

A arquitetura acima distribui cargas de trabalho de forma inteligente em três zonas separadas. O NFC requer até seis nós e é criado usando todas as zonas de disponibilidade. Um cliente pode alternar para duas zonas de disponibilidade se o SKU Standard_D8s_v3 não estiver disponível em todas as zonas. No caso de uma falha de zona, as zonas restantes continuam a lidar com o tráfego, minimizando o risco de interrupções e dando suporte à continuidade dos negócios.

Requisito mínimo de vCPU

Standard_D8s_v3 requer um mínimo de 128 vCPUs (a partir do NNF 10.0) para garantir o desempenho ideal e a disponibilidade de recursos.

Verificando a cota de VM para o novo SKU

Para verificar se sua assinatura tem cota suficiente de vCPU para o Standard_D8s_v3, siga estas etapas:

  1. Portal do Azure:

    • Navegar até Portal do AzureAssinaturas

    • Ir para Uso e cotas

    • Pesquisar a SKU da VM necessária Standard_D8s_v3

    • Verificar a cota total e o uso atual

  2. CLI do Azure:

    Execute o seguinte comando para verificar sua cota disponível:

       az vm list-usage --location <region> --output table
    

Procure a cota de vCPUs e verifique se ela atende ao requisito mínimo.

Solicitando mais cota de vCPU

Se sua cota for insuficiente, solicite um aumento por:

  • Enviar uma solicitação de aumento de cota por meio do Portal do AzureAjuda + SuporteNova Solicitação de Suporte

  • Selecionando Cota como o tipo de problema e especificando o aumento necessário

Observação

Verifique se sua solicitação de cota foi aprovada antes de prosseguir com a implantação.

Criar um controlador de malha de rede

Você deve criar um grupo de recursos antes de criar seu NFC.

Observação

Você deve criar um Grupo de Recursos separado para cada NFC.

Você cria grupos de recursos executando os seguintes comandos:

az group create -n NFCResourceGroupName -l "<Location>"

Atributos para criação de NFC

Parâmetro Description values Example Obrigatório Tipo
Grupo de Recursos Um grupo de recursos é um contêiner que mantém os recursos relacionados a uma solução do Azure. NFCResourceGroupName XYZNFCResourceGroupName Verdade String
Localização A Região do Azure é obrigatória para provisionar sua implantação. eastus, westus3, southcentralus, eastus2euap eastus Verdade String
Nome-do-Recurso O nome do recurso é o nome do controlador do Network Fabric. nome NFC XYZnfcname Verdade String
espaço de endereços IPv4 Espaço de endereço do controlador de malha de rede IPv4, o bloco de sub-rede padrão é 10.0.0.0/19 e também não deve se sobrepor a nenhum dos IPs do ExpressRoute 10.0.0.0/19 10.0.0.0/19 Não obrigatório String
espaço de endereçamento IPv6 Espaço de endereço do controlador de malha de rede IPv6, esse parâmetro usa como padrão FC00::/59, com o intervalo permitido sendo /59 FC00::/59 FC00::/59 Não obrigatório String
Circuitos de Rota Expressa O circuito do ExpressRoute é um link 10G dedicado que conecta o Azure e o local. Você precisa saber a ID do circuito do ExpressRoute e a chave de autenticação de um NFC para provisionar com sucesso. Há dois circuitos de ExpressRoute, um para os serviços de infraestrutura e outro para os serviços de Workload (Tenant). --infra-er-connections '[{"expressRouteCircuitId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx", "expressRouteAuthorizationKey": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx"}]'

--workload-er-connections '[{"expressRouteCircuitId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx", "expressRouteAuthorizationKey": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx"}]'
subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "xxxxxx-xxxxxx-xxxx-xxxx-xxxx-xxxxxx"}] Verdade cadeia
Grupo de Recursos Gerenciado Propriedades de configuração do Grupo de Recursos Gerenciados. NFCManagedResourceGroupName XYZNFCManagedResourceGroupName Verdade String

Aqui está um exemplo de como você pode criar um NFC usando a CLI do Azure. Para obter mais informações, consulte a seção de atributos.

az networkfabric controller create \
  --resource-group "NFCResourceGroupName" \
  --location "<Location>"  \
  --resource-name "nfcname" \
  --ipv4-address-space "10.0.0.0/19" \
  --ipv6-address-space "FC00::/59" \
  --infra-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "<auth-key>"}]'
  --workload-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01"", "expressRouteAuthorizationKey": "<auth-key>"}]' \
--debug --no-wait

Aqui está um exemplo de como você pode criar um NFC com a identidade gerenciada atribuída pelo sistema usando a CLI do Azure.

az networkfabric controller create \
  --resource-group "NFCResourceGroupName" \
  --location "<Location>"  \
  --resource-name "nfcname" \
  --ipv4-address-space "10.0.0.0/19" \
  --ipv6-address-space "FC00::/59" \
  --infra-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "<auth-key>"}]'
  --workload-er-connections '[{"expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01"", "expressRouteAuthorizationKey": "<auth-key>"}]' \
--system-assigned \
--debug --no-wait

Observação

A criação da NFC leva entre 30 e 45 minutos.
> Use o comando para monitorar o show progresso da criação do NFC.
Você verá diferentes estados de provisionamento, como Aceitado, Atualizando e Bem-sucedido/Com Falha.
> Exclua e recrie o NFC caso a criação falhe (Failed).

A saída esperada só é mostrada como em execução assim que você executa por meio do AzureCLI

Resultado esperado:

 {
  "id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFCResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfcname",
  "infrastructureExpressRouteConnections": [
    {
      "expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02"
    }
  ],
  "infrastructureServices": {
    "ipv4AddressSpaces": [
      "10.0.0.0/21"
    ],
    "ipv6AddressSpaces": []
  },
  "ipv4AddressSpace": "10.0.0.0/19",
  "ipv6AddressSpace": "FC00::/59",
  "isWorkloadManagementNetworkEnabled": "True",
  "location": "<Location>",
  "managedResourceGroupConfiguration": {},
  "name": "NFCName",
  "provisioningState": "Succeeded",
  "resourceGroup": "NFCResourceGroupName",
  "systemData": {
    "createdAt": "2023XX-XXT18:59:41.7805324Z",
    "createdBy": "email@address.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-XX-XXT09:50:27.4598499Z",
    "lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e107873d7",
    "lastModifiedByType": "Application"
  },
  "type": "microsoft.managednetworkfabric/networkfabriccontrollers",
  "workloadExpressRouteConnections": [
    {
      "expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx//resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03"
    }
  ],
  "workloadManagementNetwork": true,
  "workloadServices": {
    "ipv4AddressSpaces": [
      "10.0.28.0/22"
    ],
    "ipv6AddressSpaces": []
  }
}

Obter Controlador de Network Fabric

  az networkfabric controller show --resource-group "NFCResourceGroupName" --resource-name "nfcname"

Resultado esperado:

{
  "id": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/NFCResourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/nfcname",
  "infrastructureExpressRouteConnections": [
    {
      "expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02"
    }
  ],
  "infrastructureServices": {
    "ipv4AddressSpaces": [
      "10.0.0.0/21"
    ],
    "ipv6AddressSpaces": []
  },
  "ipv4AddressSpace": "10.0.0.0/19",
  "ipv6AddressSpace": "FC00::/59",
  "isWorkloadManagementNetworkEnabled": "True",
  "location": "<Location>",
  "managedResourceGroupConfiguration": {},
  "name": "NFCName",
  "provisioningState": "Succeeded",
  "resourceGroup": "NFCResourceGroupName",
  "systemData": {
    "createdAt": "2023XX-XXT18:59:41.7805324Z",
    "createdBy": "email@address.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-XX-XXT09:50:27.4598499Z",
    "lastModifiedBy": "d1bd24c7-b27f-477e-86dd-939e107873d7",
    "lastModifiedByType": "Application"
  },
  "type": "microsoft.managednetworkfabric/networkfabriccontrollers",
  "workloadExpressRouteConnections": [
    {
      "expressRouteCircuitId": "/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx//resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03"
    }
  ],
  "workloadManagementNetwork": true,
  "workloadServices": {
    "ipv4AddressSpaces": [
      "10.0.28.0/22"
    ],
    "ipv6AddressSpaces": []
  }
}

Atualizar o Controlador de Malha de Rede

O recurso PATCH no Controlador do Network Fabric fornece aos usuários a capacidade de adicionar ou substituir circuitos adicionais de Rotas Expressas sem esforço. Essa funcionalidade é particularmente útil durante períodos de falha ou eventos de migração em potencial. Nesses casos, o Operador de Rede tem a flexibilidade de modificar um Controlador de Malha de Rede ativo adicionando ou removendo rotas e chaves expressas, tudo isso garantindo que a operação permaneça não afetada.

Observação

Ao iniciar um comando de atualização, é crucial fornecer todos os parâmetros fornecidos durante o processo de criação. Isso ocorre porque o comando de atualização substituirá o conteúdo existente, exigindo a inclusão de todos os parâmetros relevantes para garantir modificações abrangentes e precisas.

az networkfabric controller update \ 
  --resource-group "NFCResourceGroupName" \ 
  --location "<Location>"  \ 
  --resource-name "nfcname" \ 
  --ipv4-address-space "10.0.0.0/19" \ 
  --infra-er-connections '[{"expressRouteCircuitId":"/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01", "expressRouteAuthorizationKey": "<auth-key>"}]' 
  --workload-er-connections '[{"expressRouteCircuitId":"/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01"", "expressRouteAuthorizationKey": "<auth-key>"}]' 

Observação

Execute o comando az networkfabric controller show para recuperar informações sobre um controlador de malha de rede.

Atualize o Controlador de Malha de Rede com vários ExpressRoute circuitos.

az networkfabric controller update \ 
 --resource-group "NFCResourceGroupName" \ 
 --location "eastus"  \ 
 --resource-name "nfcname" \ 
 --ipv4-address-space "10.0.0.0/19" \ 
--infra-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02',expressRouteAuthorizationKey:'<auth-key>'}]" \
--workload-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-04',expressRouteAuthorizationKey:'<auth-key>'}]"

Atualizar o Controlador do Network Fabric com a identidade gerenciada atribuída pelo sistema

az networkfabric controller update \ 
 --resource-group "NFCResourceGroupName" \ 
 --location "eastus"  \ 
 --resource-name "nfcname" \ 
 --ipv4-address-space "10.0.0.0/19" \ 
--infra-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-01',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-02',expressRouteAuthorizationKey:'<auth-key>'}]" \
--workload-er-connections "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-03',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-04',expressRouteAuthorizationKey:'<auth-key>'}]" \
--system-assigned 
Command Descrição
az networkfabric controller update Comando para atualizar um controlador de malha de rede existente no Azure
Parâmetro Descrição Valor de exemplo
--resource-group Especifica o grupo de recursos em que o controlador de malha de rede está localizado. "NFCResourceGroupName"
--location Especifica a região do Azure em que o controlador de malha de rede é implantado. "eastus"
--resource-name O nome do recurso do controlador de malha de rede que você deseja atualizar. "nfcname"
--ipv4-address-space Define o espaço de endereço IPv4 para o controlador de malha de rede. "10.0.0.0/19"
--infra-er-connections Especifica as conexões de infraestrutura do ExpressRoute em um formato de matriz JSON. "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-11',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-13',expressRouteAuthorizationKey:'<auth-key>'}]"
--workload-er-connections Especifica as conexões do ExpressRoute de carga de trabalho em um formato de matriz JSON. "[{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-11',expressRouteAuthorizationKey:'<auth-key>'},{expressRouteCircuitId:'/subscriptions/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxx/resourceGroups/ER-Dedicated-WUS2-AFO-Circuits/providers/Microsoft.Network/expressRouteCircuits/MSFT-ER-Dedicated-PvtPeering-WestUS2-AFO-Ckt-12',expressRouteAuthorizationKey:'<auth-key>'}]"

Observação

Substitua os espaços reservados, como "NFCResourceGroupName", "nfcname"e "<auth-key>" por valores reais relevantes para sua configuração.

Excluir Controlador de Malha de Rede

Você deve excluir um NFC somente depois de excluir todas as malhas de rede associadas.

  az networkfabric controller delete --resource-group "NFCResourceGroupName" --resource-name "nfcname"

Resultado esperado:

"name": "nfcname",
    "networkFabricIds": [],
    "operationalState": null,
    "provisioningState": "succeeded",
    "resourceGroup": "NFCResourceGroupName",
    "systemData": {
      "createdAt": "2022-10-31T10:47:08.072025+00:00",

Observação

Leva 30 minutos para excluir o NFC. No portal do Azure, verifique se os recursos hospedados foram excluídos.

Próximas etapas

Depois de criar com êxito um NFC, a próxima etapa é criar um gerenciador de cluster.