Conexión de un servicio existente de Azure App Service a un servidor de Azure Database for MySQL

SE APLICA A: Azure Database for MySQL: Servidor único

Importante

El servidor único de Azure Database for MySQL está en la ruta de retirada. Se recomienda encarecidamente actualizar al servidor flexible de Azure Database for MySQL. Para más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué ocurre con Azure Database for MySQL con servidor único?

En este tema se explica cómo conectar un servicio existente de Azure App Service a un servidor de Azure Database for MySQL.

Antes de empezar

Inicie sesión en Azure Portal. Cree de un servidor de Azure Database for MySQL. Para obtener más información, consulte Creación de un servidor de Azure Database for MySQL con Azure Portal o Creación de un servidor de Azure Database for MySQL con la CLI de Azure.

Actualmente hay dos soluciones para habilitar el acceso desde un servicio de Azure App Service a un servidor de Azure Database for MySQL. En ambas soluciones hay que configurar las reglas de firewall de nivel de servidor.

Solución 1: permitir los servicios de Azure

Azure Database for MySQL proporciona seguridad de acceso mediante un firewall para proteger los datos. Al conectarse desde un servicio de Azure App Service a un servidor de Azure Database for MySQL server, tenga en cuenta que las direcciones IP de salida de App Service son de naturaleza dinámica. Si elige la opción "Permitir el acceso a servicios de Azure", permite que App Service se conecte al servidor de MySQL.

  1. En la hoja del servidor de MySQL, en el encabezado Configuración, haga clic en Seguridad de conexión para abrir la hoja Seguridad de conexión para Azure Database for MySQL.

    Azure portal - click Connection Security

  2. Seleccione ON en Permitir el acceso a servicios de Azure y luego Guardar. Azure portal - Allow Azure access

Solución 2: crear una regla de firewall para permitir explícitamente las direcciones IP de salida

Puede agregar explícitamente todas las IP de salida de su Azure App Service.

  1. En la hoja de propiedades de App Service, consulte su DIRECCIÓN IP DE SALIDA.

    Azure portal - View outbound IPs

  2. En la hoja de Seguridad de conexión de MySQL, agregue las direcciones IP de salida una por una.

    Azure portal - Add explicit IPs

  3. No olvide Guardar las reglas de firewall.

Aunque el Azure App Service intenta que no se modifiquen las direcciones IP con el tiempo, hay casos en los que pueden cambiar las direcciones IP. Por ejemplo, esto se produce cuando se recicla la aplicación o cuando se realiza una operación de escala, o cuando se añaden nuevos equipos en los centros de datos regionales de Azure para aumentar la capacidad. Cuando cambian las direcciones IP, la aplicación podría experimentar un tiempo de inactividad en caso de que ya no pueda conectarse al servidor MySQL. Tenga esto en cuenta al elegir una de las soluciones anteriores.

Configuración de SSL

Azure Database for MySQL tiene SSL habilitado de forma predeterminada. Si la aplicación no usa SSL para conectarse a la base de datos, debe deshabilitar SSL en el servidor MySQL. Para más información sobre cómo configurar SSL, consulte Uso de SSL con Azure Database for MySQL.

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'}
        }
    }
}

Pasos siguientes

Para obtener más información sobre las cadenas de conexión, consulte Cadenas de conexión.