RDB Engine on RDS - use RDS console, API etc. for management
Compatible with MySQL and PostgreSQL
5 times throughput than MySQL & 3 times throughput than PostgreSQL. They are MySQL/PostgreSql engines take advantage of fast distributed storage.
Grow automatically as needed up to 64T.
Virtual volume, spans multiple AZ, each has a copy of data, connected by all instances in cluster (shared).
Charged by "Highest Water Mark" - when data removed, space reserved. Space ONLY reduce when dump data and restore to a new cluster. So:
Auto-repair:
Automated & standardized. Even a single instance Aurora is still a cluster because of the separation of computation & storage (storage spans over AZ)
Determines CPU, memory
All DB instances in a multi-master cluster can perform write operations. There isn't a single DB instance that performs all the write operations, and there aren't any read-only DB instances. There is no "primary"/"replica", there is "writer" and "reader" instances in replication.
How many: 1
Connect to: The only primary instance
Operation: Read Write
Fail over: Yes (clear DNS cache required)
Load balancing: No
Example
mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306
How many: 1
Connect to: A replica or primary (if contains only one primary)
Operation: Read
Fail over: Yes?
Load balancing: Yes
Example
mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com:3306
How many: up to 5
Type:
Connect to: A set of chosen instances (limited by type)
Operation: Depends on type
Fail over: Yes
Load balancing: Yes
Example: myendpoint.cluster-custom-123456789012.us-east-1.rds.amazonaws.com:3306
Comment: When using custom endpoint, usually NOT use reader endpoint
How many: 1 for each instance (instances & endpoints can be discovered)
Connect to: the instance
Operation: Depend on the instance
Fail over: No (needs manual change)
Load balancing: No
Example: mydbinstance.123456789012.us-east-1.rds.amazonaws.com:3306
Where high availability is important, use cluster-endpoint for read-write operations & read-endpoint for read-only operations for better fail over.
Use instance instance endpoint scenario:
Automated & standardized. Entire cluster synchronized.
Standard single muster replication.
Other options:
Cluster management - IAM
Works with MySQL & PostgreSQL
Use authentication token, not username/password:
Traditional, or IAM with token (MySQL)
Supported
MySQL compatible only. One primary region, up to 5 read-only secondary region. Up to 16 replicas for any secondary region.
Cross region synchronization typically < 1s.
Promotion: possible to promote secondary region in less than 1 minute.
Secondary regions can be added / removed to global DB.
Manually promote a secondary (when the primary region fails)
Aurora Serverless provides a relatively simple, cost-effective option for infrequent, intermittent, or unpredictable workloads. It can provide this because it automatically starts up, scales compute capacity to match your application's usage, and shuts down when it's not in use.
Limitations:
How it works:
Similar to RDS
RDS for MySQL and Amazon RDS for PostgreSQL to Aurora by:
Needs to set role to assume when calling lambda. Allow outbound traffic.
Role aurora_load_from_s3_role or aws_default_s3_role, outbound traffic.
Role aurora_select_into_s3_role or aws_default_s3_role
To scale up and down
Aurora machine learning enables you to add machine learning-based predictions to database applications using the SQL language. Aurora machine learning makes use of a highly optimized integration between the Aurora database and the AWS machine learning (ML) services Amazon SageMaker and Amazon Comprehend.
On-demand & reserved instances
CloudWatch Alarms
Watch a metric over time, trigger notification to SNS or Auto Scaling on condition
CloudTrail Logs
Record of user & role actions (API).
Enhanced Monitoring
Metrics in real time for the operating system (OS) that your DB cluster runs on.
Amazon RDS Performance Insights
Expands on existing Amazon Aurora monitoring features to illustrate your database's performance and help you analyze any issues that affect it. With the Performance Insights dashboard, you can visualize the database load and filter the load by waits, SQL statements, hosts, or users.
Database Logs
Using the AWS Management Console, AWS CLI, or RDS API
Amazon Aurora Recommendations
Automated recommendations
Amazon Aurora Event Notification
SNS notification of Aurora events.
AWS Trusted Advisor
Inspect AWS environment and make recommendations based on best practices.
Database Activity Streams
For Aurora PostgreSQL. Beyond access of DBA (prevent internal threat)
By retention period. Snapshot is preserved until deleted.
Up to 15 replicas in single region.
Storage always span over multiple AZ no matter instances.
Storage always span over multiple AZ. Cluster is HA.
Auto minor version upgrade
Backtrack (MySQL) - able to rewind cluster to a moment within a specified target backtrack window
Copy tags to snapshots
DB authentication (password, or password and IAM)
DB port
Cluster ID
Engine version
Cluster & DB Parameter group
Instance class & Instance ID
Deletion protection
Encryption (master key)
Enhanced monitoring (and granularity setting)
Performance insights
Failover priority
initial DB name
Log exports
Maintenance window
Options group
Master username / password
Monitoring role
Public access
Retention period
Subnet group
Select log types to public to CloudWatch
VPC
VPC Security Group