Guía de migración de puerta de enlace autohospedada
SE APLICA A: Desarrollador | Premium
En este artículo se explica cómo migrar las implementaciones de puerta de enlace autohospedada existentes a la puerta de enlace autohospedada v2.
Importante
El 1 de octubre de 2023 finaliza la compatibilidad con las imágenes de contenedor de la versión 0 y la versión 1 de la puerta de enlace autohospedada de Azure API Management, junto con su correspondiente Configuration API v1. Obtenga más información en nuestra documentación de desuso
Novedades
A medida que nos esforzamos por facilitar a los clientes la implantación de nuestra puerta de enlace autohospedada, hemos presentar una nueva API de configuración que elimina la dependencia de Azure Storage, a menos que se use el inspector de API o las cuotas.
La nueva API de configuración permite a los clientes adoptar, implementar y operar con mayor facilidad nuestra puerta de enlace autohospedada en su infraestructura existente.
Hemos introducido nuevas etiquetas de imagen de contenedor para permitir a los clientes elegir la mejor manera de probar nuestra puerta de enlace e implementarla en producción.
Para ayudar a los clientes a ejecutar nuestra puerta de enlace en producción, hemos ampliado nuestra guía de producción para tratar cómo escalar automáticamente la puerta de enlace e implementarla para lograr una alta disponibilidad en el clúster de Kubernetes.
Obtenga más información sobre la conectividad de nuestra puerta de enlace, los nuevos requisitos de infraestructura y lo que sucede si se pierde la conectividad en este artículo.
Requisitos previos
Para poder migrar a la puerta de enlace autohospedada v2, debe asegurarse de que la infraestructura cumple los requisitos.
Migración a la puerta de enlace autohospedada v2
La migración desde la puerta de enlace autohospedada v2 requiere que se realicen algunos pasos pequeños:
- Use la nueva imagen del contenedor
- Use la nueva API de configuración
- Cumpla con los requisitos mínimos de seguridad
Imagen de contenedor
Cambie la etiqueta de imagen en los scripts de implementación para usar 2.0.0
o versiones posteriores.
Como alternativa, elija una de nuestras otras etiquetas de imagen de contenedor.
Puede encontrar una lista completa de las etiquetas disponibles aquí o encontrarnos en Docker Hub.
Uso de la nueva API de configuración
Para migrar a la puerta de enlace autohospedada v2, los clientes deben usar la nueva API de configuración v2.
Actualmente, Azure API Management proporciona las siguientes API de configuración para la puerta de enlace autohospedada:
servicio de configuración | URL | Compatible | Requisitos |
---|---|---|---|
v2 | {name}.configuration.azure-api.net |
Sí | Vínculo |
v1 | {name}.management.azure-api.net/subscriptions/{sub-id}/resourceGroups/{rg-name}/providers/Microsoft.ApiManagement/service/{name}?api-version=2021-01-01-preview |
No | Vínculo |
El cliente debe usar la nueva API de configuración v2 cambiando sus scripts de implementación para usar la nueva dirección URL y cumplir los requisitos de infraestructura.
Importante
- El nombre de host DNS debe poder resolverse en direcciones IP y las direcciones IP correspondientes deben ser accesibles. Esto puede requerir una configuración adicional en caso de que use un DNS privado, una red virtual interna u otros requisitos infraestructurales.
Seguridad
Conjuntos de cifrado de TLS disponibles
En el inicio, la versión 2.0 de la puerta de enlace autohospedada solo usaba un subconjunto de los conjuntos de cifrado que usaba la 1.x. A partir de la versión 2.0.4, se han devuelto todos los conjuntos de cifrado compatibles con la versión 1.x.
Puede obtener más información sobre los conjuntos de cifrado que se usan en este artículo o sobre el uso de la versión 2.1.1 para controlar qué conjuntos de cifrado se usan.
Cumpla con los requisitos mínimos de seguridad
Durante el inicio, la puerta de enlace autohospedada preparará los certificados de CA que se usarán. Esto requiere que el contenedor de puerta de enlace se ejecute con al menos el identificador de usuario 1001 y no pueda usar el sistema de archivos de solo lectura.
Al configurar un contexto de seguridad para el contenedor en Kubernetes, se requieren como mínimo lo siguiente:
securityContext:
runAsNonRoot: true
runAsUser: 1001
readOnlyRootFilesystem: false
Sin embargo, a partir de la puerta de enlace autohospedada 2.0.3
se puede ejecutar como no raíz en Kubernetes, lo que permite a los clientes ejecutar la puerta de enlace de forma más segura.
Este es un ejemplo del contexto de seguridad de la puerta de enlace autohospedada:
securityContext:
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1001 # This is a built-in user, but you can use any user ie 1000 as well
runAsGroup: 2000 # This is just an example
privileged: false
capabilities:
drop:
- all
Advertencia
No se admite la ejecución de la puerta de enlace autohospedada con el sistema de archivos de solo lectura (readOnlyRootFilesystem: true
).
Evaluación del impacto con Azure Advisor
Para facilitar la migración, hemos introducido nuevas recomendaciones de Azure Advisor:
- Uso de la recomendación de puerta de enlace autohospedada v2: identifica las instancias de Azure API Management en las que se identificó el uso de la puerta de enlace autohospedada v0.x o v1.x.
- Recomendación del uso de Configuration API v2 para puertas de enlace autohospedadas: identifica las instancias de Azure API Management en las que se identificó el uso de Configuration API v1 para la puerta de enlace autohospedada.
Se recomienda a los clientes que usen la información general sobre "Todas las recomendaciones" de Azure Advisor para determinar si se requiere una migración. Use las opciones de filtrado para ver si una de las recomendaciones anteriores está presente.
Uso de Azure Resource Graph para identificar instancias de Azure API Management
Esta consulta de Azure Resource Graph proporciona una lista de instancias de Azure API Management afectadas:
AdvisorResources
| where type == 'microsoft.advisor/recommendations'
| where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence'
| extend
recommendationTitle = properties.shortDescription.solution
| where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways'
| extend
instanceName = properties.impactedValue,
recommendationImpact = properties.impact,
recommendationMetadata = properties.extendedProperties,
lastUpdated = properties.lastUpdated
| project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, recommendationMetadata, lastUpdated
az graph query -q "AdvisorResources | where type == 'microsoft.advisor/recommendations' | where properties.impactedField == 'Microsoft.ApiManagement/service' and properties.category == 'OperationalExcellence' | extend recommendationTitle = properties.shortDescription.solution | where recommendationTitle == 'Use self-hosted gateway v2' or recommendationTitle == 'Use Configuration API v2 for self-hosted gateways' | extend instanceName = properties.impactedValue, recommendationImpact = properties.impact, recommendationMetadata = properties.extendedProperties, lastUpdated = properties.lastUpdated | project tenantId, subscriptionId, resourceGroup, instanceName, recommendationTitle, recommendationImpact, lastUpdated"
Restricciones conocidas
Esta es una lista de las limitaciones conocidas de la puerta de enlace autohospedada v2:
- Configuration API v2 no admite nombres de dominio personalizados
Pasos siguientes
- Más información sobre API Management en un mundo híbrido y multinube
- Obtenga más información sobre las instrucciones para ejecutar la puerta de enlace autohospedada en Kubernetes en producción.
- Implementación de una puerta de enlace autohospedada en Docker
- Implementación de una puerta de enlace autohospedada en Kubernetes
- Implementación de una puerta de enlace autohospedada en el clúster de Kubernetes habilitado para Azure Arc