Amazon Aurora
User Guide for Aurora
Amazon Aurora: User Guide for Aurora
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
What is Aurora? ... 1
Aurora DB clusters ... 3
Aurora versions ... 5
Relational databases that are available on Aurora ... 5
Differences in version numbers between community databases and Aurora ... 5
Amazon Aurora major versions ... 6
Amazon Aurora minor versions ... 7
Amazon Aurora patch versions ... 7
Learning what's new in each Amazon Aurora version ... 7
Specifying the Amazon Aurora database version for your database cluster ... 7
Default Amazon Aurora versions ... 7
Automatic minor version upgrades ... 8
How long Amazon Aurora major versions remain available ... 8
How often Amazon Aurora minor versions are released ... 9
How long Amazon Aurora minor versions remain available ... 9
Long-term support for selected Amazon Aurora minor versions ... 9
Manually controlling if and when your database cluster is upgraded to new versions ... 9
Required Amazon Aurora upgrades ... 10
Testing your DB cluster with a new Aurora version before upgrading ... 10
Regions and Availability Zones ... 11
AWS Regions ... 11
Availability Zones ... 15
Local time zone for DB clusters ... 16
Supported Aurora features by Region and engine ... 19
Backtracking in Aurora ... 19
Aurora global databases ... 21
Aurora machine learning ... 23
Aurora parallel queries ... 26
Amazon RDS Proxy ... 27
Aurora Serverless v1 ... 29
Data API for Aurora Serverless ... 31
Aurora connection management ... 32
Types of Aurora endpoints ... 33
Viewing endpoints ... 35
Using the cluster endpoint ... 35
Using the reader endpoint ... 35
Using custom endpoints ... 36
Creating a custom endpoint ... 38
Viewing custom endpoints ... 40
Editing a custom endpoint ... 45
Deleting a custom endpoint ... 47
End-to-end AWS CLI example for custom endpoints ... 48
Using the instance endpoints ... 52
Endpoints and high availability ... 52
DB instance classes ... 54
DB instance class types ... 54
Supported DB engines ... 55
Determining DB instance class support in AWS Regions ... 59
Hardware specifications ... 62
Aurora storage and reliability ... 64
Overview of Aurora storage ... 64
Cluster volume contents ... 65
How storage resizes ... 65
Data billing ... 65
Reliability ... 66
Aurora security ... 67
Using SSL with Aurora DB clusters ... 68
High availability for Amazon Aurora ... 68
High availability for Aurora data ... 68
High availability for Aurora DB instances ... 68
High availability across AWS Regions with Aurora global databases ... 69
Fault tolerance ... 69
Replication with Aurora ... 70
Aurora Replicas ... 70
Aurora MySQL ... 71
Aurora PostgreSQL ... 72
DB instance billing for Aurora ... 72
On-Demand DB instances ... 74
Reserved DB instances ... 75
Setting up your environment ... 84
Sign up for AWS ... 84
Create an IAM user ... 84
Determine requirements ... 86
Provide access to the DB cluster ... 87
Getting started ... 89
Creating an Aurora MySQL DB cluster and connecting to it ... 89
Create an Aurora MySQL DB cluster ... 89
Connect to an instance in a DB cluster ... 94
Delete the sample DB cluster, DB subnet group, and VPC ... 96
Creating an Aurora PostgreSQL DB cluster and connecting to it ... 96
Create an Aurora PostgreSQL DB cluster ... 97
Connect to an instance in an Aurora PostgreSQL DB cluster ... 101
Delete the sample DB cluster, DB subnet group, and VPC ... 102
Tutorial: Create a web server and an Amazon Aurora DB cluster ... 103
Create a DB cluster ... 104
Create a web server ... 109
Tutorials and sample code ... 121
Tutorials in this guide ... 121
Tutorials in other AWS guides ... 121
Tutorials and sample code in GitHub ... 122
Configuring your Aurora DB cluster ... 124
Creating a DB cluster ... 125
Prerequisites ... 125
Creating a DB cluster ... 126
Available settings ... 137
Settings that don't apply to Aurora for DB clusters ... 145
Settings that don't apply to Aurora DB instances ... 146
Creating resources with AWS CloudFormation ... 148
Aurora and AWS CloudFormation templates ... 148
Learn more about AWS CloudFormation ... 148
Using Aurora Serverless v1 ... 149
Advantages of Aurora Serverless v1 ... 149
Use cases for Aurora Serverless v1 ... 150
Limitations of Aurora Serverless v1 ... 150
Configuration requirements for Aurora Serverless v1 ... 151
Using TLS/SSL with Aurora Serverless v1 ... 152
How Aurora Serverless v1 works ... 153
Creating an Aurora Serverless v1 DB cluster ... 163
Restoring an Aurora Serverless v1 DB cluster ... 169
Modifying an Aurora Serverless v1 DB cluster ... 173
Scaling Aurora Serverless v1 DB cluster capacity manually ... 175
Viewing Aurora Serverless v1 DB clusters ... 177
Deleting an Aurora Serverless v1 DB cluster ... 178
Aurora Serverless v1 and Aurora database engine versions ... 180
Using the Data API ... 181
Logging Data API calls with AWS CloudTrail ... 205
Using the query editor ... 207
Using Aurora Serverless v2 (preview) ... 215
How Aurora Serverless v2 (preview) works ... 215
Limitations of Aurora Serverless v2 (preview) ... 218
Creating an Aurora Serverless v2 (preview) DB cluster ... 219
Creating a snapshot of an Aurora Serverless v2 (preview) DB cluster ... 222
Modifying an Aurora Serverless v2 (preview) DB cluster ... 223
Deleting an Aurora Serverless v2 (preview) DB cluster ... 225
Restoring an Aurora Serverless v2 (preview) DB cluster ... 226
Using Aurora global databases ... 228
Overview of Aurora global databases ... 228
Advantages of Amazon Aurora global databases ... 229
Limitations of Aurora global databases ... 229
Getting started with Aurora global databases ... 231
Managing an Aurora global database ... 252
Connecting to an Aurora global database ... 257
Using write forwarding in an Aurora global database ... 258
Using failover in an Aurora global database ... 269
Monitoring an Aurora global database ... 279
Using Aurora global databases with other AWS services ... 282
Upgrading an Amazon Aurora global database ... 283
Connecting to a DB cluster ... 284
Connecting to Aurora MySQL ... 284
Connecting to Aurora PostgreSQL ... 288
Troubleshooting connections ... 290
Using RDS Proxy ... 291
Supported engines and Region availability ... 291
Quotas and limitations ... 291
Planning where to use RDS Proxy ... 293
RDS Proxy concepts and terminology ... 293
Getting started with RDS Proxy ... 298
Managing an RDS Proxy ... 309
Working with RDS Proxy endpoints ... 318
Monitoring RDS Proxy with CloudWatch ... 327
Working with RDS Proxy events ... 332
RDS Proxy examples ... 333
Troubleshooting RDS Proxy ... 335
Using RDS Proxy with AWS CloudFormation ... 340
Working with parameter groups ... 342
Working with DB cluster parameter groups ... 344
Working with DB parameter groups ... 354
Comparing parameter groups ... 365
Specifying DB parameters ... 365
Migrating data to a DB cluster ... 369
Aurora MySQL ... 369
Aurora PostgreSQL ... 369
Managing an Aurora DB cluster ... 370
Stopping and starting a cluster ... 371
Overview of stopping and starting a cluster ... 371
Limitations ... 371
Stopping a DB cluster ... 372
While a DB cluster is stopped ... 373
Starting a DB cluster ... 373
Modifying an Aurora DB cluster ... 375
Modifying the DB cluster by using the console, CLI, and API ... 375
Modify a DB instance in a DB cluster ... 376
Available settings ... 378
Settings that don't apply to Aurora DB clusters ... 393
Settings that don't apply to Aurora DB instances ... 394
Adding Aurora Replicas ... 395
Managing performance and scaling ... 399
Storage scaling ... 399
Instance scaling ... 403
Read scaling ... 403
Managing connections ... 403
Managing query execution plans ... 404
Cloning a volume for an Aurora DB cluster ... 405
Overview of Aurora cloning ... 405
Limitations of Aurora cloning ... 406
How Aurora cloning works ... 406
Creating an Aurora clone ... 409
Cross-account cloning ... 418
Integrating with AWS services ... 429
Aurora MySQL ... 429
Aurora PostgreSQL ... 429
Using Auto Scaling with Aurora replicas ... 430
Using machine learning with Aurora ... 445
Maintaining an Aurora DB cluster ... 446
Viewing pending maintenance ... 446
Applying updates ... 448
The maintenance window ... 449
Adjusting the maintenance window for a DB cluster ... 451
Automatic minor version upgrades for Aurora DB clusters ... 452
Choosing the frequency of Aurora MySQL maintenance updates ... 452
Rebooting an Aurora DB cluster or instance ... 454
Rebooting a DB instance within an Aurora cluster ... 454
Rebooting an Aurora cluster (Aurora PostgreSQL and Aurora MySQL before version 2.10) ... 455
Rebooting an Aurora MySQL cluster (version 2.10 and higher) ... 455
Checking uptime for Aurora clusters and instances ... 456
Examples of Aurora reboot operations ... 458
Deleting Aurora clusters and instances ... 470
Deleting an Aurora DB cluster ... 470
Deletion protection for Aurora clusters ... 474
Deleting a stopped Aurora cluster ... 475
Deleting Aurora MySQL clusters that are read replicas ... 475
The final snapshot when deleting a cluster ... 475
Deleting a DB instance from an Aurora DB cluster ... 475
Tagging RDS resources ... 477
Overview ... 477
Using tags for access control with IAM ... 478
Using tags to produce detailed billing reports ... 478
Adding, listing, and removing tags ... 479
Using the AWS Tag Editor ... 481
Copying tags to DB cluster snapshots ... 481
Tutorial: Use tags to specify which Aurora DB clusters to stop ... 482
Working with ARNs ... 485
Constructing an ARN ... 485
Getting an existing ARN ... 489
Aurora updates ... 492
Identifying your Amazon Aurora version ... 492
Backing up and restoring an Aurora DB cluster ... 493
Overview of backing up and restoring ... 494
Backups ... 494
Backup window ... 494
Restoring data ... 496
Backtrack ... 496
Backup storage ... 497
Creating a DB cluster snapshot ... 498
Determining whether the snapshot is available ... 499
Restoring from a DB cluster snapshot ... 500
Parameter groups ... 500
Security groups ... 500
Aurora considerations ... 500
Restoring from a snapshot ... 501
Copying a snapshot ... 503
Limitations ... 503
Snapshot retention ... 503
Copying shared snapshots ... 504
Handling encryption ... 504
Incremental snapshot copying ... 504
Cross-Region copying ... 504
Parameter groups ... 505
Copying a DB cluster snapshot ... 505
Sharing a snapshot ... 513
Sharing public snapshots ... 513
Sharing encrypted snapshots ... 514
Sharing a snapshot ... 516
Exporting snapshot data to Amazon S3 ... 521
Limitations ... 522
Overview of exporting snapshot data ... 522
Setting up access to an S3 bucket ... 523
Using a cross-account KMS key ... 525
Exporting a snapshot to an S3 bucket ... 526
Monitoring snapshot exports ... 529
Canceling a snapshot export ... 530
Failure messages ... 531
Troubleshooting PostgreSQL permissions errors ... 532
File naming convention ... 532
Data conversion ... 533
Point-in-time recovery ... 540
Deleting a snapshot ... 542
Deleting a DB cluster snapshot ... 542
Monitoring metrics in an Aurora DB cluster ... 544
Overview of monitoring ... 545
Monitoring plan ... 545
Performance baseline ... 545
Performance guidelines ... 545
Monitoring tools ... 546
Viewing cluster status and recommendations ... 549
Viewing a DB cluster ... 550
Viewing DB cluster status ... 556
Viewing DB instance status in an Aurora cluster ... 558
Viewing Amazon Aurora recommendations ... 561
Viewing metrics in the Amazon RDS console ... 566
Monitoring Aurora with CloudWatch ... 569
Viewing CloudWatch metrics ... 571
Creating CloudWatch alarms ... 574
Monitoring DB load with Performance Insights ... 576
Overview of Performance Insights ... 576
Turning Performance Insights on and off ... 580
Enabling the Performance Schema for Aurora MySQL ... 583
Performance Insights policies ... 585
Analyzing metrics with the Performance Insights dashboard ... 588
Retrieving metrics with the Performance Insights API ... 611
Logging Performance Insights calls using AWS CloudTrail ... 624
Analyzing performance with DevOps Guru for RDS ... 627
Benefits of DevOps Guru for RDS ... 627
How DevOps Guru for RDS works ... 628
Setting up DevOps Guru for RDS ... 628
Monitoring the OS with Enhanced Monitoring ... 630
Overview of Enhanced Monitoring ... 630
Setting up and enabling Enhanced Monitoring ... 631
Viewing OS metrics in the RDS console ... 635
Viewing OS metrics using CloudWatch Logs ... 636
Aurora metrics reference ... 637
CloudWatch metrics for Aurora ... 637
CloudWatch dimensions for Aurora ... 653
Availability of Aurora metrics in the Amazon RDS console ... 653
CloudWatch metrics for Performance Insights ... 656
Counter metrics for Performance Insights ... 657
OS metrics in Enhanced Monitoring ... 664
Monitoring events, logs, and database activity streams ... 670
Viewing logs, events, and streams in the Amazon RDS console ... 670
Monitoring Aurora events ... 675
Overview of events for Aurora ... 675
Viewing Amazon RDS events ... 678
Using Amazon RDS event notification ... 679
Creating a rule that triggers on an Amazon Aurora event ... 696
Monitoring Aurora logs ... 699
Viewing and listing database log files ... 699
Downloading a database log file ... 700
Watching a database log file ... 701
Publishing to CloudWatch Logs ... 701
Reading log file contents using REST ... 702
MySQL database log files ... 704
PostgreSQL database log files ... 710
Monitoring Aurora API calls in CloudTrail ... 714
CloudTrail integration with Amazon Aurora ... 714
Amazon Aurora log file entries ... 714
Monitoring Aurora with Database Activity Streams ... 718
Overview ... 718
Aurora MySQL network prerequisites ... 721
Starting a database activity stream ... 722
Getting activity stream status ... 724
Stopping a database activity stream ... 724
Monitoring activity streams ... 725
Managing access to activity streams ... 747
Working with Aurora MySQL ... 750
Overview of Aurora MySQL ... 750
Amazon Aurora MySQL performance enhancements ... 750
Aurora MySQL and spatial data ... 751
Aurora MySQL version 3 compatible with MySQL 8.0 ... 752
Aurora MySQL version 2 compatible with MySQL 5.7 ... 777
Security with Aurora MySQL ... 778
Master user privileges with Aurora MySQL ... 779
Using SSL/TLS with Aurora MySQL DB clusters ... 780
Updating applications for new SSL/TLS certificates ... 782
Determining whether any applications are connecting to your Aurora MySQL DB cluster using SSL ... 783
Determining whether a client requires certificate verification to connect ... 783
Updating your application trust store ... 784
Example Java code for establishing SSL connections ... 785
Migrating data to Aurora MySQL ... 786
Migrating from an external MySQL database to Aurora MySQL ... 788
Migrating from a MySQL DB instance to Aurora MySQL ... 802
Managing Aurora MySQL ... 817
Managing performance and scaling for Amazon Aurora MySQL ... 817
Backtracking a DB cluster ... 821
Testing Amazon Aurora using fault injection queries ... 834
Altering tables in Amazon Aurora using fast DDL ... 837
Displaying volume status for an Aurora DB cluster ... 842
Tuning Aurora MySQL with wait events and thread states ... 842
Essential concepts for Aurora MySQL tuning ... 843
Tuning Aurora MySQL with wait events ... 845
Tuning Aurora MySQL with thread states ... 881
Parallel query for Aurora MySQL ... 886
Overview of parallel query ... 887
Planning for a parallel query cluster ... 890
Creating a parallel query cluster ... 891
Turning parallel query on and off ... 895
Upgrading a parallel query cluster ... 898
Performance tuning ... 899
Creating schema objects ... 899
Verifying parallel query usage ... 900
Monitoring ... 902
Parallel query and SQL constructs ... 906
Advanced Auditing with Aurora MySQL ... 919
Enabling Advanced Auditing ... 919
Viewing audit logs ... 921
Audit log details ... 922
Single-master replication with Aurora MySQL ... 922
Aurora replicas ... 923
Options ... 924
Performance ... 924
Zero-downtime restart (ZDR) ... 925
Monitoring ... 926
Replicating Amazon Aurora MySQL DB clusters across AWS Regions ... 927
Replication between Aurora and MySQL or between Aurora and another Aurora DB cluster (binary log replication) ... 937
Using GTID-based replication ... 959
Working with multi-master clusters ... 963
Overview of multi-master clusters ... 963
Creating a multi-master cluster ... 968
Managing multi-master clusters ... 973
Application considerations ... 976
Performance considerations ... 985
Approaches to multi-master clusters ... 987
Integrating Aurora MySQL with AWS services ... 988
Authorizing Aurora MySQL to access AWS services ... 989
Loading data from text files in Amazon S3 ... 1001
Saving data into text files in Amazon S3 ... 1008
Invoking a Lambda function from Aurora MySQL ... 1014
Publishing Aurora MySQL logs to CloudWatch Logs ... 1021
Using machine learning with Aurora MySQL ... 1024
Aurora MySQL lab mode ... 1036
Aurora lab mode features ... 1037
Best practices with Amazon Aurora MySQL ... 1037
Determining which DB instance you are connected to ... 1038
Best practices for using AWS features with Aurora MySQL ... 1038
Best practices for Aurora MySQL performance and scaling ... 1040
Best practices for Aurora MySQL high availability ... 1044
Best practices for limiting certain MySQL features with Aurora MySQL ... 1045
Aurora MySQL reference ... 1046
Configuration parameters ... 1046
MySQL parameters that don't apply to Aurora MySQL ... 1065
MySQL status variables that don't apply to Aurora MySQL ... 1066
Aurora MySQL wait events ... 1067
Aurora MySQL thread states ... 1071
Aurora MySQL isolation levels ... 1074
Aurora MySQL hints ... 1078
Stored procedures ... 1080
Aurora MySQL updates ... 1086
Version Numbers and Special Versions ... 1087
Preparing for Aurora MySQL version 1 end of life ... 1090
Upgrading Amazon Aurora MySQL DB clusters ... 1092
Database engine updates for Amazon Aurora MySQL version 3 ... 1112
Database engine updates for Amazon Aurora MySQL version 2 ... 1113
Database engine updates for Amazon Aurora MySQL version 1 ... 1200
Database engine updates for Aurora MySQL Serverless clusters ... 1251
MySQL bugs fixed by Aurora MySQL updates ... 1254
Security vulnerabilities fixed in Amazon Aurora MySQL ... 1275
Working with Aurora PostgreSQL ... 1279
Security with Aurora PostgreSQL ... 1280
Restricting password management ... 1281
Securing Aurora PostgreSQL data with SSL/TLS ... 1281
Updating applications for new SSL/TLS certificates ... 1285
Determining whether applications are connecting to Aurora PostgreSQL DB clusters using SSL 1285 Determining whether a client requires certificate verification in order to connect ... 1286
Updating your application trust store ... 1286
Using SSL/TLS connections for different types of applications ... 1287
Migrating data to Aurora PostgreSQL ... 1288
Migrating an RDS for PostgreSQL DB instance using a snapshot ... 1289
Migrating an RDS for PostgreSQL DB instance using an Aurora read replica ... 1293
Babelfish for Aurora PostgreSQL ... 1302
Babelfish architecture ... 1302
Using Babelfish to migrate to PostgreSQL ... 1306
Creating an Aurora PostgreSQL cluster with Babelfish ... 1308
Connecting to a DB cluster with Babelfish turned on ... 1315
Querying a database for object information ... 1323
Querying Babelfish to find Babelfish details ... 1324
Differences between Aurora PostgreSQL with Babelfish and SQL Server ... 1327
Using Aurora PostgreSQL extensions with Babelfish ... 1340
Managing Babelfish error handling ... 1345
Configuring a database for Babelfish ... 1350
Babelfish collation support ... 1354
Troubleshooting for Babelfish ... 1360
Turning off Babelfish ... 1362
Babelfish versions ... 1363
Managing Aurora PostgreSQL ... 1365
Scaling Aurora PostgreSQL DB instances ... 1365
Maximum connections ... 1365
Temporary storage limits ... 1367
Testing Amazon Aurora PostgreSQL by using fault injection queries ... 1369
Displaying volume status for an Aurora DB cluster ... 1372
Specifying the RAM disk for the stats_temp_directory ... 1373
Scheduling maintenance with the pg_cron extension ... 1375
Tuning with wait events for Aurora PostgreSQL ... 1381
Essential concepts for Aurora PostgreSQL tuning ... 1382
Aurora PostgreSQL wait events ... 1385
Client:ClientRead ... 1386
Client:ClientWrite ... 1389
CPU ... 1390
IO:BufFileRead and IO:BufFileWrite ... 1394
IO:DataFileRead ... 1400
IO:XactSync ... 1406
ipc:damrecordtxack ... 1408
Lock:advisory ... 1408
Lock:extend ... 1410
Lock:Relation ... 1412
Lock:transactionid ... 1415
Lock:tuple ... 1418
lwlock:buffer_content (BufferContent) ... 1420
LWLock:buffer_mapping ... 1422
LWLock:BufferIO ... 1423
LWLock:lock_manager ... 1425
Timeout:PgSleep ... 1428
Best practices with Aurora PostgreSQL ... 1428
Fast failover ... 1428
Troubleshooting storage issues ... 1436
Replication with Aurora PostgreSQL ... 1436
Aurora Replicas ... 1436
Monitoring replication ... 1437
Using logical replication ... 1437
Integrating Aurora PostgreSQL with AWS services ... 1442
Importing S3 data into Aurora PostgreSQL ... 1443
Overview of importing S3 data ... 1443
Setting up access to an Amazon S3 bucket ... 1444
Using the aws_s3.table_import_from_s3 function to import Amazon S3 data ... 1449
Function reference ... 1451
Exporting PostgreSQL data to Amazon S3 ... 1455
Overview of exporting to S3 ... 1455
Verify that your Aurora PostgreSQL version supports exports ... 1456
Specifying the Amazon S3 file path to export to ... 1456
Setting up access to an Amazon S3 bucket ... 1457
Exporting query data using the aws_s3.query_export_to_s3 function ... 1460
Troubleshooting access to Amazon S3 ... 1462
Function reference ... 1462
Managing query execution plans for Aurora PostgreSQL ... 1465
Enabling query plan management ... 1466
Upgrading query plan management ... 1467
Basics ... 1467
Best practices for query plan management ... 1470
Examining plans in the dba_plans view ... 1471
Capturing execution plans ... 1474
Using managed plans ... 1475
Maintaining execution plans ... 1478
Parameter reference for query plan management ... 1482
Function reference for query plan management ... 1485
Publishing Aurora PostgreSQL logs to CloudWatch Logs ... 1492
Publishing logs to Amazon CloudWatch ... 1492
Monitoring log events in Amazon CloudWatch ... 1495
Analyze Aurora PostgreSQL logs using CloudWatch Logs Insights ... 1495
Using machine learning with Aurora PostgreSQL ... 1499
Prequisites ... 1500
Enabling Aurora machine learning ... 1500
Using Amazon Comprehend for natural language processing ... 1502
Exporting data to Amazon S3 for SageMaker model training ... 1504
Using SageMaker to run your own ML models ... 1504
Best practices with Aurora machine learning ... 1507
Monitoring Aurora machine learning ... 1511
Function reference ... 1512
Manually setting up IAM roles using the AWS CLI ... 1514
Fast recovery after failover ... 1518
Configuring cluster cache management ... 1518
Monitoring the buffer cache ... 1521
Invoking a Lambda function from Aurora PostgreSQL ... 1522
Step 1: Configure outbound connections ... 1523
Step 2: Configure IAM for your cluster and Lambda ... 1523
Step 3: Install the extension ... 1524
Step 4: Use Lambda helper functions ... 1525
Step 5: Invoke a Lambda function ... 1526
Lambda function error messages ... 1529
Lambda function reference ... 1529
Working with extensions and Aurora PostgreSQL ... 1532
Using the oracle_fdw extension to access foreign data in Aurora PostgreSQL ... 1532
Managing partitions with the pg_partman extension ... 1535
Overview of the PostgreSQL pg_partman extension ... 1536
Enabling the pg_partman extension ... 1536
Configuring partitions using the create_parent function ... 1537
Configuring partition maintenance using the run_maintenance_proc function ... 1538
Using Kerberos authentication ... 1539
Availability ... 1539
Overview of Kerberos authentication ... 1540
Setting up ... 1541
Managing a DB cluster in a Domain ... 1550
Connecting with Kerberos authentication ... 1551
Aurora PostgreSQL reference ... 1552
Aurora PostgreSQL parameters ... 1552
Aurora PostgreSQL wait events ... 1575
Aurora PostgreSQL functions reference ... 1593
Aurora PostgreSQL updates ... 1602
Identifying versions of Amazon Aurora PostgreSQL ... 1602
Aurora PostgreSQL releases ... 1604
Extension versions for Aurora PostgreSQL ... 1679
Upgrading the PostgreSQL DB engine ... 1692
Using a long-term support (LTS) release ... 1701
Best practices with Aurora ... 1703
Basic operational guidelines for Amazon Aurora ... 1703
DB instance RAM recommendations ... 1703
Monitoring Amazon Aurora ... 1704
Working with DB parameter groups and DB cluster parameter groups ... 1704
Amazon Aurora best practices presentation video ... 1704
Performing an Aurora proof of concept ... 1705
Overview of an Aurora proof of concept ... 1705
1. Identify your objectives ... 1705
2. Understand your workload characteristics ... 1706
3. Practice with the console or CLI ... 1707
Practice with the console ... 1707
Practice with the AWS CLI ... 1707
4. Create your Aurora cluster ... 1708
5. Set up your schema ... 1709
6. Import your data ... 1709
7. Port your SQL code ... 1710
8. Specify configuration settings ... 1710
9. Connect to Aurora ... 1711
10. Run your workload ... 1712
11. Measure performance ... 1712
12. Exercise Aurora high availability ... 1714
13. What to do next ... 1715
Security ... 1717
Database authentication ... 1718
Password authentication ... 1719
IAM database authentication ... 1719
Kerberos authentication ... 1719
Data protection ... 1720
Data encryption ... 1720
Internetwork traffic privacy ... 1734
Identity and access management ... 1735
Audience ... 1735
Authenticating with identities ... 1735
Managing access using policies ... 1737
How Amazon Aurora works with IAM ... 1738
Identity-based policy examples ... 1741
Cross-service confused deputy prevention ... 1752
IAM database authentication ... 1754
Troubleshooting ... 1780
Logging and monitoring ... 1782
Compliance validation ... 1784
Resilience ... 1785
Backup and restore ... 1785
Replication ... 1785
Failover ... 1785
Infrastructure security ... 1787
Security groups ... 1787
Public accessibility ... 1787
VPC endpoints (AWS PrivateLink) ... 1788
Considerations ... 1788
Availability ... 1788
Creating an interface VPC endpoint ... 1789
Creating a VPC endpoint policy ... 1789
Security best practices ... 1790
Controlling access with security groups ... 1791
VPC security groups ... 1791
Security group scenario ... 1791
Creating a VPC security group ... 1792
Associating with a DB instance ... 1792
Associating with a DB cluster ... 1792
Master user account privileges ... 1793
Service-linked roles ... 1794
Service-linked role permissions for Amazon Aurora ... 1794
Using Amazon Aurora with Amazon VPC ... 1798
Working with a DB instance in a VPC ... 1798
Creating a VPC for Aurora ... 1804
Scenarios for accessing a DB instance in a VPC ... 1811
Tutorial: Create an Amazon VPC for use with a DB instance ... 1816
Quotas and constraints ... 1822
Quotas in Amazon Aurora ... 1822
Naming constraints in Amazon Aurora ... 1823
Amazon Aurora size limits ... 1824
Troubleshooting ... 1825
Can't connect to DB instance ... 1825
Testing the DB instance connection ... 1826
Troubleshooting connection authentication ... 1827
Security issues ... 1827
Error message "failed to retrieve account attributes, certain console functions may be impaired." ... 1827
Resetting the DB instance owner password ... 1827
DB instance outage or reboot ... 1827
Parameter changes not taking effect ... 1828
Aurora MySQL out of memory issues ... 1828
Aurora MySQL replication issues ... 1829
Diagnosing and resolving lag between read replicas ... 1829
Diagnosing and resolving a MySQL read replication failure ... 1830
Replication stopped error ... 1831
Amazon RDS API reference ... 1833
Using the Query API ... 1833
Query parameters ... 1833
Query request authentication ... 1833
Troubleshooting applications ... 1834
Retrieving errors ... 1834
Troubleshooting tips ... 1834
Document history ... 1835
AWS glossary ... 1873
What is Amazon Aurora?
Amazon Aurora (Aurora) is a fully managed relational database engine that's compatible with MySQL and PostgreSQL. You already know how MySQL and PostgreSQL combine 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 MySQL and PostgreSQL databases can be used with Aurora. With some workloads, Aurora can deliver up to five times the throughput of MySQL and 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 MySQL- and 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. If you are not already familiar with Amazon RDS, see the Amazon Relational Database Service User Guide.
The following points illustrate how Aurora relates to the standard MySQL and PostgreSQL engines available in Amazon RDS:
• You choose Aurora as the DB engine option when setting up new database servers through Amazon RDS.
• Aurora takes advantage of the familiar Amazon Relational Database Service (Amazon RDS) features for management and administration. Aurora uses the Amazon RDS AWS Management Console interface, AWS CLI commands, and API operations to handle routine database tasks such as provisioning, patching, backup, recovery, failure detection, and repair.
• Aurora management operations typically involve entire clusters of database servers that are
synchronized through replication, instead of individual database instances. The automatic clustering, replication, and storage allocation make it simple and cost-effective to set up, operate, and scale your largest MySQL and PostgreSQL deployments.
• You can bring data from Amazon RDS for MySQL and Amazon RDS for PostgreSQL into Aurora by creating and restoring snapshots, or by setting up one-way replication. You can use push-button migration tools to convert your existing Amazon RDS for MySQL and Amazon RDS for PostgreSQL applications to Aurora.
Before using Amazon Aurora, you should complete the steps in Setting up your environment for Amazon Aurora (p. 84), and then review the concepts and features of Aurora in Amazon Aurora DB clusters (p. 3).
Topics
• Amazon Aurora DB clusters (p. 3)
• Amazon Aurora versions (p. 5)
• Regions and Availability Zones (p. 11)
• Supported features in Amazon Aurora by AWS Region and Aurora DB engine (p. 19)
• Amazon Aurora connection management (p. 32)
• Aurora DB instance classes (p. 54)
• Amazon Aurora storage and reliability (p. 64)
• Amazon Aurora security (p. 67)
• High availability for Amazon Aurora (p. 68)
• Replication with Amazon Aurora (p. 70)
• DB instance billing for Aurora (p. 72)
Aurora DB clusters
Amazon Aurora DB clusters
An Amazon Aurora DB cluster consists of one or more DB instances and a cluster volume that manages the data for those DB instances. An Aurora cluster volume is a virtual database storage volume that spans multiple Availability Zones, with each Availability Zone having a copy of the DB cluster data. Two types of DB instances make up an Aurora DB cluster:
• Primary DB instance – Supports read and write operations, and performs all of the data modifications to the cluster volume. Each Aurora DB cluster has one primary DB instance.
• Aurora Replica – Connects to the same storage volume as the primary DB instance and supports only read operations. Each Aurora DB cluster can have up to 15 Aurora Replicas in addition to the primary DB instance. Maintain high availability by locating Aurora Replicas in separate Availability Zones. Aurora automatically fails over to an Aurora Replica in case the primary DB instance becomes unavailable. You can specify the failover priority for Aurora Replicas. Aurora Replicas can also offload read workloads from the primary DB instance.
The following diagram illustrates the relationship between the cluster volume, the primary DB instance, and Aurora Replicas in an Aurora DB cluster.
NoteThe preceding information applies to all the Aurora clusters that use single-master replication.
These include provisioned clusters, parallel query clusters, global database clusters, serverless clusters, and all MySQL 8.0-compatible, 5.7-compatible, and PostgreSQL-compatible clusters.
Aurora clusters that use multi-master replication have a different arrangement of read/write and read-only DB instances. 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. Therefore, the terms primary instance and Aurora Replica don't apply to multi-master clusters. When we discuss clusters that might use multi-master replication, we refer to writer DB instances and reader DB instances.
Aurora DB clusters
The Aurora cluster illustrates the separation of compute capacity and storage. For example, an Aurora configuration with only a single DB instance is still a cluster, because the underlying storage volume involves multiple storage nodes distributed across multiple Availability Zones (AZs).
Aurora versions
Amazon Aurora versions
Amazon Aurora reuses code and maintains compatibility with the underlying MySQL and PostgreSQL DB engines. However, Aurora has its own version numbers, release cycle, time line for version deprecation, and so on. The following section explains the common points and differences. This information can help you to decide such things as which version to choose and how to verify which features and fixes are available in each version. It can also help you to decide how often to upgrade and how to plan your upgrade process.
Topics
• Relational databases that are available on Aurora (p. 5)
• Differences in version numbers between community databases and Aurora (p. 5)
• Amazon Aurora major versions (p. 6)
• Amazon Aurora minor versions (p. 7)
• Amazon Aurora patch versions (p. 7)
• Learning what's new in each Amazon Aurora version (p. 7)
• Specifying the Amazon Aurora database version for your database cluster (p. 7)
• Default Amazon Aurora versions (p. 7)
• Automatic minor version upgrades (p. 8)
• How long Amazon Aurora major versions remain available (p. 8)
• How often Amazon Aurora minor versions are released (p. 9)
• How long Amazon Aurora minor versions remain available (p. 9)
• Long-term support for selected Amazon Aurora minor versions (p. 9)
• Manually controlling if and when your database cluster is upgraded to new versions (p. 9)
• Required Amazon Aurora upgrades (p. 10)
• Testing your DB cluster with a new Aurora version before upgrading (p. 10)
Relational databases that are available on Aurora
The following relational databases are available on Aurora:
• Amazon Aurora MySQL-Compatible Edition. For usage information, see Working with Amazon Aurora MySQL (p. 750). For a detailed list of available versions, see Database engine updates for Amazon Aurora MySQL (p. 1086).
• Amazon Aurora PostgreSQL-Compatible Edition. For usage information, see Working with Amazon Aurora PostgreSQL (p. 1279). For a detailed list of available versions, see Amazon Aurora PostgreSQL updates (p. 1602).
Differences in version numbers between community databases and Aurora
Each Amazon Aurora version is compatible with a specific community database version of either MySQL or PostgreSQL. You can find the community version of your database using the version function and the Aurora version using the aurora_version function.
Examples for Aurora MySQL and Aurora PostgreSQL are shown following.
Amazon Aurora major versions
mysql> select version();
+---+
| version() | +---+
| 5.7.12 | +---+
mysql> select aurora_version(), @@aurora_version;
+---+---+
| aurora_version() | @@aurora_version | +---+---+
| 2.08.1 | 2.08.1 | +---+---+
postgres=> select version();
--- PostgreSQL 11.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.9.3, 64-bit (1 row)
postgres=> select aurora_version();
aurora_version --- 3.2.2
For more information, see Checking Aurora MySQL versions using SQL (p. 1088) and Identifying versions of Amazon Aurora PostgreSQL (p. 1602).
Amazon Aurora major versions
Aurora versions use the major.minor.patch scheme. An Aurora major version refers to the MySQL or PostgreSQL community major version that Aurora is compatible with. The following example shows the mapping between community MySQL and PostgreSQL versions and the corresponding Aurora versions.
Community major version Aurora major version
MySQL 5.6 Aurora MySQL 1
MySQL 5.7 Aurora MySQL 2
MySQL 8.0 Aurora MySQL 3
PostgreSQL 9.6 Aurora PostgreSQL 1
PostgreSQL 10 Aurora PostgreSQL 2. Not applicable for version
10.18 and higher versions. For these versions, the Aurora version is the same as the major.minor version of the PostgreSQL community version and a third digit in patch location.
PostgreSQL 11 Aurora PostgreSQL 3. Not applicable for version
11.13 amd higher versions. For these versions, the Aurora version is the same as the major.minor version of the PostgreSQL community version and a third digit in patch location.
PostgreSQL 12 Aurora PostgreSQL 4. Not applicable for version
12.8 and higher versions. For these versions, the Aurora version is the same as the major.minor
Amazon Aurora minor versions
Community major version Aurora major version
version of the PostgreSQL community version and a third digit in patch location.
PostgreSQL 13 Aurora PostgreSQL 4. Not applicable for version
13.3 and higher versions. For these versions, the Aurora version is the same as the major.minor version of the PostgreSQL community version and a third digit in patch location.
Amazon Aurora minor versions
Aurora versions use the major.minor.patch scheme. An Aurora minor version provides incremental community and Aurora-specific improvements to the service, for example new features and bug fixes.
Aurora minor versions are always mapped to a specific community version. However, some community versions might not have an Aurora equivalent.
Amazon Aurora patch versions
Aurora versions use the major.minor.patch scheme. An Aurora patch version includes important bug fixes added to a minor version after its initial release (for example, Aurora MySQL 2.04.0, 2.04.1, ..., 2.04.9). While each new minor version provides new Aurora features, new patch versions within a specific minor version are primarily used to resolve important issues.
For more information on patching, see Maintaining an Amazon Aurora DB cluster (p. 446).
Learning what's new in each Amazon Aurora version
Each new Aurora version comes with release notes that list the new features, fixes, other enhancements, and so on that apply to each version.
For Aurora MySQL release notes, see Database engine updates for Amazon Aurora MySQL version 2 (p. 1113) and Database engine updates for Amazon Aurora MySQL version 1 (p. 1200). For Aurora PostgreSQL release notes, see Amazon Aurora PostgreSQL releases and engine versions (p. 1604).
Specifying the Amazon Aurora database version for your database cluster
You can specify any currently available version (major and minor) when creating a new DB cluster using the Create database operation in the AWS Management Console, the AWS CLI, or the
CreateDBCluster API operation. Not every Aurora database version is available in every AWS Region.
To learn how to create Aurora clusters, see Creating an Amazon Aurora DB cluster (p. 125). To learn how to change the version of an existing Aurora cluster, see Modifying an Amazon Aurora DB cluster (p. 375).
Default Amazon Aurora versions
When a new Aurora minor version contains significant improvements compared to a previous one, it's marked as the default version for new DB clusters. Typically, we release two default versions for each major version per year.
Automatic minor version upgrades
We recommend that you keep your DB cluster upgraded to the most current default minor version, because that version contains the latest security and functionality fixes.
Automatic minor version upgrades
You can stay up to date with Aurora minor versions by turning on Auto minor version upgrade for every DB instance in the Aurora cluster. Aurora only performs the automatic upgrade if all DB instances in your cluster have this setting turned on. Auto minor version upgrades are performed to the default minor version. We typically schedule automatic upgrades twice a year for DB clusters that have the Auto minor version upgrade setting set to Yes. These upgrades are started during the maintenance window that you specify for your cluster.
For more information, see Enabling automatic upgrades between minor Aurora MySQL versions (p. 1093) and Automatic minor version upgrades for PostgreSQL (p. 1699).
How long Amazon Aurora major versions remain available
Amazon Aurora major versions remain available at least until community end of life for the
corresponding community version. You can use the following dates to plan your testing and upgrade cycles. These dates represent the earliest date that an upgrade to a newer version might be required. If Amazon extends support for an Aurora version for longer than originally stated, we plan to update this table to reflect the later date.
Database community version Aurora version Expected date for upgrading to a newer version
MySQL 5.6 1 February 28, 2023, 00:00:00
UTC
MySQL 5.7 2 February 29, 2024
MySQL 8.0 3
PostgreSQL 9.6 1 January 31, 2022
PostgreSQL 10 January 31, 2023
PostgreSQL 11 January 31, 2024
PostgreSQL 12 January 31, 2025
PostgreSQL 13
Varies depending on the minor version of the Aurora PostgreSQL release. For more information, see Amazon Aurora major versions (p. 6).
January 31, 2026
Before we ask that you upgrade to a newer major version and to help you plan, we provide a reminder at least 12 months in advance. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take. We always recommend that you thoroughly test your applications against new database versions before performing a major version upgrade.
After this 12-month period, an automatic upgrade to the subsequent major version might be applied to any database cluster still running the older version. If so, the upgrade is started during scheduled maintenance windows.
How often Amazon Aurora minor versions are released
How often Amazon Aurora minor versions are released
In general, Amazon Aurora minor versions are released quarterly. The release schedule might vary to pick up additional features or fixes.
How long Amazon Aurora minor versions remain available
We intend to make each Amazon Aurora minor version of a particular major version available for at least 12 months. At the end of this period, Aurora might apply an auto minor version upgrade to the subsequent default minor version. Such an upgrade is started during the scheduled maintenance window for any cluster that is still running the older minor version.
We might replace a minor version of a particular major version sooner than the usual 12-month period if there are critical matters such as security issues, or if the major version has been deprecated.
Before beginning automatic upgrades of minor versions, we generally provide a reminder three months in advance. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take.
Long-term support for selected Amazon Aurora minor versions
For each Aurora major version, certain minor versions are designated as long-term-support (LTS) versions and made available for at least three years. That is, at least one minor version per major version is made available for longer than the typical 12 months. We generally provide a reminder six months before the end of this period. We do so to communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take.
LTS minor versions include only bug fixes (through patch versions). An LTS version doesn't include new features released after its introduction. Once a year, DB clusters running on an LTS minor version are patched to the latest patch version of the LTS release. We do this patching to help ensure that you benefit from cumulative security and stability fixes. We might patch an LTS minor version more frequently if there are critical fixes, such as for security, that need to be applied.
NoteIf you want to remain on an LTS minor version for the duration of its lifecycle, make sure to turn off Auto minor version upgrade for your DB instances. To avoid automatically upgrading your DB cluster from the LTS minor version, set Auto minor version upgrade to No on all DB instances in your Aurora cluster.
For the version numbers of all Aurora LTS versions, see Aurora MySQL long-term support (LTS) releases (p. 1089) and Aurora PostgreSQL long-term support (LTS) releases (p. 1701).
Manually controlling if and when your database cluster is upgraded to new versions
Auto minor version upgrades are performed to the default minor version. We typically schedule automatic upgrades twice a year for DB clusters that have the Auto minor version upgrade setting set to Yes. These upgrades are started during customer-specified maintenance windows. If you want to turn off automatic minor version upgrades, set Auto minor version upgrade to No on any DB instance within
Required Amazon Aurora upgrades
an Aurora cluster. Aurora performs an automatic minor version upgrade only if all DB instances in your cluster have the setting turned on.
Because major version upgrades involve some compatibility risk, they don't occur automatically. You must initiate these, except in the case of a major version deprecation, as explained earlier. We always recommend that you thoroughly test your applications with new database versions before performing a major version upgrade.
For more information about upgrading a DB cluster to a new Aurora major version, see Upgrading Amazon Aurora MySQL DB clusters (p. 1092) and Upgrading the PostgreSQL DB engine for Aurora PostgreSQL (p. 1692).
Required Amazon Aurora upgrades
For certain critical fixes, we might perform a managed upgrade to a newer patch level within the same minor version. These required upgrades happen even if Auto minor version upgrade is turned off. Before doing so, we communicate the detailed upgrade process. Details include the timing of certain milestones, the impact on your DB clusters, and the actions that we recommend that you take. Such managed upgrades are performed automatically. Each such upgrade is started within the cluster maintenance window.
Testing your DB cluster with a new Aurora version before upgrading
You can test the upgrade process and how the new version works with your application and workload.
Use one of the following methods:
• Clone your cluster using the Amazon Aurora fast database clone feature. Perform the upgrade and any post-upgrade testing on the new cluster.
• Restore from a cluster snapshot to create a new Aurora cluster. You can create a cluster snapshot yourself from an existing Aurora cluster. Aurora also automatically creates periodic snapshots for you for each of your clusters. You can then initiate a version upgrade for the new cluster. You can experiment on the upgraded copy of your cluster before deciding whether to upgrade your original cluster.
For more information on these ways to create new clusters for testing, see Cloning a volume for an Aurora DB cluster (p. 405) and Creating a DB cluster snapshot (p. 498).
Regions and Availability Zones
Regions and Availability Zones
Amazon cloud computing resources are hosted in multiple locations world-wide. These locations are composed of AWS Regions and Availability Zones. Each AWS Region is a separate geographic area. Each AWS Region has multiple, isolated locations known as Availability Zones.
NoteFor information about finding the Availability Zones for an AWS Region, see Describe Your Availability Zones in the Amazon EC2 documentation.
Amazon operates state-of-the-art, highly-available data centers. Although rare, failures can occur that affect the availability of DB instances that are in the same location. If you host all your DB instances in a single location that is affected by such a failure, none of your DB instances will be available.
It is important to remember that each AWS Region is completely independent. Any Amazon RDS activity you initiate (for example, creating database instances or listing available database instances) runs only in your current default AWS Region. The default AWS Region can be changed in the console, by setting the AWS_DEFAULT_REGION environment variable, or it can be overridden by using the --region parameter with the AWS Command Line Interface (AWS CLI). For more information, see Configuring the AWS Command Line Interface, specifically the sections about environment variables and command line options.
Amazon RDS supports special AWS Regions called AWS GovCloud (US) that are designed to allow US government agencies and customers to move more sensitive workloads into the cloud. The AWS GovCloud (US) Regions address the US government's specific regulatory and compliance requirements.
For more information, see What is AWS GovCloud (US)?
To create or work with an Amazon RDS DB instance in a specific AWS Region, use the corresponding regional service endpoint.
NoteAurora doesn't support Local Zones.
AWS Regions
Each AWS Region is designed to be isolated from the other AWS Regions. This design achieves the greatest possible fault tolerance and stability.
AWS Regions
When you view your resources, you see only the resources that are tied to the AWS Region that you specified. This is because AWS Regions are isolated from each other, and we don't automatically replicate resources across AWS Regions.
Region availability
When you work with an Aurora DB cluster using the command line interface or API operations, make sure that you specify its regional endpoint.
Topics
• Aurora MySQL Region availability (p. 12)
• Aurora PostgreSQL Region availability (p. 14)
Aurora MySQL Region availability
The following table shows the AWS Regions where Aurora MySQL is currently available and the endpoint for each Region.
Region
Name Region Endpoint Protocol
US East
(Ohio) us-east-2 rds.us-east-2.amazonaws.com HTTPS
US East (N.
Virginia) us-east-1 rds.us-east-1.amazonaws.com HTTPS
US West (N.
California)
us-west-1 rds.us-west-1.amazonaws.com HTTPS
US West
(Oregon) us-west-2 rds.us-west-2.amazonaws.com HTTPS
Africa (Cape Town)
af-south-1 rds.af-south-1.amazonaws.com HTTPS
Asia Pacific (Hong Kong)
ap-east-1 rds.ap-east-1.amazonaws.com HTTPS
Asia Pacific (Jakarta)
ap-
southeast-3 rds.ap-southeast-3.amazonaws.com HTTPS
Asia Pacific (Mumbai)
ap-
south-1 rds.ap-south-1.amazonaws.com HTTPS
AsiaPacific (Osaka)
ap-northeast-3 rds.ap-northeast-3.amazonaws.com HTTPS
AWS Regions
Region
Name Region Endpoint Protocol
Asia Pacific (Seoul)
ap-
northeast-2 rds.ap-northeast-2.amazonaws.com HTTPS
AsiaPacific (Singapore)
ap-southeast-1 rds.ap-southeast-1.amazonaws.com HTTPS
Asia Pacific (Sydney)
ap-
southeast-2 rds.ap-southeast-2.amazonaws.com HTTPS
AsiaPacific (Tokyo)
ap-northeast-1 rds.ap-northeast-1.amazonaws.com HTTPS
Canada
(Central) ca-
central-1 rds.ca-central-1.amazonaws.com HTTPS
Europe
(Frankfurt) eu-
central-1 rds.eu-central-1.amazonaws.com HTTPS
Europe
(Ireland) eu-west-1 rds.eu-west-1.amazonaws.com HTTPS
Europe
(London) eu-west-2 rds.eu-west-2.amazonaws.com HTTPS
Europe
(Milan) eu-
south-1 rds.eu-south-1.amazonaws.com HTTPS
Europe
(Paris) eu-west-3 rds.eu-west-3.amazonaws.com HTTPS
Europe
(Stockholm) eu-north-1 rds.eu-north-1.amazonaws.com HTTPS Middle
East(Bahrain)
me-
south-1 rds.me-south-1.amazonaws.com HTTPS
South America (SãoPaulo)
sa-east-1 rds.sa-east-1.amazonaws.com HTTPS
AWSGovCloud (US-East)
us-gov-
east-1 rds.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (US-West)
us-gov-
west-1 rds.us-gov-west-1.amazonaws.com HTTPS
AWS Regions
Aurora PostgreSQL Region availability
The following table shows the AWS Regions where Aurora PostgreSQL is currently available and the endpoint for each Region.
Region
Name Region Endpoint Protocol
US East
(Ohio) us-east-2 rds.us-east-2.amazonaws.com HTTPS
US East (N.
Virginia) us-east-1 rds.us-east-1.amazonaws.com HTTPS
US West (N.
California)
us-west-1 rds.us-west-1.amazonaws.com HTTPS
US West
(Oregon) us-west-2 rds.us-west-2.amazonaws.com HTTPS
Africa (Cape Town)
af-south-1 rds.af-south-1.amazonaws.com HTTPS
Asia Pacific (Hong Kong)
ap-east-1 rds.ap-east-1.amazonaws.com HTTPS
Asia Pacific (Jakarta)
ap-
southeast-3 rds.ap-southeast-3.amazonaws.com HTTPS
AsiaPacific (Mumbai)
ap-south-1 rds.ap-south-1.amazonaws.com HTTPS
Asia Pacific (Osaka)
ap-
northeast-3 rds.ap-northeast-3.amazonaws.com HTTPS
Asia Pacific (Seoul)
ap-
northeast-2 rds.ap-northeast-2.amazonaws.com HTTPS
AsiaPacific (Singapore)
ap-southeast-1 rds.ap-southeast-1.amazonaws.com HTTPS
Asia Pacific (Sydney)
ap-
southeast-2 rds.ap-southeast-2.amazonaws.com HTTPS
AsiaPacific (Tokyo)
ap-northeast-1 rds.ap-northeast-1.amazonaws.com HTTPS
Availability Zones
Region
Name Region Endpoint Protocol
Canada
(Central) ca-
central-1 rds.ca-central-1.amazonaws.com HTTPS
Europe
(Frankfurt) eu-
central-1 rds.eu-central-1.amazonaws.com HTTPS
Europe
(Ireland) eu-west-1 rds.eu-west-1.amazonaws.com HTTPS
Europe
(London) eu-west-2 rds.eu-west-2.amazonaws.com HTTPS
Europe
(Milan) eu-
south-1 rds.eu-south-1.amazonaws.com HTTPS
Europe
(Paris) eu-west-3 rds.eu-west-3.amazonaws.com HTTPS
Europe
(Stockholm) eu-north-1 rds.eu-north-1.amazonaws.com HTTPS Middle
East (Bahrain)
me-south-1 rds.me-south-1.amazonaws.com HTTPS
South America (São Paulo)
sa-east-1 rds.sa-east-1.amazonaws.com HTTPS
AWSGovCloud (US-East)
us-gov-
east-1 rds.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (US-West)
us-gov-
west-1 rds.us-gov-west-1.amazonaws.com HTTPS
Availability Zones
An Availability Zone is an isolated location in a given AWS Region. Each Region has multiple Availability Zones (AZ) designed to provide high availability for the Region. An AZ is identified by the AWS Region code followed by a letter identifier (for example, us-east-1a). If you create your VPC and subnets rather than using the default VPC, you define each subnet in a specific AZ. When you create an Aurora DB cluster, Aurora creates the primary instance in one of the subnets in the VPC's DB subnet group, thus associating that instance with a specific AZ chosen by Aurora.
Each Aurora DB cluster hosts copies of its storage in three separate AZs. Every DB instance in the cluster must be in one of these three AZs. When you create a DB instance in your cluster, Aurora automatically chooses an appropriate AZ if you don't specify an AZ. If an AWS Region has fewer than three AZs, Aurora isn't available in that Region.
To learn how to specify the AZ when you create a cluster or add instances to it, see VPC, subnets, and AZs (p. 125).
Local time zone for DB clusters
Local time zone for Amazon Aurora DB clusters
By default, the time zone for an Amazon Aurora DB cluster is Universal Time Coordinated (UTC). You can set the time zone for instances in your DB cluster to the local time zone for your application instead.
To set the local time zone for a DB cluster, set the time zone parameter in the cluster parameter group for your DB cluster to one of the supported values listed later in this section. For Aurora MySQL, the name of this parameter is time_zone. For Aurora PostgreSQL, the name of this parameter is timezone.
When you set the time zone parameter for a DB cluster, all instances in the DB cluster change to use the new local time zone. If other Aurora DB clusters are using the same cluster parameter group, then all instances in those DB clusters change to use the new local time zone also. For information on cluster- level parameters, see Amazon Aurora DB cluster and DB instance parameters (p. 344).
After you set the local time zone, all new connections to the database reflect the change. If you have any open connections to your database when you change the local time zone, you won't see the local time zone update until after you close the connection and open a new connection.
If you are replicating across AWS Regions, then the replication master DB cluster and the replica use different parameter groups (parameter groups are unique to an AWS Region). To use the same local time zone for each instance, you must set the time zone parameter in the parameter groups for both the replication master and the replica.
When you restore a DB cluster from a DB cluster snapshot, the local time zone is set to UTC. You can update the time zone to your local time zone after the restore is complete. If you restore a DB cluster to a point in time, then the local time zone for the restored DB cluster is the time zone setting from the parameter group of the restored DB cluster.
You can set your local time zone to one of the values listed in the following table. For some time zones, time values for certain date ranges can be reported incorrectly as noted in the table. For Australia time zones, the time zone abbreviation returned is an outdated value as noted in the table.
Time zone Notes
Africa/Harare This time zone setting can return incorrect values from 28 Feb 1903 21:49:40 GMT to 28 Feb 1903 21:55:48 GMT.
Africa/Monrovia
Africa/Nairobi This time zone setting can return incorrect values from 31 Dec 1939 21:30:00 GMT to 31 Dec 1959 21:15:15 GMT.
Africa/Windhoek
America/Bogota This time zone setting can return incorrect values from 23 Nov 1914 04:56:16 GMT to 23 Nov 1914 04:56:20 GMT.
America/Caracas America/Chihuahua America/Cuiaba America/Denver
America/Fortaleza If your DB cluster is in the South America (Sao Paulo) Region and the expected time doesn't show correctly for the recently changed Brazil time zone, reset the DB cluster's time zone parameter to America/Fortaleza.
America/Guatemala
Local time zone for DB clusters
Time zone Notes
America/Halifax This time zone setting can return incorrect values from 27 Oct 1918 05:00:00 GMT to 31 Oct 1918 05:00:00 GMT.
America/Manaus If your DB cluster is in the South America (Cuiaba) time zone and the expected time doesn't show correctly for the recently changed Brazil time zone, reset the DB cluster's time zone parameter to America/Manaus.
America/Matamoros America/Monterrey America/Montevideo America/Phoenix America/Tijuana Asia/Ashgabat Asia/Baghdad Asia/Baku Asia/Bangkok Asia/Beirut Asia/Calcutta Asia/Kabul Asia/Karachi Asia/Kathmandu
Asia/Muscat This time zone setting can return incorrect values from 31 Dec 1919 20:05:36 GMT to 31 Dec 1919 20:05:40 GMT.
Asia/Riyadh This time zone setting can return incorrect values from 13 Mar 1947 20:53:08 GMT to 31 Dec 1949 20:53:08 GMT.
Asia/Seoul This time zone setting can return incorrect values from 30 Nov 1904 15:30:00 GMT to 07 Sep 1945 15:00:00 GMT.
Asia/Shanghai This time zone setting can return incorrect values from 31 Dec 1927 15:54:08 GMT to 02 Jun 1940 16:00:00 GMT.
Asia/Singapore
Asia/Taipei This time zone setting can return incorrect values from 30 Sep 1937 16:00:00 GMT to 29 Sep 1979 15:00:00 GMT.
Asia/Tehran
Asia/Tokyo This time zone setting can return incorrect values from 30 Sep 1937 15:00:00 GMT to 31 Dec 1937 15:00:00 GMT.
Asia/Ulaanbaatar
Local time zone for DB clusters
Time zone Notes
Atlantic/Azores This time zone setting can return incorrect values from 24 May 1911 01:54:32 GMT to 01 Jan 1912 01:54:32 GMT.
Australia/Adelaide The abbreviation for this time zone is returned as CST instead of ACDT/ACST.
Australia/Brisbane The abbreviation for this time zone is returned as EST instead of AEDT/AEST.
Australia/Darwin The abbreviation for this time zone is returned as CST instead of ACDT/ACST.
Australia/Hobart The abbreviation for this time zone is returned as EST instead of AEDT/AEST.
Australia/Perth The abbreviation for this time zone is returned as WST instead of AWDT/
AWST.
Australia/Sydney The abbreviation for this time zone is returned as EST instead of AEDT/AEST.
Brazil/East Canada/
Saskatchewan
This time zone setting can return incorrect values from 27 Oct 1918 08:00:00 GMT to 31 Oct 1918 08:00:00 GMT.
Europe/Amsterdam Europe/Athens Europe/Dublin
Europe/Helsinki This time zone setting can return incorrect values from 30 Apr 1921 22:20:08 GMT to 30 Apr 1921 22:20:11 GMT.
Europe/Paris Europe/Prague Europe/Sarajevo Pacific/Auckland Pacific/Guam
Pacific/Honolulu This time zone setting can return incorrect values from 21 May 1933 11:30:00 GMT to 30 Sep 1945 11:30:00 GMT.
Pacific/Samoa This time zone setting can return incorrect values from 01 Jan 1911 11:22:48 GMT to 01 Jan 1950 11:30:00 GMT.
US/Alaska US/Central US/Eastern US/East-Indiana US/Pacific UTC
Supported Aurora features by Region and engine
Supported features in Amazon Aurora by AWS Region and Aurora DB engine
Aurora MySQL- and PostgreSQL-compatible database engines support several Amazon Aurora and Amazon RDS features and options. The support varies across specific versions of each database engine, and across AWS Regions. You can use the tables in this section to identify Aurora database engine version support and availability in a given AWS Region for the following features:
Topics
• Backtracking in Aurora (p. 19)
• Aurora global databases (p. 21)
• Aurora machine learning (p. 23)
• Aurora parallel queries (p. 26)
• Amazon RDS Proxy (p. 27)
• Aurora Serverless v1 (p. 29)
• Data API for Aurora Serverless (p. 31)
Some of these features are Aurora-only capabilities. For example, Aurora Serverless, Aurora global databases, and support for integration with AWS machine learning services aren't supported by Amazon RDS. Other features, such as Amazon RDS Proxy, are supported by both Amazon Aurora and Amazon RDS.
The tables use the following patterns to specify version numbers and level of support:
• Version x.y – The specific version alone is supported.
• Version x.y and higher – The version and all minor versions are also supported. For example, "version 10.11 and higher" means that versions 10.11, 10.11.1, and 10.12 are also supported.
• - – The feature is not currently available for that particular Aurora feature for the given Aurora database engine, or in that specific AWS Region.
Backtracking in Aurora
By using backtracking in Aurora, you return the state of an Aurora cluster to a specific point in time, without restoring data from a backup. It completes within seconds, even for large databases. For more information, see Backtracking an Aurora DB cluster (p. 821).
Aurora backtracking is available for Aurora MySQL only. It's not available for Aurora PostgreSQL.
Region Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
US East (Ohio) Version 5.6.10a Version 2.06 and higher - US East (N.
Virginia) Version 5.6.10a Version 2.06 and higher -
US West (N.
California) Version 5.6.10a Version 2.06 and higher -
US West
(Oregon) Version 5.6.10a Version 2.06 and higher -
Backtracking in Aurora
Region Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora MySQL 8.0
Africa (Cape
Town) - - -
Asia Pacific
(Hong Kong) - - -
Asia Pacific
(Jakarta) - - -
Asia Pacific
(Mumbai) Version 5.6.10a Version 2.06 and higher -
Asia Pacific
(Osaka) Version 5.6.10a; version 1.22
and higher Version 2.07.3 and higher -
Asia Pacific
(Seoul) Version 5.6.10a Version 2.06 and higher -
Asia Pacific
(Singapore) Version 5.6.10a Version 2.06 and higher -
Asia Pacific
(Sydney) Version 5.6.10a Version 2.06 and higher -
Asia Pacific
(Tokyo) Version 5.6.10a Version 2.06 and higher -
Canada
(Central) Version 5.6.10a Version 2.06 and higher -
China (Beijing) - - -
China
(Ningxia) - - -
Europe
(Frankfurt) Version 5.6.10a Version 2.06 and higher -
Europe
(Ireland) Version 5.6.10a Version 2.06 and higher -
Europe
(London) Version 5.6.10a Version 2.06 and higher -
Europe (Milan) - - -
Europe (Paris) Version 5.6.10a Version 2.06 and higher - Europe
(Stockholm) - - -
Middle East
(Bahrain) - - -
South America (São Paulo)
- - -