Implementación de Azure Spring Apps en una red virtual
Nota:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.
Este artículo se aplica a: ✔️ Java ✔️ C#
La información de este artículo puede ponerse en práctica en:❌ Básico ✔️ Estándar ✔️ Enterprise
En este tutorial se explica cómo implementar una instancia de Azure Spring Apps en una red virtual. Esta implementación en ocasiones se llama inserción de red virtual.
La implementación habilita:
- El aislamiento de Internet en la red corporativa de las aplicaciones y el entorno de ejecución del servicio Azure Spring Apps.
- La interacción de Azure Spring Apps con los sistemas de centros de datos locales o los servicios de Azure de otras redes virtuales.
- El permiso para que los clientes controlen las comunicaciones de red entrantes y salientes para Azure Spring Apps.
En el vídeo siguiente se describe cómo proteger aplicaciones de Spring Boot mediante redes virtuales administradas.
Nota:
Puede seleccionar la red virtual de Azure solo cuando cree una nueva instancia de servicio de Azure Spring Apps. No se puede cambiar para utilizar otra red virtual después de haber creado Azure Spring Apps.
Requisitos previos
Registre el proveedor de recursos de Azure Spring Apps Microsoft.AppPlatform
y Microsoft.ContainerService
, según las instrucciones de Registro del proveedor de recursos en Azure Portal o ejecute el siguiente comando de la CLI de Azure:
az provider register --namespace Microsoft.AppPlatform
az provider register --namespace Microsoft.ContainerService
Requisitos de red virtual
La red virtual en la que se implementa la instancia de Azure Spring Apps debe cumplir los siguientes requisitos:
- Ubicación: la red virtual debe residir en la misma ubicación que la instancia de Azure Spring Apps.
- Suscripción: la red virtual debe estar en la misma suscripción que la instancia de Azure Spring Apps.
- Subredes: la red virtual debe incluir dos subredes dedicadas para una instancia de Azure Spring Apps:
- Una para el entorno de ejecución del servicio.
- Una para las aplicaciones de Spring.
- Hay una relación uno a uno entre estas subredes y una instancia de Azure Spring Apps. Use una nueva subred para cada instancia de servicio que implemente. Cada subred solo puede incluir una única instancia de servicio.
- Espacio de direcciones: CIDR bloquea hasta /28 tanto para la subred del entorno de ejecución del servicio como para la subred de aplicaciones de Spring.
- Tabla de rutas: de forma predeterminada, las subredes no necesitan las tablas de rutas existentes asociadas. Puede traer su propia tabla de rutas.
Siga estos pasos para configurar la red virtual para que contenga la instancia de Azure Spring Apps.
Creación de una red virtual
Si ya tiene una red virtual para hospedar una instancia de Azure Spring Apps, omita los pasos 1, 2 y 3. Puede comenzar en el paso 4 para preparar las subredes de la red virtual.
En el menú de Azure Portal, seleccione Crear un recurso. En Azure Marketplace, seleccione Redes>Red virtual.
En el cuadro de diálogo Crear red virtual, escriba o seleccione la siguiente información:
Configuración Valor Suscripción Seleccione su suscripción. Resource group Seleccione el grupo de recursos o cree uno nuevo. Nombre Especifique azure-spring-apps-vnet. Location Seleccione Este de EE. UU. Seleccione Siguiente: Direcciones IP.
En el espacio de direcciones IPv4, escriba 10.1.0.0/16.
Haga clic en Agregar subred. Luego, escribaservice-runtime-subnet en Nombre de subred y 10.1.0.0/24 en Intervalo de direcciones de subred. Luego, seleccione Agregar.
Seleccione Agregar subred y, después, escriba los valores de Nombre de subred e Intervalo de direcciones de subred. Por ejemplo, escriba apps-subnet y 10.1.1.0/24. Luego, seleccione Agregar.
Seleccione Revisar + crear. Deje el resto tal como está y seleccione Crear.
Concesión de permisos de servicio a la red virtual
En esta sección se muestra cómo conceder a Azure Spring Apps permisos de administrador de acceso de usuario y colaborador de red en la red virtual. Este permiso le permite conceder una entidad de servicio dedicada y dinámica en la red virtual para realizar más implementaciones y mantenimientos.
Nota:
Si usa su propia tabla de rutas o una característica de ruta definida por el usuario, también debe conceder a Azure Spring Apps las mismas asignaciones de roles a sus tablas de rutas. Para más información, consulte la sección Traiga su propia tabla de rutas y Control del tráfico de salida de una instancia de Azure Spring Apps.
Siga estos pasos para conceder el permiso:
Seleccione la red virtual
azure-spring-apps-vnet
que ha creado antes.Seleccione Control de acceso (IAM) y, después, seleccione Agregar> asignación de roles.
Asigne los roles
Network Contributor
yUser Access Administrator
al proveedor de recursos de Azure Spring Cloud. Para más información, consulte Asignación de roles de Azure mediante Azure Portal.Nota:
El rol
User Access Administrator
está en los roles de administrador con privilegios yNetwork Contributor
está en los roles de función de trabajo.
Implementación de una instancia de Azure Spring Apps
Siga estos pasos para implementar una instancia de Azure Spring Apps en la red virtual:
Abra Azure Portal.
En el cuadro de búsqueda superior, busque Azure Spring Apps. Seleccione Azure Spring Apps en los resultados.
En la página Azure Spring Apps, seleccione Agregar.
Rellene el formulario de la página Crear de Azure Spring Apps.
Seleccione el mismo grupo de recursos y la misma región que la red virtual.
En el campo Nombre situado en Detalles de servicio, seleccione azure-spring-apps-vnet.
Seleccione la pestaña Redes y, seguidamente, seleccione los siguientes valores:
Configuración Valor Deploy in your own virtual network (Implementar en su propia red virtual) Seleccione Sí. Red virtual Seleccione azure-spring-apps-vnet. Service runtime subnet (Subred del entorno de ejecución del servicio) Seleccione service-runtime-subnet. Spring Boot microservice apps subnet (Subred de aplicaciones de microservicios de Spring Boot) Seleccione apps-subnet. Seleccione Revisar y crear.
Compruebe sus especificaciones y seleccione Crear.
Después de la implementación, se crean dos grupos de recursos más en la suscripción para hospedar los recursos de red de la instancia de Azure Spring Apps. Vaya a Inicio y seleccione Grupos de recursos en los elementos del menú superior para buscar los siguientes nuevos grupos de recursos.
El grupo de recursos denominado ap-svc-rt_{service instance name}_{service instance region}
contiene recursos de red para el tiempo de ejecución del servicio de la instancia de servicio.
El grupo de recursos denominado ap-app_{service instance name}_{service instance region}
contiene recursos de red para las aplicaciones de Spring de la instancia de servicio.
Esos recursos de red están conectados a la red virtual creada en la imagen anterior.
Importante
El servicio Azure Spring Apps administra completamente los grupos de recursos. No elimine ni modifique manualmente ningún recurso de ellos.
Uso de intervalos de subred más pequeños
En esta tabla se muestra el número máximo de instancias de aplicación que Azure Spring Apps admite, con intervalos de subred más pequeños.
CIDR de la subred de la aplicación | Número total de direcciones IP | Direcciones IP disponibles | Número máximo de instancias de aplicación |
---|---|---|---|
/28 | 16 | 8 | Aplicación con 0,5 núcleo: 192 |
/27 | 32 | 24 | Aplicación con 0,5 núcleo: 456 |
/26 | 64 | 56 | Aplicación con 0,5 núcleo: 500 |
/25 | 128 | 120 | Aplicación con 0,5 núcleo: 500 |
/24 | 256 | 248 | Aplicación con 0,5 núcleo: 500 |
En el caso de las subredes, Azure reserva cinco direcciones IP y Azure Spring Apps requiere al menos tres direcciones IP. Se requieren al menos ocho direcciones IP, por lo que /29 y /30 no son operativos.
En el caso de una subred del runtime del servicio, el tamaño mínimo es /28.
Nota:
Un intervalo de subred pequeño afecta al recurso subyacente que puede usar para los componentes del sistema, como el controlador de entrada. Azure Spring Apps usa un controlador de entrada subyacente para controlar la administración del tráfico de aplicaciones. El número de instancias del controlador de entrada aumenta de manera automática a medida que aumenta el tráfico de la aplicación. Reserve un intervalo IP de subred de red virtual mayor si el tráfico de la aplicación podría aumentar en el futuro. Por lo general, se reserva una dirección IP para el tráfico de 10 000 solicitudes por segundo.
Traer su propia tabla de rutas
Azure Spring Apps admite el uso de las subredes y las tablas de rutas existentes.
Si las subredes personalizadas no contienen tablas de rutas, Azure Spring Apps las crea para cada una de las subredes y les agrega reglas a lo largo del ciclo de vida de la instancia. Si las subredes personalizadas contienen tablas de rutas, Azure Spring Apps confirma las tablas de rutas existentes durante las operaciones de instancia y agrega o actualiza las reglas correspondientes a las operaciones.
Advertencia
Se pueden agregar y actualizar reglas personalizadas en las tablas de rutas personalizadas. Sin embargo, Azure Spring Apps agrega reglas y estas no se deben actualizar ni quitar. Las reglas como 0.0.0.0/0 deben existir siempre en una tabla de rutas dada y asignarse al destino de la puerta de enlace de Internet, como una NVA u otra puerta de enlace de salida. Tenga cuidado al actualizar las reglas cuando solo se modifiquen las reglas personalizadas.
Requisitos de la tabla de rutas
Las tablas de rutas a las que está asociada su red virtual personalizada deben cumplir los siguientes requisitos:
- Puede asociar las tablas de rutas de Azure a la red virtual solo cuando cree una instancia de servicio de Azure Spring Apps. No puede cambiar para usar otra tabla de rutas después de crear una instancia de Azure Spring Apps.
- Tanto la subred de aplicación de Spring, como la subred de tiempo de ejecución del servicio, deben asociarse a distintas tablas de rutas o a ninguna de ellas.
- Los permisos se deben asignar antes de la creación de la instancia. Asegúrese de conceder al proveedor de recursos de Azure Spring Cloud los permisos
User Access Administrator
yNetwork Contributor
en las tablas de rutas. - No puede actualizar el recurso de la tabla de rutas asociado después de crear el clúster. Aunque no se puede actualizar el recurso de tabla de rutas, puede modificar reglas personalizadas en la tabla de rutas.
- No se puede reutilizar una tabla de rutas con varios clústeres debido al posible conflicto entre reglas de enrutamiento.
Uso de los servidores DNS personalizados
Azure Spring Apps admite el uso de servidores DNS personalizados en la red virtual.
Si no especifica servidores DNS personalizados en la configuración de red virtual del servidor DNS, Azure Spring Apps usará Azure DNS de forma predeterminada para resolver las direcciones IP. Si la red virtual está configurada con la configuración de DNS personalizada, agregue la dirección IP 168.63.129.16
de Azure DNS como servidor DNS ascendente en el servidor DNS personalizado. Azure DNS puede resolver direcciones IP para todos los FQDN públicos mencionados en Responsabilidades del cliente al ejecutar Azure Spring Apps en una red virtual. También puede resolver la dirección IP de *.svc.private.azuremicroservices.io
en la red virtual.
Si el servidor DNS personalizado no puede agregar la dirección IP 168.63.129.16
de Azure DNS como servidor DNS ascendente, siga estos pasos:
- Asegúrese de que el servidor DNS personalizado puede resolver las direcciones IP de todos los FQDN públicos. Para más información, consulte Responsabilidades del cliente al ejecutar Azure Spring Apps en una red virtual.
- Agregue el registro DNS
*.svc.private.azuremicroservices.io
a la dirección IP de la aplicación. Para más información, consulte la sección Búsqueda de la dirección IP de la aplicación de Acceso a una aplicación en Azure Spring Apps en una red virtual.