Multilocatário e Link Privado do Azure
O Link Privado do Azure fornece endereçamento IP privado para serviços da plataforma Azure e para seus próprios aplicativos hospedados em máquinas virtuais do Azure. Você pode usar o Link Privado para habilitar a conectividade privada dos ambientes do Azure de seus locatários. Os locatários também podem usar o Link Privado para acessar sua solução a partir de ambientes locais, quando estiverem conectados por meio de gateways de rede virtual privada (Gateway de VPN) ou ExpressRoute.
O Link Privado do Azure é usado por muitos grandes provedores de SaaS, incluindo Snowflake, Confluent Cloud e MongoDB Atlas.
Neste artigo, revisamos como você pode configurar o Link Privado para uma solução multilocatário hospedada no Azure.
Principais considerações
Espaços de endereço IP sobrepostos
O Link Privado fornece recursos avançados para soluções multilocatário, em que os locatários podem acessar o serviço por meio de espaços de endereço privados.
Locatários diferentes frequentemente usam os mesmos espaços de endereço IP privado ou espaços sobrepostos. Por exemplo, sua solução multilocatário pode usar o espaço de endereço IP de 10.1.0.0/16
. Suponha que o locatário A use sua própria rede local com o mesmo espaço de endereço IP e, coincidentemente, o locatário B também use o mesmo espaço de endereço IP. Você não pode conectar diretamente ou emparelhar suas redes porque os intervalos de endereços IP se sobrepõem.
Quando você usar o Link Privado para habilitar a conectividade de cada locatário com a solução multilocatário, o tráfego de cada locatário terá automaticamente a conversão de endereços de rede (NAT) aplicada. Cada locatário pode usar um endereço IP privado em sua respectiva rede, e o tráfego flui para a solução multilocatário de forma transparente. O Link Privado executa NAT no tráfego, mesmo quando os locatários e o provedor de serviços usam intervalos de endereços IP sobrepostos:
Quando o tráfego chega à solução multilocatário, ele já foi convertido. Isso significa que o tráfego parece se originar no próprio espaço de endereço IP da rede virtual do serviço multilocatário. O Link Privado fornece o recurso Protocolo TCP Proxy v2, o qual permite que um serviço multilocatário conheça o locatário que enviou a solicitação, e até mesmo o endereço IP original da rede de origem.
Seleção de serviço
Quando você usar o Link Privado, será importante considerar o serviço ao qual deseja permitir a conectividade de entrada.
O serviço Link Privado do Azure é usado com máquinas virtuais por trás de um balanceador de carga padrão.
Você também pode usar o Link Privado com outros serviços do Azure. Esses serviços incluem plataformas de hospedagem de aplicativos, como o Serviço de Aplicativos do Azure. Eles também incluem o Gateway de Aplicativo do Azure ou o Azure API Management, que são gateways de rede e API.
A plataforma de aplicativo que você usa determina muitos aspectos da configuração do Link Privado, bem como os limites que são aplicados. Além disso, alguns serviços não têm suporte ao Link Privado para tráfego de entrada. Examine a documentação dos serviços do Azure que você usa para entender o suporte para Link Privado.
Limites
Considere com atenção o número de pontos de extremidade privados que você pode criar, com base na arquitetura da sua solução. Se você usar uma plataforma de aplicativo PaaS (plataforma como serviço), será importante estar ciente do número máximo de pontos de extremidade privados que um único recurso pode suportar. Se você executar máquinas virtuais, poderá anexar uma instância de serviço de Link Privado a um SLB (balanceador de carga padrão). Nessa configuração, você geralmente pode conectar um número maior de pontos de extremidade privados, mas os limites ainda são aplicados. Esses limites podem determinar quantos locatários você pode conectar aos seus recursos usando o Link Privado. Consulte Assinatura do Azure e limite de serviços, cotas e restrições para entender os limites para o número de pontos de extremidade e conexões.
Além disso, alguns serviços requerem uma configuração de rede especializada para usar o Link Privado. Por exemplo, se você usar o Link Privado com o Gateway de Aplicativo do Azure, deverá provisionar uma sub-rede dedicada, além da sub-rede padrão para o recurso Gateway de Aplicativo.
Teste cuidadosamente sua solução, incluindo a implantação e a configuração de diagnóstico, com sua configuração de Link Privado habilitada. Quando os pontos de extremidade privados estão habilitados em alguns serviços do Azure, o tráfego público da Internet é bloqueado. Esse comportamento pode exigir que você altere seus processos de implantação e gerenciamento.
Link Privado em combinação com serviços voltados para o público
Você pode optar por implantar sua solução para ser voltada para a Internet e também para ser exposta por meio de pontos de extremidade privados. Por exemplo, alguns de seus locatários podem exigir conectividade privada, enquanto outros dependem de conectividade com a internet pública. Considere sua topologia de rede geral e os caminhos que o tráfego de cada locatário segue.
Quando sua solução é baseada em máquinas virtuais que estão por trás de um balanceador de carga padrão, você pode expor seu ponto de extremidade por meio do serviço Link Privado. Nesse caso, um firewall de aplicativo Web e um roteamento de aplicativos provavelmente já fazem parte da carga de trabalho baseada em máquina virtual.
Muitos serviços PaaS do Azure oferecem suporte ao Link Privado para conectividade de entrada, mesmo entre diferentes assinaturas do Azure e locatários do Microsoft Entra. Você pode usar os recursos de Link Privado desse serviço para expor seu ponto de extremidade.
Quando você usa outros serviços voltados para a Internet, como o Azure Front Door, é importante considerar se eles oferecem suporte ao Link Privado para tráfego de entrada. Se não oferecerem, considere como o tráfego fluirá por meio de cada caminho para a sua solução.
Por exemplo, suponha que você crie um aplicativo voltado para a Internet que seja executado em um conjunto de dimensionamento de máquina virtual. Você usa o Azure Front Door, incluindo o WAF (firewall de aplicativo Web) correspondente, para segurança e aceleração de tráfego, e configura o Front Door para enviar seu tráfego por meio de um ponto de extremidade privado para o seu serviço de back-end (origem). O locatário A é conectado à sua solução usando um ponto de extremidade público, e o locatário B é conectado usando um ponto de extremidade privado. Como o Front Door não tem suporte ao Link Privado para conexões de entrada, o tráfego do locatário B ignora o Front Door e seu WAF:
Modelos de isolamento
O Link Privado foi projetado para oferecer suporte a cenários em que uma camada de aplicativo única pode ser usada por vários clientes separados, como seus locatários. \Quando você considera o isolamento para o Link Privado, a principal preocupação é em torno do número de recursos que você precisa implantar para dar suporte aos seus requisitos. Os modelos de isolamento de locatário que você pode usar para o Link Privado dependem do serviço que usa.
Modelos de isolamento para o serviço Link Privado
Se você usar o serviço Link Privado com máquinas virtuais por trás de um balanceador de carga padrão, haverá vários modelos de isolamento que poderão ser considerados.
Consideração | Serviço Link Privado compartilhado e balanceador de carga compartilhado | Serviço Link Privado dedicado e balanceador de carga dedicado | Serviço Link Privado dedicado e balanceador de carga compartilhado |
---|---|---|---|
Complexidade da implantação | Baixo | Médio-alto, dependendo do número de locatários | Médio-alto, dependendo do número de locatários |
Complexidade operacional | Baixo | Médio-alto, dependendo do número de recursos | Médio-alto, dependendo do número de recursos |
Limites a considerar | Número de pontos de extremidade privados no mesmo serviço Link Privado | Número de serviços Link Privado por assinatura | Número de serviços Link Privado por balanceador de carga padrão |
Cenário de exemplo | Solução multilocatário grande com camada de aplicativo compartilhada | Selos de implantação separados para cada locatário | Camada de aplicativo compartilhada em um único selo, com um grande número de locatários |
Em todos os três modelos, o nível de isolamento de dados e desempenho depende dos outros elementos da sua solução, e a implantação do serviço Link Privado não afeta materialmente esses fatores.
Serviço Link Privado compartilhado e balanceador de carga padrão compartilhado
Você pode considerar implantar um serviço Link Privado compartilhado, o qual está conectado a um balanceador de carga padrão. Cada um dos seus locatários pode criar um ponto de extremidade privado e usá-lo para se conectar à sua solução.
Uma única instância de serviço Link Privado tem suporte para um grande número de pontos de extremidade privados. Se você esgotar o limite, poderá implantar mais instâncias de serviço Link Privado, embora também haja limites para o número de serviços Link Privado que você poderá implantar em um único balanceador de carga. Se você espera que se aproximará desses limites, considere usar uma abordagem baseada em Selos de Implantação e implante balanceadores de carga compartilhados e instâncias de serviço Link Privado em cada selo.
Serviço Link Privado dedicado e balanceador de carga padrão dedicado por locatário
Você pode implantar um serviço Link Privado dedicado e um balanceador de carga dedicado para cada locatário. Essa abordagem faz sentido quando você tem um conjunto dedicado de máquinas virtuais para cada locatário, como quando seus locatários têm requisitos de conformidade estritos.
Serviço Link Privado dedicado por locatário e balanceador de carga padrão compartilhado
Você também pode implantar instâncias de serviço Link Privado dedicadas para cada locatário, com um balanceador de carga padrão compartilhado. No entanto, é pouco provável que esse modelo traga muitos benefícios. Além disso, como há um limite para o número de serviços Link Privado que você pode implantar em um único balanceador de carga padrão, esse modelo provavelmente não será dimensionado além de uma pequena solução multilocatário.
Mais comumente, você pode implantar vários serviços Link Privado compartilhados. Essa abordagem permite expandir o número de pontos de extremidade privados que sua solução pode oferecer suporte em um balanceador de carga compartilhado.
Modelos de isolamento para serviços de PaaS do Azure com pontos de extremidade privados
Quando você implantar serviços de PaaS (plataforma como serviço) do Azure e quiser permitir que os locatários acessem esses serviços com pontos de extremidade privados, será necessário considerar os recursos e as restrições do serviço específico. Além disso, você precisará considerar se os recursos da camada de aplicativo são dedicados a um locatário específico ou se serão compartilhados entre locatários.
Se você implantar um conjunto dedicado de recursos da camada de aplicativo para cada locatário, provavelmente você poderá implantar um ponto de extremidade privado para esse locatário usar para acessar seus recursos. É pouco provável que você esgotará qualquer limite de serviço relacionado ao Link Privado, porque cada locatário tem seus próprios recursos dedicados a eles.
Ao compartilhar recursos da camada de aplicativo entre locatários, você poderá considerar a implantação de um ponto de extremidade privado para cada locatário. Há limites no número de pontos de extremidade privados que podem ser anexados a um único recurso, e esses limites são diferentes para cada serviço.
Recursos do Link Privado do Azure que dão suporte à multilocação
O Link Privado tem vários recursos que são úteis em um ambiente multilocatário. No entanto, os recursos específicos disponíveis dependem do serviço que você usa. O serviço básico Link Privado do Azure, para máquinas virtuais e balanceadores de carga, oferece suporte a todos os recursos descritos abaixo. Outros serviços com suporte a Link Privado podem fornecer apenas um subconjunto destes recursos.
Aliases de serviço
Quando um locatário configura o acesso ao seu serviço usando o Link Privado, ele precisa ser capaz de identificar seu serviço para que o Azure possa estabelecer a conexão.
O serviço Link Privado e alguns outros serviços do Azure compatíveis com Link Privado permitem que você configure um alias que você fornece aos seus locatários. Usando um alias, você evita divulgar suas IDs de assinatura do Azure e seus nomes de grupos de recursos.
Visibilidade do serviço
O serviço Link Privado permite que você controle a visibilidade do seu ponto de extremidade privado. Você poderá permitir que todos os clientes do Azure se conectem ao seu serviço, se souberem o alias ou a ID de recurso. Como alternativa, você poderá restringir o acesso a apenas um conjunto de clientes conhecidos do Azure.
Você também pode especificar um conjunto de IDs de assinaturas do Azure pré-aprovadas que podem conectar ao seu ponto de extremidade privado. Se você optar por usar essa abordagem, considere como coletará e autorizará IDs de assinatura. Por exemplo, você poderá fornecer uma interface de usuário de administração em seu aplicativo para coletar a ID de assinatura de um locatário. Em seguida, poderá reconfigurar dinamicamente sua instância do serviço Link Privado para pré-aprovar essa ID de assinatura para conexões.
Aprovações de conexão
Depois que uma conexão tiver sido solicitada entre um cliente (como um locatário) e um ponto de extremidade privado, o Link Privado exigirá que a conexão seja aprovada. Até que a conexão seja aprovada, o tráfego não poderá fluir pela conexão de ponto de extremidade privado.
O serviço Link Privado tem suporte para vários tipos de fluxos de aprovação, incluindo:
- Aprovação manual, em que sua equipe aprova explicitamente cada conexão. Essa abordagem é viável quando você tem apenas alguns locatários que usam seu serviço por meio do Link Privado.
- Aprovação baseada em API, em que o serviço Link Privado trata a conexão como necessária para uma aprovação manual, e seu aplicativo usa a API de Atualizar Conexão de Ponto de Extremidade Privado, a CLI do Azure ou o Azure PowerShell para aprovar uma conexão. Essa abordagem poderá ser útil quando você tiver uma lista de locatários que foram autorizados a usar pontos de extremidade privados.
- Aprovação automática, em que o próprio serviço Link Privado mantém a lista de IDs de assinatura que devem ter suas conexões aprovadas automaticamente.
Para obter mais informações, confira Controlar o acesso ao serviço.
Protocolo de Proxy v2
Quando você usa o serviço Link Privado, por padrão, seu aplicativo só tem visibilidade de um endereço IP que passou pela conversão de endereço de rede (NAT). Esse comportamento significa que o tráfego parece fluir de dentro de sua própria rede virtual.
O Link Privado permite que você obtenha acesso ao endereço IP do cliente original, na rede virtual do locatário. Esse recurso usa o Protocolo TCP Proxy v2.
Por exemplo, suponha que os administradores dos locatários precisem adicionar restrições de acesso baseadas em endereço IP, como o host 10.0.0.10 pode acessar o serviço, mas o host 10.0.0.20 não. Ao usar o Protocolo de Proxy v2, você poderá habilitar seus locatários para configurar esses tipos de restrições de acesso em seu aplicativo. No entanto, o código do aplicativo precisa inspecionar o endereço IP original do cliente e impor as restrições.
Recursos relacionados
- Explicação e demonstrações do Serviço de Link Privado do Azure com base em perspectivas do provedor (ISV de SaaS) e do consumidor: um vídeo que examina o recurso de serviço de Link Privado do Azure que habilita provedores de serviços multilocatários (como fornecedores independentes de software que criam produtos SaaS). Essa solução permite que os consumidores acessem o serviço do provedor usando endereços IP privados das próprias redes virtuais do Azure do consumidor.
- Protocolo TCP Proxy v2 com Serviço de Link Privado do Azure — Aprofundamento: um vídeo que apresenta um aprofundamento no Protocolo TCP Proxy v2, que é um recurso avançado do serviço de Link Privado do Azure. É útil em cenários multilocatário e SaaS. O vídeo mostra como habilitar o Protocolo de Proxy V2 no serviço de Link Privado do Azure. Ele também mostra como configurar um serviço NGINX para ler o endereço IP privado de origem do cliente original, em vez do IP NAT, para acessar o serviço por meio do ponto de extremidade privado.
- Usando o NGINX Plus para decodificar o TLV do Protocolo de Proxy
linkIdentifier
do serviço de Link Privado do Azure: um vídeo que mostra como usar o NGINX Plus para obter o TLV do Protocolo de Proxy TCP v2 do serviço de Link Privado do Azure. O vídeo mostra como você pode extrair e decodificar olinkIdentifier
numérico, também chamadoLINKID
, da conexão de ponto de extremidade privado. Essa solução é útil para provedores multilocatário que precisam identificar o locatário do consumidor específico a partir do qual a conexão foi estabelecida. - Padrão de Conectividade Privada SaaS: um exemplo de solução que ilustra uma abordagem para automatizar a aprovação de conexões de ponto de extremidade privado, usando Aplicativos Gerenciados do Azure.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- John Downs | Engenheiro de software principal
- Arsen Vladimirskiy | Engenheiro principal de atendimento ao cliente, FastTrack for Azure
Outro colaborador:
- Sumeet Mittal | Gerente Principal de Produto, Link Privado do Azure
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
Consulte as abordagens de rede para multilocação.