Amazon Aurora

Abimuktheeswaran Chidambaram
6 min readJul 16, 2023

--

Amazon Aurora is a relational database engine managed by AWS. It is a serverless application so you can manage the database without managing the database capacity. It is compatible with Mysql and PostgreSQL. It delivers the performance 3 times than MySQL and 5 times than the PostgreSQL. The features of Aurora are continuous backup to s3, high performance and high availability of up to 15 replicas, point-in-time recovery (PITR), inbuilt security, and replicate across 3 AZ.

1.Amazon Aurora DB cluster

Amazon Aurora DB cluster consists of one or more DB instances and cluster volume manages the data for DB instances. cluster volume is a virtual database storage that spans across multiple availability Zones, with each Availability Zone having a copy of the DB cluster data. There are 2 types of DB instances. Primary DB instance supports read and write operations in one availability zone only. read replica (Secondary instance) supports read operation only. Each DB cluster has up to 15 read replicas in separate availability zones.

2. Aurora versions

Aurora versions have a major version, minor version, and patch version. The term “major version” means MySQL and Postgre SQL versions that are compatible with Aurora. Aurora releases two versions in major versions per year. Aurora’s major version will be available till the end of the database community version.

The term “minor version” provides incremental community and new improvements like new features and fixes. Minor versions of Aurora will be released quarterly. Aurora’s minor version will be available for 12 months depending upon the specific major version. After 12 months Aurora may apply an Auto minor version upgrade to every cluster which runs the old version. The term “Auto minor version upgrade” means automatically upgrading twice a year if the Auto minor version upgrade setting is turned on. The term Long-term support (LTS) versions for specific Aurora versions will be available for 3 years. It has a patch release for the corresponding LTS release and no latest feature.

The term “patch version” means the specific fixes in minor versions after its release.

The term “Amazon Aurora upgrade” is required to manage certain critical fixes in that situation Auto minor version upgrade set to be turned off.

To test your DB cluster with the Amazon version you can clone your cluster using the Amazon Aurora fast database clone feature and perform the upgrade. Create a new DB cluster from the snapshot and experiment with the upgrade process.

3. Regions and Availability zones

Regions are separate geographic areas. Availability Zones are isolated areas within the region. Each region has multiple availability zones. AWS GovCloud (US) is the special AWS region. It is designed to allow US government agencies and customers to put their sensitive workloads. The AWS GovCloud (US) Regions address the US government’s specific regulatory and compliance requirements. To create or work with Amazon RDS DB instance for workload in a special AWS region use the corresponding regional service endpoint. Amazon Aurora does not support Local zones.

Using Blue / Green Deployments for Updates means changes in the staging environment (beta testing environment) without affecting the production environment (live environment). It is used to minimize the downtime when updating the database. It is available for Amazon Aurora MySQL versions only. The purpose of Blue/Green Deployment in Aurora is before the switchover from primary to secondary instance Blocks written on “Blue” and “Green” catch the blue so that there is no data loss. It does not support the Amazon Aurora Global Database. Rollback changes are not possible.

The green color is a live environment and the Blue color is a testing Environment.
AWS Blue / green deployment in Aurora and RDS

storage configurations for Amazon Aurora DB clusters. They are Aurora I/O optimized and Aurora standard. Aurora I/O optimized improved price performance and predictability workloads for I/O usage. It is suitable when your I/O spending 25% or more of your total spending. You can switch over to Aurora Standard at any time. Aurora standard is the cost-effective workload with moderate I/O usage. It is suitable when your I/O spending less than 25% of your total spending. You can switch over to Aurora I/O optimized once every 30 days.

Aurora storage and billing charges The size is from min 10GB to max 128 (TiB) tebibytes depending upon the engine type. you can free up by deleting the data in cluster volume also helps to minimize the storage charges. It supports storage scaling and also has a Dynamic resizing feature. So it automatically adjusts capacity based on your application needs. In earlier versions, you can delete your data but not your cluster volume size so you have fixed charges. Now, you are charged only for your data in cluster volume.

Amazon Aurora Global Database is a single database that spans across multiple regions globally to minimize latency and maintain high availability to reduce failure. It has built-in fault tolerance. It has a primary instance in one region that supports read and write operations. It has up to 6 instances in another region that supports read operation. An Aurora global database provides more business continuity and disaster recovery (BCDR) protection than the standard high availability provided by an Aurora DB cluster in a single AWS Region.

IAM database authentication in Aurora With this you need an authentication token instead of a password to connect the DB cluster. Authentication Token has a set of strings of characters. Each token has a lifetime of 15 minutes. Generally, tokens have a size of 1kb but can be larger.

Kerberos Authentication is a network authentication protocol that uses tickets and symmetric cryptography to connect DB clusters from external parties. It has an Active Directory to store and manage the credentials for DB clusters and authenticate users centrally.

Aurora machine learning integrates with Amazon Comprehend and Amazon SageMaker depending upon your needs. Amazon Comprehend uses Natural language Processing (NLP) to extract insights (data) from documents. By using Amazon Aurora ML with Amazon Comprehend you can determine the sentiment of text from your database tables. Amazon SageMaker is a full-featured ML service. Data scientists use Amazon SageMaker to build, train, and run a variety of interference tasks such as fraud detection.

Performance insight with Amazon Aurora is used to monitor the DB load and analyze your cluster performance. With the performance insight dashboard, you can visualize the DB load with Amazon Aurora and filter the load using waits, hosts, users (or) SQL statements. The Performance Insights dashboard has the performance of the database for analyzing and troubleshooting performance issues. If you want to view Performance Insights for every DB cluster level, then turn on the Performance Insights for every DB instance in the cluster. You can turn it off later if needed. By turning on and off the Performance Insights does not cause reboot, failover, and downtime. To view the full details click here

Performance Insights

Performance Schema is the optional performance tool used by Aurora MySQL. If you use Performance Schema you need to reboot. It causes minimal impact on database performance. If you use Performance Insights with the Aurora Global database, you need to turn on Performance Insights individually for DB instances in each AWS region.

Migrating data from existing Mysql to Amazon Aurora MySQL DB cluster

There are 2 types of migration. They are

Physical migration means migrating the database using physical copies of the database files. It is faster than Logical migration. It can migrate everything from the source database including complex database components. Database performance does not suffer when the backup is the token.

Logical migration means migrating the database by applying some logical changes in the databases such as inserts, updates, and deletes. It is slower than physical migration. It can migrate everything from the source database including complex database components. Database performance does not suffer when the backup is the token.

Last Updated: 07-Jan-2024

--

--