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.
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
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 conexión de red de una instancia de API Management existente, la instancia se hospeda en la plataforma de proceso stv2.
- Una instancia de API Management Para más información, vea Creación de una instancia de Azure API Management.
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 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.
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)
Vaya a Azure Portal para buscar la instancia API Management. Busque y seleccione Servicios API Management.
Elija su instancia de API Management.
Seleccione Network (Red).
Seleccione el tipo de acceso Externo.
En la lista de ubicaciones (regiones) en las que se aprovisiona el servicio API Management:
- Elija una ubicación.
- 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.
Seleccione Aplicar. La página Red de la instancia de API Management se actualiza con las opciones de red virtual y subred nueva.
Siga configurando los valores de red virtual para las ubicaciones restantes de la instancia de API Management.
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)
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.
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.
- Para obtener instrucciones sobre la configuración de DNS personalizada, incluido el reenvío de nombres de host proporcionados por Azure, consulte Resolución de nombres para recursos en redes virtuales de Azure.
- Se requiere acceso saliente en el puerto
53para establecer la comunicación con los servidores DNS. Consulte Configuración de red virtual para obtener más información.
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.
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.
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:
- En el menú de la izquierda de su instancia, en Implementación e infraestructura, seleccione Red virtual.
- Seleccione Aplicar configuración de red.
Vínculos de navegación de recursos
Una instancia de APIM hospedada en la plataforma de procesostv1, 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:
- Referencia de configuración de redes virtuales
- Conexión de una red virtual al back-end mediante VPN Gateway
- Conexión de redes virtuales a partir de diferentes modelos de implementación con PowerShell
- Depuración de las API con el seguimiento de solicitudes
- Preguntas más frecuentes (P+F) acerca de Azure Virtual Network
- Etiquetas de servicio