À propos de la réplication depuis un serveur externe

Cette page décrit une configuration qui duplique les données d'un serveur de base de données source sur des instances dupliquées MySQL. On parle également de configuration d'instance maître externe.

Le serveur de base de données source peut être n'importe quel serveur MySQL, y compris les serveurs s'exécutant sur d'autres services Google Cloud (comme Compute Engine) ou sur d'autres fournisseurs cloud (tels qu'AWS RDS), sous réserve qu'ils répondent aux exigences.

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 vos données de votre serveur MySQL autogéré vers Google Cloud avec un temps d'arrêt minimal.

  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 Cloud Console et semble identique à une instance Cloud SQL classique, 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 devez 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 principale 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 principale n'authentifie pas l'instance dupliquée.

  • Authentification serveur-client

    Lorsque l'instance dupliquée se connecte à l'instance principale, l'instance dupliquée authentifie l'instance principale et l'instance principale authentifie l'instance dupliquée.

Utilisez l'authentification serveur-client, qui offre la 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 :

  • Certificat X.509 encodé au format PEM de l'autorité qui a délivré le certificat du serveur de base de données source (caCertificate)
  • Certificat X.509 encodé au format PEM qui permettra à l'instance dupliquée de s'authentifier auprès du serveur de base de données source (clientCertificate)
  • Clé privée non chiffrée PKCS#1 ou PKCS#8 associée au clientCertificate (clientKey) et 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. Si vous utilisez Cloud Console pour créer plusieurs instances dupliquées, leurs instances de représentation sources seront 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.