Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Démarrer avec le niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Déployer une grappe PostgreSQL sur des instances de calcul Oracle Cloud Infrastructure
Présentation
PostgreSQL est un système de gestion de base de données relationnelle d'objet à source ouverte. Il est hautement extensible, hautement évolutif et possède de nombreuses fonctionnalités. PostgreSQL prend en charge la réplication des données dans plusieurs centres de données.
Ce tutoriel présente un déploiement à trois noeuds standard d'une grappe PostgreSQL sur des instances de calcul Oracle Cloud Infrastructure (OCI). 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.
Note : Il installe automatiquement
postgis34
etpgvector
.
Diagramme d'architecture
Objectifs
-
Déployez une grappe PostgreSQL à trois noeuds.
-
Modifiez le code pour mieux répondre à vos besoins.
Préalables
-
Autorisation de gérer les ressources suivantes dans votre location OCI : réseaux en nuage 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 principale PostgreSQL et 2 instances de secours de PostgreSQL).
Tâche 1 : Déployer le code Terraform à l'aide du gestionnaire de ressources OCI
Le déploiement peut être effectué de deux façons, à l'aide de l'interface de ligne de commande (CLI) terraform ou du gestionnaire de ressources OCI. Dans ce tutoriel, nous allons utiliser le gestionnaire de ressources OCI.
Pour l'interface de ligne de commande terraform, voir la documentation du référentiel ici : terraform-oci-arch-postgresql.
-
Cliquez sur l'image suivante pour démarrer le processus du gestionnaire de ressources OCI qui déploiera les ressources.
-
Si vous n'êtes pas déjà connecté, entrez les données d'identification de la location et de l'utilisateur, vérifiez et acceptez les conditions générales, sélectionnez la région, le compartiment dans lequel la pile doit résider et cliquez sur Suivant pour passer à l'étape suivante à Configurer les variables.
-
Dans Configurer des variables, entrez les informations suivantes pour configurer les variables.
- Compartiment : Sélectionnez le compartiment dans lequel vous voulez déployer les ressources.
- Domaine de disponibilité pour l'instance de calcul principale PostgreSQL : Sélectionnez le domaine de disponibilité de l'instance de calcul principale.
- Version de 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 la première base de données de secours PostgreSQL HotStandby : Sélectionnez cette option si vous voulez déployer la première base de données de secours.
- Déployer la deuxième base de données de secours 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é.
Note :
- 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 dans un sous-réseau privé, un service d'hôte bastion OCI 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 : Cela vous permet de spécifier les blocs CIDR de VCN et de sous-réseau et de créer ou non une passerelle de routage dynamique.
- Configuration facultative de calcul, de stockage et de sauvegarde : Cela vous permet d'ajouter une clé SSH publique pour accéder aux instances PostgreSQL et configurer les sauvegardes.
- PostgreSQL Configuration facultative principale : Spécifiez le domaine d'erreur, la forme, l'UC et la mémoire de l'instance principale PostgreSQL pour les formes flexibles.
- PostgreSQL HotStandby1 Configuration facultative : Spécifiez le premier domaine de disponibilité d'instance de secours PostgreSQL, le domaine d'erreur, la forme, l'UC et la mémoire pour les formes flexibles.
- PostgreSQL HotStandby2 Configuration facultative : Spécifiez le deuxième domaine de disponibilité, le domaine d'erreur, la forme, l'UC et la mémoire de l'instance de secours PostgreSQL pour les formes flexibles.
-
Cliquez sur Suivant pour vérifier les informations.
Note :
- 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 le provisionnement des ressources est lancé automatiquement.
-
Cliquez sur Créer.
Tâche 2 : Supprimer le déploiement
Pour détruire vos ressources, il vous suffit d'accéder à la page Détails de la pile et de cliquer sur Détruire.
Comprendre comment PostgreSQL est installé et configuré
Ces informations sont utiles si vous devez modifier le fonctionnement de PostgreSQL.
Cela vous aidera à comprendre :
-
Où se trouve exactement l'installation et la configuration.
-
Ordre dans lequel les scripts sont exécutés.
-
Un aperçu général de ce que fait chaque script.
Note : Cette section ne traite pas de la personnalisation de l'automatisation. Selon les modifications, il peut nécessiter des modifications dans 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 pare-feu, nombre maximal de connexions, modification dereplica.conf
.
-
Les scripts sont exécutés dans l'ordre suivant :
scripts/postgresql_install_binaries.sh
: S'exécute sur l'instance principale PostgreSQL.scripts/postgresql_master_initdb.sh
S'exécute sur l'instance principale 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 principale PostgreSQL.scripts/postgresql_master_setup2.sh
S'exécute sur l'instance principale 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.
Confirmation
- Auteur - Gabriel Feodorov (ingénieur en nuage principal)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Deploy a PostgreSQL Cluster on Oracle Cloud Infrastructure Compute Instances
G25658-01
January 2025
Copyright ©2025, Oracle and/or its affiliates.