Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeurs pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Déploiement d'un cluster PostgreSQL sur des instances Oracle Cloud Infrastructure Compute
Introduction
PostgreSQL est un système de gestion de base de données relationnelle objet open source. Il est hautement extensible, hautement évolutif et possède de nombreuses fonctionnalités. PostgreSQL prend en charge la réplication de données dans plusieurs centres de données.
Ce tutoriel présente un déploiement à trois noeuds standard d'un cluster PostgreSQL sur des instances Oracle Cloud Infrastructure (OCI) Compute. Dans ce tutoriel, les serveurs sont configurés dans la configuration principale et de secours et utilisent la réplication en continu.
Vous trouverez les instructions d'automatisation ici : terraform-oci-arch-postgresql.
Remarque :
postgis34
etpgvector
seront automatiquement installés.
Diagramme d'architecture
Objectifs
-
Déployez un cluster PostgreSQL à trois noeuds.
-
Modifiez le code en fonction de vos besoins.
Prérequis
-
Droits d'accès permettant de gérer les ressources suivantes dans votre location OCI : réseaux cloud virtuels, passerelles Internet, tables de routage, listes de sécurité, sous-réseaux et instances.
-
Créez les ressources suivantes :
- 1 VCN,
- 1 Sous-réseau,
- 1 Passerelle Internet,
- 1 Règles de routage, et
- 3 instances de calcul (1 instance maître principale PostgreSQL et 2 instances de secours de PostgreSQL).
Tâche 1 : déploiement du code Terraform à l'aide d'OCI Resource Manager
Le déploiement peut être effectué de deux manières, à l'aide de l'interface de ligne de commande (CLI) terraform ou d'OCI Resource Manager. Dans ce tutoriel, nous allons utiliser OCI Resource Manager.
Pour l'interface de ligne de commande terraform, reportez-vous à la documentation du référentiel ici : terraform-oci-arch-postgresql.
-
Cliquez sur l'image suivante pour démarrer le processus OCI Resource Manager qui déploiera les ressources.
-
Si vous n'êtes pas déjà connecté, entrez la location et les informations d'identification utilisateur, vérifiez et acceptez les conditions générales, sélectionnez la région et le compartiment dans lesquels la pile doit résider, puis cliquez sur Suivant pour passer à l'étape suivante de Configuration des variables.
-
Dans Configurer des variables, entrez les informations suivantes pour configurer les variables.
- Compartiment : sélectionnez le compartiment dans lequel déployer les ressources.
- Domaine de disponibilité pour le maître PostgreSQL : sélectionnez le domaine de disponibilité pour l'instance de calcul maître.
- Version PostgreSQL : vous pouvez sélectionner les versions 9.6, 10, 11, 12 ou 13.
- PostgreSQL Mot de passe : définissez un mot de passe pour accéder à PostgreSQL.
- Déployer le premier PostgreSQL HotStandby : sélectionnez cette option si vous voulez déployer la première base de données de secours.
- Déployer le deuxième PostgreSQL HotStandby : sélectionnez cette option si vous voulez déployer la deuxième base de données de secours.
- Créer dans un sous-réseau privé : sélectionnez cette option si vous voulez que les instances soient créées dans un sous-réseau privé.
Remarque :
- Le déploiement des premier et deuxième noeuds PostgreSQL HotStandby vous permet de déployer un, deux ou trois noeuds.
- Si vous choisissez de créer un sous-réseau privé, un service OCI Bastion sera créé pour autoriser l'accès.
-
Cliquez sur Afficher les options avancées pour entrer des informations supplémentaires sur les variables configurables.
- Configuration facultative du réseau : vous permet de spécifier les CIDR de VCN et de sous-réseau et de créer ou non une passerelle de routage dynamique (DRG).
- Configuration facultative de calcul, de stockage et de sauvegarde : permet d'ajouter une clé SSH publique pour accéder aux instances PostgreSQL et configurer les sauvegardes.
- PostgreSQL Configuration facultative principale : indiquez le domaine de pannes, la forme, l'UC et la mémoire de l'instance maître PostgreSQL pour les formes flexibles.
- PostgreSQL HotStandby1 Configuration facultative : indiquez PostgreSQL, domaine de disponibilité de la première instance de secours, domaine de pannes, forme, UC et mémoire pour les formes flexibles.
- PostgreSQL HotStandby2 Configuration facultative : indiquez PostgreSQL deuxième domaine de disponibilité d'instance de secours, domaine de pannes, forme, UC et mémoire pour les formes flexibles.
-
Cliquez sur Suivant pour vérifier les informations.
Remarque :
- Désélectionnez Exécuter l'application si vous voulez d'abord exécuter un plan.
- Si vous sélectionnez Exécuter l'application, la commande terraform apply est déclenchée et les ressources sont automatiquement provisionnées.
-
Cliquez sur Créer.
Tâche 2 : détruire le déploiement
Pour détruire vos ressources, accédez simplement à la page Détails de la pile et cliquez sur Détruire.
Comprendre l'installation et la configuration de PostgreSQL
Ces informations sont utiles si vous devez modifier le fonctionnement de PostgreSQL.
Cela vous aidera à comprendre :
-
Où se trouvent exactement l'installation et la configuration.
-
Ordre dans lequel les scripts sont exécutés.
-
Présentation générale de la fonction de chaque script.
Remarque : Cette rubrique ne traite pas de la personnalisation de l'automatisation. Selon les modifications, il peut être nécessaire de modifier plusieurs fichiers terraform.
-
Les fichiers importants que nous utilisons dans ce tutoriel sont :
remote.tf
: fichier Terraform dans lequel les scripts sont déployés sur chaque instance PostgreSQL.scripts/postgresql_install_binaries.sh
: installe le serveur PostgreSQL, certaines extensions et configure le pare-feu.scripts/postgresql_master_initdb.sh
: initialise la base de données.scripts/postgresql_master_setup.sh
: configure la réplique pour PostgreSQL standby1.scripts/postgresql_master_setup2.sh
: configure la réplique pour PostgreSQL standby2.scripts/postgresql_standby_setup.sh
: configuration supplémentaire pour les répliques telles que le pare-feu, le nombre maximal de connexions et la modification dereplica.conf
.
-
Les scripts sont exécutés dans l'ordre suivant :
scripts/postgresql_install_binaries.sh
: s'exécute sur l'instance maître PostgreSQL.scripts/postgresql_master_initdb.sh
s'exécute sur l'instance maître PostgreSQL.scripts/postgresql_install_binaries.sh
s'exécute sur l'instance PostgreSQL standby1.scripts/postgresql_install_binaries.sh
s'exécute sur l'instance PostgreSQL standby2.scripts/postgresql_master_setup.sh
s'exécute sur l'instance maître PostgreSQL.scripts/postgresql_master_setup2.sh
s'exécute sur l'instance maître PostgreSQL.scripts/postgresql_standby_setup.sh
s'exécute sur l'instance PostgreSQL standby1.scripts/postgresql_standby_setup.sh
s'exécute sur l'instance PostgreSQL standby2.
Remerciements
- Auteur - Gabriel Feodorov (ingénieur cloud senior)
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir la documentation produit, consultez le site Oracle Help Center.
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25659-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.