À propos de la réplication depuis un serveur externe

Cette page décrit une configuration permettant de répliquer les données d'un serveur de base de données source vers des instances dupliquées Cloud SQL de deuxième génération. On parle également de configuration d'instance maître externe.

N'importe quel serveur MySQL peut agir en tant que serveur de base de données source, même s'il est exécuté sur un autre service GCP (tel que Compute Engine) ou auprès d'un autre fournisseur cloud (comme AWS RDS), à condition qu’ils respectent la configuration requise.

Pour obtenir des instructions détaillées sur la mise en place de cette configuration, consultez la page Réplication depuis un serveur externe.

Cas d'utilisation

Cette configuration vous permet d'atteindre les objectifs suivants :

  1. Migrer les données de votre serveur MySQL autogéré vers GCP avec un temps d'arrêt minimal.

    Dans le cas d'une migration, la configuration de la réplication est temporaire. Pour en savoir plus, consultez la section Migrer des données vers Cloud SQL.

  2. Garder le contrôle sur votre serveur et conserver la colocation tout en laissant à Cloud SQL le soin d'administrer les instances dupliquées.

    Ce cas d'utilisation est parfois appelé cloud hybride. La réplication entre votre serveur autogéré et l'instance dupliquée Cloud SQL se poursuit indéfiniment.

Description de la configuration

Cette configuration exploite les instances suivantes :

  • Le serveur MySQL que vous gérez, également appelé serveur de base de données source
  • L'instance dupliquée Cloud SQL

    Un même serveur de base de données source peut disposer de plusieurs instances dupliquées.

  • L'instance de représentation source

    Il s'agit d'une instance Cloud SQL qui représente le serveur de base de données source auprès de l'instance dupliquée Cloud SQL. Elle est visible dans la console GCP et apparaît comme une instance Cloud SQL standard, mais elle ne contient aucune donnée, ne nécessite aucune configuration ni maintenance, et n'affecte pas la facturation. Vous ne pouvez pas mettre à jour l'instance de représentation source.

Le schéma ci-dessous illustre ces instances :

Schéma des trois instances qui forment une configuration de réplication externe

Configuration SSL/TLS

Pour que la réplication depuis un serveur externe soit possible, le serveur de base de données source et les instances dupliquées Cloud SQL doivent s'échanger toutes les modifications apportées aux données via des réseaux publics. C'est pourquoi vous devriez toujours utiliser le protocole SSL/TLS pour les connexions entre le serveur de base de données source et les instances dupliquées.

Options SSL/TLS

Vous avez le choix entre deux configurations SSL/TLS :

  • Authentification serveur

    L'instance dupliquée authentifie l'instance maître lorsqu'elle s'y connecte. Cela garantit une connexion au bon hôte et permet d'empêcher toute attaque de type "homme du milieu". L'instance maître n'authentifie pas l'instance dupliquée.

  • Authentification serveur-client

    L'instance dupliquée authentifie l'instance maître lorsqu'elle s'y connecte, et l'instance maître authentifie l'instance dupliquée.

En règle générale, il est préférable d'utiliser l'authentification serveur-client, qui offre une meilleure sécurité. Toutefois, si vous ne souhaitez pas fournir le certificat client et la clé privée lors de la création de l'instance dupliquée, vous pouvez opter pour une authentification serveur.

Préparer l'authentification serveur

Pour utiliser l'authentification serveur, vous devez fournir (au moment de la création de l'instance dupliquée) le certificat X.509 de l'autorité de certification qui a délivré le certificat du serveur externe, encodé au format PEM. L'autorité de certification ne doit comporter qu'un seul certificat, qui doit être autosigné. (En d'autres termes, l'autorité de certification qui a délivré le certificat du serveur doit être une autorité de certification racine.)

Pour en savoir plus sur la création de certificats et de clés pour votre serveur externe, consultez la page Créer des certificats et clés SSL et RSA à l'aide de MySQL.

Préparer l'authentification serveur-client

Pour utiliser l'authentification serveur-client, vous devez fournir les éléments suivants lors de la création de l'instance dupliquée :

  • Le certificat X.509 de l'autorité qui a délivré le certificat du serveur de base de données source (caCertificate), encodé au format PEM
  • Le certificat X.509 qui permettra à l'instance dupliquée de s'authentifier auprès du serveur de base de données source (clientCertificate), encodé au format PEM
  • La clé privée non chiffrée PKCS#1 ou PKCS#8 associée au certificat clientCertificate (clientKey), encodée au format PEM

Pour en savoir plus sur la création de certificats et de clés pour votre serveur de base de données source, consultez la page Creating SSL and RSA Certificates and Keys using MySQL.

À propos de la création de plusieurs instances dupliquées à partir du même serveur de base de données source

Vous pouvez créer plusieurs instances dupliquées à partir du même serveur de base de données source. Vous voudrez peut-être augmenter la bande passante ou créer des instances dupliquées dans différentes régions.

Si vous créez plusieurs instances dupliquées au sein d'une même région, elles peuvent toutes utiliser la même instance de représentation source, ou bien des instances différentes. Lorsque vous créez plusieurs instances dupliquées à l'aide de la console GCP, elles possèdent des instances de représentation sources différentes.

Si vous créez plusieurs instances dupliquées dans diverses régions, elles doivent posséder des instances de représentation sources différentes.

Vous ne pouvez pas créer plus d'une instance dupliquée au cours de la même opération. Une fois que vous avez fini de configurer la réplication de la première instance dupliquée, vous pouvez faire de même pour les autres instances dupliquées. Vous n'avez pas besoin d'attendre que la première instance dupliquée soit complètement opérationnelle pour en créer d'autres. Veillez toutefois à terminer l'étape d'autorisation d'accès au réseau dans les 15 minutes qui suivent la création de chaque instance dupliquée.