Reglas de FQDN y red de salida para clústeres de Azure Kubernetes Service (AKS)

En este artículo se proporcionan los detalles necesarios que permiten proteger el tráfico de salida desde Azure Kubernetes Service (AKS). Contiene los requisitos del clúster para una implementación básica de AKS y requisitos adicionales para complementos y características opcionales. Puede aplicar esta información a cualquier método o dispositivo de restricción de salida.

Para ver una configuración de ejemplo mediante Azure Firewall, visite Control del tráfico de salida mediante Azure Firewall en AKS.

Información previa

Los clústeres de AKS se implementan en una red virtual. Esta red se puede personalizar y preconfigurar por usted o puede crearla y administrarla mediante AKS. En cualquier caso, el clúster tiene dependencias de salida en servicios externos a la red virtual.

Para fines operativos y de administración, los nodos de un clúster de AKS deben tener acceso a determinados puertos y nombres de dominio completo (FQDN). Estos puntos de conexión son obligatorios para que los nodos se comuniquen con el servidor de API, o bien para descargar e instalar actualizaciones de seguridad de nodos y componentes principales de clúster de Kubernetes. Por ejemplo, el clúster debe extraer imágenes de contenedor del sistema base desde el Registro de contenedor de Microsoft (MCR).

Las dependencias de salida de AKS se definen casi por completo mediante FQDN, que no tienen direcciones estáticas tras ellos. La falta de direcciones estáticas significa que no puede usar grupos de seguridad de red (NSG) para bloquear el tráfico saliente de un clúster de AKS.

De manera predeterminada, los clústeres de AKS tienen acceso de salida a Internet ilimitado. Este nivel de acceso a la red permite que los nodos y servicios que ejecuta accedan a recursos externos según sea necesario. Si desea restringir el tráfico de salida, es necesario el acceso a un número limitado de puertos y direcciones para mantener las tareas de mantenimiento del clúster en buen estado. La solución más sencilla para proteger las direcciones de salida consiste en usar un dispositivo de firewall que pueda controlar el tráfico de salida en función de los nombres de dominio. Azure Firewall puede restringir el tráfico saliente HTTP y HTTPS basándose en el FQDN de destino. También puede configurar las reglas de seguridad y de firewall que prefiera para permitir estos puertos y direcciones necesarios.

Importante

En este documento solo se explica cómo bloquear el tráfico que sale de la subred de AKS. De forma predeterminada, AKS no tiene requisitos de entrada. No se admite el bloqueo del tráfico de subred interno mediante grupos de seguridad de red (NSG) y firewalls. Para controlar y bloquear el tráfico dentro del clúster, consulte Protección del tráfico entre pods mediante directivas de red en AKS.

Reglas de red de salida y FQDN necesarios para clústeres de AKS

Se requieren las siguientes reglas de red y FQDN/aplicación para un clúster de AKS. Puede usarlos si desea configurar una solución que no sea Azure Firewall.

  • Las dependencias de direcciones IP son para tráfico que no sea HTTP/S (tráfico TCP y UDP).
  • Los puntos de conexión HTTP/HTTPS de FQDN se pueden colocar en el dispositivo de firewall.
  • Los puntos de conexión HTTP/HTTPS de carácter comodín son dependencias que pueden variar con el clúster de AKS en función de una serie de calificadores.
  • AKS usa un controlador de admisión para inyectar el FQDN como variable de entorno en todas las implementaciones en el sistema kube y el sistema gatekeeper. Esto garantiza que toda la comunicación del sistema entre los nodos y el servidor API utilice el FQDN del servidor de API y no la IP del servidor de API. Puede obtener el mismo comportamiento en pods propios, en cualquier espacio de nombres, si anota la especificación de pod con una anotación denominada kubernetes.azure.com/set-kube-service-host-fqdn. Si esa anotación está presente, AKS establecerá la variable KUBERNETES_SERVICE_HOST en el nombre de dominio del servidor de API en lugar de la dirección IP del servicio en el clúster. Esto es útil cuando la salida del clúster se realiza a través de un firewall de nivel 7.
  • Si tiene una aplicación o solución que necesita comunicarse con el servidor de API, debe agregar una regla de red adicional para permitir la comunicación TCP con el puerto 443 de la dirección IP del servidor de APIO BIEN, si tiene un firewall de nivel 7 configurado para permitir el tráfico al nombre de dominio del servidor de API, establezca kubernetes.azure.com/set-kube-service-host-fqdn en las especificaciones del pod.
  • En raras ocasiones, si hay una operación de mantenimiento, es posible que cambie la dirección IP del servidor de API. Las operaciones de mantenimiento planeado que pueden cambiar la dirección IP del servidor de API siempre se comunican con antelación.
  • En determinadas circunstancias, es posible que se necesite tráfico hacia "md-*.blob.storage.azure.net". Esta dependencia se debe a algunos mecanismos internos de Azure Managed Disks. También puede usar la etiqueta de servicio de Storage.

Reglas de red obligatorias globales de Azure

Punto de conexión de destino Protocolo Port Uso
*:1194
O
ServiceTag - AzureCloud.<Region>:1194
O
CIDR regionales - RegionCIDRs:1194
O
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 Para la comunicación segura por túnel entre los nodos y el plano de control. Esto no es necesario para clústeres privados ni para clústeres con konnectivity-agent habilitado.
*:9000
O
ServiceTag - AzureCloud.<Region>:9000
O
CIDR regionales - RegionCIDRs:9000
O
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9000 Para la comunicación segura por túnel entre los nodos y el plano de control. Esto no es necesario para clústeres privados ni para clústeres con konnectivity-agent habilitado.
*:123 o ntp.ubuntu.com:123 (si usa reglas de red Azure Firewall) UDP 123 Obligatorio para la sincronización de hora del protocolo de tiempo de red (NTP) en nodos de Linux. No es necesario para los nodos aprovisionados después de marzo de 2021.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Si usa servidores DNS personalizados, debe asegurarse de que sean accesibles para los nodos de clúster.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Obligatorio si se ejecutan pods o implementaciones que acceden al servidor de API, en cuyo caso usarían la dirección IP de la API. Este puerto no es necesario para los clústeres privados.

Reglas de aplicación o FQDN obligatorias globales de Azure

FQDN de destino Port Uso
*.hcp.<location>.azmk8s.io HTTPS:443 Obligatorio para la comunicación entre el nodo < y el servidor de API >. Reemplace <ubicación> con la región en la que se implemente su clúster de AKS. Es necesario para los clústeres con konnectivity-agent habilitado. Konnectivity también usa la negociación de protocolos de capas de la aplicación (ALPN) para comunicarse entre el agente y el servidor. El bloqueo o la reescritura de la extensión ALPN provocarán un error. Esto no es necesario para los clústeres privados.
mcr.microsoft.com HTTPS:443 Obligatorio para acceder a las imágenes del Registro de contenedor de Microsoft (MCR). Este registro contiene imágenes o gráficos propios (por ejemplo, coreDNS, etc.) Estas imágenes son necesarias para la creación correcta y el funcionamiento del clúster, incluidas las operaciones de escalado y actualización.
*.data.mcr.microsoft.com HTTPS:443 Obligatorio para el almacenamiento de MCR respaldado por Azure Content Delivery Network (CDN).
management.azure.com HTTPS:443 Obligatorio para las operaciones de Kubernetes en la API de Azure.
login.microsoftonline.com HTTPS:443 Obligatorio para la autenticación con Microsoft Entra.
packages.microsoft.com HTTPS:443 Esta dirección es el repositorio de paquetes de Microsoft que se usa para las operaciones apt-get almacenadas en caché. Los paquetes de ejemplo incluyen Moby, PowerShell y la CLI de Azure.
acs-mirror.azureedge.net HTTPS:443 Esta dirección es para el repositorio necesario para descargar e instalar los archivos binarios necesarios, como kubenet y Azure CNI.

Reglas de red necesarias de Microsoft Azure operado por 21Vianet

Punto de conexión de destino Protocolo Port Uso
*:1194
O
ServiceTag - AzureCloud.Region:1194
O
CIDR regionales - RegionCIDRs:1194
O
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 Para la comunicación segura por túnel entre los nodos y el plano de control.
*:9000
O
ServiceTag - AzureCloud.<Region>:9000
O
CIDR regionales - RegionCIDRs:9000
O
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9000 Para la comunicación segura por túnel entre los nodos y el plano de control.
*:22
O
ServiceTag - AzureCloud.<Region>:22
O
CIDR regionales - RegionCIDRs:22
O
APIServerPublicIP:22 (only known after cluster creation)
TCP 22 Para la comunicación segura por túnel entre los nodos y el plano de control.
*:123 o ntp.ubuntu.com:123 (si usa reglas de red Azure Firewall) UDP 123 Obligatorio para la sincronización de hora del protocolo de tiempo de red (NTP) en nodos de Linux.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Si usa servidores DNS personalizados, debe asegurarse de que sean accesibles para los nodos de clúster.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Obligatorio si se ejecutan pods o implementaciones que acceden al servidor de API, en cuyo caso usarían la dirección IP de la API.

Microsoft Azure operado por 21Vianet requiere FQDN / reglas de aplicación

FQDN de destino Port Uso
*.hcp.<location>.cx.prod.service.azk8s.cn HTTPS:443 Obligatorio para la comunicación entre el nodo < y el servidor de API >. Reemplace <ubicación> con la región en la que se implemente su clúster de AKS.
*.tun.<location>.cx.prod.service.azk8s.cn HTTPS:443 Obligatorio para la comunicación entre el nodo < y el servidor de API >. Reemplace <ubicación> con la región en la que se implemente su clúster de AKS.
mcr.microsoft.com HTTPS:443 Obligatorio para acceder a las imágenes del Registro de contenedor de Microsoft (MCR). Este registro contiene imágenes o gráficos propios (por ejemplo, coreDNS, etc.) Estas imágenes son necesarias para la creación correcta y el funcionamiento del clúster, incluidas las operaciones de escalado y actualización.
.data.mcr.microsoft.com HTTPS:443 Obligatorio para el almacenamiento de MCR respaldado por Azure Content Delivery Network (CDN).
management.chinacloudapi.cn HTTPS:443 Obligatorio para las operaciones de Kubernetes en la API de Azure.
login.chinacloudapi.cn HTTPS:443 Obligatorio para la autenticación con Microsoft Entra.
packages.microsoft.com HTTPS:443 Esta dirección es el repositorio de paquetes de Microsoft que se usa para las operaciones apt-get almacenadas en caché. Los paquetes de ejemplo incluyen Moby, PowerShell y la CLI de Azure.
*.azk8s.cn HTTPS:443 Esta dirección es para el repositorio necesario para descargar e instalar los archivos binarios necesarios, como kubenet y Azure CNI.

Reglas de red obligatorias para Azure Gobierno de EE. UU.

Punto de conexión de destino Protocolo Port Uso
*:1194
O
ServiceTag - AzureCloud.<Region>:1194
O
CIDR regionales - RegionCIDRs:1194
O
APIServerPublicIP:1194 (only known after cluster creation)
UDP 1194 Para la comunicación segura por túnel entre los nodos y el plano de control.
*:9000
O
ServiceTag - AzureCloud.<Region>:9000
O
CIDR regionales - RegionCIDRs:9000
O
APIServerPublicIP:9000 (only known after cluster creation)
TCP 9000 Para la comunicación segura por túnel entre los nodos y el plano de control.
*:123 o ntp.ubuntu.com:123 (si usa reglas de red Azure Firewall) UDP 123 Obligatorio para la sincronización de hora del protocolo de tiempo de red (NTP) en nodos de Linux.
CustomDNSIP:53 (if using custom DNS servers) UDP 53 Si usa servidores DNS personalizados, debe asegurarse de que sean accesibles para los nodos de clúster.
APIServerPublicIP:443 (if running pods/deployments that access the API Server) TCP 443 Obligatorio si se ejecutan pods o implementaciones que acceden al servidor de API, en cuyo caso usarían la dirección IP de la API.

Reglas de aplicación o FQDN obligatorias para Azure Gobierno de EE. UU.

FQDN de destino Port Uso
*.hcp.<location>.cx.aks.containerservice.azure.us HTTPS:443 Obligatorio para la comunicación entre el nodo < y el servidor de API >. Reemplace <ubicación> con la región en la que se implemente su clúster de AKS.
mcr.microsoft.com HTTPS:443 Obligatorio para acceder a las imágenes del Registro de contenedor de Microsoft (MCR). Este registro contiene imágenes o gráficos propios (por ejemplo, coreDNS, etc.) Estas imágenes son necesarias para la creación correcta y el funcionamiento del clúster, incluidas las operaciones de escalado y actualización.
*.data.mcr.microsoft.com HTTPS:443 Obligatorio para el almacenamiento de MCR respaldado por Azure Content Delivery Network (CDN).
management.usgovcloudapi.net HTTPS:443 Obligatorio para las operaciones de Kubernetes en la API de Azure.
login.microsoftonline.us HTTPS:443 Obligatorio para la autenticación con Microsoft Entra.
packages.microsoft.com HTTPS:443 Esta dirección es el repositorio de paquetes de Microsoft que se usa para las operaciones apt-get almacenadas en caché. Los paquetes de ejemplo incluyen Moby, PowerShell y la CLI de Azure.
acs-mirror.azureedge.net HTTPS:443 Esta dirección es para el repositorio necesario para instalar los archivos binarios necesarios, como kubenet y Azure CNI.

Las siguientes reglas de aplicación/FQDN no son necesarias pero sí se recomiendan para que los clústeres de AKS:

FQDN de destino Port Uso
security.ubuntu.com, , azure.archive.ubuntu.com, changelogs.ubuntu.com HTTP:80 Esta dirección permite a los nodos del clúster de Linux descargar las revisiones de seguridad y actualizaciones necesarias.

Si decide bloquear o no permitir estos FQDN, los nodos solo recibirán actualizaciones del sistema operativo cuando realice una actualización de imagen de nodo o una actualización de clústeres. Tenga en cuenta que las actualizaciones de imágenes de nodo también incluyen paquetes actualizados, incluyendo las correcciones de seguridad.

FQDN o regla de aplicación necesarios para clústeres de AKS habilitados para GPU

FQDN de destino Port Uso
nvidia.github.io HTTPS:443 Esta dirección se utiliza para la instalación y el funcionamiento correctos del controlador en nodos basados en GPU.
us.download.nvidia.com HTTPS:443 Esta dirección se utiliza para la instalación y el funcionamiento correctos del controlador en nodos basados en GPU.
download.docker.com HTTPS:443 Esta dirección se utiliza para la instalación y el funcionamiento correctos del controlador en nodos basados en GPU.

FQDN o reglas de aplicación necesarios para grupos de nodos basados en Windows Server

FQDN de destino Port Uso
onegetcdn.azureedge.net, go.microsoft.com HTTPS:443 Para instalar archivos binarios relacionados con Windows
*.mp.microsoft.com, www.msftconnecttest.com, ctldl.windowsupdate.com HTTP:80 Para instalar archivos binarios relacionados con Windows

Si decide bloquear o no permitir estos FQDN, los nodos solo recibirán actualizaciones del sistema operativo cuando realice una actualización de imagen de nodo o una actualización de clústeres. Tenga en cuenta que las actualizaciones de imágenes de Node también incluyen paquetes actualizados, incluidas las correcciones de seguridad.

Complementos e integraciones de AKS

Microsoft Defender para contenedores

Reglas de aplicación o FQDN obligatorias

FQDN Port Uso
login.microsoftonline.com
login.microsoftonline.us (Azure Government)
login.microsoftonline.cn (Azure operado por 21Vianet)
HTTPS:443 Obligatorio para la autenticación de Azure Active Directory.
*.ods.opinsights.azure.com
*.ods.opinsights.azure.us (Azure Government)
*.ods.opinsights.azure.cn (Azure operado por 21Vianet)
HTTPS:443 Obligatorio para que Microsoft Defender cargue eventos de seguridad en la nube.
*.oms.opinsights.azure.com
*.oms.opinsights.azure.us (Azure Government)
*.oms.opinsights.azure.cn (Azure operado por 21Vianet)
HTTPS:443 Obligatorio para autenticarse con áreas de trabajo de LogAnalytics.

Almacén de secretos de CSI

Reglas de aplicación o FQDN obligatorias

FQDN Port Uso
vault.azure.net HTTPS:443 Es necesario que los pods de complementos del almacén de secretos de CSI se comuniquen con el servidor de Azure KeyVault.

Azure Monitor para contenedores

Hay dos opciones para proporcionar acceso a Azure Monitor para contenedores:

  • Permitir serviceTag de Azure Monitor.
  • Proporcionar acceso a las reglas de aplicación o FQDN necesarios.

Reglas de red obligatorias

Punto de conexión de destino Protocolo Port Uso
ServiceTag - AzureMonitor:443 TCP 443 Este punto de conexión se usa para enviar datos de métricas y registros a Azure Monitor y Log Analytics.

Reglas de aplicación o FQDN obligatorias

FQDN Port Uso
dc.services.visualstudio.com HTTPS:443 Este punto de conexión se usa para la telemetría de supervisión y las métricas mediante Azure Monitor.
*.ods.opinsights.azure.com HTTPS:443 Azure Monitor usa este punto de conexión para la ingesta de datos de análisis de registros.
*.oms.opinsights.azure.com HTTPS:443 omsagent usa este punto de conexión para autenticar el servicio de análisis de registros.
*.monitoring.azure.com HTTPS:443 Este punto de conexión se usa para enviar datos de métricas a Azure Monitor.
<cluster-region-name>.ingest.monitor.azure.com HTTPS:443 El servicio administrado de Azure Monitor usa este punto de conexión para la ingesta de métricas de Prometheus.
<cluster-region-name>.handler.control.monitor.azure.com HTTPS:443 Este punto de conexión se usa para capturar reglas de recopilación de datos para un clúster específico.

Microsoft Azure operado por 21Vianet requiere FQDN / reglas de aplicación

FQDN Port Uso
dc.services.visualstudio.com HTTPS:443 Este punto de conexión se usa para la telemetría de supervisión y las métricas mediante Azure Monitor.
*.ods.opinsights.azure.cn HTTPS:443 Azure Monitor usa este punto de conexión para la ingesta de datos de análisis de registros.
*.oms.opinsights.azure.cn HTTPS:443 omsagent usa este punto de conexión para autenticar el servicio de análisis de registros.
global.handler.control.monitor.azure.cn HTTPS:443 Azure Monitor usa este punto de conexión para acceder al servicio de control.
<cluster-region-name>.handler.control.monitor.azure.cn HTTPS:443 Este punto de conexión se usa para capturar reglas de recopilación de datos para un clúster específico.

Reglas de aplicación o FQDN obligatorias para Azure Gobierno de EE. UU.

FQDN Port Uso
dc.services.visualstudio.com HTTPS:443 Este punto de conexión se usa para la telemetría de supervisión y las métricas mediante Azure Monitor.
*.ods.opinsights.azure.us HTTPS:443 Azure Monitor usa este punto de conexión para la ingesta de datos de análisis de registros.
*.oms.opinsights.azure.us HTTPS:443 omsagent usa este punto de conexión para autenticar el servicio de análisis de registros.
global.handler.control.monitor.azure.us HTTPS:443 Azure Monitor usa este punto de conexión para acceder al servicio de control.
<cluster-region-name>.handler.control.monitor.azure.us HTTPS:443 Este punto de conexión se usa para capturar reglas de recopilación de datos para un clúster específico.

Azure Policy

Reglas de aplicación o FQDN obligatorias

FQDN Port Uso
data.policy.core.windows.net HTTPS:443 Esta dirección se usa para extraer las directivas de Kubernetes y para notificar el estado de cumplimiento del clúster en el servicio de directivas.
store.policy.core.windows.net HTTPS:443 Esta dirección se usa para extraer los artefactos de Gatekeeper de las directivas integradas.
dc.services.visualstudio.com HTTPS:443 Complemento de Azure Policy que envía datos de telemetría al punto de conexión de Application Insights.

Microsoft Azure operado por 21Vianet requiere FQDN / reglas de aplicación

FQDN Port Uso
data.policy.azure.cn HTTPS:443 Esta dirección se usa para extraer las directivas de Kubernetes y para notificar el estado de cumplimiento del clúster en el servicio de directivas.
store.policy.azure.cn HTTPS:443 Esta dirección se usa para extraer los artefactos de Gatekeeper de las directivas integradas.

Reglas de aplicación o FQDN obligatorias para Azure Gobierno de EE. UU.

FQDN Port Uso
data.policy.azure.us HTTPS:443 Esta dirección se usa para extraer las directivas de Kubernetes y para notificar el estado de cumplimiento del clúster en el servicio de directivas.
store.policy.azure.us HTTPS:443 Esta dirección se usa para extraer los artefactos de Gatekeeper de las directivas integradas.

Extensiones de clúster

Reglas de aplicación o FQDN obligatorias

FQDN Port Usar
<region>.dp.kubernetesconfiguration.azure.com HTTPS:443 Esta dirección se usa para capturar información de configuración del servicio Extensiones de clúster e informar del estado de la extensión al servicio.
mcr.microsoft.com, *.data.mcr.microsoft.com HTTPS:443 Esta dirección es necesaria para extraer imágenes de contenedor para instalar agentes de extensión de clúster en el clúster de AKS.
arcmktplaceprod.azurecr.io HTTPS:443 Esta dirección es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
arcmktplaceprod.centralindia.data.azurecr.io HTTPS:443 Esta dirección es para el punto de conexión de datos regional del Centro de la India, y es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
arcmktplaceprod.japaneast.data.azurecr.io HTTPS:443 Esta dirección es para el punto de conexión de datos regional del Este de Japón, y es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
arcmktplaceprod.westus2.data.azurecr.io HTTPS:443 Esta dirección es para el punto de conexión de datos regional del Oeste de EE. UU. 2, y es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
arcmktplaceprod.westeurope.data.azurecr.io HTTPS:443 Esta dirección es para el punto de conexión de datos regional del Oeste de Europa, y es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
arcmktplaceprod.eastus.data.azurecr.io HTTPS:443 Esta dirección es para el punto de conexión de datos regional del Este de EE. UU., y es necesaria para extraer imágenes de contenedor para instalar extensiones de marketplace en el clúster de AKS.
*.ingestion.msftcloudes.com, *.microsoftmetrics.com HTTPS:443 Esta dirección se usa para enviar datos de métricas de agentes a Azure.
marketplaceapi.microsoft.com HTTPS: 443 Esta dirección se usa para enviar el uso personalizado basado en medidores a la API de medición comercial.

Reglas de aplicación o FQDN obligatorias para Azure Gobierno de EE. UU.

FQDN Port Uso
<region>.dp.kubernetesconfiguration.azure.us HTTPS:443 Esta dirección se usa para capturar información de configuración del servicio Extensiones de clúster e informar del estado de la extensión al servicio.
mcr.microsoft.com, *.data.mcr.microsoft.com HTTPS:443 Esta dirección es necesaria para extraer imágenes de contenedor para instalar agentes de extensión de clúster en el clúster de AKS.

Nota

En el caso de los complementos que no se indiquen explícitamente aquí, los requisitos básicos lo cubren.

Pasos siguientes

En este artículo, ha aprendido qué puertos y direcciones se deben permitir si se quiere restringir el tráfico de salida para el clúster.

Si quiere restringir cómo se comunican los pods entre sí y con las restricciones de tráfico horizontal de derecha a izquierda en el clúster, vea Protección del tráfico entre pods mediante directivas de red en AKS.