Implementación de Azure Spring Apps en una red virtual

Nota

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

Este artículo se aplica a: ✔️ Java ✔️ C#

Este artículo se aplica a: ✔️ Nivel Básico/Estándar ✔️ Nivel 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 es posible cambiar para usar otra red virtual después de crear Azure Spring Apps.

Prerrequisitos

Registre el proveedor de recursos de Azure Spring Apps Microsoft.AppPlatform y Microsoft.ContainerService de acuerdo con las instrucciones descritas en Registro del proveedor de recursos en Azure Portal o mediante la ejecución del 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.

Los procedimientos siguientes describen la configuración de 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.

  1. En el menú de Azure Portal, seleccione Crear un recurso. En Azure Marketplace, seleccione RedesRed virtual.

  2. En el cuadro de diálogo Crear red virtual, escriba o seleccione la siguiente información:

    Configuración Valor
    Subscription 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.
  3. Seleccione Siguiente: Direcciones IP.

  4. En el espacio de direcciones IPv4, escriba 10.1.0.0/16.

  5. Haga clic en Agregar subred. Luego, escribaservice-runtime-subnet en Nombre de subred10.1.0.0/24 en Intervalo de direcciones de subred. A continuación, seleccione Agregar.

  6. Vuelva a seleccionar Agregar subred y, después, escriba los valores de Nombre de subred e Intervalo de direcciones de subred. Por ejemplo, escriba apps-subnet10.1.1.0/24. A continuación, seleccione Agregar.

  7. Seleccione Revisar + crear. Deje el resto tal como está y seleccione Crear.

Concesión de permisos de servicio a la red virtual

Azure Spring Apps requiere permisos de Propietario en la red virtual, con el fin de conceder permisos a una entidad de servicio dinámica y dedicada en la red virtual para realizar más tareas de implementación y mantenimiento.

Seleccione la red virtual azure-spring-apps-vnet que creó anteriormente.

  1. Seleccione Control de acceso (IAM) y, después, seleccione Agregar asignación de roles.

    Captura de pantalla que muestra la pantalla Access control (Control de acceso).

  2. Asigne el rol Propietario al Proveedor de recursos de Azure Spring Apps. Para acceder a los pasos detallados, vea Asignación de roles de Azure mediante Azure Portal.

    Captura de pantalla que muestra la asignación de propietario al proveedor de recursos.

    Para realizar este paso también puede ejecutar el siguiente comando de la CLI de Azure:

    VIRTUAL_NETWORK_RESOURCE_ID=`az network vnet show \
        --name ${NAME_OF_VIRTUAL_NETWORK} \
        --resource-group ${RESOURCE_GROUP_OF_VIRTUAL_NETWORK} \
        --query "id" \
        --output tsv`
    
    az role assignment create \
        --role "Owner" \
        --scope ${VIRTUAL_NETWORK_RESOURCE_ID} \
        --assignee e8de9221-a19c-4c81-b814-fd37c6caf9d2
    

Implementación de una instancia de Azure Spring Apps

Para implementar una instancia de Azure Spring Apps en la red virtual:

  1. Abra Azure Portal.

  2. En el cuadro de búsqueda superior, busque Azure Spring Apps. Seleccione Azure Spring Apps en los resultados.

  3. En la página Azure Spring Apps, seleccione Agregar.

  4. Rellene el formulario de la página Crear de Azure Spring Apps.

  5. Seleccione el mismo grupo de recursos y la misma región que la red virtual.

  6. En el campo Nombre situado en Detalles de servicio, seleccione azure-spring-apps-vnet.

  7. 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 .
    Virtual network Seleccione azure-spring-apps-vnet.
    Service runtime subnet (Subred del entorno de ejecución del servicio) Seleccione service-runtime-subnet.
    Subred de aplicaciones de Spring Seleccione apps-subnet.

    Captura de pantalla que muestra la pestaña Redes en la página de creación de Azure Spring Apps.

  8. Seleccione Revisar y crear.

  9. Compruebe sus especificaciones y seleccione Crear.

    Captura de pantalla que muestra cómo se comprueban las especificaciones.

Después de la implementación, se crearán dos grupos de recursos adicionales 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 llamado ap-svc-rt_{nombre de la instancia del servicio}_{región de la instancia del servicio} contiene los recursos de red del runtime de servicio de la instancia de servicio.

Captura de pantalla que muestra el runtime del servicio.

El grupo de recursos llamado ap-app_{nombre de la instancia de servicio}_{región de la instancia de servicio} contiene los recursos de red de las aplicaciones de Spring de la instancia de servicio.

Captura de pantalla que muestra un grupo de recursos de aplicaciones.

Esos recursos de red están conectados a la red virtual creada en la imagen anterior.

Captura de pantalla que muestra la red virtual con dispositivos conectados.

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
Aplicación con un núcleo: 96
Aplicación con dos núcleos: 48
Aplicación con tres núcleos: 32
Aplicación con cuatro núcleos: 24

/27 32 24

Aplicación con 0,5 núcleo: 456
Aplicación con un núcleo: 228
Aplicación con dos núcleos: 144
Aplicación con tres núcleos: 96
Aplicación con cuatro núcleos: 72

/26 64 56

Aplicación con 0,5 núcleo: 500
Aplicación con un núcleo: 500
Aplicación con dos núcleos: 336
Aplicación con tres núcleos: 224
Aplicación con cuatro núcleos: 168

/25 128 120

Aplicación con 0,5 núcleo: 500
Aplicación con un núcleo: 500
Aplicación con dos núcleos: 500
Aplicación con tres núcleos: 480
Aplicación con cuatro núcleos: 360

/24 256 248

Aplicación con 0,5 núcleo: 500
Aplicación con un núcleo: 500
Aplicación con dos núcleos: 500
Aplicación con tres núcleos: 500
Aplicación con cuatro núcleos: 500

En 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. Este tamaño no tiene ninguna relación con el número de instancias de la aplicación.

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 la 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. Una vez que se ha creado Azure Spring Apps, no puede cambiar y usar otra tabla de rutas.
  • 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 Apps el permiso de Propietario para sus tablas de rutas.
  • El recurso de la tabla de rutas asociado no se puede actualizar después de crear el clúster. Aunque no se puede actualizar el recurso de la tabla de rutas, se pueden modificar las 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.

Pasos siguientes