• DB instance is an isolated database environment in cloud.
  • Is basic building block of RDS.
  • Can contain multiple user-created databases
  • can be accessed using client tools and applications similar for standalone database instance.
  • Can be created or modified by
    • AWS command line tools
    • RDS API operations
    • AWS Management Console
  • Maximum 40 RDS DB instances.
  • Out of 40, up to 10 can be Oracle or SQL Server DB instances under the “License Included” model.
  • 40 DB instances for SQL Server or Oracle under the “BYOL” licensing model.
  • All 40 DB instances can be used for
    • MySQL
    • MariaDB
    • PostgreSQL
  • Request additional DB instances for more DB instances
  • Every DB instance has DB instance identifier, given by customer and must be unique for customer in AWS Region.
  • Each DB instance supports a database engine. Amazon RDS currently supports MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server, and Amazon Aurora database engines.
  • Some database engines require database name during creation, as
    • For MySQL and MariaDB, the database name is, name of a database hosted in your DB instance.
    • A DB instance can host multiple databases, or a single Oracle database with multiple schemas. The database name value depends on the database engine:
    • For Oracle, database name has value of ORACLE_SID, to be supplied when connecting to the Oracle RDS instance.
    • For Microsoft SQL Server database engine, database name is not a supported parameter.
    • For PostgreSQL database engine, the database name is name of a database hosted in DB instance.
  • DB instance identifier identifies the DB instance by
    • Amazon RDS API
    • AWS CLI commands
  • RDS maximum size for a MS SQL Server DB with SQL Server Express Edition is 10GB per DB
  • Supported RDS Platforms:
    • MS SQL Server
    • Oracle
    • MySQL Server
    • PostgreSQL
    • Aurora
    • MariaDB
  • When a backup is restored, the restore will always be a new RDS instance, with a new DNS name
  • Backup types:
    • Automated backups
      • Allows you to recover your database to any point in time within a retention period
      • Retention periods can be between 1 and 35 days
      • Takes a full daily snapshot and will also store transaction logs through the day
      • When you do a recovery, AWS will choose the most recent daily backup and then apply transaction logs
      • Allows you to do a point in time recover down to a second within the retention period
      • Enabled by default
      • Backup data is stored in S3
      • You get free storage space equal to the size of your database.
      • Taken within a defined window
      • During the backup, storage I/0 may be suspended and you may experience extended latency
    • Database snapshots
      • User initiated from the console
      • Stored even after you delete the original RDS instance unlike automatic backups
  • Encryption:
    • Encryption at rest is supported for MySQL, Oracle, SQL Server, PostgreSQL, and MariaDB
    • Encryption is done using the AWS Key Management Service (KMS)
    • Once your RDS instance is encrypted the data stored at rest in the underlaying storage is encrypted, as are its automated backups, read replicas and snapshots
    • To use RDS encryption, create a new DB instance with encryption enabled and migrate your data to it
  • Encrypting an existing DB instance is not supported

Menu