Criar e configurar um ponto de extremidade privado para o IoT Central
Você pode conectar seus dispositivos ao seu aplicativo IoT Central usando um ponto de extremidade privado em uma Rede Virtual do 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 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 subscrição ativa do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Um aplicativo IoT Central. Para saber mais, consulte Criar um aplicativo do IoT Central.
- Uma rede virtual na sua subscrição do Azure. Para saber mais, consulte Criar uma rede virtual. Para concluir as etapas neste guia, você não precisa de um host Bastion ou máquinas virtuais.
Criar um ponto final privado
Há várias maneiras de criar um ponto de extremidade privado para o 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 ponto de extremidade privado em um aplicativo existente do IoT Central
Para criar um ponto de extremidade privado em um aplicativo existente do IoT Central:
No portal do Azure, navegue até seu aplicativo e selecione Rede.
Selecione a guia Conexões de ponto de extremidade privado e, em seguida, selecione + Ponto de extremidade privado.
Na guia Noções básicas, insira um nome e selecione uma região para seu ponto de extremidade privado. Em seguida, selecione Next: Resource.
A guia Recurso é preenchida automaticamente para você. Selecione Next: Virtual Network.
Na guia Rede Virtual, selecione a Rede virtual e a Sub-rede onde 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 Next: DNS.
Na guia DNS, selecione Sim para Integrar com zona DNS privada. O DNS privado resolve todos os pontos de extremidade necessários para endereços IP privados em sua rede virtual:
Nota
Devido aos recursos de dimensionamento automático no IoT Central, você deve usar a opção de integração de DNS privado, se possível. Se, por algum motivo, não for possível usar essa opção, consulte Usar um servidor DNS personalizado.
Selecione Next: Tags.
No separador Etiquetas, configure as etiquetas de que necessita e, em seguida, selecione Seguinte: Rever + Criar.
Revise os detalhes de configuração e selecione Criar para criar seu recurso de ponto de extremidade privado.
Verificar a criação de pontos finais privados
Quando a criação do ponto de extremidade privado estiver 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 Private endpoint connections . A tabela mostra todos os pontos de extremidade privados criados para seu aplicativo.
Usar um servidor DNS personalizado
Em algumas situações, talvez não seja possível integrar com a zona DNS privada da rede virtual. Por exemplo, você pode usar seu próprio servidor DNS ou criar registros DNS usando os arquivos host em suas máquinas virtuais. Esta seção descreve como chegar às zonas DNS.
Instale chocolatey.
Instale o ARMClient:
choco install armclient
Inicie sessão com a ARMClient:
armclient login
Use o comando a seguir para obter as zonas DNS privadas para seu aplicativo IoT Central. Substitua os espaços 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
Confira a resposta. As zonas DNS necessárias estão na
requiredZoneNames
matriz na carga útil 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é seu ponto de extremidade privado e selecione Configuração de DNS. Nesta página, você pode encontrar as informações necessárias para o mapeamento de endereço IP para o nome DNS.
Aviso
Estas informações permitem-lhe preencher o seu servidor DNS personalizado com os registos necessários. Se possível, você deve integrar com as zonas DNS privadas da rede virtual e não configurar seu próprio servidor DNS personalizado. Os pontos de extremidade privados para aplicativos do IoT Central diferem de outros serviços PaaS do Azure. Em algumas situações, como o dimensionamento automático do IoT Central, o IoT Central dimensiona 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, é sua responsabilidade atualizar os registros DNS sempre que o IoT Central for dimensionado automaticamente e, posteriormente, remover registros quando o número de hubs IoT for dimensionado.
Restringir o acesso do público
Para restringir o acesso público de seus dispositivos ao IoT Central, desative o acesso de pontos de extremidade públicos. Depois de desativar o acesso público, os dispositivos não podem se conectar ao IoT Central a partir de redes públicas e devem 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/intervalos IP que podem se conectar ao ponto de extremidade público do seu aplicativo IoT Central.
Selecione Guardar.
Gorjeta
Se você optar por definir uma lista de endereços/intervalos IP que podem se conectar ao ponto de extremidade público do seu aplicativo IoT Central, certifique-se de incluir o endereço IP de qualquer proxy que seus dispositivos usem para se conectar ao seu aplicativo IoT Central.
Conectar-se a um ponto de extremidade privado
Quando você desabilita o acesso à rede pública para seu aplicativo IoT Central, seus dispositivos não conseguem 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 está agora inacessível.
Quando você configura um ponto de extremidade privado para seu aplicativo IoT Central, o ponto de extremidade do serviço IoT Central é atualizado para refletir o ponto de extremidade DPS direto.
Atualize o código do dispositivo para usar o ponto de extremidade DPS direto.
Melhores práticas
Não use URLs de subdomínio de link privado para conectar seus dispositivos ao IoT Central. Sempre use a 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, pois você precisaria atualizar constantemente sua configuração de DNS para acompanhar a escala automática de 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, portanto, você deve adicioná-los novamente.
Limitações
Atualmente, a conectividade privada só está habilitada para conexões de dispositivo com os hubs IoT subjacentes e DPS 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 da 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 com a sua rede virtual.
O ponto de extremidade DPS global (
global.device-provisioning.net
) não está acessível. Atualize o firmware do dispositivo para se conectar à instância direta do DPS. Você pode encontrar a URL direta do DPS na página Grupos de conexão de 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 ao IPv4. O IPv6 não é suportado.
Resolução de Problemas
Se você estiver tendo problemas para se conectar a um ponto de extremidade privado, use as seguintes diretrizes de solução de problemas:
Verificar o estado da ligação
Verifique se o estado de conexão do seu 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 é Aprovado para seu ponto de extremidade privado.
Executar verificações dentro da 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 seguintes testes.
Para certificar-se de que a resolução de nomes está funcionando corretamente, itere todos os FQDNs na configuração 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 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 à seguinte saída:
#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 corresponda ao 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 de DNS pode ser substituída se você criar ou excluir vários pontos de extremidade privados para um único aplicativo do IoT Central:
- No portal do Azure, navegue até o recurso de ponto de extremidade privado.
- Na seção DNS, verifique se há 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 que usam essa zona DNS) estão refletidos no registro A do DNS.
- Remova todos os registros A para IPs de pontos de extremidade privados mais antigos que foram excluídos anteriormente.
Outras dicas de solução de problemas
Se, depois de tentar todas essas verificações, você ainda estiver enfrentando um problema, tente o guia de solução de problemas de 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 redes em geral. As potenciais razões para o insucesso incluem:
- Configuração incorreta da sua 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 mal configurado entre o dispositivo e os recursos do IoT Central
Próximos passos
Agora que você aprendeu como criar um ponto de extremidade privado para seu aplicativo, aqui está a próxima etapa sugerida: