Tutoriel : déployer une application sur Azure Spring Apps et la connecter au serveur flexible Azure Database pour MySQL à l’aide du connecteur de services
Dans ce tutoriel, vous allez effectuer les tâches suivantes à l’aide du Portail Azure ou d’Azure CLI. Les deux méthodes sont expliquées dans les procédures suivantes.
- Provisionner une instance d’Azure Spring Apps
- Générer et déployer des applications sur Azure Spring Apps
- Intégrer Azure Spring Apps avec Azure Database pour MySQL avec le connecteur de services
Avertissement
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure demande un degré de confiance très élevé dans l'application et comporte des risques qui ne sont pas présents dans d'autres flux. Vous ne devez utiliser ce flux que si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.
Prérequis
- Installez JDK 8 ou JDK 11
- Souscrire à un abonnement Azure
- Installez Azure CLI version 2.0.67 ou ultérieure et installez l’extension Azure Spring Apps avec la commande :
az extension add --name spring
Provisionner une instance d’Azure Spring Apps
La procédure suivante utilise l’extension Azure CLI pour provisionner une instance d’Azure Spring Apps.
Mettez à jour Azure CLI avec l’extension Azure Spring Apps.
az extension update --name spring
Connectez-vous à Azure CLI et choisissez votre abonnement actif.
az login az account list -o table az account set --subscription <Name or ID of subscription, skip if you only have 1 subscription>
Créez un groupe de ressources pour contenir votre application et une instance du service Azure Spring Apps.
az group create --name ServiceConnector-tutorial-mysqlf --location eastus
Créez une instance d’Azure Spring Apps. Le nom doit comporter entre 4 et 32 caractères et peut contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom de l’instance Azure Spring Apps doit être une lettre et le dernier doit être une lettre ou un chiffre.
az spring create -n my-azure-spring -g ServiceConnector-tutorial-mysqlf
Créer un serveur flexible Azure Database pour MySQL
Créer une instance de serveur flexible MySQL. Dans la commande ci-dessous, remplacez <admin-username>
et <admin-password>
par les informations d’identification de votre choix pour créer un utilisateur administrateur pour le serveur flexible MySQL. Le nom d’utilisateur de l’administrateur ne doit pas être azure_superuser, azure_pg_admin, admin, administrator, root, guest ou public. Il ne peut pas commencer par pg_ . Le mot de passe doit contenir entre 8 et 128 caractères appartenant à 3 des catégories suivantes : lettres majuscules, lettres minuscules en anglais, chiffres et caractères non alphanumériques (par exemple, !
, #
, %
). Le mot de passe ne peut pas contenir username
.
az mysql flexible-server create \
--resource-group ServiceConnector-tutorial-mysqlf \
--name mysqlf-server \
--database-name mysqlf-db \
--admin-user <admin-username> \
--admin-password <admin-password>
Le serveur est créé avec les valeurs par défaut suivantes, sauf si vous les remplacez manuellement :
Paramètre | Valeur par défaut | Description |
---|---|---|
server-name | Générée par le système | Un nom unique qui identifie votre serveur Azure Database pour MySQL. |
sku-name | GP_Gen5_2 | Nom du la référence SKU. Suit la convention {niveau tarifaire}_{génération de calcul}_{vCores} dans le raccourci. Par défaut, il s’agit d’un serveur à usage général de 5e génération à 2 vCores. Pour plus d’informations sur les tarifs, consultez notre page de tarifs. |
backup-retention | 7 | Durée pendant laquelle la sauvegarde doit être conservée. Exprimée en jours. |
geo-redundant-backup | Désactivé | Indique si les sauvegardes géoredondantes doivent être activées ou non pour ce serveur. |
location | westus2 | Emplacement Azure du serveur. |
ssl-enforcement | activé | Indique si le protocole SSL doit être activé ou non pour ce serveur. |
storage-size | 5120 | Capacité de stockage du serveur (en mégaoctets). |
version | 5.7 | Version principale de MySQL. |
Notes
La référence SKU Standard_B1ms est utilisée par défaut. Pour plus d’informations sur la tarification, consultez la Tarification d’Azure Database pour MySQL.
Notes
Pour plus d’informations sur la commande az mysql flexible-server create
et ses paramètres supplémentaires, consultez la documentation Azure CLI.
Génération et déploiement de l’application
Créez l’application avec un point de terminaison public affecté. Si vous avez sélectionné Java version 11 pendant la génération du projet Azure Spring Apps, incluez le commutateur
--runtime-version=Java_11
.az spring app create -n hellospring -s my-azure-spring -g ServiceConnector-tutorial-mysqlf --assign-endpoint true
Exécutez la commande
az spring connection create
pour connecter l’application déployée sur Azure Spring Apps à la base de données serveur flexible MySQL. Remplacez les espaces réservés suivants par vos propres informations.az spring connection create mysql-flexible \ --resource-group ServiceConnector-tutorial-mysqlf \ --service my-azure-spring \ --app hellospring \ --target-resource-group ServiceConnector-tutorial-mysqlf \ --server mysqlf-server \ --database mysqlf-db \ --secret name=<admin-username> secret=<admin-secret>
Paramètre Description --resource-group
Nom du groupe de ressources contenant l’application hébergée par Azure Spring Apps. --service
Le nom de la ressource Azure Spring Apps. --app
Nom de l’application hébergée par Azure Spring Apps qui se connecte au service cible. --target-resource-group
Le nom du groupe de ressources avec le compte de stockage. --server
Sélectionnez le serveur flexible MySQL auquel vous souhaitez vous connecter --database
Nom de la base de données que vous avez créée précédemment. --secret name
Nom d’utilisateur du serveur flexible MySQL. --secret
Mot de passe du serveur flexible MySQL. Notes
Si vous voyez le message d’erreur « L’abonnement n’est pas inscrit pour utiliser Microsoft.ServiceLinker », exécutez
az provider register -n Microsoft.ServiceLinker
pour inscrire le fournisseur de ressources Service Connector et réexécutez la commande de connexion.Cloner l’exemple de code
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
Générez le projet avec Maven.
cd serviceconnector-springcloud-mysql-springboot mvn clean package -DskipTests
Déployez le fichier JAR pour l’application
target/demo-0.0.1-SNAPSHOT.jar
.az spring app deploy \ --name hellospring \ --service my-azure-spring \ --resource-group ServiceConnector-tutorial-mysqlf \ --artifact-path target/demo-0.0.1-SNAPSHOT.jar
Interrogez l’état de l’application après le déploiement à l’aide de la commande suivante.
az spring app list --resource-group ServiceConnector-tutorial-mysqlf --service my-azure-spring --output table
Vous devez normalement voir la sortie suivante.
Name Location ResourceGroup Public Url Production Deployment Provisioning State CPU Memory Running Instance Registered Instance Persistent Storage Bind Service Registry Bind Application Configuration Service ----------- ---------- -------------------------------- --------------------------------------------------------- ----------------------- -------------------- ----- -------- ------------------ --------------------- -------------------- ----------------------- ---------------------------------------- hellospring eastus ServiceConnector-tutorial-mysqlf https://my-azure-spring-hellospring.azuremicroservices.io default Succeeded 1 1Gi 1/1 0/1 - -
Étapes suivantes
Suivez les tutoriels ci-dessous pour en savoir plus sur Service Connector.