Skip to content

Amazon Aurora

  • Aurora is a proprietary technology from AWS (not open sourced)
  • Postgres and MySQL are both supported as Aurora DB (thaat means your drivers will work as if Aurora was a Postgres or MySQL database)
  • Aurora is "AWS cloud optimized" and claims 5x performance improvement over MySQL on RDS, over 3x the performance of Postgres on RDS
  • Aurora storage automatically grows in increments of 10GB up to 64TB.
  • Aurora can have 15 replicas while MySQL has 5, and the replication process is faster (sub 10ms replica lag)
  • Failover in Aurora is instantaneous. It's HA native.
  • Aurora costs more than RDS (20% more) - bit is more efficient.

Aurora High Availability and Read Scaling

  • 6 copies of your data across 3 AZ:
    • 4 copies out of 6 needed for writes
    • 3 copies out of 6 need for reads
    • Self healing with peer-to-peer replication
    • Storage is striped across 100s of volumes
  • One aurora instance takes writes (master)
  • Automated failover for master in less than 30 seconds
  • Master + up to 15 aurora read replicas serve reads
  • Support for cross region replication

Features of Aurora

  • Automatic failover
  • Backup and Recovery
  • Isolation and security
  • Industry compliance
  • Push-button scaling
  • Automated Patching with Zero Downtime
  • Advanced Monitoring
  • Routine Maintenance
  • Backtrack: restore data at any point in time without using backups

Aurora Security

  • Similar to RDS because uses the same engines
  • Encryption at rest using KMS
  • Automated backups, snapshots and replicas are also encrypted
  • Encryption in flight using SSL (same process as MySQL or Postgres)
  • Possibility to authenticate using IAM token (same method as RDS)
  • You are responsible for protecting the instance with security groups
  • You can't ssh into it