Déployer une base de données PostgreSQL

PostgreSQL est un système de gestion de base de données relationnelle d'objet open source. Il est très extensible, hautement évolutif, et a de nombreuses fonctionnalités. PostgreSQL prend en charge la réplication des données dans plusieurs centres de données.

Remarques :

Oracle Cloud Infrastructure (OCI) propose également un service PostgreSQL entièrement géré dans OCI. Vous trouverez plus d'informations ici : Découvrez le meilleur de PostgreSQL avec OCI Database avec PostgreSQL.

Architecture

Cette architecture de référence présente un déploiement classique à trois noeuds d'un cluster PostgreSQL sur des instances Oracle Cloud Infrastructure Compute. Dans cette architecture, les serveurs sont configurés en configuration principale et de secours et utilisent la réplication en continu avec l'expédition des journaux basée sur des fichiers.

Le diagramme suivant illustre cette architecture de référence.

Description de l'image postgre-oci.png
Description de l'illustration postgre-oci.png

postgre-oci-oracle.zip

L'architecture comporte les composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui permet de tolérer les pannes. Les domaines de disponibilité ne partagent pas d'infrastructure comme l'alimentation ou le refroidissement, ou le réseau de domaine de disponibilité interne. Il est donc peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Domaines d'erreur

    Un domaine de panne est un regroupement de matériel et d'infrastructure dans un domaine de disponibilité. Chaque domaine de disponibilité dispose de trois domaines de pannes avec alimentation et matériel indépendants. Lorsque vous distribuez des ressources dans plusieurs domaines de pannes, vos applications peuvent tolérer la panne du serveur physique, la maintenance du système et les pannes d'alimentation dans un domaine de panne.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centres de données traditionnels, les VCN vous donnent un contrôle complet sur votre environnement de réseau. Un VCN peut comporter plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après la création de VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau se compose d'une plage d'adresses contiguë qui ne chevauche pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après la création. Un sous-réseau peut être public ou privé.

    Cette architecture utilise un sous-réseau public pour héberger les trois instances Compute exécutant PostgreSQL. Vous pouvez choisir d'utiliser un sous-réseau privé si votre architecture l'exige.

  • VPN site à site

    Le VPN site à site fournit une connectivité VPN IPSec entre votre réseau on-premise et vos réseaux cloud virtuels dans Oracle Cloud Infrastructure. La suite de protocoles IPSec crypte le trafic IP avant que les paquets soient transférés de la source vers la destination. Elle le décrypte lorsqu'il arrive.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect permet de créer facilement une connexion privée dédiée entre votre centre de données et Oracle Cloud Infrastructure. FastConnect offre des options de bande passante plus élevée et une expérience sur réseau plus fiable par rapport aux connexions Internet.

  • Passerelle de routage dynamique

    Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux cloud virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau dans un autre fournisseur cloud.

    Cette architecture présente une passerelle de routage dynamique (DRG) facultative pour un sous-réseau privé.

  • Passerelle Internet

    La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un réseau VCN et le réseau Internet public.

  • Passerelle NAT (Network Address Translation)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans les exposer aux connexions Internet entrantes.

  • Service de bastion

    Oracle Cloud Infrastructure Bastion fournit un accès sécurisé limité et limité dans le temps aux ressources qui ne disposent pas d'adresses publiques et qui nécessitent des contrôles stricts d'accès aux ressources, telles que les machines virtuelles et Bare Metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) et toute autre ressource autorisant l'accès SSH (Secure Shell Protocol). Avec le service Oracle Cloud Infrastructure Bastion, vous pouvez activer l'accès à des hôtes privés sans déployer ni gérer d'hôte de saut. En outre, vous gagnez en posture de sécurité avec des droits d'accès basés sur l'identité et une session SSH centralisée, auditée et liée au temps. Oracle Cloud Infrastructure Bastion élimine le besoin d'une adresse IP publique pour accéder au bastion, ce qui élimine le problème et la surface d'attaque potentielle lors de la fourniture d'un accès à distance.

  • Table de routage

    Les tables de routage virtuelles contiennent des règles permettant d'acheminer le trafic de sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.

  • Listes de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés dans et hors du sous-réseau.

    Cette architecture ajoute des règles d'entrée pour le port TCP 5432. Les serveurs PostgreSQL écoutent sur le port TCP 5432.

  • Volume de blocs

    Avec les volumes de stockage de blocs, vous pouvez créer, attacher, connecter et déplacer des volumes de stockage, et modifier leurs performances pour répondre à vos exigences en matière de stockage, de performances et d'application. Une fois qu'un volume est attaché et connecté à une instance, vous pouvez l'utiliser comme un disque dur classique. Vous pouvez également déconnecter un volume et l'attacher à une autre instance sans perdre de données.

  • PostgreSQL

    PostgreSQL est un système de gestion de base de données relationnelle open source (SGBDR) hautement extensible et évolutif. Elle prend en charge les requêtes SQL (relationnelles) et JSON (non relationnelles).

Recommandations

Vos exigences peuvent différer de l'architecture décrite ici. Utiliser les recommandations suivantes comme point de départ.

  • Calculer les formes

    Cette architecture utilise une image de système d'exploitation Oracle Linux 9 avec VM.Standard.E4. Forme flexible. Vous pouvez choisir une autre forme si les besoins en ressources de votre application sont différents.

  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher à des sous-réseaux dans VCN. Utiliser les blocs CIDR qui se trouvent dans l'espace d'adresse IP privé standard.

    Sélectionnez une plage d'adresses qui ne chevauche pas votre réseau sur site, de sorte que vous puissiez configurer une connexion entre VCN et votre réseau sur site, si nécessaire.

    Une fois que vous avez créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de fonctionnalités et de sécurité. Attachez toutes les instances de calcul du même niveau ou rôle au même sous-réseau.

    Utilisez les sous-réseaux régionaux.

Remarques

  • Evolutivité

    Cette architecture déploie le noeud maître PostgreSQL dans un domaine d'erreur et les noeuds de secours dans les deux autres domaines d'erreur.

    Vous pouvez mettre à l'échelle verticale le cluster PostgreSQL en modifiant la forme de la machine virtuelle de chaque noeud Compute. L'utilisation d'une forme avec un nombre de noyaux supérieur augmente également la mémoire allouée à l'instance Compute et à la bande passante réseau.

  • Disponibilité de l'application

    Les domaines de pannes offrent la meilleure résilience au sein d'un domaine de disponibilité unique. Cette architecture utilise une autre approche de la haute disponibilité : déployer des instances Compute qui effectuent les mêmes tâches sur plusieurs domaines d'erreur. Cette conception supprime un seul point de défaillance en introduisant la redondance.

    Une fois l'architecture déployée, vous pouvez vous connecter à l'adresse IP publique du noeud PostgreSQL à l'aide d'outils SSH tels que PuTTY ou Git Bash. Vous pouvez utiliser psql pour les opérations DDL et DML sur la base de données PostgreSQL. Vous pouvez utiliser l'outil pgAdmin pour effectuer des opérations d'administration.

  • Coût

    Sélectionnez une forme de machine virtuelle (VM) basée sur les coeurs, la mémoire et la bande passante réseau dont vous avez besoin pour votre base de données. Vous pouvez commencer par une forme à noyau unique et si vous avez besoin de plus de performances, de mémoire ou de bande passante réseau pour le noeud de base de données, vous pouvez modifier la forme de machine virtuelle ultérieurement.

Journal des modifications

Ce journal répertorie les modifications importantes :

Revenus

  • Author: Lukasz Feldman
  • Contributor: Wei Han