Partager via


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

Provisionner une instance d’Azure Spring Apps

La procédure suivante utilise l’extension Azure CLI pour provisionner une instance d’Azure Spring Apps.

  1. Mettez à jour Azure CLI avec l’extension Azure Spring Apps.

    az extension update --name spring
    
  2. 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>
    
  3. 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
    
  4. 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

  1. 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
    
  2. 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.

  3. Cloner l’exemple de code

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-mysql-springboot.git
    
  4. Générez le projet avec Maven.

    cd serviceconnector-springcloud-mysql-springboot
    mvn clean package -DskipTests 
    
  5. 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
    
  6. 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.