Compartir a través de


Implementación de la instancia de Azure API Management en una red virtual: modo externo

SE APLICA A: Desarrollador | Premium

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

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 solo se puede acceder a los puntos de conexión dentro de la red virtual, consulte Implementación de la instancia de Azure API Management en una red virtual: modo interno.

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para comenzar, 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.

Requisitos previos

Revise los requisitos de recursos de red para la inserción de API Management en una red virtual antes de empezar.

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.

    • La subred usada para conectarse a la instancia de API Management puede contener otros tipos de recursos de Azure.
    • La subred no debe tener ninguna delegación habilitada. La configuración Delegar subred en un servicio de la subred debe establecerse en Ninguno.
  • 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.

  • En determinados escenarios, habilite puntos de conexión de servicio en la subred a servicios dependientes, como Azure Storage o Azure SQL. Para obtener más información, vea Forzar el tráfico de túnel al firewall local mediante ExpressRoute o la aplicación virtual de red, más adelante en este artículo.

  • (Opcional) Una dirección IPv4 pública de SKU estándar.

    Importante

    • A partir de mayo de 2024, un recurso de dirección IP pública ya no es necesario al implementar (insertar) una instancia de API Management en una red virtual en modo interno o migrar la configuración de red virtual interna a una nueva subred. En el modo de red virtual externa, especificar una dirección IP pública es opcional; si no proporciona una, se configura automáticamente una dirección IP pública administrada por Azure y se usa para el tráfico de API en tiempo de ejecución. Proporcione solo la dirección IP pública si desea poseer y controlar la dirección IP pública que se usa para la comunicación entrante o saliente a Internet.
    • Si se proporciona, 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. Normalmente, se debería usar el mismo nombre DNS que la instancia de API Management. Si lo cambia, vuelva a implementar la instancia para que se aplique la nueva etiqueta DNS.

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

  • En el caso de las implementaciones de API Management en varias regiones, configure los recursos de la red virtual por separado para cada ubicación.

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 (opcionalmente).
    • 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.

La instancia de API Management puede tardar entre 15 y 45 minutos en actualizarse. Las instancias del nivel Desarrollador tienen tiempo de inactividad durante el proceso. Las instancias del nivel Premium 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)

    Botón para implementar la plantilla de Resource Manager 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 recomienda lo siguiente reglas mínimas de grupo de seguridad de red para garantizar el funcionamiento adecuado y el acceso a la instancia. Revise cuidadosamente el entorno para determinar más reglas que podrían ser necesarias.

Importante

En función del uso del almacenamiento en caché y otras características, es posible que tenga que configurar reglas de NSG adicionales más allá de las reglas mínimas de la tabla siguiente. Para obtener una configuración detallada, consulte Referencia de configuración de red virtual.

  • 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.
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 Equilibrador de carga de la infraestructura de Azure Externa e interna
* / 443 Entrada TCP AzureTrafficManager/VirtualNetwork Enrutamiento de Azure Traffic Manager para la implementación en varias regiones Solo externo
* / 443 Salida TCP VirtualNetwork / Storage Dependencia de Azure Storage para la funcionalidad de servicio principal Externa e interna
* / 1433 Salida TCP VirtualNetwork / SQL Acceso a puntos de conexión de Azure SQL para la funcionalidad de servicio principal Externa e interna
* / 443 Salida TCP VirtualNetwork / AzureKeyVault Acceso a Azure Key Vault para la funcionalidad de servicio principal Externa e interna
* / 1886, 443 Salida TCP VirtualNetwork / AzureMonitor Publicar métricas y registros de diagnóstico, Resource Health y Application Insights 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 hasta el punto final de administración de su servicio API Management se enruta a través de un conjunto específico de direcciones IP entrantes, alojadas por API Management, abarcadas por la etiqueta de servicio de ApiManagement. 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 una ruta definida por el usuario (UDR) para la etiqueta del servicio ApiManagement con el tipo de próximo salto establecido en "Internet" para dirigir el tráfico a Azure.

    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.

    Captura de pantalla de verificación del estado de conectividad de la 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 ayudar a solucionar problemas de conectividad, seleccione:

  • Métricas: para revisar las métricas de estado de conectividad de red

  • Diagnóstico: para ejecutar un comprobador de red virtual durante un período de tiempo especificado

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>Red virtual.
  2. Seleccione Aplicar configuración de red.

Una instancia de API Management 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.

Desafíos encontrados en la reasignación de la instancia de API Management a la subred anterior

  • Bloqueo de red virtual: al mover una instancia API Management de nuevo a su subred original, puede que no sea posible una reasignación inmediata debido al bloqueo de la red virtual, que tarda hasta una hora en quitarse. Si la subred original tiene otros servicios de API Management basados en plataforma stv1 (basados en servicios en la nube), es necesario eliminarlos y esperar para implementar un servicio basado en plataforma stv2 en la misma subred.
  • Bloqueo de grupo de recursos: otro escenario a tener en cuenta es la presencia de un bloqueo de ámbito a nivel de grupo de recursos o superior, que dificulte el proceso de eliminación de vínculos de navegación de recursos. Para resolverlo, elimine el bloqueo de ámbito y espere entre 4 y 6 horas para que el servicio API Management se desvincule de la subred original antes de eliminar el bloqueo, lo que permitirá la implementación en la subred deseada.

Solución de problemas de conexión a Microsoft Graph desde dentro de una red virtual

La conectividad de red a Microsoft Graph es necesaria para características que incluyen el inicio de sesión de usuario en el portal para desarrolladores mediante el proveedor de identidades de Microsoft Entra.

Para solucionar problemas de conectividad con Microsoft Graph desde dentro de una red virtual:

  • Asegúrese de que el grupo de seguridad de red y otras reglas de red estén configurados para la conectividad saliente desde la instancia de API Management a Microsoft Graph (mediante la etiqueta de servicio AzureActiveDirectory).

  • Compruebe la resolución DNS y el acceso a la red graph.microsoft.com desde la red virtual. Por ejemplo, aprovisione una nueva máquina virtual dentro de la red virtual, conéctese a ella e intente GET https://graph.microsoft.com/v1.0/$metadata desde un explorador o mediante cURL, PowerShell u otras herramientas.

Pasos siguientes

Más información sobre: