AWS Aurora PostgreSQL

Amazon Aurora is a fully managed relational database engine that's compatible with PostgreSQL. Aurora includes a high-performance storage subsystem. Its PostgreSQL-compatible database engines are customized to take advantage of that fast distributed storage. The underlying storage grows automatically as needed. An Aurora cluster volume can grow to a maximum size of 128 tebibytes (TiB). Aurora also automates and standardizes database clustering and replication, which are typically among the most challenging aspects of database configuration and administration.

View Source Code
Deployments

62

Made by

Massdriver

Official

Yes

No

Compliance

AWS Aurora PostgreSQL

Amazon Aurora (Aurora) is a fully managed relational database engine that’s compatible with PostgreSQL. You already know how PostgreSQL combines the speed and reliability of high-end commercial databases with the simplicity and cost-effectiveness of open-source databases. The code, tools, and applications you use today with your existing PostgreSQL databases can be used with Aurora. With some workloads, Aurora can deliver up to three times the throughput of PostgreSQL without requiring changes to most of your existing applications.

Aurora includes a high-performance storage subsystem. Its PostgreSQL-compatible database engines are customized to take advantage of that fast distributed storage. The underlying storage grows automatically as needed. An Aurora cluster volume can grow to a maximum size of 128 tebibytes (TiB). Aurora also automates and standardizes database clustering and replication, which are typically among the most challenging aspects of database configuration and administration.

Aurora is part of the managed database service Amazon Relational Database Service (Amazon RDS). Amazon RDS is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.

Design Decisions

  • Aurora Clusters can only be provisioned on internal or private subnets.
  • A KMS key is created for encryption and retained after cluster deletion.
  • Tags are copied to snapshots.
  • Daily snapshots are configured.
  • Root username and password are automatically generated to reduce exposure.
    • Username is generated when not being restored from snapshot, otherwise it will use the snapshots username note
    • Password is reset on snapshot restore
  • No schema is created by default.
  • No blue/green support as it is not supported for PostgreSQL yes.
  • Instances AZs are auto-assigned by AWS
  • 2 artifacts, one for the writer, one for the readers. If no readers the writer will be present here so you can
    • For applications that dont use load balanced reader, the writer endpoint can be read from
  • Minimum retention period for backups is 1 day, as they cannot be disabled in Aurora

Caveats

  • IAM Authentication is not implemented, but on our roadmap. Please add a comment/thumbs up on this issue and we will prioritize.
  • RDS Proxy is not implemented, but on our roadmap. Please add a comment/thumbs up on this issue and we will prioritize.
  • Backup Plans are not implemented, but on our roadmap. Please add a comment/thumbs up on this issue and we will prioritize.
  • Custom endpoints aren’t currently on our roadmap. Please open an issue if you need support for this.
  • Cluster role associations aren’t currently on our roadmap. Please open an issue if you need support for this.
  • Automatic minor version upgrades are disabled. Please open an issue if you need support for this.
  • No support for Aurora Global. Please open an issue if you need support for this.
  • No support for non-Aurora PostgreSQL. Please open an issue if you need support for this.

Links

VariableTypeDescription
availability.autoscaling_modestringNo description
availability.min_replicasintegerReplicas and primary are automatically spread across AWS zones.
backup.retention_periodintegerThe days to retain backups for.
backup.skip_final_snapshotbooleanDetermines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created.
database.ca_cert_identifierstringThe identifier of the CA certificate for the DB instances. Learn more.
database.deletion_protectionbooleanExplicitly requires this field to be unset before allowing deletion.
database.source_snapshotstringCluster or database snapshot ARN. Specifies whether or not to create this cluster from a snapshot. Aurora clusters can be restored from cluster snapshots or database snapshots. Learn more
database.versionstringNo description
networking.subnet_typestringDeploy to internal subnets (cannot reach the internet) or private subnets (internet egress traffic allowed)
observability.enable_cloudwatch_logs_exportbooleanNo description
observability.enhanced_monitoring_intervalintegerMonitor the operating system of DB instances in real time. Enhanced Monitoring is stored in Cloudwatch Logs and may incur additional changes. Learn more
observability.performance_insights_retention_periodintegerPerformance Insights is a database performance tuning and monitoring feature that helps you quickly assess the load on your database, and determine when and where to take action. Performance Insights allows non-experts to detect performance problems with an easy-to-understand dashboard that visualizes database load.