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 de conectividad de VNET, 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, y los servicios de back-end están ubicados en la red.

Conexión a una red virtual externa

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.

Nota

Para interactuar con Azure, se recomienda el módulo de Azure Az de PowerShell. Consulte Instalación de Azure PowerShell para comenzar. 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 conexión de red de una instancia de API Management existente, 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. Se recomienda una subred dedicada, pero no es necesaria.

  • Un grupo de seguridad de red asociado a la subred anterior. Se requiere un grupo de seguridad de red para permitir explícitamente la conectividad de entrada, ya que el equilibrador de carga usado internamente por API Management es seguro de forma predeterminada y rechaza todo el tráfico entrante. Para obtener una configuración específica, vea Configuración de reglas de NSG más adelante en este artículo.

  • 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.

    • Al crear un recurso de dirección IP pública, asegúrese de asignarle una etiqueta de nombre DNS. La etiqueta que decida usar no importa, pero se requiere una etiqueta si este recurso se va a asignar a una instancia del servicio API Management.

    • Para obtener el mejor rendimiento de red, se recomienda usar la preferencia de enrutamiento predeterminada: red de Microsoft.

    • Al crear una dirección IP pública en una región en la que planea habilitar la redundancia de zona para la instancia de API Management, configure la opción Con redundancia de zona.

    • 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.

Habilitación de 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 Network (Red).

  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 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. El nivel Desarrollador tiene tiempo de inactividad durante el proceso. Las SKU Básico y superiores no tienen tiempo de inactividad durante el proceso.

Habilitación de la conectividad mediante una plantilla de Resource Manager (plataforma de procesos stv2)

  • Plantilla de ARM (versión de API 2021-08-01)

    Implementación en Azure

Habilitación de la conectividad mediante cmdlets de Azure PowerShell (plataforma stv1)

Cree o actualice una instancia de API Management en una red virtual.

Configuración de reglas de NSG

Configure reglas de red personalizadas en la subred de API Management para filtrar el tráfico hacia y desde la instancia de API Management. Se recomiendan las siguientes reglas mínimas de NSG para garantizar el funcionamiento correcto y el acceso a la instancia.

  • En la mayoría de los escenarios, use las etiquetas de servicio indicadas en lugar de las direcciones IP de servicio para especificar orígenes y destinos de red.
  • Establezca la prioridad de estas reglas mayor que la de las reglas predeterminadas.
  • En función del uso de la supervisión y otras características, puede que tenga que configurar reglas adicionales. Para obtener una configuración detallada, consulte Referencia de configuración de red virtual.
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 / VirtualNetwork Comunicación de cliente con Administración de API Solo externo
* / 3443 Entrada TCP ApiManagement / VirtualNetwork Punto de conexión de administración para Azure Portal y PowerShell Externa e interna
* / 6390 Entrada TCP AzureLoadBalancer / VirtualNetwork Azure Infrastructure Load Balancer (necesario para el nivel de servicio Premium) Externa e interna
* / 443 Salida TCP VirtualNetwork / Storage Dependencia de Azure Storage Externa e interna
* / 1433 Salida TCP VirtualNetwork / SQL Acceso a los puntos de conexión de Azure SQL Externa e interna
* / 443 Salida TCP VirtualNetwork / AzureKeyVault Acceso a Azure Key Vault Externa e interna

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

Configuración del servidor DNS personalizado

En el modo de red virtual externa, Azure administra el DNS de forma predeterminada. Opcionalmente, puede configurar un servidor DNS personalizado.

el servicio de 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.

Enrutamiento

  • Se reserva una dirección IP pública (VIP) con equilibrio de carga para proporcionar acceso a todos los puntos de conexión y recursos de API Management fuera de la red virtual.
    • La dirección IP pública con equilibrio de carga puede encontrarse en la hoja Información general/Información esencial en Azure Portal.

Para obtener más información y consideraciones, consulte Direcciones IP de Azure API Management.

Direcciones VIP y DIP

Se asignarán direcciones IP dinámicas (DIP) a todas las máquinas virtuales subyacentes del servicio y se usarán para acceder a los puntos de conexión y recursos en la red virtual y en las redes virtuales emparejadas. La dirección IP virtual (VIP) pública del servicio API Management se usará para acceder a recursos orientados al público.

Si los recursos dentro de la red virtual o en redes virualtes emparejadas se protegen mediante listas de restricciones de IP, recomendamos que se especifique el intervalo completo de la subred donde se implementa el servicio API Management para conceder o restringir el acceso desde el servicio.

Más información acerca del tamaño de subred recomendado.

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

La tunelización forzada permite redirigir o “forzar” de nuevo todo el tráfico vinculado a Internet de la subred al entorno local mediante para inspección y auditoría. Normalmente, puede configurar y definir su propia ruta predeterminada (0.0.0.0/0) que fuerza a todo el tráfico de la subred 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 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. Este problema se puede resolver con los siguientes 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 (solo se requiere en la región primaria si el servicio API Management se implementa en varias regiones)
    • Azure Storage
    • Azure Event Hubs
    • Azure Key Vault (obligatorio cuando API Management se implementa en la plataforma stv2)

    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 los servicios de Azure anteriores no se enruta a través de tunelización forzada. Sin embargo, el resto del tráfico de dependencia del servicio API Management se enruta con tunelización forzada. Asegúrese de que el firewall o la aplicación virtual no bloqueen este tráfico o es posible que el servicio API Management no funcione correctamente.

    Nota

    Es muy recomendable habilitar los puntos de conexión de servicio directamente desde la subred de API Management a servicios dependientes compatibles, como Azure SQL y Azure Storage. Sin embargo, algunas organizaciones pueden tener requisitos para la tunelización forzada de todo el tráfico de la subred de API Management. En este caso, asegúrese de configurar el firewall o la aplicación virtual para permitir este tráfico. Deberá permitir el intervalo de direcciones IP completo de cada servicio dependiente y mantener esta configuración actualizada cuando cambie la infraestructura de Azure. El servicio API Management también puede experimentar latencia o tiempos de espera inesperados debido a la tunelización forzada de este tráfico de red.

  • 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 enruta mediante tunelización forzada, las respuestas no se asignarán simétricamente a estas direcciones IP de origen entantes y se perderá la conectividad con el punto de conexión de administración. Para superar esta limitación, configure rutas definidas por el usuario (UDR) para estas direcciones IP de entrada con el tipo de próximo salto establecido en “Internet” para dirigir el tráfico de nuevo a Azure. Configure la etiqueta de servicioApiManagemento busque el conjunto de direcciones IP de entrada para el tráfico del plano de control documentado en Direcciones IP del plano de control.

    Importante

    Las direcciones IP del plano de control deben configurarse para reglas y rutas de acceso a la red solo cuando sea necesario en determinados escenarios de red. Se recomienda usar la etiqueta de servicio ApiManagement en lugar de las direcciones IP del plano de control para evitar tiempos de inactividad cuando las mejoras de infraestructura requieran cambios en las direcciones IP.

    Nota

    Permitir que el tráfico de administración de API Management omita un firewall en el entorno local o una aplicación virtual de red no se considera un riesgo de seguridad significativo. La configuración recomendada para la subred de API Management permite el tráfico de administración de entrada en el puerto 3443 solo desde el conjunto de direcciones IP de Azure que abarca la etiqueta de servicio ApiManagement. La configuración de UDR recomendada solo es para la ruta de acceso de retorno de este tráfico de Azure.

  • (Modo de red virtual externa) El tráfico del plano de datos de los clientes que intentan llegar desde Internet a la puerta de enlace de API Management y al portal para desarrolladores también se anulará de forma predeterminada debido al enrutamiento asimétrico introducido por la tunelización forzada. Para cada cliente que requiera acceso, configure una UDR explícita con el tipo de próximo salto establecido en “Internet” para omitir el firewall o la aplicación de red virtual.

  • 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

Para obtener más información, consulte Referencia de configuración de Virtual Network.

Problemas comunes de configuración de red

Esta sección se ha movido. Consulte Referencia de configuración de red virtual.

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 la 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 Red>Estado 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.

    Para aplicar un cambio de configuración de red a la instancia de API Management mediante el portal:

    1. En el menú de la izquierda de su instancia, en Implementación e infraestructura, seleccione Red virtual.
    2. Seleccione Aplicar configuración de red.
  • 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: