Inicio rápido: Aprovisionamiento de Azure Spring Apps con la CLI de Azure
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro 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 de consumo estándar 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 obtener más información, consulte Migrar el plan de consumo y dedicado Azure Spring Apps Standard a Azure Container Apps.
Este artículo se aplica a: ❎ Básico ✅ Estándar ✅ Enterprise
En este inicio rápido se describe cómo usar la CLI de Azure para implementar un clúster de Azure Spring Apps en una red virtual existente.
Azure Spring Apps facilita la implementación de aplicaciones de Spring en Azure sin necesidad de realizar cambios en el código. El servicio administra la infraestructura de las aplicaciones de Spring, con el fin de que los desarrolladores puedan centrarse en el código. Azure Spring Apps proporciona administración del ciclo de vida mediante el uso de una supervisión y un diagnóstico completos, administración de la configuración, detección de servicios, integración de CI/CD e implementaciones azul-verde, entre otros.
El plan de implementación Enterprise incluye los siguientes componentes de Tanzu:
- Servicio de compilación
- Servicio de configuración de aplicaciones
- Registro del servicio
- Spring Cloud Gateway
- Portal de API
Requisitos previos
- Suscripción a Azure. Si no tiene una suscripción, cree una cuenta gratuita antes de empezar.
- Dos subredes dedicadas para el clúster de Azure Spring Apps, una para el entorno de ejecución del servicio y otra para las aplicaciones Spring. Puede encontrar los requisitos de la subred y la red virtual en la sección Requisitos de red virtual de Implementación de Azure Spring Apps en una red virtual.
- Un área de trabajo de Log Analytics existente para la configuración de diagnóstico de Azure Spring Apps y un recurso de Application Insights basado en el área de trabajo. Para más información, consulte Análisis de registros y métricas con la configuración de diagnóstico y Agente In-Process de Java de Application Insights en Azure Spring Apps.
- Tres intervalos internos de enrutamiento de interdominios sin clases (CIDR) (al menos /16 cada uno) que ha identificado para su uso por parte del clúster de Azure Spring Apps. Estos intervalos CIDR no se podrán enrutar directamente y solo los usará internamente el clúster de Azure Spring Apps. Los clústeres no pueden usar 169.254.0.0/16, 172.30.0.0/16,172.31.0.0/16 ni 192.0.2.0/24 en los intervalos internos CIDR de la aplicación Spring ni los intervalos IP incluidos dentro del intervalo de direcciones de red virtual del clúster.
- Permiso de servicio concedido a la red virtual. El proveedor de recursos de Azure Spring Apps necesita permisos
User Access Administrator
yNetwork Contributor
en la red virtual para conceder una entidad de servicio dinámica y dedicada en la red virtual para realizar tareas de implementación y mantenimiento adicionales. Puede encontrar instrucciones y más información en la sección Concesión de permisos de servicio a la red virtual de Implementación de Azure Spring Apps en una red virtual. - Si usa Azure Firewall o una aplicación virtual de red (NVA), también deberá cumplir los siguientes requisitos previos:
- Reglas de nombre de dominio completo (FQDN) y de red. Para más información, consulte Requisitos de red virtual.
- Una ruta definida por el usuario (UDR) única aplicada a cada una de las subredes del entorno de ejecución del servicio y la aplicación de Spring. Para más información sobre las UDR, consulte Enrutamiento del tráfico de redes virtuales. La UDR debe configurarse con una ruta de 0.0.0.0/0 con un destino de la NVA antes de implementar el clúster de Azure Spring Apps. Para más información, consulte la sección Traer su propia tabla de rutas de Implementación de Azure Spring Apps en una red virtual.
- CLI de Azure
- Si va a implementar la instancia del plan Enterprise de Azure Spring Apps por primera vez en la suscripción de destino, vea la sección Requisitos del plan Enterprise en Azure Marketplace.
Revisión del script de implementación de la CLI de Azure
El script de implementación que se usa en este inicio rápido proviene de la arquitectura de referencia de Azure Spring Apps.
#!/bin/bash
echo "Enter Azure Subscription ID: "
read subscription
subscription=$subscription
echo "Enter Azure region for resource deployment: "
read region
location=$region
echo "Enter Azure Spring Resource Group Name: "
read azurespringrg
azurespring_resource_group_name=$azurespringrg
echo "Enter Azure Spring VNet Resource Group Name: "
read azurespringvnetrg
azurespring_vnet_resource_group_name=$azurespringvnetrg
echo "Enter Azure Spring Spoke VNet : "
read azurespringappspokevnet
azurespringappspokevnet=$azurespringappspokevnet
echo "Enter Azure Spring App SubNet : "
read azurespringappsubnet
azurespring_app_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringappsubnet
echo "Enter Azure Spring Service SubNet : "
read azurespringservicesubnet
azurespring_service_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringservicesubnet
echo "Enter Azure Log Analytics Workspace Resource Group Name: "
read loganalyticsrg
loganalyticsrg=$loganalyticsrg
echo "Enter Log Analytics Workspace Resource Name: "
read workspace
workspaceID='/subscriptions/'$subscription'/resourcegroups/'$loganalyticsrg'/providers/microsoft.operationalinsights/workspaces/'$workspace
echo "Enter Reserved CIDR Ranges for Azure Spring: "
read reservedcidrrange
reservedcidrrange=$reservedcidrrange
echo "Enter key=value pair used for tagging Azure Resources (space separated for multiple tags): "
read tag
tags=$tag
randomstring=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | fold -w 13 | head -n 1)
azurespring_service='spring-'$randomstring #Name of unique Spring resource
azurespring_appinsights=$azurespring_service
azurespring_resourceid='/subscriptions/'$subscription'/resourceGroups/'$azurespring_resource_group_name'/providers/Microsoft.AppPlatform/Spring/'$azurespring_service
# Create Application Insights
az monitor app-insights component create \
--app ${azurespring_service} \
--location ${location} \
--kind web \
-g ${azurespringrg} \
--application-type web \
--workspace ${workspaceID}
az spring create \
-n ${azurespring_service} \
-g ${azurespringrg} \
-l ${location} \
--sku Standard \
--app-insights ${azurespring_service} \
--app-subnet ${azurespring_app_subnet_name} \
--service-runtime-subnet ${azurespring_service_subnet_name} \
--reserved-cidr-range ${reservedcidrrange} \
--tags ${tags}
# Update diagnostic setting for Azure Spring instance
az monitor diagnostic-settings create \
--name monitoring \
--resource ${azurespring_resourceid} \
--logs '[{"category": "ApplicationConsole","enabled": true}]' \
--workspace ${workspaceID}
Implementación del clúster
Para implementar el clúster de Azure Spring Apps mediante el script de la CLI de Azure, siga estos pasos:
Inicie sesión en Azure con el siguiente comando:
az login
Después de iniciar sesión, este comando mostrará información sobre todas las suscripciones a las que tiene acceso. Anote el nombre y el id. de la suscripción que quiera utilizar.
Establezca la suscripción de destino.
az account set --subscription "<your subscription name>"
Registre el proveedor de recursos de Azure Spring Apps.
az provider register --namespace 'Microsoft.AppPlatform'
Agregue las extensiones necesarias a la CLI de Azure.
az extension add --name spring
Elija una ubicación de implementación entre las regiones en las que Azure Spring Apps está disponible, como se muestra en Productos disponibles por región.
Use el siguiente comando para generar una lista de ubicaciones de Azure. Anote el valor del nombre corto de la región que seleccionó en el paso anterior.
az account list-locations --output table
Cree un grupo de recursos en el que implementar el recurso.
az group create --name <your-resource-group-name> --location <location-name>
Guarde el script para el plan Estándar o el plan Enterprise de Azure Spring Apps en el entorno local y ejecútelo desde el símbolo del sistema de Bash.
Plan Estándar:
./azuredeploySpringStandard.sh
Plan Enterprise:
./azuredeploySpringEnterprise.sh
Escriba los siguientes valores cuando el script se lo solicite:
- El id. de suscripción de Azure que guardó anteriormente.
- El nombre de la ubicación de Azure que guardó anteriormente.
- El nombre del grupo de recursos que creó anteriormente.
- El nombre del grupo de recursos de red virtual donde se implementarán los recursos.
- El nombre de la red virtual de radio (por ejemplo, vnet-spoke).
- El nombre de la subred que va a usar el servicio de aplicación de Azure Spring Apps (por ejemplo, snet-app).
- El nombre de la subred que va a usar el servicio de entorno en tiempo de ejecución de Azure Spring Apps (por ejemplo, snet-runtime).
- El nombre del grupo de recursos del área de trabajo de Azure Log Analytics que se usará para almacenar los registros de diagnóstico.
- El nombre del área de trabajo de Azure Log Analytics (por ejemplo, la-cb5sqq6574o2a).
- Los rangos CIDR de la red virtual que va a usar Azure Spring Apps (por ejemplo, XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
- Los pares clave-valor que se aplicarán como etiquetas en todos los recursos que admiten etiquetas. Para obtener más información, consulte Uso de etiquetas para organizar los recursos de Azure y la jerarquía de administración. Use una lista separada por espacios para aplicar varias etiquetas (por ejemplo, environment=Dev BusinessUnit=finance).
Después de proporcionar esta información, el script creará e implementará los recursos de Azure.
Revisión de los recursos implementados
Puede usar Azure Portal para comprobar los recursos implementados, o bien usar la CLI de Azure para enumerar los recursos implementados.
Limpieza de recursos
Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no lo necesite, elimine el grupo de recursos, que elimina los recursos que contiene. Para eliminar el grupo de recursos mediante la CLI de Azure, use estos comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Pasos siguientes
En este inicio rápido, ha implementado una instancia de Azure Spring Apps en una red virtual existente con la CLI de Azure y, luego, ha validado la implementación. Para obtener más información sobre Azure Spring Apps, continúe con los artículos siguientes.
- Implemente una de las siguientes aplicaciones de ejemplo desde las ubicaciones siguientes:
- Use dominios personalizados con Azure Spring Apps.
- Exponga aplicaciones de Azure Spring Apps en Internet mediante Azure Application Gateway. Para obtener más información, consulte Exposición de aplicaciones con TLS de un extremo a otro en una red virtual.
- Vea la arquitectura de referencia de Azure Spring Apps completa, que se basa en el Marco de buena arquitectura de Microsoft Azure.