Azure Endpoint Services

Introdução

O Azure é uma plataforma de nuvem da Microsoft que oferece uma ampla variedade de serviços, incluindo armazenamento, computação, análise e inteligência artificial. Neste artigo, vamos nos concentrar em como os serviços de endpoint do Azure podem ajudar a melhorar sua segurança e gerenciamento de rede. Vamos discutir como esses serviços funcionam e os benefícios que eles oferecem para uma infraestrutura de nuvem.

Quais recursos de endpoint estão disponíveis?

O Azure possui dois principais recursos de conectividade através de endpoints: Service Endpoints e Private Endpoints. Os recursos do Azure Service Endpoint e do Azure Private Endpoint são utilizados para aumentar a segurança e o desempenho de sua infraestrutura na nuvem. Ambos permitem acesso aos recursos do Azure, referindo-se aos pontos de acesso de rede para estes mesmos serviços específicos, mas eles funcionam de maneira diferente.

Azure Private Endpoint

O Azure Private Endpoint é uma funcionalidade do Azure que permite criar uma conexão privada entre um serviço PaaS do Azure e uma rede virtual (VNet) usando um endereço IP privado de dentro da sua sub-rede, trazendo efetivamente o recurso para dentro da rede. Isso permite que os recursos do Azure sejam acessados de forma segura e privada dentro da sua VNet sem precisar expor um endereço IP público ou sair dos limites da sua VNet.

Tudo isso aumenta a segurança, pois o tráfego de rede é criptografado e somente os dispositivos autorizados podem acessar o recurso. Além disso, como não há concorrência de banda entre o seu tráfego e o tráfego gerado na internet, o desempenho é melhorado, pois o tráfego de rede não passa pela internet pública.

Para criar um Private Endpoint, é necessário seguir os seguintes passos:

  1. Cria uma rede virtual (VNet) no seu ambiente e atribua uma faixa de endereços IP privados a ela;
  2. Crie uma sub-rede na sua VNet e atribua uma faixa de endereços IP privados a ela;
  3. Crie um Private Endpoint usando o portal do Azure ou o Azure CLI; e
  4. Conecte o Private Endpoint à sua sub-rede e ao recurso do Azure que deseja acessar.

Abaixo há um exemplo de arquitetura que usa o Azure Private Endpoint para acessar um recurso PaaS do Azure:

Descrição da imagem: diagrama de arquitetura que exemplifica a conexão privada entre uma máquina virtual e um Azure App Service usando um Private Endpoint. O tráfego da máquina virtual passa pela placa de rede virtual que está dentro da subnet de origem vinculada ao Azure App Service por conta do Private Endpoint, conversando com ele de forma privada e sem tráfego público.

O Azure Private Endpoint é uma excelente opção para quem busca aumentar a segurança e privacidade de suas conexões com recursos do Azure. Além disso, ele também é uma boa escolha para cenários onde é necessário acessar recursos do Azure de forma privada, como por exemplo, em cenários de governo ou empresas financeiras.

Limitações e Características

  • Estabelece uma conexão 1:1 entre uma Subnet e um recurso PaaS específico;
  • Uma Network Interface Card (NIC) é criada na Subnet e vinculada ao recurso PaaS do serviço escolhido;
  • A conexão não sai da Subnet para a internet pública;
  • Não é necessário modificar regras de bloqueio de acesso à internet em NSGs ou firewalls;
  • A conexão com o ambiente on-premises é muito mais fácil de ser configurada, pois se alguém pode se conectar com a sua Virtual Network através de uma VPN ou ExpressRoute este alguém também conseguirá se conectar ao IP privado da NIC que está dentro da sua Subnet atrelada ao seu recurso PaaS;
  • Tem custos de inbound e outbound por GB trafegado e um custo por hora simplesmente por estar implementado.

Azure Service Endpoint

O Azure Service Endpoint é um recurso do Azure que permite que os recursos existentes em uma determinada sub-rede possam acessar os serviços PaaS do Azure apontando para seus endpoints públicos usando endereços de IP privados através de uma rota otimizada que não trafega através da internet para isso, mantendo-se sempre na rede privada da Microsoft (também conhecida como "backbone do Azure"). Isso melhora a segurança, reduzindo a superfície de ataque e permitindo um melhor controle sobre o tráfego de rede.

Outra vantagem do Azure Service Endpoint é que ele permite acessar recursos de diferentes regiões geográficas, o que é útil para aplicações distribuídas ou para acessar recursos de diferentes regiões com maior segurança.

⚠️ Aviso ⚠️️
É importante ressaltar que ao vincular o Service Endpoint em uma subnet todos os recursos dela também terão acesso aos recursos PaaS de destino. Logo, devemos planejar sua implementação lembrando-nos deste detalhe.

Para criar um Service Endpoint, siga os seguintes passos:

  1. Escolha a VNet na qual você deseja criar o Service Endpoint;
  2. Na barra de opções à esquerda da tela, abaixo da seção "Configurações", selecione "Service endpoints";
  3. Clique em Adicionar;
  4. Selecione o serviço para o qual você deseja criar o Service Endpoint e a sub-rede à qual o Service Endpoint deverá ser associado; e
  5. Clique em Adicionar.

Abaixo há um exemplo de arquitetura que usa o Azure Service Endpoint para acessar um recurso PaaS do Azure:

Descrição da imagem: diagrama de arquitetura que exemplifica a conexão privada entre uma máquina virtual e inúmeras Storage Accounts usando um Service Endpoint. O tráfego da máquina virtual é roteado até o endpoint público das Storage Accounts pelo backbone do Azure (rede privada da Microsoft). Isso acontece porque um Service Endpoint foi configurado na Subnet onde a VM está, possibilitando que ela e os demais recursos da subnet enxerguem essa "rota diferenciada" até os serviços de Storage do Azure.

Limitações e Características

  • Este recurso do Azure só está disponível para VNets que foram implementadas usando o Azure Resource Manager (ARM). VNets implementadas no modo clássico não têm suporte ao Service Endpoint;
  • O tráfego originado do ambiente on-premises não pode ser encaminhado através dos Service Endpoints. Somente os recursos nativos do Azure que foram implementados dentro da Subnet onde o Service Endpoint está configurado conseguem atravessá-lo e chegar ao recurso PaaS referenciado;
  • Se você tem um NSG bloqueando o acesso à internet ou a endereços IP públicos, você precisará criar uma exceção apontando a Service Tag ou o endereço IP público do seu recurso PaaS para que ele torne-se acessível, podendo ir contra alguma regra específica de compliance;
  • Caso a inspeção do tráfego de rede seja necessária, uma NVA (Network Virtual Appliance) precisará ser implementada juntamente com rotas personalizadas para que o tráfego ocorra através da NVA;
  • O custo deste serviço está incluso no custo total da Virtual Network e dos serviços do Azure. Em outras palavras, não há um custo específico por usar o Service Endpoint; usando-o ou não, o seu custo com Networking será o mesmo.

Conclusão

Em conclusão, os serviços de Service Endpoint e Private Endpoint do Azure são ferramentas valiosas para garantir a segurança e a performance de suas aplicações. Ambos permitem acesso seguro a recursos do Azure sem expor endereços IP públicos na Internet, além de possibilitar a redução de custos de rede e melhoria de performance. No entanto, é importante levar em conta que ambos os serviços possuem limitações, como suporte limitado a alguns serviços do Azure, configuração complexa e limitação a determinadas regiões. Além disso, é necessário ter cuidado ao utilizar esses serviços, pois podem aumentar a complexidade da sua arquitetura. Em resumo, a utilização desses serviços pode ser uma excelente escolha para garantir a segurança e a performance de suas aplicações no Azure, desde que sejam consideradas as limitações e os cuidados necessários.