Solución de problemas de red con el registro

Este artículo le ayuda a solucionar problemas que pueden surgir al acceder a un registro de contenedor de Azure en una red virtual o detrás de un firewall o un servidor proxy.

Síntomas

Puede encontrarse con uno o varios de los siguientes:

  • No es posible insertar o extraer imágenes, y se recibe un error dial tcp: lookup myregistry.azurecr.io
  • No es posible insertar o extraer imágenes, y se recibe un error Client.Timeout exceeded while awaiting headers
  • No es posible insertar o extraer imágenes, y se recibe un error de la CLI de Azure Could not connect to the registry login server
  • No es posible extraer imágenes del registro en Azure Kubernetes Service u otro servicio de Azure
  • No se puede acceder a un registro detrás de un proxy HTTPS, y se recibe el error Error response from daemon: login attempt failed with status: 403 Forbidden o Error response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
  • No se puede establecer la configuración de red virtual, y se recibe el error Failed to save firewall and virtual network settings for container registry
  • No se puede acceder a la configuración del registro ni verla en Azure Portal; tampoco se puede administrar el registro mediante la CLI de Azure
  • No se puede agregar o modificar la configuración de red virtual o las reglas de acceso público
  • ACR Tasks no puede insertar ni extraer imágenes
  • Microsoft Defender for Cloud no puede examinar las imágenes del Registro o los resultados del examen no aparecen en dicho servicio
  • Recibirá un error host is not reachable al intentar acceder a un registro configurado con un punto de conexión privado.

Causas

  • Un firewall o proxy de cliente impide el acceso: solución
  • Las reglas de acceso de la red pública en el registro impiden el acceso: solución
  • La configuración de la red virtual o el punto de conexión privado impide el acceso: solución
  • Intente integrar Microsoft Defender for Cloud u otros servicios de Azure concretos con un Registro que tenga un punto de conexión privado, un punto de conexión de servicio o reglas de acceso a direcciones IP públicas: solución

Diagnóstico detallado

Ejecute el comando az acr check-helth para tener más información sobre el estado del entorno y el acceso opcional a un registro de destino. Por ejemplo, diagnostique ciertos problemas de configuración o conectividad de la red.

Puede encontrar ejemplos de comandos en Comprobación del mantenimiento de un registro de contenedor de Azure. Si se notifican errores, revise la referencia de error y las siguientes secciones para ver las soluciones recomendadas.

Si tiene problemas al usar el Registro con Azure Kubernetes Service con un registro integrado, ejecute el comando az aks check-acr para validar que el clúster de AKS puede acceder al Registro.

Nota

Algunos síntomas de conectividad de red también pueden producirse cuando hay problemas con la autenticación o la autorización del registro. Consulte Solución de problemas de inicio de sesión del registro.

Posibles soluciones

Configurar el acceso del firewall del cliente

Para acceder a un registro desde detrás de un firewall de cliente o de un servidor proxy, configure las reglas de firewall para acceder a los puntos de conexión de datos y de REST públicos del registro. Si están habilitados puntos de conexión de datos dedicados, necesitará reglas para acceder a:

  • Punto de conexión de REST: <registryname>.azurecr.io
  • Puntos de conexión de datos: <registry-name>.<region>.data.azurecr.io

En el caso de un registro con replicación geográfica, configure el acceso al punto de conexión de datos en cada réplica regional.

Detrás del proxy HTTPS, compruebe que tanto el cliente como el demonio de Docker estén configurados para admitir el comportamiento del proxy. Si cambia la configuración de proxy para el demonio de Docker, asegúrese de reiniciar el demonio.

Los registros de recursos del registro de la tabla ContainerRegistryLoginEvents pueden ayudar a diagnosticar los intentos de conexión bloqueados.

Vínculos relacionados:

Configurar el acceso público al registro

Si tiene acceso a un registro a través de Internet, confirme que el registro permite el acceso a la red pública desde el cliente. De forma predeterminada, un registro de contenedor de Azure permite el acceso a los puntos de conexión del registro público desde todas las redes. Un registro puede limitar el acceso a redes o direcciones IP seleccionadas.

Si el registro está configurado para una red virtual con un punto de conexión de servicio, al deshabilitar el acceso a la red pública también se deshabilita el acceso a través del punto de conexión de servicio. Si el registro está configurado para una red virtual con Private Link, las reglas de red IP no se aplican a los puntos de conexión privados del registro.

Vínculos relacionados:

Configurar el acceso a la red virtual

Confirme que la red virtual está configurada con un punto de conexión privado para Private Link o un punto de conexión de servicio (versión preliminar). Actualmente, no se admite un punto de conexión de Azure Bastion.

Si se configura un punto de conexión privado, confirme que DNS resuelve el FQDN público del registro, como myregistry.azurecr.io, en la dirección IP privada del registro.

  • Ejecute el comando az acr check-health con el parámetro --vnet para confirmar el enrutamiento DNS al punto de conexión privado de la red virtual.
  • Use una utilidad de red como dig o nslookup para la búsqueda de DNS.
  • Asegúrese de que los registros DNS estén configurados para el FQDN del registro y para cada uno de los FQDN del punto de conexión de datos.

Revise las reglas del grupo de seguridad de red y las etiquetas de servicio que se usan para limitar el tráfico que va desde otros recursos de la red hacia el registro.

Si se ha configurado un punto de conexión de servicio al registro, confirme que se agrega una regla de red al registro que permita el acceso desde la subred de esa red. El punto de conexión de servicio solo admite el acceso desde máquinas virtuales y clústeres de AKS en la red.

Si quiere restringir el acceso al registro mediante una red virtual en otra suscripción de Azure, asegúrese de registrar el proveedor de recursos Microsoft.ContainerRegistry en dicha suscripción. Registre el proveedor de recursos para Azure Container Registry con Azure Portal, la CLI de Azure u otras herramientas de Azure.

Si Azure Firewall o una solución similar está configurada en la red, compruebe que el tráfico de salida de otros recursos, como un clúster de AKS, está habilitado para llegar a los puntos de conexión del registro.

Vínculos relacionados:

Configuración del acceso al servicio

Actualmente, no se permite el acceso a un registro de contenedor con restricciones de red desde varios servicios de Azure:

  • Microsoft Defender for Cloud no puede realizar el examen de vulnerabilidades de imagen en un Registro que restringe el acceso a puntos de conexión privados, subredes seleccionadas o direcciones IP.
  • Los recursos de determinados servicios de Azure no pueden acceder a un registro de contenedor con restricciones de red, incluidos Azure App Service y Azure Container Instances.

Si se requiere acceso o integración de estos servicios de Azure con el registro de contenedor, quite la restricción de red. Por ejemplo, quite los puntos de conexión privados del registro, o bien elimine o modifique las reglas de acceso público del registro.

A partir de enero de 2021, puede configurar un registro con restricción de red para permitir el acceso desde servicios de confianza seleccionados.

Vínculos relacionados:

Pasos detallados para solucionar problemas de conexión a Escritorio remoto a máquinas virtuales Windows en Azure

Si la colección de registros de recursos está habilitada en el registro, revise el registro ContainterRegistryLoginEvents. Este registro almacena los eventos y el estado de autenticación, incluida la identidad entrante y la dirección IP. Consulte el registro para conocer los errores de autenticación del registro.

Vínculos relacionados:

Pasos siguientes

Si no encuentra aquí una solución para su problema, vea las siguientes opciones.