La réplication est la possibilité de créer des copies d'une instance Cloud SQL et de décharger les tâches vers les copies.
Introduction
La principale raison de l'utilisation de la réplication est de procéder au scaling de l'utilisation des données dans une base de données sans dégrader les performances.
Les autres raisons de la réplication incluent la migration des données entre régions.
De plus, si une instance d'origine est corrompue, une instance répliquée peut être promue en instance autonome (dans ce cas, les instances répliquées existantes ne considèrent pas cette instance comme instance principale).
Lorsque vous faites référence à une instance Cloud SQL, l'instance répliquée est appelée instance principale et les copies sont appelées instances dupliquées avec accès en lecture. L'instance principale et les instances dupliquées avec accès en lecture résident toutes dans Cloud SQL.
Lorsque la première instance dupliquée est créée :
- L'instance principale est définie sur le modèle de récupération complet pour toutes les bases de données sur l'instance principale.
Un disque temporaire est créé, et une sauvegarde complète est effectuée et stockée sur le disque temporaire. Le disque temporaire est supprimé une fois le processus de création de l'instance dupliquée terminé.
Si, au cours de la période de création de la première instance répliquée, l'utilisateur passe au modèle de récupération simple, la création de l'instance répliquée échoue.
Les remarques suivantes s'appliquent aux bases de données ajoutées à l'instance principale après la création des instances dupliquées :
- Les bases de données sont automatiquement ajoutées aux groupes de disponibilité et renseignées dans les instances répliquées à l'aide de l'amorçage automatique.
- Chaque création d'instance dupliquée appelle une sauvegarde complète (modèle de récupération complet) des bases de données sur l'instance principale. Les connexions et les objets serveur créés après la réplication ne sont pas répliqués.
Cloud SQL est compatible avec les types d'instances dupliquées suivants :
- Instances dupliquées avec accès en lecture
- Instances dupliquées interrégionales avec accès en lecture
- Instances répliquées en cascade avec accès en lecture
Grâce à l'application des connecteurs, vous pouvez n'autoriser que le proxy d'authentification Cloud SQL ou les connecteurs de langage Cloud SQL pour vous connecter aux instances Cloud SQL. Avec cette option d'imposition de connecteurs, Cloud SQL rejette les connexions directes à la base de données. Vous ne pouvez pas créer d'instances dupliquées avec accès en lecture pour une instance pour laquelle l'application des connecteurs est activée. De même, si une instance comporte des instances dupliquées avec accès en lecture, vous ne pouvez pas activer l'application des connecteurs pour cette instance.
Cloud SQL n'est pas compatible avec la réplication entre deux serveurs externes.
Instances dupliquées avec accès en lecture
Vous utilisez une instance dupliquée avec accès en lecture pour décharger les tâches d'une instance Cloud SQL. L'instance dupliquée avec accès en lecture est une copie exacte de l'instance principale. Les données et autres modifications de l'instance principale sont mises à jour quasiment en temps réel sur l'instance dupliquée avec accès en lecture.
Les instances dupliquées avec accès en lecture sont accessibles en lecture seule et il est impossible d'y effectuer des opérations d'écriture. L'instance dupliquée avec accès en lecture traite les requêtes, les requêtes de lecture et le trafic d'analyse, réduisant ainsi la charge sur l'instance principale. Vous pouvez avoir jusqu'à 8 instances dupliquées avec accès en lecture par instance principale.
Vous vous connectez à une instance dupliquée directement à l'aide de son nom de connexion et de son adresse IP. Si vous vous connectez à une instance dupliquée à l'aide d'une adresse IP privée, vous n'avez pas besoin de créer une connexion VPC privée supplémentaire pour l'instance dupliquée, car la connexion est héritée de l'instance principale.
Pour savoir comment créer ce type d'instance, consultez la page Créer des instances dupliquées avec accès en lecture. Pour en savoir plus sur la gestion des instances dupliquées avec accès en lecture, consultez la page Gérer les instances dupliquées avec accès en lecture.
Il est recommandé de placer les instances dupliquées avec accès en lecture dans une zone différente de celle de l'instance principale lorsque vous utilisez la haute disponibilité sur votre instance principale. Cette pratique garantit que les instances dupliquées avec accès en lecture continuent de fonctionner lorsque la zone qui contient l'instance principale subit une panne. Pour plus d'informations, consultez la page Présentation de la haute disponibilité.
Sélectionner un type de machine approprié
Les instances dupliquées avec accès en lecture peuvent avoir un type de machine différent de celui de l'instance principale. Vous devez surveiller les métriques de votre instance, telles que l'utilisation du processeur et de la mémoire, pour vous assurer que l'instance dupliquée est dimensionnée correctement pour sa charge de travail, en particulier si elle est plus petite que l'instance principale. Une instance dupliquée sous-dimensionnée est plus susceptible d'offrir des performances médiocres, par exemple avec des événements de mémoire insuffisante.
Instances dupliquées interrégionales avec accès en lecture
La réplication interrégionale vous permet de créer une instance dupliquée avec accès en lecture dans une région différente de celle de l'instance primaire. Vous créez une instance dupliquée interrégionale avec accès en lecture de la même manière que vous créez une instance dupliquée régionale.
Dans le cas des instances répliquées avec accès en lecture SQL Server, il est supposé que l'instance répliquée se trouve sur le même réseau virtuel que l'instance répliquée principale ou qu'elles communiquent à l'aide d'une adresse IP publique.Les instances dupliquées interrégionales :
- améliorent les performances de lecture en rapprochant les instances dupliquées de la région de votre application ;
- fournissent une fonctionnalité de reprise après sinistre supplémentaire afin de se protéger contre une défaillance régionale ;
- vous permettent de migrer des données d'une région à une autre ;
Pour en savoir plus sur les instances dupliquées interrégionales, consultez la page Promouvoir des instances dupliquées pour la migration régionale ou la reprise après sinistre.
Instances répliquées en cascade avec accès en lecture
La réplication en cascade vous permet 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, dans la même région ou dans une région différente. Les instances répliquées en cascade sont implémentés à l'aide de groupes de disponibilité distribués. Voici quelques cas d'utilisation d'instances répliquées en cascade :
- Reprise après sinistre : vous pouvez utiliser une hiérarchie en cascade d'instances répliquées avec accès en lecture pour simuler la topologie correspondant à votre instance principale et à ses instances répliquées avec accès en lecture. Lors d'une panne, l'instance répliquée avec accès en lecture que vous avez sélectionnée est promue en instance principale et les instances répliquées avec accès en lecture subordonnées à cette nouvelle instance principale continuent d'être répliquées et sont prêtes à être utilisées. L'ancienne instance principale devient une instance secondaire de la nouvelle instance principale lorsqu'elle est disponible. Vous pouvez ensuite revenir à l'ancienne instance principale une fois qu'elle est rétablie à l'aide d'un basculement. Pour en savoir plus sur l'utilisation des instances répliquées en cascade pour la reprise après sinistre, consultez la section À propos de la reprise après sinistre.
- Amélioration des performances : réduisez la charge sur l'instance principale en déchargeant le travail de réplication sur plusieurs instances répliquées avec accès en lecture.
- Scaling des lectures : vous pouvez disposer d'un plus grand nombre d'instances répliquées pour partager la charge de lecture.
- Réduction des coûts : vous pouvez réduire les coûts de mise en réseau en utilisant une seule instance répliquée en cascade, associée à une réplication interrégionale dans d'autres régions.
Terminologie
- Instance répliquée en cascade : instance répliquée interrégionale avec accès en lecture pouvant être utilisée pour des opérations de basculement et basculement de l'instance répliquée lors d'une reprise après sinistre avancée avec Cloud SQL pour SQL Server.
- Instance répliquée en cascade : instance répliquée avec accès en lecture qui peut avoir sa propre instance répliquée.
- Niveaux : vous pouvez créer des niveaux d'instances répliquées dans une hiérarchie d'instances répliquées en cascade. Par exemple, si vous ajoutez quatre instances répliquées à une instance, ces quatre instances répliquées se trouvent au même niveau.
- Instances sœurs : plusieurs instances répliquées qui sont répliquées à partir de la même instance principale. Ces instances sœurs sont au même niveau dans la hiérarchie des instances répliquées. Une instance répliquée peut officiellement comporter jusqu'à huit instances sœurs.
- Instance répliquée terminale : instance répliquée avec accès en lecture qui ne comporte aucune instance répliquée d'elle-même. Dans une hiérarchie de réplication à plusieurs niveaux, l'instance répliquée terminale constitue le dernier niveau.
- Promouvoir : action qui convertit une instance répliquée, à n'importe quel niveau de la hiérarchie, en instance principale. Une fois la promotion effectuée, la hiérarchie d'instances répliquées en cascade applicable à cette instance répliquée est conservée.
Configurer des instances répliquées en cascade
Les instances répliquées en cascade vous permettent d'ajouter des instances répliquées avec accès en lecture à n'importe quelle instance répliquée existante. Vous pouvez ajouter jusqu'à quatre niveaux d'instances répliquées, y compris l'instance principale. Lorsque vous promouvez l'instance répliquée en haut d'une hiérarchie d'instances répliquées en cascade, celle-ci devient une instance principale et la réplication en cascade des instances qui lui sont hiérarchiquement inférieures est conservée.
Pour en savoir plus sur la configuration des groupes de disponibilité distribués, consultez la section Configurer un groupe de disponibilité distribué Always On.
Restrictions
- Vous ne pouvez pas supprimer une instance répliquée qui contient des instances répliquées. Pour supprimer l'instance répliquée, vous devez commencer par les instances répliquées terminales qu'elle contient et remonter ainsi dans la hiérarchie.
- La dépendance circulaire au sein d'une région n'est pas acceptée. Pour que l'instance répliquée d'une instance répliquée en cascade se trouve dans la même région que l'instance principale, l'instance répliquée en cascade doit également se trouver dans la même région.
- Vous devez créer des instances répliquées pour cascade dans une région différente de celle de l'instance principale. Vous pouvez ensuite créer des instances répliquées en cascade dans la même région que celle de l'instance répliquée pour cascade.
Cas d'utilisation de la réplication
Les cas d'utilisation suivants s'appliquent à chaque type de réplication.
Nom | Instance principale | Instance dupliquée | Avantages et cas d'utilisation | En savoir plus |
---|---|---|---|---|
Instance dupliquée avec accès en lecture | Instance Cloud SQL | Instance Cloud SQL |
|
|
Instance dupliquée interrégionale avec accès en lecture | Instance Cloud SQL | Instance Cloud SQL |
|
|
Réplication SQL Server | Instance externe à Cloud SQL | Instance Cloud SQL pour SQL Server |
|
Facturation
- Une instance dupliquée avec accès en lecture est facturée au même tarif qu'une instance Cloud SQL standard. La réplication des données est gratuite.
- La tarification d'une instance dupliquée interrégionale avec accès en lecture est la même que pour créer une instance Cloud SQL dans la région. Reportez-vous à la section Tarifs de l'instance Cloud SQL et sélectionnez la région appropriée. En plus du coût standard associé à l'instance, une instance répliquée interrégionale génère des frais de transfert de données inter-régions pour les journaux de réplication envoyés depuis l'instance principale vers l'instance répliquée, comme décrit dans la section Tarifs de sortie du réseau.
Guide de référence pour les instances dupliquées avec accès en lecture de Cloud SQL
Sujet | Discussion |
---|---|
Sauvegardes | Vous ne pouvez pas configurer de sauvegarde sur une instance dupliquée. |
Cœurs et mémoire | Les instances dupliquées avec accès en lecture peuvent utiliser un nombre de cœurs et une quantité de mémoire différents de ceux de l'instance principale. |
Supprimer l'instance principale | Pour pouvoir supprimer une instance principale, vous devez supprimer toutes les instances répliquées avec accès en lecture qui lui sont associées ou les promouvoir en instances autonomes. |
Supprimer l'instance dupliquée | La suppression d'une instance dupliquée n'a aucune incidence sur l'état de l'instance principale. |
Supprimer une base de données répliquée | Vous pouvez supprimer une base de données SQL Server répliquée à l'aide de Google Cloud Console ou de la commande gcloud . La suppression se propage automatiquement aux instances dupliquées. Vous ne pouvez pas supprimer une base de données SQL Server répliquée à l'aide des commandes T-SQL. |
Basculement | Une instance principale ne peut basculer vers une instance répliquée que s'il s'agit d'une instance répliquée de DR. Les instances répliquées avec accès en lecture ne peuvent en aucun cas basculer en cas de panne. |
Équilibrage de charge | Cloud SQL n'assure pas l'équilibrage de charge entre les instances dupliquées. |
Intervalles de maintenance | Les instances répliquées avec accès en lecture partagent des intervalles de maintenance avec l'instance principale. Les instances répliquées suivent les paramètres de maintenance de l'instance principale, y compris l'intervalle de maintenance, la reprogrammation et la période de refus de maintenance. Pendant la maintenance, Cloud SQL met d'abord à jour toutes les instances répliquées avec accès en lecture avant de mettre à jour l'instance principale. |
Instances dupliquées avec accès en lecture multiples | Vous pouvez créer jusqu'à 8 instances dupliquées avec accès en lecture pour une seule instance principale. |
Adresse IP privée | Si vous vous connectez à une instance dupliquée à l'aide d'une adresse IP privée, vous n'avez pas besoin de créer une connexion VPC privée supplémentaire pour l'instance dupliquée, car elle est héritée de l'instance principale. |
Restauration de l'instance principale | Vous ne pouvez pas restaurer l'instance principale d'une instance répliquée tant que celle-ci existe. Avant de restaurer une instance à partir d'une sauvegarde ou d'effectuer une récupération à un moment précis, vous devez promouvoir ou supprimer toutes les instances dupliquées qui lui sont associées. |
Paramètres | Les paramètres de l'instance principale sont propagés vers l'instance dupliquée, y compris les modifications apportées aux données sur les utilisateurs qui peuvent accéder à l'instance. |
Arrêt d'une instance dupliquée | Vous ne pouvez pas utiliser la commande stop sur une instance dupliquée. Vous pouvez utiliser la commande restart ou delete , mais vous ne pouvez pas l'arrêter comme vous le feriez avec une instance principale. |
Mettre à jour une instance dupliquée | Les instances dupliquées avec accès en lecture peuvent à tout moment faire l'objet d'une mise à jour perturbatrice. |
Tables utilisateur | Vous ne pouvez pas apporter de modifications à l'instance dupliquée. Toutes les modifications apportées aux utilisateurs doivent être effectuées sur l'instance principale. |
Limites
Cette fonctionnalité s'applique uniquement aux versions suivantes de Cloud SQL pour SQL Server :
- SQL Server 2017 Enterprise
- SQL Server 2019 Enterprise
- SQL Server 2022 Enterprise
Les connexions ne sont pas propagées aux instances dupliquées.
Vous devez surveiller votre instance dupliquée à l'aide de T-SQL et/ou de SQL Server Management Studio.
Avant de supprimer une base de données, vous devez fermer vos connexions.
Lorsque vous créez une instance dupliquée, l'instance principale ne peut contenir aucune base de données en mode mono-utilisateur. Sinon, la création de l'instance dupliquée échoue.
Étape suivante
- Apprenez à créer une instance dupliquée avec accès en lecture.
- Apprenez à configurer la haute disponibilité d'une instance.