Partager via


Démarrage rapide : Provisionner Azure Spring Apps avec Azure CLI

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.

Cet article s’applique à : ❎ Essentiel ✅ Standard ✅ Entreprise

Ce guide de démarrage rapide explique comment utiliser Azure CLI pour déployer un cluster Azure Spring Apps dans un réseau virtuel existant.

Azure Spring Apps permet de déployer facilement des applications Spring dans Azure, sans aucune modification du code. Le service gère l’infrastructure des applications Spring, ce qui permet aux développeurs de se concentrer sur leur code. Azure Spring Apps assure la gestion du cycle de vie en utilisant des outils complets, tels que la supervision et les diagnostics, la gestion des configurations, la découverte de services, l’intégration CI/CD, les déploiements bleus-verts, etc.

Le plan de déploiement Enterprise comprend les composants Tanzu suivants :

  • Service de build
  • Service de configuration des applications
  • Registre de service
  • Spring Cloud Gateway
  • Portail des API

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement, créez un compte gratuit avant de commencer.
  • Deux sous-réseaux dédiés pour le cluster Azure Spring Apps, l’un pour le runtime du service et l’autre pour les applications Spring. Pour connaître la configuration requise pour le sous-réseau et le réseau virtuel, consultez la section Conditions requises pour le réseau virtuel de l’article Déployer Azure Spring Apps dans un réseau virtuel.
  • Un espace de travail Log Analytics existant pour les paramètres de diagnostic d’Azure Spring Apps et une ressource Application Insights basée sur un espace de travail. Pour plus d’informations, consultez Analyser les journaux et les métriques avec les paramètres de diagnostic et Agent in-process Java Application Insights dans Azure Spring Apps.
  • Trois plages de routage CIDR (Classless InterDomain Routing) internes (au moins /16 chacune) que vous avez identifiées pour une utilisation par le cluster Azure Spring Apps. Ces plages CIDR ne sont pas directement routables. Elles ne sont utilisées qu’en interne par le cluster Azure Spring Apps. Les clusters ne peuvent pas utiliser les plages 169.254.0.0/16, 172.30.0.0/16, 172.31.0.0/16 ou 192.0.2.0/24 pour les plages CIDR d’application Spring internes, ou les plages d’adresses IP incluses dans la plage d’adresses du réseau virtuel du cluster.
  • Autorisation de service accordée au réseau virtuel. Le fournisseur de ressources Azure Spring Apps nécessite des autorisations User Access Administrator et Network Contributor sur votre réseau virtuel pour accorder un principal de service dédié et dynamique sur le réseau virtuel pour permettre le déploiement et la maintenance. Pour obtenir des instructions et plus d’informations, consultez la section Accorder l’autorisation du service au réseau virtuel de l’article Déployer Azure Spring Apps dans un réseau virtuel.
  • Si vous utilisez un pare-feu Azure ou une appliance virtuelle réseau, vous devez également répondre aux conditions préalables suivantes :
  • Azure CLI
  • Si vous déployez le plan Entreprise Azure Spring Apps pour la première fois dans l’abonnement cible, consultez la section Exigences du Plan Entreprise dans la Place de marché Azure.

Examiner le script de déploiement Azure CLI

Le script de déploiement utilisé dans ce guide de démarrage rapide provient de l’architecture de référence 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}

Déployer le cluster

Pour déployer le cluster Azure Spring Apps à l’aide du script Azure CLI, effectuez les étapes suivantes :

  1. Connectez-vous à Azure en utilisant la commande suivante :

    az login
    

    Une fois connecté, cette commande génère des informations sur tous les abonnements auxquels vous avez accès. Notez le nom et l’ID de l’abonnement que vous souhaitez utiliser.

  2. Définissez l’abonnement cible.

    az account set --subscription "<your subscription name>"
    
  3. Inscrivez le fournisseur de ressources Azure Spring Apps.

    az provider register --namespace 'Microsoft.AppPlatform'
    
  4. Ajoutez les extensions nécessaires à Azure CLI.

    az extension add --name spring
    
  5. Choisissez un emplacement de déploiement dans les régions où Azure Spring Apps est disponible, comme indiqué dans Disponibilité des produits par région.

  6. Utilisez la commande suivante pour générer la liste des emplacements Azure. Notez le Nom abrégé de la région que vous avez sélectionnée à l’étape précédente.

    az account list-locations --output table
    
  7. Créez un groupe de ressources dans lequel déployer la ressource.

    az group create --name <your-resource-group-name> --location <location-name>
    
  8. Enregistrez le script pour Azure Spring Apps plan Standard ou plan Entreprise localement, puis exécutez-le à partir de l’invite Bash.

    Plan Standard :

    ./azuredeploySpringStandard.sh
    

    Plan Entreprise :

    ./azuredeploySpringEnterprise.sh
    
  9. Entrez les valeurs suivantes lorsque le script vous y invite :

    • L’ID d’abonnement Azure que vous avez enregistré précédemment.
    • Le nom de l’emplacement Azure que vous avez enregistré précédemment.
    • Le nom du groupe de ressources que vous avez créé précédemment.
    • Le nom du groupe de ressources du réseau virtuel dans lequel vous allez déployer vos ressources.
    • Le nom du réseau virtuel spoke (par exemple, vnet-spoke).
    • Nom du sous-réseau à utiliser par le service d’application Azure Spring Apps (par exemple, snet-app).
    • Nom du sous-réseau à utiliser par le service de runtime Azure Spring Apps (par exemple, snet-runtime).
    • Le nom du groupe de ressources de l’espace de travail Azure Log Analytics qui doit être utilisé pour le stockage des journaux de diagnostic.
    • Le nom de l’espace de travail Azure Log Analytics (par exemple, la-cb5sqq6574o2a).
    • Les plages CIDR de votre réseau virtuel que doit utiliser Azure Spring Apps (par exemple, XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16).
    • Les paires clé/valeur à appliquer comme étiquettes à toutes les ressources qui prennent en charge les étiquettes. Pour plus d’informations, consultez Utiliser des étiquettes pour organiser vos ressources Azure et votre hiérarchie de gestion. Utilisez une liste séparée par des espaces pour appliquer plusieurs étiquettes (par exemple, environment=Dev BusinessUnit=finance).

Une fois ces informations fournies, le script crée et déploie les ressources Azure.

Vérifier les ressources déployées

Vous pouvez utiliser le Portail Azure pour consulter les ressources déployées, ou Azure CLI pour les répertorier.

Nettoyer les ressources

Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Quand vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui supprime également les ressources qu’il contient. Pour supprimer le groupe de ressources à l’aide d’Azure CLI, utilisez les commandes suivantes :

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez déployé une instance Azure Spring Apps dans un réseau virtuel existant à l’aide d’Azure CLI, puis vous avez validé le déploiement. Pour plus d’informations sur Azure Spring Apps, accédez aux ressources ci-dessous.