Connecter un service Azure App Service existant à un serveur de base de données Azure pour MySQLConnect an existing Azure App Service to Azure Database for MySQL server

Cette rubrique explique comment connecter un service Azure App Service existant à votre serveur de base de données Azure pour MySQL.This topic explains how to connect an existing Azure App Service to your Azure Database for MySQL server.

Avant de commencerBefore you begin

Connectez-vous au portail Azure.Sign in to the Azure portal. Créez un serveur de base de données Azure pour MySQL.Create an Azure Database for MySQL server. Pour plus d’informations, reportez-vous à Guide pratique pour créer un serveur de base de données Azure pour MySQL à partir du portail ou à Guide pratique pour créer un serveur de base de données Azure pour MySQL à l’aide de l’interface CLI.For details, refer to How to create Azure Database for MySQL server from Portal or How to create Azure Database for MySQL server using CLI.

Il existe actuellement deux solutions pour activer l’accès à partir d’un service Azure App Service vers une base de données Azure pour MySQL.Currently there are two solutions to enable access from an Azure App Service to an Azure Database for MySQL. Ces deux solutions impliquent de configurer des règles de pare-feu au niveau du serveur.Both solutions involve setting up server-level firewall rules.

Solution 1 - Autoriser les services AzureSolution 1 - Allow Azure services

La base de données Azure pour MySQL fournit une sécurité d’accès à l’aide d’un pare-feu afin de protéger vos données.Azure Database for MySQL provides access security using a firewall to protect your data. Lors de la connexion d’un service Azure App Service à une base de données Azure pour MySQL, gardez à l’esprit que les adresses IP sortantes d’App Service sont dynamiques par nature.When connecting from an Azure App Service to Azure Database for MySQL server, keep in mind that the outbound IPs of App Service are dynamic in nature. Choisir l’option « Autoriser l’accès aux services Azure » permet au service d’application de se connecter au serveur MySQL.Choosing the "Allow access to Azure services" option will allow the app service to connect to the MySQL server.

  1. Dans le panneau du serveur MySQL, sous le titre Paramètres, cliquez sur Sécurité de la connexion pour ouvrir le panneau Sécurité de la connexion pour la base de données Azure pour MySQL.On the MySQL server blade, under the Settings heading, click Connection Security to open the Connection Security blade for Azure Database for MySQL.

    Portail Azure - cliquez sur Sécurité des connexions

  2. Sélectionnez ON dans Autoriser l’accès aux services Azure, puis Enregistrer.Select ON in Allow access to Azure services, then Save. Portail Azure - Autoriser l’accès à AzureAzure portal - Allow Azure access

Solution 2 - Créer une règle de pare-feu pour autoriser explicitement des adresses IP sortantesSolution 2 - Create a firewall rule to explicitly allow outbound IPs

Vous pouvez ajouter explicitement toutes les adresses IP sortantes de votre service Azure App Service.You can explicitly add all the outbound IPs of your Azure App Service.

  1. Dans le panneau Propriétés d’App Service, affichez votre ADRESSE IP SORTANTE.On the App Service Properties blade, view your OUTBOUND IP ADDRESS.

    Portail Azure - Afficher des adresses IP sortantes

  2. Dans le panneau Sécurité de la connexion de MySQL, ajoutez une par une des adresses IP sortantes.On the MySQL Connection security blade, add outbound IPs one by one.

    Portail Azure - Ajouter des adresses IP explicites

  3. N’oubliez pas d’Enregistrer vos règles de pare-feu.Remember to Save your firewall rules.

Bien que le service Azure App Service tente de maintenir les adresses IP constantes au fil du temps, il existe des cas où les adresses IP peuvent changer.Though the Azure App service attempts to keep IP addresses constant over time, there are cases where the IP addresses may change. Par exemple, cela peut se produire quand l’application est recyclée, qu’une opération de mise à l’échelle se produit ou que de nouveaux ordinateurs sont ajoutés dans des centres de données régionaux Azure pour accroître la capacité.For example, this can occur when the app recycles or a scale operation occurs, or when new computers are added in Azure regional data centers to increase capacity. Quand les adresses IP changent, l’application peut subir des temps d’arrêt s’il ne peut plus se connecter au serveur MySQL.When the IP addresses change, the app could experience downtime in the event it can no longer connect to the MySQL server. Gardez cet élément de considération à l’esprit au moment de choisir l’une des solutions précédentes.Keep this consideration in mind when choosing one of the preceding solutions.

Configuration SSLSSL configuration

SSL est activé par défaut dans la base de données Azure pour MySQL.Azure Database for MySQL has SSL enabled by default. Si votre application n’utilise pas le protocole SSL pour se connecter à la base de données, vous devez le désactiver sur le serveur MySQL.If your application is not using SSL to connect to the database, then you need to disable SSL on the MySQL server. Pour plus d’informations sur la configuration de SSL, consultez Utilisation de SSL avec une base de données Azure pour MySQL.For details on how to configure SSL, see Using SSL with Azure Database for MySQL.

Django (PyMySQL)Django (PyMySQL)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'quickstartdb',
        'USER': 'myadmin@mydemoserver',
        'PASSWORD': 'yourpassword',
        'HOST': 'mydemoserver.mysql.database.azure.com',
        'PORT': '3306',
        'OPTIONS': {
            'ssl': {'ssl-ca': '/var/www/html/BaltimoreCyberTrustRoot.crt.pem'}
        }
    }
}

Étapes suivantesNext steps

Pour plus d’informations sur les chaînes de connexion, reportez-vous à Chaînes de connexions.For more information about connection strings, refer to Connection Strings.