Démarrage rapide : Déployer votre première application web sur Azure Spring Apps
Article
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.
Ce guide de démarrage rapide montre comment déployer une application web Spring Boot sur Azure Spring Apps. L’exemple de projet est une application ToDo simple pour ajouter des tâches, indiquer lorsqu’elles sont terminées, puis les supprimer. La capture d’écran suivante montre l’application :
Cette application web classique contient les trois couches suivantes :
Application web Spring en back-end qui utilise Spring Data JPA pour accéder à une base de données relationnelle.
Base de données relationnelle. Pour localhost, l’application utilise le moteur de base de données H2. Pour Azure Spring Apps, l’application utilise Azure Database pour PostgreSQL. Pour plus d’informations sur Azure Database pour PostgreSQL, consultez la documentation sur le Serveur flexible.
Le diagramme suivant présente l’architecture du système :
Cet article fournit les options suivantes pour le déploiement sur Azure Spring Apps :
L’option Portail Azure est la méthode la plus simple et la plus rapide pour créer des ressources et déployer des applications en un seul clic. Cette option convient aux développeurs Spring qui souhaitent déployer rapidement des applications sur des services cloud Azure.
L’option Portail Azure + plug-in Maven fournit un moyen plus conventionnel de créer des ressources et de déployer des applications pas à pas. Cette option convient aux développeurs Spring qui utilisent les services cloud Azure pour la première fois.
L’option Azure Developer CLI est un moyen plus efficace de créer automatiquement des ressources et de déployer des applications par le biais de commandes simples. Azure Developer CLI utilise un modèle pour provisionner les ressources Azure nécessaires et déployer le code de l’application. Cette option convient aux développeurs Spring qui sont familiarisés avec les services cloud Azure.
Cet article fournit les options suivantes pour le déploiement sur Azure Spring Apps :
L’option Portail Azure est la méthode la plus simple et la plus rapide pour créer des ressources et déployer des applications en un seul clic. Cette option convient aux développeurs Spring qui souhaitent déployer rapidement des applications sur des services cloud Azure.
L’option Portail Azure + plug-in Maven fournit un moyen plus conventionnel de créer des ressources et de déployer des applications pas à pas. Cette option convient aux développeurs Spring qui utilisent les services cloud Azure pour la première fois.
L'option Azure CLI utilise un puissant outil de ligne de commande pour gérer les ressources Azure. Cette option convient aux développeurs Spring qui sont familiarisés avec les services cloud Azure.
Le bouton Déployer sur Azure dans la section suivante lance une expérience du portail Azure qui télécharge un package JAR à partir de la page des versions ASA-Samples-Web-Application sur GitHub. Aucune étape de préparation locale n’est nécessaire.
Bien que vous utilisiez le portail Azure dans les étapes ultérieures, vous devez utiliser la ligne de commande Bash pour préparer le projet localement. Procédez comme suit pour cloner et exécuter l’application localement :
Utilisez la commande suivante pour cloner l’exemple de projet à partir de GitHub :
Utilisez la commande suivante pour générer l’exemple de projet avec Maven :
cd ASA-Samples-Web-Application
./mvnw clean package
Utilisez la commande suivante pour exécuter l’exemple d’application :
java -jar web/target/simple-todo-web.jar
Accédez à http://localhost:8080 dans votre navigateur pour accéder à l’application.
3. Préparer l’environnement cloud
Pour exécuter cet exemple, les principales ressources requises sont une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL. Cette section décrit les étapes de création de ces ressources.
Cette section utilise un bouton Déployer sur Azure pour lancer une expérience de déploiement dans le portail Azure. Cette expérience utilise un modèle ARM pour créer des ressources Azure.
3.1. Connectez-vous au portail Azure.
Accédez au Portail Microsoft Azure et entrez vos informations d’identification pour vous connecter au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer des ressources Azure
Pour créer toutes les ressources Azure dont dépend l’application, procédez comme suit :
Sélectionnez le bouton Déployer sur Azure suivant pour lancer l’expérience de déploiement dans le Portail Microsoft Azure :
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Région
La région la plus proche de vos utilisateurs.
La région est utilisée pour créer le groupe de ressources.
Mot de passe de l’administrateur PostgreSQL
N/A
Mot de passe de l’administrateur du serveur PostgreSQL.
Mot de passe de l’utilisateur PostgreSQL
N/A
Mot de passe de l’utilisateur de l’application PostgreSQL, qui est utilisé dans l’application.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour déployer l’application sur Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
3.1. Connectez-vous au portail Azure.
Accédez auportail Azure, entrez vos informations d’identification et connectez-vous au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer une instance Azure Spring Apps
Utilisez la procédure suivante pour créer une instance de service :
Sélectionnez Créer une ressource dans le coin du portail Azure.
Sélectionnez Calcul>Azure Spring Apps.
Remplissez le formulaire Informations de base avec les informations suivantes :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Nom
myasa
Nom unique qui identifie votre instance Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
Planifier
Entreprise
Plan tarifaire qui détermine la ressource et le coût associés à votre instance.
Région
La région la plus proche de vos utilisateurs.
L’emplacement géographique le plus proche de vos utilisateurs.
Redondant interzone
Non sélectionné
Option permettant de créer votre service Azure Spring Apps dans une zone de disponibilité Azure. Cette fonctionnalité n’est actuellement pas prise en charge dans toutes les régions.
Plan IP logiciel
Paiement à l’utilisation
Plan de paiement à l’utilisation pour Azure Spring Apps.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour approvisionner l’instance Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service.
Sélectionnez Accéder à la ressource pour accéder à la page Vue d’ensemble d’Azure Spring Apps.
3.3. Préparer l’instance PostgreSQL
Suivez la procédure ci-dessous pour créer un serveur Azure Database pour PostgreSQL :
Dans le portail Azure, sélectionnez Créer une ressource.
Sélectionnez Base de données>Serveur flexible Azure Database pour PostgreSQL.
Renseignez l’onglet Informations de base avec les informations suivantes :
Mot de passe et Confirmer le mot de passe : entrez un mot de passe.
Configurez l’onglet Mise en réseau avec les informations suivantes :
Méthode de connectivité : Accès public (adresses IP autorisées)
Autoriser l’accès public à partir d’un service Azure dans Azure sur ce serveur : sélectionné
Sélectionnez Vérifier + créer pour passer en revue vos sélections, puis sélectionnez Créer pour approvisionner le serveur. Cette opération peut prendre quelques minutes.
Accédez à votre serveur PostgreSQL dans le portail Azure.
Sélectionnez Bases de données dans le menu de navigation pour créer une base de données, par exemple; Todo.
3.4. Connecter une instance d’application à une instance PostgreSQL
Suivez la procédure ci-dessous pour connecter vos instances de service :
Accédez à votre instance Azure Spring Apps dans le portail Azure.
Dans le volet de navigation, ouvrez Applications, puis sélectionnez Créer une application.
Dans la page Créer une application, pour le nom de l’application, utilisez simple-todo-web et laissez tous les autres champs avec leurs valeurs par défaut.
Sélectionnez Créer pour terminer la création de l’application, puis sélectionnez l’application pour afficher les détails.
Sélectionnez Connecteur de service dans le volet de navigation, puis sélectionnez Créer pour créer une nouvelle connexion de service.
Renseignez l’onglet Informations de base avec les informations suivantes :
Type de service : Serveur flexible DB pour PostgreSQL
Nom de connexion : renseigné avec un nom généré automatiquement que vous pouvez modifier.
Abonnement : sélectionnez votre abonnement.
Serveur flexible PostgreSQL : my-demo-pgsql
Base de données PostgreSQL : sélectionnez la base de données que vous avez créée.
Type de client : SpringBoot
Configurez l’onglet Suivant : Authentification avec les informations suivantes :
Remarque
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure, comme pour les bases de données, les caches, la messagerie ou les services IA, demande un degré de confiance très élevé dans l'application et comporte des risques non présents dans d'autres flux. Utilisez ce flux uniquement lorsque des options plus sécurisées, telles que les identités managées pour les connexions sans mot de passe ou sans clé, ne sont pas viables. Pour les opérations d’ordinateur local, préférez les identités utilisateur pour les connexions sans mot de passe ou sans clé.
Sélectionnez le type d’authentification que vous souhaitez utiliser entre votre service de calcul et le service cible. : sélectionnez Chaîne de connexion.
Continuer avec... : sélectionnez Informations d’identification de la base de données
Nom d’utilisateur : myadmin
Mot de passe : entrez votre mot de passe.
Sélectionnez Suivant : Réseau. Utilisez l’option par défaut Configurer des règles de pare-feu pour activer l’accès au service cible..
Sélectionnez Suivant : Vérifier et créer pour passer en revue vos sélections, puis sélectionnez Créer pour créer la connexion.
3.1. Donner des noms à chaque ressource
Créez des variables destinées à contenir les noms de ressources à l’aide des commandes suivantes. Veillez à remplacer les espaces réservés par vos valeurs.
Remarque
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure, comme pour les bases de données, les caches, la messagerie ou les services IA, demande un degré de confiance très élevé dans l'application et comporte des risques non présents dans d'autres flux. Utilisez ce flux uniquement lorsque des options plus sécurisées, telles que les identités managées pour les connexions sans mot de passe ou sans clé, ne sont pas viables. Pour les opérations d’ordinateur local, préférez les identités utilisateur pour les connexions sans mot de passe ou sans clé.
Procédez comme suit pour créer un groupe de ressources.
Utilisez la commande suivante pour vous connecter à Azure CLI :
az login
Utilisez la commande suivante pour définir la localisation par défaut.
az configure --defaults location=${LOCATION}
Utilisez la commande suivante pour répertorier tous les abonnements disponibles, puis déterminez l’ID d’abonnement à utiliser.
az account list --output table
Utilisez la commande suivante pour définir votre abonnement par défaut :
az account set --subscription <subscription-ID>
Utilisez la commande suivante pour créer un groupe de ressources.
az group create --resource-group ${RESOURCE_GROUP}
Utilisez la commande suivante pour définir le groupe de ressources nouvellement créé comme groupe de ressources par défaut.
az configure --defaults group=${RESOURCE_GROUP}
3.3. Créer une instance Azure Spring Apps
Azure Spring Apps est utilisé pour héberger l’application web Spring. Créez une instance Azure Spring Apps et une application à l’intérieur de celle-ci.
Utilisez la commande suivante pour créer une instance de service Azure Spring Apps.
az spring create --name ${AZURE_SPRING_APPS_NAME} --sku enterprise
Utilisez la commande suivante pour créer une application dans l’instance Azure Spring Apps.
az spring app create \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.4. Préparer l’instance PostgreSQL
L’application web Spring utilise H2 pour la base de données dans localhost et Azure Database pour PostgreSQL pour la base de données dans Azure.
Utilisez la commande suivante pour créer une instance PostgreSQL :
Remarque
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure, comme pour les bases de données, les caches, la messagerie ou les services IA, demande un degré de confiance très élevé dans l'application et comporte des risques non présents dans d'autres flux. Utilisez ce flux uniquement lorsque des options plus sécurisées, telles que les identités managées pour les connexions sans mot de passe ou sans clé, ne sont pas viables. Pour les opérations d’ordinateur local, préférez les identités utilisateur pour les connexions sans mot de passe ou sans clé.
La spécification de 0.0.0.0 permet l’accès public à votre serveur à partir de toutes les ressources déployées dans Azure.
3.5. Connecter une instance d’application à une instance PostgreSQL
Après avoir créé l’instance d’application et l’instance PostgreSQL, l’instance d’application ne peut pas accéder directement à l’instance PostgreSQL. Effectuez les étapes suivantes pour permettre à l’application de se connecter à l’instance PostgreSQL.
Utilisez la commande suivante pour obtenir le nom de domaine complet de l’instance PostgreSQL :
Utilisez la commande suivante pour fournir les propriétés spring.datasource. à l’application via des variables d’environnement :
Remarque
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure, comme pour les bases de données, les caches, la messagerie ou les services IA, demande un degré de confiance très élevé dans l'application et comporte des risques non présents dans d'autres flux. Utilisez ce flux uniquement lorsque des options plus sécurisées, telles que les identités managées pour les connexions sans mot de passe ou sans clé, ne sont pas viables. Pour les opérations d’ordinateur local, préférez les identités utilisateur pour les connexions sans mot de passe ou sans clé.
az spring app update \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--env SPRING_DATASOURCE_URL="jdbc:postgresql://${PSQL_FQDN}:5432/${POSTGRESQL_DB}?sslmode=require" \
SPRING_DATASOURCE_USERNAME="${POSTGRESQL_ADMIN_USERNAME}" \
SPRING_DATASOURCE_PASSWORD="${POSTGRESQL_ADMIN_PASSWORD}"
Le bouton Déployer sur Azure dans la section précédente lance une expérience du portail Azure qui inclut le déploiement d’applications. Vous n’avez donc rien d’autre à faire.
La liste suivante décrit les interactions de commande :
Sélectionner des modules enfants à configurer : sélectionnez le module à configurer, puis entrez le numéro du module Web SimpleTodo.
Connexion OAuth2 : vous devez autoriser la connexion à Azure en fonction du protocole OAuth2.
Sélectionnez un abonnement : sélectionnez le numéro de liste d’abonnements de l’instance Azure Spring Apps créée, qui correspond par défaut au premier abonnement de la liste. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Utiliser Azure Spring Apps dans Azure : appuyez sur y (oui) pour utiliser l’instance Azure Spring Apps existante.
Sélectionner Azure Spring Apps pour le déploiement : sélectionnez le numéro de l’instance Azure Spring Apps que vous avez créée. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Exposer l’accès public pour cette application : appuyez sur y (oui).
Confirmez pour enregistrer toutes les configurations ci-dessus : appuyez sur y (oui). Si vous entrez N, la configuration n’est pas enregistrée dans les fichiers POM.
Utilisez la commande suivante pour déployer l’application :
./mvnw azure-spring-apps:deploy
La liste suivante décrit l’interaction de commande :
Connexion OAuth2 : vous devez autoriser la connexion à Azure en fonction du protocole OAuth2.
Une fois la commande exécutée, les messages de journal suivants indiquent que le déploiement a réussi :
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-15-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
L’URL d’application de sortie est le point de terminaison permettant d’accéder à l’application todo.
Maintenant que l’environnement cloud est prêt, l’application est prête à être déployée. Utilisez la commande suivante pour déployer l’application :
az spring app deploy \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME} \
--artifact-path web/target/simple-todo-web.jar
Le bouton Déployer sur Azure dans la section suivante lance une expérience du portail Azure qui télécharge un package JAR à partir de la page des versions ASA-Samples-Web-Application sur GitHub. Aucune étape de préparation locale n’est nécessaire.
Bien que vous utilisiez le portail Azure dans les étapes ultérieures, vous devez utiliser la ligne de commande Bash pour préparer le projet localement. Procédez comme suit pour cloner et exécuter l’application localement :
Utilisez la commande suivante pour cloner l’exemple de projet à partir de GitHub :
La liste suivante décrit l’interaction de commande :
Entrez un nouveau nom d’environnement : fournissez un nom d’environnement, qui est utilisé comme suffixe pour le groupe de ressources créé pour contenir toutes les ressources Azure. Ce nom doit être unique dans votre abonnement Azure.
La console génère des messages similaires à l’exemple suivant :
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Préparer l’environnement cloud
Pour exécuter cet exemple, les principales ressources requises sont une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL. Cette section décrit les étapes de création de ces ressources.
Cette section utilise un bouton Déployer sur Azure pour lancer une expérience de déploiement dans le portail Azure. Cette expérience utilise un modèle ARM pour créer des ressources Azure.
3.1. Connectez-vous au portail Azure.
Accédez au Portail Microsoft Azure et entrez vos informations d’identification pour vous connecter au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer des ressources Azure
Pour créer toutes les ressources Azure dont dépend l’application, procédez comme suit :
Sélectionnez le bouton Déployer sur Azure suivant pour lancer l’expérience de déploiement dans le Portail Microsoft Azure :
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Région
La région la plus proche de vos utilisateurs.
La région est utilisée pour créer le groupe de ressources.
Mot de passe de l’administrateur PostgreSQL
S/O
Mot de passe de l’administrateur du serveur PostgreSQL.
Mot de passe de l’utilisateur PostgreSQL
S/O
Mot de passe de l’utilisateur de l’application PostgreSQL, qui est utilisé dans l’application.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour déployer l’application sur Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
Pour créer une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL, procédez comme suit :
3.1. Connectez-vous au portail Azure.
Accédez auportail Azure, entrez vos informations d’identification et connectez-vous au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer une instance Azure Spring Apps
Utilisez la procédure suivante pour créer une instance de service :
Sélectionnez Créer une ressource dans le coin du portail.
Sélectionnez Calcul>Azure Spring Apps.
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Nom
myasa
Nom unique qui identifie votre instance Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
Planification
Consommation standard et dédiée (préversion)
Le plan tarifaire détermine les ressources et le coût associés à votre instance.
Région
La région la plus proche de vos utilisateurs.
L’emplacement géographique le plus proche de vos utilisateurs.
Environnement Container Apps
myacaenv
L’environnement est une limite sécurisée autour d’une ou plusieurs applications conteneur, qui peuvent communiquer entre elles et partager un réseau virtuel, une journalisation et une configuration Dapr.
(Facultatif) Renseignez l’onglet Informations de base avec les informations suivantes pour créer un environnement Container Apps :
Nom de l’environnement : myacaenv
Plan : Consommation
Redondance de zone : Désactivée
Ensuite, sélectionnez Créer pour créer l’environnement Container Apps.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour approvisionner l’instance Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
3.3. Préparer l’instance PostgreSQL
Suivez la procédure ci-dessous pour créer un serveur Azure Database pour PostgreSQL :
Dans le portail Azure, sélectionnez Créer une ressource.
Sélectionnez Base de données>Serveur flexible Azure Database pour PostgreSQL.
Renseignez l’onglet Informations de base avec les informations suivantes :
Mot de passe et Confirmer le mot de passe : entrez un mot de passe.
Configurez l’onglet Mise en réseau avec les informations suivantes :
Méthode de connectivité : Accès public (adresses IP autorisées)
Autoriser l’accès public à partir d’un service Azure dans Azure sur ce serveur : sélectionné
Sélectionnez Vérifier + créer pour passer en revue vos sélections, puis sélectionnez Créer pour approvisionner le serveur. Cette opération peut prendre quelques minutes.
Accédez à votre serveur PostgreSQL dans le portail Azure.
Sélectionnez Bases de données dans le menu de navigation pour créer une base de données, par exemple; Todo.
3.4. Connecter une instance d’application à une instance PostgreSQL
Suivez la procédure ci-dessous pour connecter vos instances de service :
Accédez à votre instance Azure Spring Apps dans le portail Azure.
Dans le volet de navigation, ouvrez Applications, puis sélectionnez Créer une application.
Dans la page Créer une application, pour le nom de l’application, utilisez simple-todo-web, puis sélectionnez Utiliser l’exemple d’application de démarrage rapide pour créer l’application.
Sélectionnez Créer pour terminer la création de l’application, puis sélectionnez l’application pour en afficher les détails.
Sélectionnez Configuration dans le volet de navigation, puis configurez les propriétés suivantes sous l’onglet Variables d’environnement :
SPRING_DATASOURCE_PASSWORD : entrez votre mot de passe.
Sélectionnez Enregistrer pour enregistrer les propriétés de la connexion.
Pour créer une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL, procédez comme suit :
Utilisez la commande suivante pour vous connecter à Azure avec OAuth2. Ignorez cette étape si vous vous êtes déjà connecté.
azd auth login
La console génère des messages similaires à l’exemple suivant :
Logged in to Azure.
Utilisez la commande suivante pour approvisionner l’infrastructure du modèle sur Azure :
azd provision
La liste suivante décrit les interactions de commande :
Sélectionnez un abonnement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez pour filtrer, puis appuyez sur Entrée.
Sélectionnez un emplacement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez pour filtrer, puis appuyez sur Entrée.
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Remarque
Cette commande peut prendre un certain temps. Un indicateur de progression s’affiche au fur et à mesure de l’approvisionnement des ressources Azure.
Le bouton Déployer sur Azure dans la section précédente lance une expérience du portail Azure qui inclut le déploiement d’applications. Vous n’avez donc rien d’autre à faire.
La liste suivante décrit les interactions de commande :
Sélectionner des modules enfants à configurer : sélectionnez le module à configurer, puis entrez le numéro du module Web SimpleTodo.
Connexion OAuth2 : vous devez autoriser la connexion à Azure en fonction du protocole OAuth2.
Sélectionnez un abonnement : sélectionnez le numéro de liste d’abonnements de l’instance Azure Spring Apps créée, qui correspond par défaut au premier abonnement de la liste. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Utiliser Azure Spring Apps dans Azure : appuyez sur y (oui) pour utiliser l’instance Azure Spring Apps existante.
Sélectionner Azure Spring Apps pour le déploiement : sélectionnez le numéro de l’instance Azure Spring Apps que vous avez créée. Si vous utilisez le nombre par défaut, appuyez directement sur Entrée.
Exposer l’accès public pour cette application : appuyez sur y (oui).
Confirmez pour enregistrer toutes les configurations ci-dessus : appuyez sur y (oui). Si vous entrez N, la configuration n’est pas enregistrée dans les fichiers POM.
Utilisez la commande suivante pour déployer l’application :
./mvnw azure-spring-apps:deploy
La liste suivante décrit l’interaction de commande :
Connexion OAuth2 : vous devez autoriser la connexion à Azure en fonction du protocole OAuth2.
Une fois la commande exécutée, les messages de journal suivants indiquent que le déploiement a réussi :
[INFO] Start updating app(simple-todo-web)...
[INFO] App(simple-todo-web) is successfully updated.
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://simple-todo-web.<unique-identifier>.<region-name>.azurecontainerapps.io
L’URL d’application de sortie est le point de terminaison permettant d’accéder à l’application todo.
Vous pouvez maintenant déployer l’application sur Azure Spring Apps. Utilisez la procédure ci-dessous pour empaqueter l’application, approvisionner les ressources Azure requises par l’application web, puis déployer sur Azure Spring Apps :
Utilisez la commande suivante pour empaqueter une copie déployable de votre application :
azd package
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was packaged for Azure in xx seconds.
Utilisez la commande suivante pour déployer le code d’application sur les nouvelles ressources approvisionnées :
azd deploy
La console génère des messages similaires à l’exemple suivant :
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://simple-todo-web.xxx.<your-azure-location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Le Point de terminaison de sortie est le point de terminaison permettant d’accéder à l’application todo.
Remarque
Vous pouvez également utiliser azd up pour combiner les trois commandes précédentes : azd provision (approvisionne les ressources Azure), azd package (empaquette une copie déployable de votre application) et azd deploy (déploie le code de l’application). Pour plus d’informations, consultez Azure-Samples/ASA-Samples-Web-Application.
Le bouton Déployer sur Azure dans la section suivante lance une expérience du portail Azure qui télécharge un package JAR à partir de la page des versions ASA-Samples-Web-Application sur GitHub. Aucune étape de préparation locale n’est nécessaire.
Bien que vous utilisiez le portail Azure dans les étapes ultérieures, vous devez utiliser la ligne de commande Bash pour préparer le projet localement. Procédez comme suit pour cloner et exécuter l’application localement :
Utilisez la commande suivante pour cloner l’exemple de projet à partir de GitHub :
La liste suivante décrit l’interaction de commande :
Entrez un nouveau nom d’environnement : fournissez un nom d’environnement, qui est utilisé comme suffixe pour le groupe de ressources créé pour contenir toutes les ressources Azure. Ce nom doit être unique dans votre abonnement Azure.
La console génère des messages similaires à l’exemple suivant :
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Please enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Préparer l’environnement cloud
Pour exécuter cet exemple, les principales ressources requises sont une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL. Cette section décrit les étapes de création de ces ressources.
Cette section utilise un bouton Déployer sur Azure pour lancer une expérience de déploiement dans le portail Azure. Cette expérience utilise un modèle ARM pour créer des ressources Azure.
3.1. Connectez-vous au portail Azure.
Accédez au Portail Microsoft Azure et entrez vos informations d’identification pour vous connecter au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer des ressources Azure
Pour créer toutes les ressources Azure dont dépend l’application, procédez comme suit :
Sélectionnez le bouton Déployer sur Azure suivant pour lancer l’expérience de déploiement dans le Portail Microsoft Azure :
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Région
La région la plus proche de vos utilisateurs.
La région est utilisée pour créer le groupe de ressources.
Mot de passe de l’administrateur PostgreSQL
N/A
Mot de passe de l’administrateur du serveur PostgreSQL.
Mot de passe de l’utilisateur PostgreSQL
N/A
Mot de passe de l’utilisateur de l’application PostgreSQL, qui est utilisé dans l’application.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour déployer l’application sur Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
Pour créer une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL, procédez comme suit :
3.1. Connectez-vous au portail Azure.
Accédez au Portail Microsoft Azure et entrez vos informations d’identification pour vous connecter au portail. Il s’ouvre par défaut sur le tableau de bord des services.
3.2. Créer une instance Azure Spring Apps
Utilisez la procédure suivante pour créer une instance de service :
Sélectionnez Créer une ressource dans le coin du portail.
Sélectionnez Calcul>Azure Spring Apps.
Renseignez le formulaire dans l’onglet Informations de base. Utilisez le tableau suivant comme guide afin de remplir le formulaire :
Paramètre
Valeur suggérée
Description
Abonnement
Nom de votre abonnement.
Abonnement Azure que vous souhaitez utiliser pour votre serveur. Si vous disposez de plusieurs abonnements, choisissez celui dans lequel vous souhaitez que la ressource soit facturée.
Groupe de ressources
myresourcegroup
Un nouveau nom de groupe de ressources ou un nom de groupe existant dans votre abonnement.
Nom
myasa
Nom unique qui identifie votre instance Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
Planification
De base
Le plan tarifaire détermine les ressources et le coût associés à votre instance.
Région
La région la plus proche de vos utilisateurs.
L’emplacement géographique le plus proche de vos utilisateurs.
Redondant interzone
Non sélectionné
Indique s’il faut créer votre service Azure Spring Apps dans une zone de disponibilité Azure. Actuellement, cette fonctionnalité est prise en charge uniquement dans certaines régions.
Sélectionnez Vérifier et créer pour passer en revue vos sélections. Ensuite, sélectionnez Créer pour approvisionner l’instance Azure Spring Apps.
Dans la barre d’outils, sélectionnez l’icône Notifications (en forme de cloche) pour surveiller le processus de déploiement. Une fois le déploiement terminé, vous pouvez sélectionner Épingler au tableau de bord, ce qui crée une vignette pour ce service dans votre tableau de bord du Portail Microsoft Azure, en tant que raccourci vers la page Vue d’ensemble du service. Sélectionnez Accéder à la ressource pour ouvrir la page Vue d’ensemble du service.
3.3. Préparer l’instance PostgreSQL
Suivez la procédure ci-dessous pour créer un serveur Azure Database pour PostgreSQL :
Dans le portail Azure, sélectionnez Créer une ressource.
Sélectionnez Base de données>Serveur flexible Azure Database pour PostgreSQL.
Renseignez l’onglet Informations de base avec les informations suivantes :
Mot de passe et Confirmer le mot de passe : entrez un mot de passe.
Configurez l’onglet Mise en réseau avec les informations suivantes :
Méthode de connectivité : Accès public (adresses IP autorisées)
Autoriser l’accès public à partir d’un service Azure dans Azure sur ce serveur : sélectionné
Sélectionnez Vérifier + créer pour passer en revue vos sélections, puis sélectionnez Créer pour approvisionner le serveur. Cette opération peut prendre quelques minutes.
Accédez à votre serveur PostgreSQL dans le portail Azure.
Sélectionnez Bases de données dans le menu de navigation pour créer une base de données, par exemple; Todo.
3.4. Connecter une instance d’application à une instance PostgreSQL
Suivez la procédure ci-dessous pour connecter vos instances de service :
Accédez à votre instance Azure Spring Apps dans le portail Azure.
Dans le volet de navigation, ouvrez le volet Applications et sélectionnez Créer une application.
Dans la page Créer une application, pour le nom de l’application, utilisez simple-todo-web et pour la plateforme de runtime, sélectionnez Java 17.
Sélectionnez Créer pour terminer la création de l’application, puis sélectionnez l’application pour afficher les détails.
Sélectionnez Connecteur de service dans le volet de navigation, puis sélectionnez Créer pour créer une nouvelle connexion de service.
Renseignez l’onglet Informations de base avec les informations suivantes :
Type de service : Serveur flexible DB pour PostgreSQL
Nom de connexion : renseigné avec un nom généré automatiquement que vous pouvez modifier.
Abonnement : sélectionnez votre abonnement.
Serveur flexible PostgreSQL : my-demo-pgsql
Base de données PostgreSQL : sélectionnez la base de données que vous avez créée.
Type de client : SpringBoot
Configurez l’onglet Suivant : Authentification avec les informations suivantes :
Sélectionnez le type d’authentification que vous souhaitez utiliser entre votre service de calcul et le service cible. : sélectionnez Chaîne de connexion.
Continuer avec... : sélectionnez Informations d’identification de la base de données.
Nom d’utilisateur : myadmin
Mot de passe : entrez votre mot de passe.
Sélectionnez Suivant : Réseau. Utilisez l’option par défaut Configurer des règles de pare-feu pour activer l’accès au service cible..
Sélectionnez Suivant : Vérifier et créer pour passer en revue vos sélections, puis sélectionnez Créer pour créer la connexion.
Pour créer une instance Azure Spring Apps et une instance Azure Database pour PostgreSQL, procédez comme suit :
Utilisez la commande suivante pour vous connecter à Azure avec OAuth2. Ignorez cette étape si vous êtes déjà connecté.
azd auth login
La console génère des messages similaires à l’exemple suivant :
Logged in to Azure.
Utilisez la commande suivante pour définir le modèle avec le plan standard :
azd env set PLAN standard
Utilisez la commande suivante pour approvisionner l’infrastructure du modèle sur Azure :
azd provision
La liste suivante décrit les interactions de commande :
Sélectionnez un abonnement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez pour filtrer, puis appuyez sur Entrée.
Sélectionnez un emplacement Azure à utiliser : utilisez les flèches pour vous déplacer, tapez pour filtrer, puis appuyez sur Entrée.
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Remarque
Cette commande peut prendre un certain temps. Un indicateur de progression s’affiche au fur et à mesure de l’approvisionnement des ressources Azure.
Le bouton Déployer sur Azure dans la section précédente lance une expérience du portail Azure qui inclut le déploiement d’applications. Vous n’avez donc rien d’autre à faire.
Vous pouvez maintenant déployer l’application sur Azure Spring Apps.
La liste suivante décrit les interactions de commande :
Sélectionner des modules enfants à configurer : sélectionnez le module à configurer, puis entrez le numéro du module Web SimpleTodo.
Connexion OAuth2 : autorisez la connexion à Azure en fonction du protocole OAuth2.
Sélectionnez un abonnement : sélectionnez le numéro de liste d’abonnements de l’instance Azure Spring Apps créée, qui correspond par défaut au premier abonnement de la liste. Si vous utilisez le numéro par défaut, appuyez directement sur Entrée.
Sélectionnez Azure Spring Apps : sélectionnez le numéro de l’instance Azure Spring Apps que vous avez créée. Si vous utilisez le numéro par défaut, appuyez directement sur Entrée.
Exposer l’accès public pour cette application ? : appuyez sur O.
Confirmez pour enregistrer toutes les configurations ci-dessus (O/N) : entrez O. Si vous entrez N, la configuration n’est pas enregistrée dans les fichiers POM.
Utilisez la commande suivante pour déployer l’application :
./mvnw azure-spring-apps:deploy
La liste suivante décrit l’interaction de commande :
Connexion OAuth2 : vous devez autoriser la connexion à Azure en fonction du protocole OAuth2.
Une fois la commande exécutée, les messages de journal suivants indiquent que le déploiement a réussi :
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:simple-todo-web-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(simple-todo-web)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io
L’URL d’application de sortie est le point de terminaison permettant d’accéder à l’application todo.
Vous pouvez maintenant déployer l’application sur Azure Spring Apps. Utilisez la procédure ci-dessous pour empaqueter l’application, approvisionner les ressources Azure requises par l’application web, puis déployer sur Azure Spring Apps :
Utilisez la commande suivante pour empaqueter une copie déployable de votre application :
azd package
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was packaged for Azure in xx seconds.
Utilisez la commande suivante pour déployer le code d’application sur les nouvelles ressources approvisionnées :
azd deploy
La console génère des messages similaires à l’exemple suivant :
Deploying services (azd deploy)
(✓) Done: Deploying service simple-todo-web
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-simple-todo-web.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Le Point de terminaison de sortie est le point de terminaison permettant d’accéder à l’application todo.
Notes
Vous pouvez également utiliser azd up pour combiner les trois commandes précédentes : azd package (empaquette une copie déployable de votre application), azd provision (provisionne les ressources Azure) et azd deploy (déploie le code de l’application). Pour plus d’informations, consultez Azure-Samples/ASA-Samples-Web-Application.
5. Valider l’application web
Vous pouvez maintenant accéder à l’application déployée pour voir si elle fonctionne.
Une fois le déploiement terminé, vous pouvez rechercher l’URL de l’application à partir des sorties de déploiement :
Accédez à l’application avec l’URL de l’application de sortie. La page doit apparaître telle que vous l’avez vue dans localhost.
Consultez les détails de chaque déploiement de ressources, qui sont utiles pour examiner les problèmes de déploiement.
Accédez à l’application avec l’URL de l’application de sortie. La page doit apparaître telle que vous l’avez vue dans localhost.
Utilisez les étapes suivantes pour valider :
Une fois le déploiement terminé, vous pouvez accéder à l’application avec cette URL : https://${AZURE_SPRING_APPS_NAME}-${APP_NAME}.azuremicroservices.io/. La page doit apparaître telle que vous l’avez vue dans localhost.
Pour consulter le journal de l’application afin d’examiner tout problème de déploiement, utilisez la commande suivante :
az spring app logs \
--service ${AZURE_SPRING_APPS_NAME} \
--name ${APP_NAME}
Une fois le déploiement terminé, recherchez l’URL de l’application à partir des sorties de déploiement :
Accédez à l’URL de l’application. La page doit apparaître telle que vous l’avez vue dans localhost.
Consultez les détails de chaque déploiement de ressources, qui sont utiles pour examiner les problèmes de déploiement.
Accédez à l’application avec l’URL de l’application de sortie. La page doit apparaître telle que vous l’avez vue dans localhost.
Accédez à l’application avec le point de terminaison de sortie. La page doit apparaître telle que vous l’avez vue dans localhost.
6. Nettoyer les ressources
Assurez-vous de supprimer les ressources que vous avez créées dans cet article lorsque vous n’en aurez plus besoin. Vous pouvez supprimer le groupe de ressources Azure qui inclut toutes les ressources du groupe de ressources.
Procédez comme suit pour supprimer l’ensemble du groupe de ressources, y compris l’instance de service nouvellement créée :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Procédez comme suit pour supprimer l’ensemble du groupe de ressources, y compris la nouvelle instance de service créée :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Utilisez la commande suivante pour supprimer toutes les ressources Azure utilisées dans cet exemple d’application :
azd down
La liste suivante décrit l’interaction de commande :
Total des ressources à supprimer : <resources-total>, êtes-vous sûr de vouloir continuer ? : appuyez sur O.
La console génère des messages similaires à l’exemple suivant :
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Procédez comme suit pour supprimer l’ensemble du groupe de ressources, y compris la nouvelle instance de service créée :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Procédez comme suit pour supprimer l’ensemble du groupe de ressources, y compris la nouvelle instance de service créée :
Localisez votre groupe de ressources dans le portail Azure. Dans le menu de navigation, sélectionnez Groupes de ressources, puis sélectionnez le nom de votre groupe de ressources.
Dans la page Groupe de ressources, sélectionnez Supprimer. Entrez le nom de votre groupe de ressources dans la zone de texte pour confirmer la suppression, puis sélectionnez Supprimer.
Pour supprimer l’intégralité du groupe de ressources, y compris le serveur que vous venez de créer, utilisez la commande suivante :