Planejar e implementar serviços de Link Privado
O serviço de Link Privado do Azure é a referência para seu serviço que é desenvolvido com o Link Privado do Azure. Seu serviço que está sendo executado por trás do Azure Standard Load Balancer pode ser habilitado para acesso ao Link Privado para que os consumidores de seu serviço possam acessá-lo de forma privada em suas próprias VNets. Os clientes podem criar um ponto de extremidade privado dentro da rede virtual e mapeá-lo para esse serviço. Este exemplo explica os conceitos relacionados ao lado do provedor de serviços.
Workflow
Criar um Serviço de Link Privado
Configure seu aplicativo para executar por trás de um balanceador de carga padrão em sua rede virtual. Se você já tiver seu aplicativo configurado por trás de um balanceador de carga padrão, poderá ignorar essa etapa.
Crie um Serviço de Link Privado referenciando o balanceador de carga acima. No processo de seleção do balanceador de carga, escolha a configuração de IP de front-end onde você deseja receber o tráfego. Escolha uma sub-rede para endereços IP de NAT para o Serviço de Link Privado. É recomendável ter pelo menos oito endereços IP de NAT disponíveis na sub-rede. Todo o tráfego do consumidor parecerá originar-se desse pool de endereços IP privados para o provedor de serviços. Escolha as propriedades/configurações apropriadas para o Serviço de Link Privado.
Compartilhar seu serviço
Depois de criar um serviço de Link Privado, o Azure gerará um moniker globalmente exclusivo denominado alias com base no nome que você fornecer para o serviço. Você pode compartilhar o alias ou o URI de recurso do seu serviço com seus clientes offline. Os consumidores podem iniciar uma conexão de Link Privado usando o alias ou o URI de recurso.
Gerenciar suas solicitações de conexão
Depois que um consumidor inicia uma conexão, o provedor de serviços pode aceitar ou rejeitar a solicitação de conexão. Todas as solicitações de conexão serão listadas na propriedade privateendpointconnections no serviço de Link Privado.
Excluir seu serviço
Se o serviço de Link Privado não for mais usado, você poderá excluí-lo. No entanto, antes de excluir o serviço, verifique se não há nenhuma conexão de ponto de extremidade privada associada a ele. Você pode rejeitar todas as conexões e excluir o serviço.
Propriedades
Um serviço de Link Privado especifica as seguintes propriedades:
Propriedade | Explicação |
---|---|
Estado de Provisionamento (provisioningState) | Uma propriedade somente leitura que lista o estado de provisionamento atual para o serviço de Link Privado. Os estados de provisionamento aplicáveis são: Exclusão, Falha, Sucesso, Atualização. Quando o estado de provisionamento for Êxito, você terá provisionado com sucesso o serviço de Link Privado. |
Alias (alias) | Alias é uma cadeia de caracteres somente leitura globalmente exclusiva para o seu serviço. Ele ajuda a mascarar os dados do cliente para seu serviço e, ao mesmo tempo, cria um nome fácil de compartilhar para seu serviço. Quando você cria um serviço de Link Privado, o Azure gera o alias para o serviço que você pode compartilhar com seus clientes. Seus clientes podem usar esse alias para solicitar uma conexão ao seu serviço. |
Visibilidade (visibility) | Visibilidade é a propriedade que controla as configurações de exposição para seu serviço de Link Privado. Os provedores de serviços podem optar por limitar a exposição de seu serviço a assinaturas com permissões de controle de acesso baseado em função do Azure. Um conjunto restrito de assinaturas também pode ser usado para limitar a exposição. |
Aprovação automática (autoApproval) | A aprovação automática controla o acesso automatizado ao serviço de Link Privado. As assinaturas especificadas na lista aprovação automática são aprovadas automaticamente quando uma conexão é solicitada por pontos de extremidade privados nessas assinaturas. |
Configuração de IP de front-end do balanceador de carga (loadBalancerFrontendIpConfigurations) | O serviço de Link Privado está vinculado ao endereço IP de front-end de um Standard Load Balancer. Todo o tráfego destinado ao serviço alcançará o front-end do SLB. Você pode configurar as regras do SLB para direcionar esse tráfego para os pools de back-end apropriados nos quais seus aplicativos estão em execução. As configurações de IP de front-end do Load Balancer são diferentes das configurações de IP de NAT. |
Configuração de IP de NAT (ipConfigurations) | Essa propriedade refere-se à configuração de IP de NAT (conversão de endereços de rede) para o serviço de Link Privado. O IP de NAT pode ser escolhido de qualquer sub-rede na rede virtual do provedor de serviços. O serviço de Link Privado executa NAT-ing no tráfego do Link Privado. Essa NAT garante que não haverá nenhum conflito de IP entre a origem (lado do consumidor) e o espaço de endereço de destino (provedor de serviço). No lado do provedor de serviços ou de destino, o endereço IP da NAT é exibido como IP de origem para todos os pacotes recebidos pelo serviço. O IP de destino é exibido para todos os pacotes enviados pelo serviço. |
Conexões de ponto de extremidade privado (privateEndpointConnections) | Essa propriedade lista os pontos de extremidade privados que se conectam ao serviço de Link Privado. Vários pontos de extremidade privados podem se conectar ao mesmo serviço de Link Privado e o provedor de serviços pode controlar o estado de pontos de extremidade privados individuais. |
Proxy TCP v2 (EnableProxyProtocol) | Essa propriedade permite que o provedor de serviços use o proxy TCP v2 para recuperar informações de conexão sobre o consumidor de serviço. O Provedor de Serviços é responsável por definir as configurações do receptor para poder analisar o cabeçalho v2 do protocolo do proxy. |
Detalhes
O serviço de Link Privado pode ser acessado por pontos de extremidade privados aprovados em qualquer região pública. O ponto de extremidade privado pode ser acessado da mesma rede virtual e de redes virtuais emparelhadas regionalmente. O ponto de extremidade privado pode ser alcançado por redes virtuais emparelhadas globalmente e local usando conexões VPN privadas ou ExpressRoute.
Durante a criação do Serviço de Link Privado, um adaptador de rede é criado para o ciclo de vida do recurso. Essa interface não é gerenciável pelo cliente.
O Serviço de Link Privado deve ser implantado na mesma região que a rede virtual e o Standard Load Balancer.
Um único Serviço de Link Privado pode ser acessado de vários pontos de extremidade privados que pertencem a diferentes redes virtuais, assinaturas e/ou locatários do Active Directory. A conexão é estabelecida por meio de um fluxo de trabalho de conexão.
Vários serviços de Link Privado podem ser criados no mesmo Standard Load Balancer usando configurações diferentes de IP de front-end. Há limites para o número de serviços de Link Privado que você pode criar por Standard Load Balancer e por assinatura. Para obter detalhes, confira Limites do Azure.
O serviço de Link Privado pode ter mais de uma configuração IP de NAT vinculada a ela. A escolha de mais de uma configuração IP de NAT pode ajudar os provedores de serviços a dimensionar. Hoje, os provedores de serviços podem atribuir até oito endereços IP de NAT por serviço de Link Privado. Com cada endereço IP de NAT, você pode atribuir mais portas para suas conexões TCP e, assim, escalar horizontalmente. Depois de adicionar vários endereços IP de NAT a um serviço de Link Privado, você não pode excluir os endereços IP de NAT. Essa restrição existe para garantir que as conexões ativas não sejam afetadas durante a exclusão dos endereços IP de NAT.
Alias
Alias é um nome globalmente exclusivo para o seu serviço. Ele ajuda a mascarar os dados do cliente para seu serviço e, ao mesmo tempo, cria um nome fácil de compartilhar para seu serviço. Quando você cria um serviço de Link Privado, o Azure gera um alias para o serviço que você pode compartilhar com seus clientes. Seus clientes podem usar esse alias para solicitar uma conexão ao seu serviço.
O alias é composto por três partes: Prefixo.GUID.Sufixo
- Prefixo é o nome do serviço. Você pode escolher seu prefixo. Depois que "Alias" for criado, você não poderá alterá-lo, portanto, selecione o prefixo adequadamente.
- O GUID será fornecido pela plataforma. Esse GUID (identificador global exclusivo) torna o nome globalmente exclusivo.
- O Sufixo é acrescentado pelo Azure: região.azure.privatelinkservice
- Alias completo: Prefixo. {GUID}.região.azure.privatelinkservice
Controlar a exposição do serviço
O serviço de Link Privado fornece três opções para controlar a exposição de seu serviço por meio da configuração de Visibilidade. Suas configurações de visibilidade determinam se um consumidor pode se conectar ao seu serviço ou não. São estas as opções de configuração de visibilidade, da mais restritiva para a menos restritiva:
- Somente controle de acesso baseado em função: se o seu serviço for para o consumo particular de diferentes redes virtuais que você detém, use o controle de acesso baseado em função dentro de assinaturas associadas ao mesmo locatário do Active Directory. A visibilidade entre locatários é permitida por meio do controle de acesso baseado em função.
- Restrito por assinatura: se o serviço for consumido por diferentes locatários, você poderá restringir a exposição a um conjunto limitado de assinaturas confiáveis. As autorizações podem ser previamente aprovadas.
- Qualquer pessoa com o seu alias: selecione essa opção se quiser tornar seu serviço público e permitir que qualquer pessoa com seu alias de serviço de link privado solicite uma conexão.
Acesso ao serviço de controle
Os consumidores que têm exposição controlada pela configuração de visibilidade para o serviço de Link Privado podem criar um ponto de extremidade privado em suas redes virtuais e solicitar uma conexão com o serviço de Link Privado. A conexão de ponto de extremidade privado será criada em um estado Pendente no objeto de serviço de Link Privado. O provedor de serviços é responsável por agir na solicitação de conexão. Você pode aprovar, rejeitar ou excluir a conexão. Somente as conexões aprovadas podem enviar tráfego para o serviço de Link Privado.
A ação de aprovar as conexões pode ser automatizada usando a propriedade de aprovação automática no serviço de Link Privado. A aprovação automática é uma capacidade para os provedores de serviços aprovarem previamente um conjunto de assinaturas para acesso automatizado a seu serviço. Os clientes precisarão compartilhar suas assinaturas offline para que os provedores de serviços as adicionem à lista de aprovação automática. A aprovação automática é um subconjunto da matriz de visibilidade.
A visibilidade controla as configurações de exposição, enquanto a aprovação automática controla as configurações de aprovação do seu serviço. Se um cliente solicitar uma conexão de uma assinatura na lista de aprovação automática, a conexão será aprovada automaticamente e será estabelecida. Os provedores de serviço não precisam aprovar manualmente a solicitação. Se um cliente solicitar uma conexão de uma assinatura na matriz de visibilidade e não na matriz de aprovação automática, a solicitação chegará ao provedor de serviços. O provedor de serviços deve aprovar manualmente as conexões.
Obter informações de conexão usando o TCP Proxy v2
No serviço de Link Privado, o endereço IP de origem dos pacotes provenientes do ponto de extremidade privado é NAT (conversão de endereços de rede) no lado do provedor de serviço usando o IP de NAT alocado da rede virtual do provedor. Os aplicativos recebem o endereço IP de NAT alocado em vez do endereço IP de origem real dos consumidores de serviço. Se o seu aplicativo precisar de um endereço IP de origem real do lado do consumidor, você poderá habilitar o protocolo de proxy em seu serviço e recuperar as informações do cabeçalho do protocolo de proxy. Além do endereço IP de origem, o cabeçalho do protocolo de proxy também carrega a LinkID do ponto de extremidade privado. A combinação do endereço IP de origem e do LinkID pode ajudar os provedores de serviços a identificar seus consumidores de maneira exclusiva.
Essas informações são codificadas usando um vetor TLV (tipo-tamanho-valor) personalizado da seguinte maneira:
Detalhes de tipo-comprimento-valor personalizado:
Campo | Comprimento (octetos) | Descrição |
---|---|---|
Type | 1 | PP2_TYPE_AZURE (0xEE) |
Comprimento | 2 | Comprimento do valor |
Valor | 1 | PP2_SUBTYPE_AZURE_PRIVATEENDPOINT_LINKID (0x01) |
4 | UINT32 (4 bytes) que representa a LINKID do ponto de extremidade privado. Codificado no formato little endian. |
Observação
O provedor de serviços é responsável por verificar se o serviço por trás do standard load balancer está configurado para analisar o cabeçalho do protocolo de proxy de acordo com a especificação quando o protocolo de proxy estiver habilitado no serviço de Link Privado. A solicitação falhará se a configuração do protocolo de proxy estiver habilitada no serviço de Link Privado, mas o serviço do provedor de serviços não estiver configurado para analisar o cabeçalho. A solicitação falhará se o serviço do provedor de serviços estiver esperando um cabeçalho de protocolo de proxy enquanto a configuração não estiver habilitada no serviço de Link Privado. Depois que a configuração do protocolo de proxy estiver habilitada, o cabeçalho do protocolo de proxy também será incluído em investigações de integridade HTTP/TCP do host para as máquinas virtuais de back-end. As informações do cliente não estão contidas no cabeçalho.
A correspondência LINKID
que faz parte do protocolo PROXYv2 (TLV) pode ser encontrada em PrivateEndpointConnection
como propriedade linkIdentifier
.
Limitações
Confira as limitações conhecidas ao usar o serviço de Link Privado:
- Com suporte apenas no Standard Load Balancer. Não suportado no Basic Load Balancer.
- Com suporte apenas no Standard Load Balancer em que o pool de backend é configurado pela NIC. Com suporte apenas no Standard Load Balancer em que o pool de backend é configurado pela NIC.
- Dá suporte apenas ao tráfego IPv4
- Dá suporte apenas ao tráfego TCP e UDP
- O Serviço de Link Privado tem um tempo limite ocioso de ~5 minutos (300 segundos). Para evitar atingir esse limite, os aplicativos que se conectam por meio de Serviço de Link Privado devem usar o TCP Keepalives menor que esse tempo.