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#

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.

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

  2. 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.
  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. Luego, seleccione Agregar.

  6. Seleccione 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. Luego, 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

En esta sección, se muestra cómo conceder a Azure Spring Apps el permiso de Propietario 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:

Los permisos mínimos necesarios son Administrador de acceso de usuario y Colaborador de red. Puede conceder asignaciones de roles a ambas si no puede conceder el permiso Owner.

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:

  1. Seleccione la red virtual azure-spring-apps-vnet que ha creado antes.

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

    Captura de pantalla de la página Control de acceso (IAM) de Azure Portal que muestra la pestaña Comprobar acceso con el botón Agregar asignación de roles resaltado.

  3. Asigne el rol Owner al Proveedor de recursos de Azure Spring Apps. Para más información, consulte Asignación de roles de Azure mediante Azure Portal.

    Nota:

    Si no encuentra el Proveedor de recursos de Azure Spring Apps, busque Proveedor de recursos de Azure Spring Cloud.

    Captura de pantalla de la página Control de acceso de Azure Portal con el panel Agregar asignación de roles y la casilla Seleccionar con el proveedor de recursos de Azure Spring Apps resaltado.

Implementación de una instancia de Azure Spring Apps

Siga estos pasos 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 .
    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.

    Captura de pantalla de la página Crear de Azure Spring Apps de Azure Portal en la que se muestra la pestaña Redes.

  8. Seleccione Revisar y crear.

  9. Compruebe sus especificaciones y seleccione Crear.

    Captura de pantalla de la página Crear de Azure Spring Apps de Azure Portal en la que se muestra la sección Redes de la pestaña Revisar y 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.

Captura de pantalla de Azure Portal en la que se muestran los recursos del entorno de ejecución del 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.

Captura de pantalla de Azure Portal en la que se muestran los recursos de las aplicaciones de Spring.

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

Captura de pantalla de Azure Portal que muestra la página Dispositivos conectados de una red virtual.

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 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 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 Owner (o los permisos User Access Administrator y Network 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:

Pasos siguientes