Azure Private Endpoints vs. Service Endpoints

Azure permite la integración de sus Servicios con virtual networks. Esto permite restringir el trafico solo al acceso a través de la infraestructura de Redes Virtuales en Azure, incluyendo peered y on-premises networks.

Azure nos provee de las siguientes opciones para la integración:

  • Desplegar servicios dedicados en VNET.
  • Private Endpoints.
  • Service Endpoints.
  • Service Tags.

En esta nota vamos a estar explorando las definiciones y principales diferencias entre cada uno.

Desplegar servicios dedicados en VNET

Algunos servicios de Azure tienen esta opción que nos permite implementar servicios dedicados de Azure dentro de una red virtual (Virtual Network) con el fin de habilitar la comunicación privada mediante direcciones IP privadas. Al implementar estos servicios en una VNet, se obtienen los algunos beneficios:

  1. Comunicación interna privada: Los recursos dentro de la red virtual pueden comunicarse entre sí a través de direcciones IP privadas.
  2. Conectividad híbrida: Los recursos on-premises pueden acceder a la red virtual y a los servicios de Azure a través de VPN Gateway o ExpressRoute, también usando IP privadas.
  3. Peering de redes virtuales: Las VNets pueden conectarse (peering) para que los recursos se comuniquen de manera interna con IP privadas.
  4. Restricciones y configuración de subredes:
    • Se deben abrir los accesos de red (inbound/outbound) en la Network Security Group (NSG) de la subred según las indicaciones del servicio.
    • Algunos servicios exigen subredes dedicadas donde no se pueden hospedar otros recursos.
    • Otros servicios requieren subredes delegadas, que otorgan permisos específicos para que esos servicios creen y administren recursos en la subred.

Solo existen algunos servicios de Azure que pueden utilizar esta funcionalidad, como: App Service Environment (ASE), RedisCache o Azure SQL Managed Instance, entre otros.

Lista completa aquí: https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-for-azure-services#services-that-can-be-deployed-into-a-virtual-network

Private Endpoints

Los Private Endpoints permiten el tráfico de entrada desde tu Virtual Network hacia los recursos administrados de Azure, estableciendo una conexión segura a través de Private Link, sin necesidad de utilizar direcciones IP públicas.

Ahora vamos a explicar con mas detalle cómo funcionan estas conexiones, pero primero tenemos que entender la naturaleza de los Managed Services.

¿Qué Servicios utilizan Private Endpoints?

La mayoría de los servicios de Azure que admiten Private Endpoints pertenecen a la categoría de PaaS (Platform as a Service), ya que están completamente administrados por Azure y ofrecen una integración nativa con Private Link.

Es importante comprender que, aunque servicios como Azure SQL Database son presentados como soluciones administradas, en esencia, están respaldados por un conjunto de Máquinas Virtuales en el backend. Tomando como referencia la imagen, podemos explicar los conceptos de Service Producer Network y Consumer Network en el contexto de Azure Private Link.

1. Consumer Network (Red Consumidora)

La Consumer Network se refiere a la Virtual Network (VNet) del cliente, donde residen los recursos que necesitan acceder a servicios gestionados de Azure, como bases de datos y almacenamiento. En la imagen:

  • La Azure VNet representa la red del consumidor, con subredes como Subnet A, Subnet B y Subnet C.
  • Un Private Endpoint ha sido configurado en la Subnet C, permitiendo a los recursos dentro de la VNet acceder de forma privada al servicio de base de datos sin utilizar direcciones IP públicas.
  • Todo el tráfico fluye de manera segura a través del backbone de Azure, garantizando una conexión de baja latencia y mayor seguridad.

2. Service Producer Network (Red Proveedora de Servicios)

La Service Producer Network es la red administrada por Azure donde residen los servicios gestionados, como Azure SQL Database y Azure Storage. En la imagen:

  • La sección etiquetada como Azure SQL Database Service representa la red del proveedor del servicio, que incluye instancias como SQL Server 1 y SQL Server 2, las cuales alojan bases de datos como DB1, DB2 y DB3.
  • Conexiones tradicionales a estos servicios suelen realizarse mediante direcciones IP públicas. Sin embargo, gracias a Private Link, es posible establecer conexiones privadas desde la VNet del cliente utilizando direcciones IP internas.

Entonces, ¿qué es un Private Endpoint?

Un Private Endpoint en Azure es un Feature de los Servicios PaaS que consta de una interfaz de red privada que se asigna a un recurso de Azure dentro de una Virtual Network (VNet), permitiendo el acceso seguro y privado al servicio mediante una dirección IP interna de la red.

A través de Azure Private Link, el tráfico entre la VNet y el servicio fluye completamente dentro de la red backbone de Azure, sin exponerse a Internet, lo que garantiza aislamiento, baja latencia y mayor control de seguridad.

Comunicando así el Service Consumer con la Producer Network.

Private Link

Cómo venimos mencionando, Azure Private Link permite acceder a los Servicios PaaS de Azure a traves de un Private Endpoint en una Virtual Network. El trafico de estos links viaja a través del Backbone de Azure, es decir que no sale a internet.

Configuración de DNS

Cuando nos conectamos a nuestros Private Endpoints tendremos la opción de conectarnos a través de un nombre de DNS privado. Este, estará asociado a nuestro Private Endpoint.

En el caso ejemplificado de un Azure SQL Database, vemos la siguiente configuración en las opciones de DNS Configuration en el Private Endpoint:

Service Endpoints

Los Service Endpoint en las Redes Virtuales de Azure nos permiten otorgar una conectividad a la Consumer-Network desde una IP privada (recursos en nuestra red) hacia una IP Publica (servicios gestionados de Azure).

Esto elimina la necesidad de direcciones IP públicas en la red virtual, utilizando algun NAT Gateway por ejemplo, sino que permite a los servicios privados llegar a estos servicios.

Este trafico hacia las IP Publicas de los servicios sucede unicamente en el marco de una VNET. Este trafico tambien va por el backbone de Azure.

En general, Microsoft recommienda utilizar Private Endpoints en lguar de Service Endpoints.

Servicios compatibles con Service Endpoints:

  • Azure Storage, SQL Database, Cosmos DB, Key Vault, Service Bus, Event Hubs, App Service, Cognitive Services, entre otros.
  • Servicios en preview, como Azure Container Registry.

Cómo se utilizan?

Se configuran a nivel de subnet, permitiendo múltiples endpoints por servicio. No hay costos adicionales por habilitar Service Endpoints, los costos de los servicios de Azure aplican normalmente. Y ademas, se pueden aplicar a recursos en la misma o diferentes suscripciones.

Cuadro de Diferencias entre Private Endpoints y Service Endpoints

CaracterísticaService EndpointsPrivate Endpoints
Tipos de IPPublicaPrivada
Modelo de conexiónSe conectan a través de la red backbone de Azure, sin IPs públicas en la VNet.Provisión de una NIC privada dentro de la VNet del cliente.
SeguridadServicios Publicos pero restringe el acceso al servicio desde la VNet específica.Tráfico 100% privado, sin exposición pública.
Resolución DNSContinúa utilizando direcciones IP públicas del servicio.Se resuelve con una dirección IP privada interna.
CompatibilidadAplicable a servicios PaaS compatibles.Compatible con más servicios, incluso personalizados.
Acceso desde on-premisesNo disponible directamente, requiere IPs públicas en el firewall.Se integra naturalmente con conexiones híbridas (VPN/ExpressRoute).
Escenarios idealesOptimizar tráfico desde VNets en Azure.Acceso seguro desde entornos híbridos o cumplimiento estricto de seguridad.
ImplementaciónMás simple y rápida (sin necesidad de administración adicional).Requiere más configuración y control granular.
ConfiguraciónA nivel de VNETA nivel de Managed Service
Alcance de ConfiguraciónA nivel de servicio completo (ej. todos los SQL Servers o Storage Accounts).A nivel de instancia individual (ej. un SQL Server o Storage Account específico).
Facilidad de configuración y mantenimientoConfiguración simple con mínima gestión.Mayor esfuerzo de configuración y gestión.
CostoSin costo adicional por la funcionalidad.Puede incurrir en costos adicionales por Private Link.
Deshabilitación de IP pública del servicioNoSi
Restricción de tráfico desde Azure VNetSí, mediante reglas de subnet y NSGs.Sí, mediante reglas específicas en la VNet.
Impacto en SLANo afecta el SLA del servicio.Sí, Private Link tiene un SLA de 99.99%.

Service Tags

Las Service Tags en Azure complementan el uso de Service Endpoints, habilitando la posibilidad de permitir o restringir el tráfico hacia servicios específicos como Storage, SQL, o KeyVault, sin necesidad de especificar direcciones IP individuales.

En relación con:

Service Endpoints:

  • Las Service Tags permiten controlar el acceso a servicios PaaS habilitados con Service Endpoints, asegurando que solo la VNet especificada pueda comunicarse con ellos.
  • Facilitan la configuración de reglas de firewall, garantizando que el tráfico fluya de forma segura a través del backbone de Azure.

Private Endpoints:

  • No requieren Service Tags, ya que la conexión se establece mediante una IP privada en la VNet del cliente.
  • Service Tags no aplican directamente ya que los Private Endpoints no usan IPs públicas.

Posted

in

,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.