À 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 de serveur 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 (tels que Cloud SQL ou Compute Engine) ou sur d'autres fournisseurs cloud (tels qu'Amazon RDS), s'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 de la configuration d'un serveur externe

La configuration du serveur externe vous aide à 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.

Configuration de la réplication externe

La configuration de la réplication externe inclut 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 Google Cloud 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.

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 tous apporter des modifications aux données.

Si la connexion est établie sur un réseau public (à l'aide de listes d'autorisations d'adresses IP), Google recommande d'utiliser le chiffrement SSL/TLS pour la connexion entre les bases de données source et de destination.

Cloud SQL offre les options suivantes pour la configuration SSL/TLS:

  • Remarque : l'instance de destination Cloud SQL se connecte à la base de données source sans chiffrement.
  • Authentification serveur

  • Authentification serveur-client

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.

Pour utiliser l'authentification serveur uniquement, lors de la création de l'instance dupliquée, fournissez le certificat encodé au format PEM x509 de l'autorité de certification qui a signé le certificat du serveur externe. 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 signé le certificat du serveur doit être une autorité de certification racine.

Authentification serveur-client

L'instance dupliquée authentifie l'instance principale lorsqu'elle s'y connecte, ce qui authentifie l'instance dupliquée.

L'authentification serveur-client offre le niveau de sécurité le plus élevé. 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 uniquement.

Pour utiliser l'authentification serveur-client, fournissez 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

Plusieurs instances dupliquées provenant du même serveur de base de données

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 la console Google Cloud 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.

Instances répliquées en cascade pour un serveur externe

Les instances répliquées avec accès en lecture en cascade vous permettent de créer une instance répliquée avec accès en lecture qui soit hiérarchiquement intégrée à une autre instance répliquée avec accès en lecture, située dans la même région ou dans une région différente. Vous pouvez définir jusqu'à quatre niveaux d'instances répliquées en cascade, l'instance principale étant incluse dans ces quatre niveaux. Lorsque vous promouvez une instance répliquée en la plaçant tout en haut d'une hiérarchie d'instances répliquées en cascade, celle-ci devient l'instance principale et la réplication en cascade des instances qui lui sont hiérarchiquement inférieures est conservée.

Dans le cas de serveurs externes, vous pouvez créer des instances répliquées avec accès en lecture qui soit hiérarchiquement intégrée à une instance répliquée de serveur externe après avoir migré vos données, mais avant de promouvoir l'instance répliquée de serveur externe en instance principale. Cela vous permet de tester les topologies d'instances répliquées avec accès en lecture avant de promouvoir l'instance répliquée de serveur externe.