Conexión a una red virtual mediante Azure API Management

Azure API Management se puede implementar dentro de una red virtual (VNET) de Azure para acceder a los servicios de back-end dentro de la red. Para ver las opciones, los requisitos y las consideraciones de conectividad de red virtual, consulte Uso de una red virtual con Azure API Management.

En este artículo, se explica cómo configurar la conectividad de red virtual para la instancia de API Management en el modo externo, en el que el portal para desarrolladores, la puerta de enlace de API y otros puntos de conexión API Management son accesibles desde la red pública de Internet. Para las configuraciones específicas del modo interno, en el que los puntos de conexión solo son accesibles dentro de la red virtual, consulte Conexión a una red virtual interna mediante Azure API Management.

Conexión a una red virtual externa

Nota

En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Disponibilidad

Importante

Esta característica está disponible únicamente en los niveles Premium y Desarrollador de API Management.

Requisitos previos

Algunos requisitos previos varían en función de la versión (stv2 o stv1) de la plataforma de proceso que hospeda la instancia de API Management.

Sugerencia

Cuando se usa el portal para crear o actualizar la configuración de red de la instancia de API Management, la instancia se hospeda en la plataforma de proceso stv2.

  • Una red virtual y una subred en la misma región y suscripción que la instancia de API Management. La subred puede contener otros recursos de Azure.
  • Una dirección IPv4 pública de SKU estándar. El recurso de la dirección IP pública es necesario al configurar la red virtual para el acceso externo o interno. Con una red virtual interna, la dirección IP pública solo se usa para las operaciones de administración. Obtenga más información sobre las direcciones IP de API Management.

    • La dirección IP debe estar en la misma región y suscripción que la instancia de API Management y la red virtual.

    • El valor de la dirección IP se asigna como la dirección IPv4 pública virtual de la instancia de API Management en esa región.

    • Al cambiar de una red virtual externa a otra interna (o viceversa), o al cambiar las subredes de la red o actualizar las zonas de disponibilidad para la instancia de API Management, debe configurar una dirección IP pública diferente.

Habilitar la conexión de VNET

Habilitación de la conectividad de red virtual mediante Azure Portal (plataforma de proceso stv2)

  1. Vaya a Azure Portal para buscar la instancia API Management. Busque y seleccione Servicios API Management.

  2. Elija su instancia de API Management.

  3. Seleccione Red virtual.

  4. Seleccione el tipo de acceso Externo. Seleccione VNET en Azure Portal.

  5. En la lista de ubicaciones (regiones) en las que se aprovisiona el servicio API Management:

    1. Elija una ubicación.
    2. Seleccione Red virtual, Subred y Dirección IP.
    • La lista de redes virtuales se rellena con redes virtuales de Resource Manager disponibles en las suscripciones a Azure configuradas en la región que va a configurar.

      Configuración de la red virtual en el portal.

  6. Seleccione Aplicar. La página Red virtual de la instancia de API Management se actualiza con las opciones de red virtual y subred nueva.

  7. Siga configurando los valores de red virtual para las ubicaciones restantes de la instancia de API Management.

  8. En la barra de navegación superior, seleccione Guardar y, luego, Aplicar configuración de red.

    La instancia de API Management puede tardar entre 15 y 45 minutos en actualizarse.

Habilitación de la conectividad mediante una plantilla de Resource Manager

Use las plantillas siguientes para implementar una instancia de API Management y conectarse a una red virtual. Las plantillas varían en función de la versión (stv2 o stv1) de la plataforma de proceso que hospeda la instancia de API Management.

Versión de API 2021-01-01-preview

Conexión a un servicio web hospedado en una red virtual

Una vez que haya conectado el servicio API Management a la red virtual, podrá acceder a los servicios de back-end dentro de ella igual que a los servicios públicos. Al crear o editar una API, escriba la dirección IP local o el nombre de host (si se ha configurado un servidor DNS para la VNET) del servicio web en el campo Dirección URL de servicio web.

Adición de una API desde la red virtual

Problemas comunes de configuración de red

Revise las secciones siguientes para conocer más opciones de configuración de red.

Estas opciones abordan problemas de errores de configuración comunes que pueden producirse al implementar el servicio API Management en una red virtual.

Configuración del servidor DNS personalizado

En el modo de red virtual externa, Azure administra el DNS de manera predeterminada. El servicio API Management depende de varios servicios de Azure. Cuando API Management está hospedado en una red virtual con un servidor DNS personalizado, necesita resolver los nombres de host de esos servicios de Azure.

Importante

Si planea utilizar un servidor DNS personalizado para la red virtual, configúrelo antes de implementar en él un servicio API Management. En caso contrario, deberá actualizar el servicio API Management cada vez que cambie los servidores DNS mediante la ejecución de la operación Aplicar configuración de red.

Puertos necesarios

Puede controlar el tráfico entrante y saliente en la subred en la que se implementa API Management mediante grupos de seguridad de red. Si alguno de los siguientes puertos no está disponible, es posible que API Management no funcione correctamente y sea inaccesible.

Cuando la instancia del servicio de API Management se hospeda en una red virtual, se usan los puertos de la tabla siguiente. Algunos requisitos varían en función de la versión (stv2 o stv1) de la plataforma de proceso que hospeda la instancia de API Management.

Importante

Los elementos en negrita de la columna Propósito son necesarios para que el servicio API Management se implemente correctamente. Sin embargo, si se bloquean los otros puertos, se producirá la degradación de la capacidad de usar y supervisar el servicio en ejecución y proporcionar el SLA comprometido.

Puertos de origen/destino Dirección Protocolo de transporte Etiquetas de servicio
Origen/destino
Propósito (*) Tipo de red virtual
* / [80], 443 Entrada TCP INTERNET/VIRTUAL_NETWORK Comunicación de cliente con Administración de API Externo
* / 3443 Entrada TCP ApiManagement / VIRTUAL_NETWORK Punto de conexión de administración para Azure Portal y PowerShell Externa e interna
* / 443 Salida TCP VIRTUAL_NETWORK/Storage Dependencia de Azure Storage Externa e interna
* / 443 Salida TCP VIRTUAL_NETWORK / AzureActiveDirectory Dependencia de Azure Active Directory y Azure Key Vault Externa e interna
* / 1433 Salida TCP VIRTUAL_NETWORK / SQL Acceso a los puntos de conexión de Azure SQL Externa e interna
* / 443 Salida TCP VIRTUAL_NETWORK / AzureKeyVault Acceso a Azure Key Vault Externa e interna
* / 5671, 5672, 443 Salida TCP VIRTUAL_NETWORK / Centro de eventos Dependencia de la directiva de registro en el centro de eventos y el agente de supervisión Externa e interna
* / 445 Salida TCP VIRTUAL_NETWORK/Storage Dependencia del recurso compartido de archivos de Azure para GIT Externa e interna
* / 443, 12 000 Salida TCP VIRTUAL_NETWORK / AzureCloud Extensión Estado y supervisión Externa e interna
* / 1886, 443 Salida TCP VIRTUAL_NETWORK / AzureMonitor Publicar métricas y registros de diagnóstico, Resource Health y Application Insights Externa e interna
* / 25, 587, 25028 Salida TCP VIRTUAL_NETWORK/INTERNET Conexión a la retransmisión de SMTP para enviar correos electrónicos Externa e interna
* / 6381 - 6383 Entrada y salida TCP VIRTUAL_NETWORK/VIRTUAL_NETWORK Acceso al servicio de Redis para las directivas de almacenamiento en memoria caché entre máquinas Externa e interna
* / 4290 Entrada y salida UDP VIRTUAL_NETWORK/VIRTUAL_NETWORK Sincronización de contadores para las directivas de límite de velocidad entre máquinas Externa e interna
* / 6390 Entrada TCP AZURE_LOAD_BALANCER / VIRTUAL_NETWORK Equilibrador de carga de la infraestructura de Azure Externa e interna

Funcionalidad de TLS

Para habilitar la creación y validación de la cadena de certificados TLS/SSL, el servicio API Management necesita conectividad de red saliente a ocsp.msocsp.com, mscrl.microsoft.com y crl.microsoft.com. Esta dependencia no es obligatoria si los certificados que cargue en API Management contienen la cadena completa de la raíz de la entidad de certificación.

Acceso DNS

Se requiere acceso saliente en port 53 para establecer la comunicación con los servidores DNS. Si existe un servidor DNS personalizado en el otro punto de conexión de una puerta de enlace de VPN, el servidor DNS debe estar accesible desde la subred que alberga la API Management.

Supervisión de métricas y estado

La conectividad de red saliente a los puntos de conexión de supervisión de Azure, que se resuelven en los siguientes dominios, se representa en la etiqueta de servicio AzureMonitor para su uso con grupos de seguridad de red.

Entorno de Azure Puntos de conexión
Azure Public
  • gcs.prod.monitoring.core.windows.net
  • global.prod.microsoftmetrics.com
  • shoebox2.prod.microsoftmetrics.com
  • shoebox2-red.prod.microsoftmetrics.com
  • shoebox2-black.prod.microsoftmetrics.com
  • prod3.prod.microsoftmetrics.com
  • prod3-black.prod.microsoftmetrics.com
  • prod3-red.prod.microsoftmetrics.com
  • gcs.prod.warm.ingestion.monitoring.azure.com
Azure Government
  • fairfax.warmpath.usgovcloudapi.net
  • global.prod.microsoftmetrics.com
  • shoebox2.prod.microsoftmetrics.com
  • shoebox2-red.prod.microsoftmetrics.com
  • shoebox2-black.prod.microsoftmetrics.com
  • prod3.prod.microsoftmetrics.com
  • prod3-black.prod.microsoftmetrics.com
  • prod3-red.prod.microsoftmetrics.com
  • prod5.prod.microsoftmetrics.com
  • prod5-black.prod.microsoftmetrics.com
  • prod5-red.prod.microsoftmetrics.com
  • gcs.prod.warm.ingestion.monitoring.azure.us
Azure China 21Vianet
  • mooncake.warmpath.chinacloudapi.cn
  • global.prod.microsoftmetrics.com
  • shoebox2.prod.microsoftmetrics.com
  • shoebox2-red.prod.microsoftmetrics.com
  • shoebox2-black.prod.microsoftmetrics.com
  • prod3.prod.microsoftmetrics.com
  • prod3-red.prod.microsoftmetrics.com
  • prod5.prod.microsoftmetrics.com
  • prod5-black.prod.microsoftmetrics.com
  • prod5-red.prod.microsoftmetrics.com
  • gcs.prod.warm.ingestion.monitoring.azure.cn

Etiquetas de servicio regionales

Las reglas de NSG que permiten la conectividad saliente a las etiquetas de servicio de Storage, SQL y Event Hubs pueden usar las versiones regionales correspondientes de las etiquetas de la región que contiene la instancia de API Management (por ejemplo, Storage.WestUS para una instancia de API Management en la región Oeste de EE. UU.). En las implementaciones para varias regiones, el NSG de cada región debe permitir el tráfico a las etiquetas de servicio de esa región y de la región primaria.

Importante

Para habilitar la publicación del portal para desarrolladores para una instancia de API Management en una red virtual, permita la conectividad saliente a Blob Storage en la región Oeste de EE. UU. Por ejemplo, use la etiqueta de servicio Storage.WestUS en una regla de NSG. Actualmente, la conectividad con Blob Storage en la región Oeste de EE. UU. es necesaria para publicar el portal para desarrolladores para cualquier instancia de API Management.

Retransmisión de SMTP

Permita la conectividad de red de salida para la retransmisión de SMTP, que se resuelve en el host smtpi-co1.msn.com, smtpi-ch1.msn.com, smtpi-db3.msn.com, smtpi-sin.msn.com y ies.global.microsoft.com.

Nota

Solo se puede usar la retransmisión de SMTP proporcionada en API Management para enviar correo electrónico desde la instancia.

CAPTCHA del portal para desarrolladores

Permita la conectividad de red saliente para el CAPTCHA del portal para desarrolladores, que se resuelve en los host client.hip.live.com y partner.hip.live.com.

Diagnósticos de Azure Portal

Al usar la extensión de API Management desde dentro de una red virtual, se requiere el acceso saliente a dc.services.visualstudio.com en port 443 para habilitar el flujo de registros de diagnóstico desde Azure Portal. Este acceso ayuda a solucionar los problemas que pueden surgir al usar la extensión.

Azure Load Balancer

No es necesario permitir las solicitudes entrantes desde la etiqueta de servicio AZURE_LOAD_BALANCER para la SKU Developer, ya que solo se implementa una unidad de proceso detrás de ella. Sin embargo, la entrada desde AZURE_LOAD_BALANCER se convierte en crítica al escalar a una SKU superior, como Premium, ya que un error en el sondeo de estado del equilibrador de carga bloquea todo el acceso de entrada al plano de control y al plano de datos.

Application Insights

Si ha habilitado la supervisión de Azure Application Insights en API Management, permita la conectividad de salida hacia el punto de conexión de telemetría desde la red virtual.

Punto de conexión de KMS

Al agregar máquinas virtuales que ejecutan Windows en la red virtual, permita la conectividad saliente en el puerto 1688 al punto de conexión de KMS en la nube. Esta configuración enruta tráfico de máquina virtual Windows al servidor de Azure Key Management Services (KMS) para completar la activación de Windows.

Forzar la tunelización del tráfico al firewall local mediante ExpressRoute o una aplicación virtual de red

Normalmente, puede configurar y definir su propia ruta predeterminada (0.0.0.0/0) que fuerza a todo el tráfico de la subred delegada de API Management a pasar a través de un firewall local o a una aplicación virtual de red. El flujo de tráfico interrumpe la conectividad con Azure API Management porque el tráfico saliente está bloqueado de forma local o porque se usa NAT para convertirlo en un conjunto de direcciones irreconocibles que no funcionan con varios puntos de conexión de Azure. Puede resolver este problema mediante un par de métodos:

  • Habilite los puntos de conexión de servicio en la subred en la que se ha implementado el servicio API Management para:

    • Azure SQL
    • Azure Storage
    • Centro de eventos de Azure
    • Azure Key Vault (plataforma v2)

    Al habilitar los puntos de conexión directamente desde la subred de API Management a estos servicios, puede utilizar la red troncal de Microsoft Azure, que proporciona un enrutamiento óptimo para el tráfico de los servicios. Si usa puntos de conexión de servicio con una API Management con túnel forzado, el tráfico de servicios de Azure anterior no se enruta a través de tunelización forzada. El resto del tráfico de dependencia del servicio API Management se enruta con tunelización forzada y no se puede perder. Si se pierde, el servicio API Management no funcionará correctamente.

  • Todo el tráfico del plano de control desde Internet al punto de conexión de administración del servicio API Management se enruta a través de un conjunto específico de IP de entrada hospedadas en API Management. Cuando el tráfico se produce con tunelización forzada, no se asignarán simétricamente las respuestas a estas direcciones IP de origen de entrada. Para superar la limitación, establezca el destino de las siguientes rutas definidas por el usuario (UDR) en "Internet", para dirigir el tráfico de vuelta a Azure. Busque el conjunto de direcciones IP de entrada para el tráfico del plano de control documentado en Direcciones IP del plano de control.

  • Para otras dependencias del servicio API Management con tunelización forzada, resuelva el nombre de host y llegue hasta el punto de conexión. Entre ellas se incluyen las siguientes:

    • Supervisión de métricas y estado
    • Diagnósticos de Azure Portal
    • Retransmisión de SMTP
    • CAPTCHA del portal para desarrolladores
    • Servidor de KMS de Azure

Enrutamiento

  • Se reserva una dirección IP pública (VIP) con equilibrio de carga para proporcionar acceso a todos los puntos de conexión de servicio y los recursos fuera de la red virtual.
    • Las direcciones IP públicas con equilibrio de carga pueden encontrarse en la hoja Información general/nformación esencial en Azure Portal.
  • Se usa una dirección IP de un intervalo IP de subred (DIP) para el acceso a los recursos dentro de la red virtual.

Nota

Las direcciones VIP de la instancia de API Management cambiarán cuando:

  • La red virtual se habilite o deshabilite.
  • API Management se mueva del modo de red virtual externa a interna, o viceversa.
  • Se habilite, actualice o deshabilite la configuración de la redundancia de zona en una ubicación para la instancia (solo la SKU Premium).

Direcciones IP del plano de control

Las direcciones IP siguientes se dividen según el entorno de Azure. Cuando se permiten las solicitudes entrantes, la dirección IP marcada con Global debe permitirse junto con la dirección IP específica de la región.

Entorno de Azure Región Dirección IP
Azure Public Centro-sur de EE. UU. (global) 104.214.19.224
Azure Public Centro-norte de EE. UU. (global) 52.162.110.80
Azure Public Centro de Australia 20.37.52.67
Azure Public Centro de Australia 2 20.39.99.81
Azure Public Este de Australia 20.40.125.155
Azure Public Sudeste de Australia 20.40.160.107
Azure Public Sur de Brasil 191.233.24.179
Azure Public Sur de Brasil 191.232.18.181
Azure Public Centro de Canadá 52.139.20.34
Azure Public Este de Canadá 52.139.80.117
Azure Public Centro de la India 13.71.49.1
Azure Public Centro de EE. UU. 13.86.102.66
Azure Public EUAP del centro de EE. UU. 52.253.159.160
Azure Public Este de Asia 52.139.152.27
Azure Public Este de EE. UU. 52.224.186.99
Azure Public Este de EE. UU. 2 20.44.72.3
Azure Public EUAP de Este de EE. UU. 2 52.253.229.253
Azure Public Centro de Francia 40.66.60.111
Azure Public Sur de Francia 20.39.80.2
Azure Public Norte de Alemania 51.116.0.0
Azure Public Centro-oeste de Alemania 51.116.96.0
Azure Public Japón Oriental 52.140.238.179
Azure Public Japón Occidental 40.81.185.8
Azure Public JIO de India central 20.192.234.160
Azure Public JIO de India occidental 20.193.202.160
Azure Public Centro de Corea del Sur 40.82.157.167
Azure Public Corea del Sur 40.80.232.185
Azure Public Centro-Norte de EE. UU 40.81.47.216
Azure Public Norte de Europa 52.142.95.35
Azure Public Este de Noruega 51.120.2.185
Azure Public Oeste de Noruega 51.120.130.134
Azure Public Norte de Sudáfrica 102.133.130.197
Azure Public Oeste de Sudáfrica 102.133.0.79
Azure Public Centro-sur de EE. UU. 20.188.77.119
Azure Public Sur de la India 20.44.33.246
Azure Public Sudeste de Asia 40.90.185.46
Azure Public Norte de Suiza 51.107.0.91
Azure Public Oeste de Suiza 51.107.96.8
Azure Public Centro de Emiratos Árabes Unidos 20.37.81.41
Azure Public Norte de Emiratos Árabes Unidos 20.46.144.85
Azure Public Sur de Reino Unido 51.145.56.125
Azure Public Oeste de Reino Unido 51.137.136.0
Azure Public Centro-Oeste de EE. UU. 52.253.135.58
Azure Public Oeste de Europa 51.145.179.78
Azure Public Oeste de la India 40.81.89.24
Azure Public Oeste de EE. UU. 13.64.39.16
Azure Public Oeste de EE. UU. 2 51.143.127.203
Azure Public Oeste de EE. UU. 3 20.150.167.160
Azure China 21Vianet Norte de China (Global) 139.217.51.16
Azure China 21Vianet Este de China (Global) 139.217.171.176
Azure China 21Vianet Norte de China 40.125.137.220
Azure China 21Vianet Este de China 40.126.120.30
Azure China 21Vianet Norte de China 2 40.73.41.178
Azure China 21Vianet Este de China 2 40.73.104.4
Azure Government USGov Virginia (Global) 52.127.42.160
Azure Government USGov Texas (Global) 52.127.34.192
Azure Government USGov Virginia 52.227.222.92
Azure Government USGov Iowa 13.73.72.21
Azure Government USGov: Arizona 52.244.32.39
Azure Government USGov: Texas 52.243.154.118
Azure Government Departamento de Defensa de centro de EE. UU. 52.182.32.132
Azure Government Departamento de Defensa del este de EE. UU 52.181.32.192

Solución de problemas

  • Implementación inicial incorrecta del servicio API Management en una subred

    • Implemente una máquina virtual en la misma subred.
    • Conéctese a la máquina virtual y compruebe que hay conectividad a cada uno de los siguientes recursos de la suscripción de Azure:
      • Azure Storage Blob
      • Azure SQL Database
      • Tabla de Azure Storage
      • Azure Key Vault (para una instancia de API Management hospedada en la plataforma stv2)

    Importante

    Después de validar la conectividad, quite todos los recursos de la subred antes de implementar API Management en la subred (necesario cuando API Management se hospeda en la plataforma stv1).

  • Comprobación del estado de conectividad de red

    • Después de implementar API Management en la subred, use el portal para comprobar la conectividad de la instancia a dependencias como Azure Storage.
    • En el portal, en el menú izquierdo, en Implementación e infraestructura, seleccione Estado de conectividad de red.

    Comprobación del estado de conectividad de red en el portal

    Filter Descripción
    Obligatorio Seleccione esta opción para revisar la conectividad a los servicios de Azure necesarios para API Management. Un error indica que la instancia no puede realizar operaciones básicas para administrar las API.
    Opcional Seleccione esta opción para revisar la conectividad a servicios opcionales. Un error indica únicamente que la funcionalidad específica no funcionará (por ejemplo, SMTP). Un error puede provocar una degradación en la capacidad de usar y supervisar la instancia de API Management y proporcionar el Acuerdo de Nivel de Servicio confirmado.

    Para solucionar problemas de conectividad, revise las opciones de configuración de red y corrija la configuración de red necesaria.

  • Actualizaciones incrementales
    Al realizar cambios en la red, consulte NetworkStatus API para validar si el servicio API Management no ha perdido el acceso a los recursos críticos. El estado de conectividad debe actualizarse cada 15 minutos.

  • Vínculos de navegación de recursos
    Una instancia de APIM hospedada en la plataforma de proceso stv1, cuando se implementa en una subred de red virtual de Resource Manager, reserva la subred mediante la creación de un vínculo de navegación de recursos. Si la subred ya contiene un recurso de un proveedor distinto, la implementación producirá un error. De forma similar, al eliminar un servicio API Management o moverlo a una subred diferente, se quitará el vínculo de navegación de recursos.

Pasos siguientes

Más información sobre: