Criar e configurar um ponto final privado para o IoT Central

Pode ligar os seus dispositivos à sua aplicação do IoT Central através de um ponto final privado num Rede Virtual do Azure.

Os pontos finais privados utilizam endereços IP privados de um espaço de endereços de rede virtual para ligar os seus dispositivos em privado à sua aplicação do IoT Central. O tráfego de rede entre dispositivos na rede virtual e na plataforma IoT atravessa a rede virtual e uma ligação privada na rede principal da Microsoft, eliminando a exposição na Internet pública. Este artigo mostra-lhe como criar um ponto final privado para a sua aplicação do IoT Central.

Pré-requisitos

  • Uma subscrição ativa do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Uma aplicação do IoT Central. Para saber mais, veja Criar uma aplicação do IoT Central.
  • Uma rede virtual na sua subscrição do Azure. Para saber mais, veja Criar uma rede virtual. Para concluir os passos neste guia, não precisa de um anfitrião do Bastion ou de máquinas virtuais.

Criar um ponto final privado

Existem várias formas de criar um ponto final privado para a aplicação IoT Central:

Para criar um ponto final privado numa aplicação do IoT Central existente:

  1. Na portal do Azure, navegue para a sua aplicação e, em seguida, selecione Rede.

  2. Selecione o separador Ligações de ponto final privado e, em seguida, selecione + Ponto final privado.

  3. No separador Informações Básicas , introduza um nome e selecione uma região para o ponto final privado. Em seguida, selecione Seguinte: Recurso.

  4. O separador Recurso é preenchido automaticamente automaticamente. Selecione Seguinte: Rede Virtual.

  5. No separador Rede Virtual, selecione a Rede virtual e a Sub-rede onde pretende implementar o ponto final privado.

  6. No mesmo separador, na secção Configuração do IP Privado , selecione Alocar dinamicamente o endereço IP.

  7. Selecione Seguinte: DNS.

  8. No separador DNS , selecione Sim para Integrar com a zona DNS privada. O DNS privado resolve todos os pontos finais necessários para endereços IP privados na sua rede virtual:

    Captura de ecrã a partir de portal do Azure que mostra a integração de DNS privado.

    Nota

    Devido às capacidades de dimensionamento automático no IoT Central, deve utilizar a opção de integração DNS Privado, se possível. Se, por algum motivo, não conseguir utilizar esta opção, veja Utilizar um servidor DNS personalizado.

  9. Selecione Seguinte: Etiquetas.

  10. No separador Etiquetas , configure as etiquetas necessárias e, em seguida, selecione Seguinte: Rever + Criar.

  11. Reveja os detalhes de configuração e, em seguida, selecione Criar para criar o recurso de ponto final privado.

Captura de ecrã do portal do Azure que mostra o resumo para criar um ponto final privado.

Verificar a criação de pontos finais privados

Quando a criação do ponto final privado estiver concluída, pode aceder à mesma na portal do Azure.

Para ver todos os pontos finais privados criados para a sua aplicação:

  1. No portal do Azure, navegue para a sua aplicação do IoT Central e, em seguida, selecione Rede.

  2. Selecione o separador Ligações de ponto final privado . A tabela mostra todos os pontos finais privados criados para a sua aplicação.

Utilizar um servidor DNS personalizado

Em algumas situações, poderá não conseguir integrar com a zona DNS privada da rede virtual. Por exemplo, pode utilizar o seu próprio servidor DNS ou criar registos DNS com os ficheiros de anfitrião nas suas máquinas virtuais. Esta secção descreve como aceder às zonas DNS.

  1. Instale o chocolatey.

  2. Instalar o ARMClient:

    choco install armclient
    
  3. Inicie sessão com ARMClient:

    armclient login 
    
  4. Utilize o seguinte comando para obter as zonas DNS privadas para a sua aplicação do IoT Central. Substitua os marcadores de posição pelos detalhes da sua aplicação do IoT Central:

    armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
    
  5. Verifique a resposta. As zonas DNS necessárias estão na requiredZoneNames matriz no payload de resposta:

    {  
      "value": [  
        {  
          "id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources/iotApp",  
          "name": "ioTApp",  
          "type": "Microsoft.IoTCentral/IoTApps/privateLinkResources",  
          "location": "<the region of your application>",  
          "properties": {  
          "groupId": "iotApp",  
          "requiredMembers":[  
            "<IoTCentral Name>",  
            "<DPS Name>",  
            "<IoTHub1 Name>",  
            "<IoTHub2 Name>",  
            "<EH1 Name>",  
            "<EH2 Name>"],  
          "requiredZoneNames": [  
            "privatelink.azureiotcentral.com",  
            "privatelink.azure-devices.net",  
            "privatelink.servicebus.windows.net",  
            "privatelink.azure-devices-provisioning.net"],  
          "provisioningState": "Succeeded"}  
        }  
      ]  
    }
    
  6. No portal do Azure, navegue para o ponto final privado e selecione Configuração de DNS. Nesta página, pode encontrar as informações necessárias para o mapeamento do endereço IP para o nome DNS.

Captura de ecrã do portal do Azure que mostra a configuração de DNS privado.

Aviso

Estas informações permitem-lhe preencher o servidor DNS personalizado com os registos necessários. Se possível, deve integrar com as Zonas DNS privadas da rede virtual e não configurar o seu próprio servidor DNS personalizado. Os pontos finais privados para aplicações do IoT Central diferem dos outros serviços PaaS do Azure. Em algumas situações, como o dimensionamento automático do IoT Central, o IoT Central aumenta horizontalmente o número de Hubs IoT acessíveis através do ponto final privado. Se optar por preencher o seu próprio servidor DNS personalizado, é da sua responsabilidade atualizar os registos DNS sempre que o IoT Central for dimensionado automaticamente e, posteriormente, remover registos quando o número de hubs IoT for reduzido horizontalmente.

Restringir o acesso público

Para restringir o acesso público dos seus dispositivos ao IoT Central, desative o acesso a partir de pontos finais públicos. Depois de desativar o acesso público, os dispositivos não podem ligar ao IoT Central a partir de redes públicas e têm de utilizar um ponto final privado:

  1. No portal do Azure, navegue para a sua aplicação do IoT Central e, em seguida, selecione Rede.

  2. No separador Acesso público , selecione Desativado para acesso à rede pública.

  3. Opcionalmente, pode definir uma lista de endereços IP/intervalos que podem ligar ao ponto final público da sua aplicação do IoT Central.

  4. Selecione Guardar.

Ligar a um ponto final privado

Quando desativa o acesso à rede pública para a sua aplicação do IoT Central, os seus dispositivos não conseguem ligar-se ao ponto final global do Serviço Aprovisionamento de Dispositivos (DPS). Isto acontece porque o único FQDN para DPS tem um endereço IP direto na sua rede virtual. O ponto final global está agora inacessível.

Quando configura um ponto final privado para a sua aplicação do IoT Central, o ponto final de serviço do IoT Central é atualizado para refletir o ponto final do DPS direto.

Atualize o código do dispositivo para utilizar o ponto final do DPS direto.

Captura de ecrã a partir da aplicação IoT Central que mostra o ponto final do DPS direto.

Melhores práticas

  • Não utilize URLs de subdomínio de ligação privada para ligar os seus dispositivos ao IoT Central. Utilize sempre o URL do DPS apresentado na sua aplicação do IoT Central depois de criar o ponto final privado.

  • Utilizar zonas DNS privadas fornecidas pelo Azure para gestão de DNS. Evite utilizar o seu próprio servidor DNS, uma vez que teria de atualizar constantemente a configuração de DNS para se manter atualizado à medida que o IoT Central dimensiona automaticamente os respetivos recursos.

  • Se criar vários pontos finais privados para o mesmo recurso do IoT Central, a Zona DNS poderá substituir os FQDNs, pelo que deve adicioná-los novamente.

Limitações

  • Atualmente, a conectividade privada só está ativada para ligações de dispositivos aos hubs IoT subjacentes e ao DPS na aplicação IoT Central. A IU e as APIs web do IoT Central continuam a funcionar através dos respetivos pontos finais públicos.

  • O ponto final privado tem de estar na mesma região que a sua rede virtual.

  • Quando desativa o acesso à rede pública:

    • Os dispositivos simulados do IoT Central não funcionam porque não têm conectividade à sua rede virtual.

    • O ponto final global do DPS (global.device-provisioning.net) não está acessível. Atualize o firmware do dispositivo para ligar à instância direta do DPS. Pode encontrar o URL de DPS direto na página Grupos de ligação de dispositivos na sua aplicação do IoT Central.

  • Não pode mudar o nome da sua aplicação do IoT Central depois de configurar um ponto final privado.

  • Não pode mover o ponto final privado ou a aplicação do IoT Central para outro grupo de recursos ou subscrição.

  • O suporte está limitado a IPv4. O IPv6 não é suportado.

Resolução de problemas

Se estiver a ter problemas para se ligar a um ponto final privado, utilize a seguinte documentação de orientação de resolução de problemas:

Verificar o estado da ligação

Certifique-se de que o estado de ligação do ponto final privado está definido como aprovado.

  1. Na portal do Azure, navegue para a sua aplicação e, em seguida, selecione Rede.
  2. Selecione o separador Ligação de pontos finais privados . Verifique se o estado da ligação é Aprovado para o ponto final privado.

Executar verificações na rede virtual

Utilize as seguintes verificações para investigar problemas de conectividade a partir da mesma rede virtual. Implemente uma máquina virtual na mesma rede virtual onde criou o ponto final privado. Inicie sessão na máquina virtual para executar os seguintes testes.

Para garantir que a resolução de nomes está a funcionar corretamente, itere todos os FQDNs na configuração de DNS do ponto final privado e execute os testes com nslookup, Test-NetConnectionou outras ferramentas semelhantes para verificar se cada DNS corresponde ao endereço IP correspondente.

Além disso, execute o seguinte comando para verificar se o nome DNS de cada FQDN corresponde ao endereço IP correspondente.

#replace the <...> placeholders with the correct values 
nslookup iotc-….azure-devices.net 

O resultado é semelhante ao seguinte resultado:

#Results in the following output: 
Server:127.0.0.53 
Address:127.0.0.53#53 

Non-authoritative answer: xyz.azure-devices.net
canonical name = xyz.privatelink.azure-devices.net
Name:xyz.privatelink.azure-devices.net
Address: 10.1.1.12

Se encontrar um FQDN que não corresponda ao endereço IP correspondente, corrija o servidor DNS personalizado. Se não estiver a utilizar um servidor DNS personalizado, crie um pedido de suporte.

Verificar se tem vários pontos finais privados

A configuração de DNS pode ser substituída se criar ou eliminar vários pontos finais privados para uma única aplicação do IoT Central:

  • Na portal do Azure, navegue para o recurso de ponto final privado.
  • Na secção DNS, certifique-se de que existem entradas para todos os recursos necessários: Hubs IoT, Hubs de Eventos, DPS e FQDNs do IoT Central.
  • Verifique se os IPs (e os IPs de outros pontos finais privados que utilizam esta zona DNS) são refletidos no registo A do DNS.
  • Remova todos os registos A para IPs de pontos finais privados mais antigos que já tenham sido eliminados.

Outras sugestões de resolução de problemas

Se, depois de experimentar todas estas verificações, ainda estiver a ter um problema, experimente o guia de resolução de problemas do ponto final privado.

Se todas as verificações forem efetuadas com êxito e os seus dispositivos ainda não conseguirem estabelecer uma ligação ao IoT Central, contacte a equipa de segurança empresarial responsável pelas firewalls e pela rede em geral. As potenciais razões para a falha incluem:

  • Configuração incorreta da rede virtual do Azure
  • Configuração incorreta de uma aplicação de firewall
  • Configuração incorreta de rotas definidas pelo utilizador na rede virtual do Azure
  • Um proxy configurado incorretamente entre o dispositivo e os recursos do IoT Central

Passos seguintes

Agora que aprendeu a criar um ponto final privado para a sua aplicação, eis o passo seguinte sugerido: