Skip to main content

RDS : PostgreSQL on AWS

Introduction#

To deploy the GitGuardian app, a PostgreSQL instance is required. This page is dedicated to helping you setup a PostgreSQL on AWS using RDS.

Note: The GitGuardian application is bundled with a basic PostgreSQL. This PostgreSQL can be used for testing but is not meant to be production-ready.

High-Availability#

AWS handles failover by updating a DNS record. This allows zero downtime for planned maintenance, upgrades and reboots.

Installation#

From the AWS Console#

To create a PostgreSQL from the AWS Console, we recommend following the official documentation.

We recommend you use the Production template as it contains sensible defaults for a production-ready cluster.

You need to set the following fields:

  • Ensure Multi-AZ deployment is set to Create a standby instance.
  • Ensure Database authentication options is set to Password authentication.
  • Set the Master Username to your liking or keep the default postgres.
  • Set the Master password or Auto generate it. You must save this value as it is required to configure the GitGuardian application.

Using Terraform#

To create a PostgreSQL instance using TF, you need the following resources:

In addition to the fields required by Terraform, we require the following fields to be set:

  • engine=postgresql - The name of the database engine to be used for this DB cluster.
  • username=<POSTGRES_USERNAME> - Username for the master DB user.
  • password=<POSTGRES_PASSWORD> - Password for the master DB user.