Criar e configurar um ponto de extremidade privado para o IoT Central
É possível conectar seus dispositivos ao seu aplicativo IoT Central usando um ponto de extremidade privado em um aplicativo do Rede Virtual do Microsoft Azure.
Os pontos de extremidade privados usam endereços IP privados de um espaço de endereço de rede virtual para conectar seus dispositivos de forma privada ao seu aplicativo IoT Central. O tráfego de rede entre os dispositivos na rede virtual e a plataforma IoT atravessa a rede virtual e um link privado na rede de backbone da Microsoft, eliminando a exposição na Internet pública. Este artigo mostra como criar um ponto de extremidade privado para seu aplicativo IoT Central.
Pré-requisitos
- Uma assinatura ativa do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Um aplicativo do IoT Central. Para saber mais, confira Criar um aplicativo do IoT Central.
- Uma rede virtual na assinatura do Azure. Para saber mais, confira Criar uma rede virtual. Para concluir as etapas neste guia, você não precisa de um host do Bastion ou máquinas virtuais.
Criar um ponto de extremidade privado
Há várias maneiras de criar um ponto de extremidade privado para aplicativo IoT Central :
- Use o portal do Azure para criar um recurso de ponto de extremidade privado diretamente. Use essa opção se você não tiver acesso ao aplicativo IoT Central que precisa do ponto de extremidade privado.
- Criar um ponto de extremidade privado em um aplicativo IoT Central existente
Para criar um ponto de extremidade privado em um aplicativo IoT Central existente:
No portal do Azure, navegue até seu aplicativo e selecione Rede.
Selecione a guia Conexões de pontos de extremidade privadose, em seguida, selecione + Ponto de extremidade privado.
Na guia Informações básicas, insira um nome e selecione uma região para o ponto de extremidade privado. Em seguida, selecione Avançar: Recurso .
A guia Recurso é preenchida automaticamente para você. Selecione Próximo: Rede Virtual.
Na guia Rede Virtual, selecione a Rede virtual e a Sub-rede em que você deseja implantar seu ponto de extremidade privado.
Na mesma guia, na seção Configuração de IP privado, selecione Alocar endereço IP dinamicamente.
Selecione Avançar: DNS.
Na guia DNS, selecione Sim para Integrar com a zona DNS privada. O DNS privado resolve todos os pontos de extremidade necessários para endereços IP privados em sua rede virtual:
Observação
Devido aos recursos de dimensionamento automático do IoT Central, você deve usar a opção de DNS privado de integração, se possível. Se, por algum motivo, você não puder usar essa opção, consulte Usar um servidor DNS personalizado.
Selecione Avançar: Marcas.
Na guia Marcas, configure as marcas necessárias e selecione Próximo: Revisar + Criar.
Revise os detalhes de configuração e, em seguida, selecione Criar para criar o recurso de ponto de extremidade privado.
Verifique a criação do ponto de extremidade privado
Quando a criação do ponto de extremidade privado for concluída, você poderá acessá-lo no portal do Azure.
Para ver todos os pontos de extremidade privados criados para seu aplicativo:
No portal do Azure, navegue até seu aplicativo IoT Central e selecione Rede.
Selecione a guia Conexões de ponto de extremidade privado. A tabela mostra todos os pontos de extremidade privados criados para seu aplicativo.
Use um servidor DNS personalizado
Em algumas situações, talvez você não consiga fazer a integração com a zona DNS privada da rede virtual. Por exemplo, você pode usar o seu próprio servidor DNS ou criar registros DNS usando os arquivos de host em suas máquinas virtuais. Esta seção descreve como chegar às zonas DNS.
Instalar o chocolatey.
Instalar o ARMClient:
choco install armclient
Entrar com o ARMClient:
armclient login
Use o comando a seguir para obter as zonas DNS privadas para seu aplicativo IoT Central. Substitua os espaço reservados pelos detalhes do seu aplicativo IoT Central:
armclient GET /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.IoTCentral/IoTApps/<AppName>/privateLinkResources?api-version=2021-11-01-preview
Verifique a resposta. As zonas DNS necessárias estão na matriz
requiredZoneNames
na carga 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"} } ] }
No portal do Azure, navegue até o ponto de extremidade privado e selecione Configuração de DNS. Nesta página, é possível encontrar as informações necessárias para o mapeamento de endereço IP para o nome DNS.
Aviso
Essas informações permitem que você preencha seu servidor DNS personalizado com os registros necessários. Se possível, você deve integrar-se às Zonas DNS privadas da rede virtual e não configurar seu próprio servidor DNS personalizado. Os pontos de extremidade privados para aplicativos IoT Central diferem de outros serviços de PaaS do Azure. Em algumas situações, como o dimensionamento automático do IoT Central, p IoT Central escala horizontalmente o número de Hubs IoT acessíveis por meio do ponto de extremidade privado. Se você optar por preencher seu próprio servidor DNS personalizado, será sua responsabilidade atualizar os registros DNS sempre que IoT Central dimensionar automaticamente e, posteriormente, remover registros quando o número de hubs IoT reduz horizontalmente.
Restringir o acesso público
Para restringir o acesso público para que seus dispositivos IoT Central, desligue o acesso de pontos de extremidade públicos. Depois que você desativa o acesso público, os dispositivos não podem mais se conectar ao IoT Central por redes públicas e precisam usar um ponto de extremidade privado:
No portal do Azure, navegue até seu aplicativo IoT Central e selecione Rede.
Na guia Acesso público, selecione Desabilitado para acesso à rede pública.
Opcionalmente, você pode definir uma lista de endereços IP/intervalos que podem se conectar ao ponto de extremidade público de seu aplicativo IoT Central.
Selecione Salvar.
Dica
Se você optar por definir uma lista de endereços IP/intervalos que podem se conectar ao ponto de extremidade público do aplicativo IoT Central, inclua o endereço IP de qualquer proxy que seus dispositivos usam para se conectar ao aplicativo IoT Central.
Conectar-se a um ponto de extremidade privado
Quando você desabilitar o acesso à rede pública para o seu aplicativo do IoT Central, seus dispositivos não poderão se conectar ao ponto de extremidade global do Serviço de Provisionamento de Dispositivos (DPS). Isso acontece porque o único FQDN para DPS tem um endereço IP direto em sua rede virtual. O ponto de extremidade global agora está inacessível.
Ao configurar um ponto de extremidade privado para seu aplicativo IoT Central, o ponto de extremidade de serviço IoT Central é atualizado para refletir o ponto de extremidade do DPS direto.
Atualize o código do dispositivo para usar o ponto de extremidade do DPS direto.
Práticas recomendadas
Não use os URLs de subdomínio de link privado para conectar seus dispositivos ao IoT Central. Sempre use o URL do DPS mostrada em seu aplicativo IoT Central depois de criar o ponto de extremidade privado.
Use as zonas DNS privadas fornecidas pelo Azure para gerenciamento de DNS. Evite usar seu próprio servidor DNS porque você precisaria atualizar constantemente sua configuração de DNS para acompanhar o dimensionamento automático de seus recursos do IoT Central.
Se você criar vários pontos de extremidade privados para o mesmo recurso do IoT Central, a Zona DNS poderá substituir os FQDNs para que você os adicione novamente.
Limitações
Atualmente, a conectividade privada só está habilitada para conexões de dispositivo com os hubs IoT e DPS subjacentes no aplicativo IoT Central. A interface do usuário da Web e as APIs do IoT Central continuam a funcionar por meio de seus pontos de extremidade públicos.
O ponto de extremidade privado deve estar na mesma região que a rede virtual.
Ao desabilitar o acesso à rede pública:
Os dispositivos simulados do IoT Central não funcionam porque não têm conectividade com a sua rede virtual.
O ponto de extremidade do DPS global (
global.device-provisioning.net
) não está acessível. Atualize o firmware do dispositivo para se conectar à instância direta do DPS. É possível encontrar o URL direta do DPS na página Grupos de conexões do dispositivo em seu aplicativo IoT Central.
Não é possível renomear seu aplicativo IoT Central depois de configurar um ponto de extremidade privado.
Não é possível mover seu ponto de extremidade privado ou o aplicativo IoT Central para outro grupo de recursos ou assinatura.
O suporte é limitado a IPv4. Não há suporte para o IPv6.
Solução de problemas
Caso tenha problemas para se conectar a um ponto de extremidade privado, use as seguintes diretrizes de solução de problemas:
Verificar o estado da conexão
Certifique-se de que o estado de conexão do ponto de extremidade privado está definido como aprovado.
- No portal do Azure, navegue até seu aplicativo e selecione Rede.
- Selecione a guia Conexão de pontos de extremidade privados. Verifique se o estado da conexão foi Aprovado para seu ponto de extremidade privado.
Executar verificações na rede virtual
Use as verificações a seguir para investigar problemas de conectividade de dentro da mesma rede virtual. Implante uma máquina virtual na mesma rede virtual em que você criou o ponto de extremidade privado. Entre na máquina virtual para executar os testes a seguir.
Para certificar-se de que a resolução de nomes está funcionando corretamente, itere sobre todos os FQDNs na configuração de DNS do ponto de extremidade privado e execute os testes usando nslookup
, Test-NetConnection
ou outras ferramentas semelhantes para verificar se cada DNS corresponde ao seu endereço IP correspondente.
Além disso, execute o comando a seguir 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 se parece com o seguinte:
#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 você encontrar um FQDN que não corresponde ao seu endereço IP correspondente, corrija seu servidor DNS personalizado. Se você não estiver usando um servidor DNS personalizado, crie um tíquete de suporte.
Verifique se você tem vários pontos de extremidade privados
A configuração do DNS poderá ser substituída se você criar ou excluir vários pontos de extremidade privados para um único aplicativo IoT Central:
- No portal do Azure, navegue até o recurso de ponto de extremidade privado.
- Na seção DNS, certifique-se de que haja entradas para todos os recursos necessários: Hubs IoT, Hubs de Eventos, DPS e FQDNs do IoT Central.
- Verifique se os IPs (e IPs para outros pontos de extremidade privados usando essa zona DNS) são refletidos no registro a do DNS.
- Remova todos os registros A para IPs de pontos de extremidade privados mais antigos que tenham sido excluídos anteriormente.
Outras dicas de solução de problemas
Se depois de tentar todas essas verificações ainda estiver enfrentando um problema, experimente o Guia de solução de problemas do ponto de extremidade privado.
Se todas as verificações forem bem-sucedidas e seus dispositivos ainda não conseguirem estabelecer uma conexão com o IoT Central, entre em contato com a equipe de segurança corporativa responsável por firewalls e rede em geral. As possíveis razões para a falha incluem:
- Configuração incorreta da rede virtual do Azure
- Configuração incorreta de um dispositivo de firewall
- Configuração incorreta de rotas definidas pelo usuário em sua rede virtual do Azure
- Um proxy configurado incorretamente entre o dispositivo e os recursos de IoT Central
Próximas etapas
Agora que você aprendeu como criar um ponto de extremidade privado para seu aplicativo, aqui está a próxima etapa sugerida: