Guida introduttiva: Effettuare il provisioning di Azure Spring Apps usando l'interfaccia della riga di comando di Azure
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:❌ Basic/Standard ✔️ Enterprise
Questa guida introduttiva descrive come usare l'interfaccia della riga di comando di Azure per distribuire un cluster Azure Spring Apps in una rete virtuale esistente.
Azure Spring Apps semplifica la distribuzione di applicazioni Spring in Azure senza necessità di modifiche al codice. Il servizio gestisce l'infrastruttura delle applicazioni Spring per consentire agli sviluppatori di concentrarsi sul codice. Azure Spring Apps fornisce la gestione del ciclo di vita tramite funzionalità complete di monitoraggio e diagnostica, gestione della configurazione, individuazione dei servizi, integrazione di CI/CD, distribuzioni blu/verde e altro ancora.
Il piano di distribuzione Enterprise include i seguenti componenti Tanzu:
- Servizio di compilazione
- Servizio di configurazione delle applicazioni
- Service Registry
- Spring Cloud Gateway
- Portale API
Prerequisiti
- Una sottoscrizione di Azure. Se non si ha già una sottoscrizione, creare un account gratuito prima di iniziare.
- Due subnet dedicate per il cluster Azure Spring Apps, una per il runtime del servizio e un'altra per le applicazioni Spring. Per i requisiti della subnet e della rete virtuale, vedere la sezione Requisiti della rete virtuale di Distribuire Azure Spring Apps in una rete virtuale.
- Un'area di lavoro Log Analytics esistente per le impostazioni di diagnostica di Azure Spring Apps e una risorsa di Application Insights basata sull’area di lavoro. Per altre informazioni, vedere Analizzare log e metriche con le impostazioni di diagnostica e Agente In-Process Java di Application Insights in Azure Spring Apps.
- Tre intervalli di Classless Inter-Domain Routing (CIDR) interni (almeno /16 ciascuno) individuati per l'utilizzo da parte del cluster Azure Spring Apps. Questi intervalli di CIDR non saranno instradabili direttamente e verranno usati solo internamente dal cluster Azure Spring Apps. I cluster non possono usare 169.254.0.0/16, 172.30.0.0/16, 172 31.0.0/16 o 192.0.2.0/24 per gli intervalli CIDR di Spring Apps interni o qualsiasi intervallo IP incluso nell'intervallo di indirizzi della rete virtuale del cluster.
- Autorizzazione per il servizio concessa alla rete virtuale. Il provider di risorse di Azure Spring Apps richiede le autorizzazioni
User Access Administrator
eNetwork Contributor
per la rete virtuale, per concedere un'entità servizio dedicata e dinamica nella rete virtuale per ulteriore distribuzione e manutenzione. Per istruzioni e ulteriori informazioni, consultare la sezione Concedere al servizio l'autorizzazione per la rete virtuale di Distribuire Azure Spring Apps in una rete virtuale. - Se si usa Firewall di Azure o un'appliance virtuale di rete (NVA), è necessario soddisfare anche i seguenti prerequisiti:
- Regole della rete e del nome di dominio completo (FQDN). Per altre informazioni, vedere Requisiti della rete virtuale.
- Una route definita dall'utente univoca applicata a ogni runtime del servizio e subnet dell'applicazione Spring. Per altre informazioni sulle route definite dall'utente, vedere Routing del traffico della rete virtuale. La route definita dall'utente deve essere configurata con una route per 0.0.0.0/0 con una destinazione della propria appliance virtuale di rete (NVA), prima di distribuire il cluster Azure Spring Apps. Per altre informazioni, vedere la sezione Bring Your On Route Table di Distribuire Azure Spring Apps in una rete virtuale.
- Interfaccia della riga di comando di Azure
- Se viene distribuita un'istanza del piano Enterprise di Azure Spring Apps per la prima volta nella sottoscrizione di destinazione, vedere la sezione Requisiti del Piano Enterprise in Azure Marketplace.
Rivedere lo script di distribuzione dell'interfaccia della riga di comando di Azure
Lo script di distribuzione usato in questa guida introduttiva proviene dall'architettura di riferimento di 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}
Distribuire il cluster
Per distribuire il cluster Azure Spring Apps usando lo script dell'interfaccia della riga di comando di Azure, seguire questi passaggi:
Accedere ad Azure usando il comando seguente:
az login
Dopo l'accesso, questo comando restituirà informazioni su tutte le sottoscrizioni a cui si ha accesso. Annotare il nome e l'ID della sottoscrizione che si desidera usare.
Impostare la sottoscrizione di destinazione.
az account set --subscription "<your subscription name>"
Registrare il provider di risorse di Azure Spring Apps.
az provider register --namespace 'Microsoft.AppPlatform'
Aggiungere le estensioni necessarie all'interfaccia della riga di comando di Azure.
az extension add --name spring
Scegliere una posizione di distribuzione dalle aree in cui è disponibile Azure Spring Apps, come illustrato in Prodotti disponibili in base all'area.
Usare il comando seguente per generare un elenco di posizioni di Azure. Annotare il valore Nome breve per l'area selezionata nel passaggio precedente.
az account list-locations --output table
Creare un gruppo di risorse in cui distribuire le risorse.
az group create --name <your-resource-group-name> --location <location-name>
Salvare lo script per il piano Standard o il piano Enterprise di Azure Spring Apps in locale, quindi eseguirlo dal prompt di Bash.
Piano Standard:
./azuredeploySpringStandard.sh
Piano Enterprise:
./azuredeploySpringEnterprise.sh
Immettere i valori seguenti quando viene chiesto dallo script:
- L'ID sottoscrizione di Azure salvato in precedenza.
- Il nome della posizione di Azure salvato in precedenza.
- Il nome del gruppo di risorse creato in precedenza.
- Il nome del gruppo di risorse della rete virtuale in cui si verranno distribuite le risorse.
- Nome della rete virtuale spoke, ad esempio vnet-spoke.
- Il nome della subnet che deve essere usata dal servizio applicazione di Azure Spring Apps, ad esempio snet-app.
- Il nome della subnet che deve essere usata dal servizio runtime di Azure Spring Apps, ad esempio snet-runtime.
- Il nome del gruppo di risorse per l'area di lavoro Log Analytics di Azure da usare per l'archiviazione dei log di diagnostica.
- Il nome dell'area di lavoro Log Analytics di Azure, ad esempio la-cb5sqq6574o2a.
- Intervalli di CIDR dalla rete virtuale che devono essere usati da Azure Spring Apps, ad esempio XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16.
- Le coppie chiave/valore da applicare come tag in tutte le risorse che supportano tag. Per altre informazioni, vedere Usare i tag per organizzare le risorse di Azure e la gerarchia di gestione. Usare un elenco delimitato da spazi per applicare più tag, ad esempio environment=Dev BusinessUnit=finance.
Dopo aver specificato queste informazioni, lo script creerà e distribuirà le risorse di Azure.
Esaminare le risorse distribuite
È possibile usare il portale di Azure per controllare le risorse distribuite oppure l'interfaccia della riga di comando di Azure per elencare le risorse distribuite.
Pulire le risorse
Se si prevede di usare le guide di avvio rapido e le esercitazioni successive, è consigliabile non cancellare le risorse create. Quando non è più necessario, eliminare il gruppo di risorse per eliminare tutte le risorse contenute al suo interno. Per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure, usare i comandi seguenti:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Passaggi successivi
In questa guida introduttiva è stata distribuita un'istanza di Azure Spring Apps in una rete virtuale esistente usando l'interfaccia della riga di comando di Azure, dopo di che la distribuzione è stata convalidata. Per altre informazioni su Azure Spring Apps, proseguire con le risorse seguenti.
- Implementare una delle seguenti applicazioni di esempio dalle seguenti posizioni:
- Usare domini personalizzati con Azure Spring Apps.
- Esporre le applicazioni in Azure Spring Apps su Internet usando il gateway applicazione di Azure. Per altre informazioni, vedere Esporre applicazioni con TLS end-to-end in una rete virtuale.
- Visualizzare l'architettura di riferimento di Azure Spring Apps sicura end-to-end basata su Microsoft Azure Well-Architected Framework.