Compartilhar via


Multilocatário e Link Privado do Azure

O Link Privado do Azure fornece endereçamento IP privado para serviços de plataforma do 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 seus ambientes locais, quando eles estão 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 Cloude MongoDB Atlas.

Neste artigo, analisamos 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ários, 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 usa o mesmo espaço de endereço IP. Você não pode conectar ou emparelhar diretamente suas redes porque os intervalos de endereços IP se sobrepõem.

Quando você usa o Link Privado para habilitar a conectividade de cada locatário para a solução multilocatário, o tráfego de cada locatário tem automaticamente a NAT (conversão de endereço de rede) aplicada. Cada locatário pode usar um endereço IP privado em sua própria 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:

Diagrama mostrando a conectividade entre dois locatários e um serviço multilocatário, todos os quais usam o mesmo espaço de endereço IP.

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 de proxy TCP v2, que 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

Ao usar o Link Privado, é importante considerar o serviço ao qual você deseja permitir a conectividade de entrada.

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 Aplicativo do Azure. Eles também incluem o Gateway de Aplicativo do Azure ou o Gerenciamento de API do Azure, que são gateways de rede e API.

A plataforma de aplicativo que você usa determina muitos aspectos da configuração do Link Privado e os limites que se aplicam. Além disso, alguns serviços não dão 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 deles para o Link Privado.

Limites

Considere cuidadosamente 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), é importante estar ciente do número máximo de pontos de extremidade privados aos quais um único recurso pode dar suporte. 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 se aplicam. 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 exigem 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 do Gateway de Aplicativo.

Teste cuidadosamente sua solução, incluindo sua implantação e configuração de diagnóstico, com sua configuração de Link Privado habilitada. Quando pontos de extremidade privados sã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.

Você pode optar por implantar sua solução para ser exposta à Internet e também por meio de endpoints privados. Por exemplo, alguns de seus locatários podem exigir conectividade privada, enquanto outros dependem da 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 endpoint com o serviço de Link Privado. Nesse caso, um firewall de aplicativo Web e o 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 tornar seu endpoint acessível.

Quando você usa outros serviços voltados para a Internet, como o Azure Front Door, é importante considerar se eles dão 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 se conecta à sua solução usando um ponto de extremidade público e o locatário B se conecta 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:

Diagrama mostrando solicitações provenientes do Azure Front Door e também por meio de um ponto de extremidade privado, que ignora o Front Door.

Modelos de isolamento

O Link Privado foi projetado para dar suporte a cenários em que uma única camada de aplicativo pode ser usada por vários clientes separados, como seus locatários. Ao considerar o isolamento para o Link Privado, a principal preocupação está relacionada ao número de recursos que devem ser implantados 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 você usa.

Se você usar o serviço de Link Privado com máquinas virtuais por trás de um balanceador de carga padrão, há vários modelos de isolamento que você pode considerar.

Consideração Serviço de Link Privado Compartilhado e balanceador de carga compartilhado Serviço de Link Privado Dedicado e balanceador de carga dedicado Serviço de 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 de Link Privado por assinatura Número de serviços de 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 e desempenho de dados depende dos outros elementos da sua solução e a implantação do serviço link privado não afeta materialmente esses fatores.

Você pode considerar a implantação de um serviço de Link Privado compartilhado, que 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 de Link Privado dá suporte a um grande número de pontos de extremidade privados. Se você esgotar o limite, poderá implantar mais instâncias de serviço de Link Privado, embora também haja limites para o número de serviços de Link Privado que você pode 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.

Você pode implantar um serviço de 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 rigorosos.

Você também pode implantar instâncias de serviço de Link Privado dedicadas para cada locatário, com um balanceador de carga padrão compartilhado. No entanto, é improvável que esse modelo ofereça muito benefício. Além disso, como há um limite para o número de serviços de 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 de Link Privado compartilhados. Essa abordagem permite expandir o número de pontos de extremidade privados aos quais sua solução pode dar suporte em um balanceador de carga compartilhado.

Modelos de isolamento para serviços de PaaS do Azure com pontos de extremidade privados

Ao 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, considere os recursos e restrições do serviço específico. Além disso, considere se os recursos da camada de aplicativo são dedicados a um locatário específico ou se sã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. É improvável que você esgote os limites de serviço relacionados ao Link Privado, pois cada locatário tem seus próprios recursos dedicados a eles.

Ao compartilhar recursos da camada de aplicativo entre vários locatários, você pode considerar a implantação de um endpoint 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.

O Link Privado tem vários recursos que são úteis em um ambiente multilocatário. No entanto, os recursos específicos disponíveis para você dependem do serviço que você usa. O serviço de Link Privado do Azure básico, para máquinas virtuais e balanceadores de carga, dá suporte a todos os recursos descritos abaixo. Outros serviços com suporte ao Link Privado podem fornecer apenas um subconjunto desses 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 nomes de grupo de recursos.

Visibilidade do serviço

O serviço Link Privado permite que você controle a visibilidade do seu ponto de extremidade privado. Você pode permitir que todos os clientes do Azure se conectem ao seu serviço, se eles souberem seu alias ou ID de recurso. Como alternativa, você pode 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ê pode fornecer uma interface do usuário de administração em seu aplicativo para coletar a ID da assinatura de um locatário. Em seguida, você pode reconfigurar dinamicamente sua instância de serviço de Link Privado para aprovar previamente 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 do endpoint privado.

O serviço link privado dá suporte a 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 proxy v2

Quando você usa o serviço de Link Privado, por padrão, seu aplicativo só tem visibilidade de um endereço IP que passou pela NAT (conversão de endereços de rede). 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 de Proxy TCP v2.

Por exemplo, suponha que os administradores de seus locatários precisem adicionar restrições de acesso baseadas em endereço IP, como host 10.0.0.10 pode acessar o serviço, mas o host 10.0.0.20 não pode. Ao usar o Protocolo proxy v2, você pode permitir que seus locatários configurem 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.

  • 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 redes virtuais do próprio consumidor do Azure.
  • Protocolo de Proxy TCP v2 com o Serviço de Link Privado do Azure – Deep Dive: um vídeo que apresenta um aprofundamento no Protocolo de Proxy TCP 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 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 protocolo proxy TLV linkIdentifier do serviço de Link Privado do Azure: um vídeo que analisa como usar o NGINX Plus para obter o Protocolo de Proxy TCP v2 TLV do serviço de Link Privado do Azure. O vídeo mostra como você pode extrair e decodificar o linkIdentifier numérico, também chamado LINKID, da conexão de ponto de extremidade privado. Essa solução é útil para provedores multilocatários que precisam identificar o inquilino consumidor específico a partir do qual a conexão foi estabelecida.
  • Padrão de Conectividade Privada SaaS: Uma solução de exemplo que ilustra uma abordagem para automatizar a aprovação de conexões de ponto de extremidade privado, utilizando Aplicativos Gerenciados do Azure.

Colaboradores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos colaboradores a seguir.

Autores principais:

Outro colaborador:

  • Sumeet Mittal | Gerente de Produto Principal, 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.