Aller au contenu principal

RDS : PostgreSQL sur AWS

Introduction

Pour déployer l'application GitGuardian, une instance PostgreSQL est requise. Cette page est dédiée à vous aider à mettre en place un PostgreSQL sur AWS via RDS.

Haute disponibilité

AWS gère le failover en mettant à jour un enregistrement DNS. Cela permet zéro indisponibilité pour la maintenance planifiée, les mises à niveau et redémarrages.

Installation

Depuis la console AWS

Pour créer un PostgreSQL depuis la console AWS, nous recommandons de suivre la documentation officielle.

Nous recommandons d'utiliser le template Production car il contient des valeurs par défaut sensées pour un cluster prêt pour la production.

Vous devez définir les champs suivants :

  • Assurez-vous que Multi-AZ deployment est défini sur Create a standby instance.
  • Assurez-vous que Database authentication options est défini sur Password authentication.
  • Définissez Master Username selon votre préférence ou conservez la valeur par défaut postgres.
  • Définissez le Master password ou auto-générez-le. Vous devez sauvegarder cette valeur car elle est nécessaire pour configurer l'application GitGuardian.

Avec Terraform

Pour créer une instance PostgreSQL avec TF, vous avez besoin des ressources suivantes :

En plus des champs requis par Terraform, nous exigeons que les champs suivants soient définis :

  • engine=postgres : le nom du moteur de base à utiliser pour ce cluster DB.
  • username=<POSTGRES_USERNAME> : nom d'utilisateur du master DB user.
  • password=<POSTGRES_PASSWORD> : mot de passe du master DB user.

Installation de plugins (comme pgvector)

Pour installer un plugin sur RDS, votre utilisateur a besoin du rôle rds_superuser. Ce rôle est accordé sur votre utilisateur master RDS par défaut.

Ce rôle n'est nécessaire que pour l'installation de plugins ; l'utilisateur configuré dans l'application GitGuardian n'a pas besoin de ce rôle.