Hybrid Cloud est une conception d'architecture courante dans toute entreprise. Ce concept combine un cloud public, un cloud privé et même des solutions sur site permettant aux entreprises d'avoir une flexibilité sur l'endroit où stocker et comment utiliser leurs données. Il contribue également à la mise en œuvre d'un environnement haute disponibilité. Le problème est que le déploiement de ce type d'environnement pourrait être une tâche difficile et chronophage. Dans ce blog, nous verrons ce qu'est le Cloud Hybride, quelques considérations à prendre en compte avant de l'utiliser, et comment déployer cet environnement à l'aide de ClusterControl.
Qu'est-ce que le cloud hybride ?
Il s'agit d'une topologie qui utilise un mélange de cloud privé et public, et même de services sur site. Cela ressemble à un environnement multi-cloud, mais la principale différence est que ce concept fait spécifiquement référence aux combinaisons de public et de privé, ce qui pourrait également inclure le sur site.
Considérations sur les bases de données cloud hybrides
Le passage à un environnement hybride est différent pour chaque entreprise car elles ont leur propre ensemble unique de données, d'exigences, de limitations et de processus qui vont avec.
Voyons quelques considérations à prendre en compte lors de la planification de ce type de topologie.
-
Conformité :veillez à sélectionner un fournisseur spécialisé dans votre secteur et connaissant les mesures de conformité uniques qui doivent être respectées, qu'il s'agisse de HIPAA, FISMA, PCI ou de toute autre réglementation à laquelle votre entreprise a souscrit. En fin de compte, votre stratégie de gestion de base de données doit être déterminée par l'architecture qui répondra le mieux aux besoins de votre entreprise et évoluera avec vous au fur et à mesure de votre croissance.
-
Charges de travail :chaque base de données a des charges de travail différentes. Certains d'entre eux s'en sortiront mieux dans un cloud public, d'autres sur site et d'autres dans un cloud privé. Connaître votre charge de travail est essentiel pour trouver la meilleure combinaison pour vos bases de données.
-
Gestion et maintenance :un nouvel environnement signifie une nouvelle façon de le gérer et de maintenir les données. Assurez-vous d'avoir les bonnes pièces et les personnes en place pour gérer ces nouveaux environnements doivent être déterminées avant de faire le saut.
Comment déployer PostgreSQL dans un environnement cloud hybride
Nous supposerons que vous avez une installation ClusterControl en cours d'exécution et que vous avez déjà créé deux comptes de fournisseur de cloud différents, ou un compte si vous utilisez un cloud public et privé dans le même fournisseur de cloud, ou si vous utilisez un combinaison d'environnements cloud et sur site.
Préparer votre environnement cloud
Tout d'abord, vous devez créer votre environnement dans votre fournisseur de cloud principal. Dans ce cas, nous utiliserons AWS avec 2 nœuds PostgreSQL :
Assurez-vous que le trafic SSH et PostgreSQL est autorisé depuis votre serveur ClusterControl en modifier votre groupe de sécurité :
Ensuite, accédez au fournisseur de cloud secondaire, ou aux serveurs privés ou sur site, et créez au moins une machine virtuelle qui sera le nœud de secours.
Et encore une fois, assurez-vous d'autoriser le trafic SSH et PostgreSQL depuis votre serveur ClusterControl :
Dans ce cas, nous autorisons le trafic sans aucune restriction sur la source, mais ce n'est qu'un exemple et il n'est pas recommandé dans la vraie vie.
Déployer un cluster PostgreSQL
Allez sur votre serveur ClusterControl et sélectionnez l'option "Déployer". Si vous avez déjà une instance PostgreSQL en cours d'exécution, vous devez sélectionner "Importer un serveur/une base de données existants" à la place.
Lorsque vous sélectionnez PostgreSQL, vous devez spécifier l'utilisateur, la clé ou le mot de passe et le port pour vous connecter par SSH à vos nœuds PostgreSQL. Vous avez également besoin du nom de votre nouveau cluster et si vous souhaitez que ClusterControl installe le logiciel et les configurations correspondants pour vous.
Veuillez vérifier les exigences utilisateur de ClusterControl pour plus d'informations sur cette étape.
Après avoir configuré les informations d'accès SSH, vous devez définir l'utilisateur, la version et le répertoire de données (facultatif) de la base de données. Vous pouvez également spécifier le référentiel à utiliser. À l'étape suivante, vous devez ajouter vos serveurs au cluster que vous allez créer.
Lors de l'ajout de vos serveurs, vous pouvez entrer l'IP ou le nom d'hôte. Dans cette étape, vous pouvez également ajouter le nœud placé dans le fournisseur de cloud secondaire ou sur site, car ClusterControl n'a aucune limitation sur le réseau à utiliser, mais pour le rendre plus clair, nous l'ajouterons dans le prochain section. La seule exigence ici est d'avoir un accès SSH au nœud.
Dans la dernière étape, vous pouvez choisir si votre réplication sera synchrone ou asynchrone.
Si vous ajoutez votre nœud distant ici, il est important d'utiliser la réplication asynchrone, sinon, votre cluster pourrait être affecté par la latence ou les problèmes de réseau.
Vous pouvez surveiller l'état de création dans le moniteur d'activité de ClusterControl.
Une fois la tâche terminée, vous pouvez voir votre nouveau cluster PostgreSQL dans l'écran principal de ClusterControl.
Ajout d'un nœud de secours distant
Une fois que vous avez créé votre cluster, vous pouvez y effectuer plusieurs tâches, comme déployer/importer un équilibreur de charge ou un nœud de réplication.
Accédez aux actions du cluster et sélectionnez "Ajouter un esclave de réplication" :
Utilisons l'option "Ajouter un nouvel esclave de réplication" car nous supposons que le nœud distant est une nouvelle installation, sinon, vous pouvez utiliser l'option "Importer un esclave de réplication existant" à la place.
Ici, il vous suffit de choisir votre serveur principal, d'entrer l'adresse IP de votre nouveau serveur de secours et le port de la base de données. Ensuite, vous pouvez choisir si vous souhaitez que ClusterControl installe le logiciel et si la réplication doit être synchrone ou asynchrone. Encore une fois, si vous ajoutez un nœud à un emplacement différent (différent fournisseur de cloud ou sur site), vous devez utiliser la réplication asynchrone pour éviter les problèmes liés aux performances du réseau.
De cette façon, vous pouvez ajouter autant de répliques que vous le souhaitez et répartir le trafic de lecture entre elles à l'aide d'un équilibreur de charge, que vous pouvez également implémenter avec ClusterControl.
Vous pouvez surveiller la création du nœud de réplication dans le moniteur d'activité de ClusterControl.
Et vérifiez votre topologie finale dans la section Vue de la topologie.
Conclusion
Ces fonctionnalités de ClusterControl vous permettront de mettre en place rapidement la réplication dans un environnement Hybrid Cloud, entre différents Cloud Providers, voire entre un Cloud Provider et un environnement On-prem, pour une base de données PostgreSQL (et différentes technologies), et de gérer la configuration dans une manière simple et conviviale. Concernant la communication entre les Fournisseurs de Cloud, ou entre Cloud Privé et Public, pour des raisons de sécurité, vous devez limiter le trafic uniquement à partir de sources connues, afin de réduire le risque d'accès non autorisé à votre réseau.