Emulate Oracle RAC workloads using custom endpoints in Aurora PostgreSQL
Created by HariKrishna Boorgadda (AWS)
Environment: PoC or pilot | Source: Databases: Relational | Target: Aurora PostgreSQL |
R Type: Replatform | Workload: Oracle | Technologies: Databases; Migration |
AWS services: Amazon Aurora; Amazon CloudWatch |
Summary
This pattern describes how to emulate services in an Oracle Real Application Clusters (Oracle RAC) workload by using Amazon Aurora PostgreSQL-Compatible Edition with custom endpoints that distribute workloads across instances within a single cluster. The pattern shows you how to create custom endpoints for Amazon Aurora databases. Custom endpoints enable you to distribute and load balance workloads across different sets of DB instances in your Aurora cluster.
In an Oracle RAC environment, services
Prerequisites and limitations
Prerequisites
An active AWS account
An Oracle RAC database migrated to an Aurora PostgreSQL-Compatible database
Limitations
For limitations that apply to custom endpoints, see Specifying properties for custom endpoints in the Amazon RDS documentation.
Architecture
Source technology stack
A three-node Oracle RAC database
Target technology stack
An Aurora PostgreSQL-Compatible database with two read replicas
Source architecture
The following diagram shows the architecture of a three-node Oracle RAC database.
Target architecture
The following diagram shows the architecture of an Aurora PostgreSQL-Compatible database with two read replicas. Three different applications/services are using custom endpoints, which serve different application users and redirect the traffic and load between primary and read replicas.
Tools
Amazon Aurora PostgreSQL-Compatible Edition is a fully managed, ACID-compliant relational database engine that helps you set up, operate, and scale PostgreSQL deployments.
Amazon CloudWatch helps you monitor the metrics of your AWS resources and the applications that you run on AWS in real time.
Amazon Relational Database Service (Amazon RDS) for PostgreSQL helps you set up, operate, and scale a PostgreSQL relational database in the AWS Cloud.
AWS Command Line Interface (AWS CLI) is an open-source tool that helps you interact with AWS services through commands in your command-line shell.
Epics
Task | Description | Skills required |
---|---|---|
Create a cluster. | To create the cluster, see Creating a DB cluster and connecting to a database on an Aurora PostgreSQL DB cluster in the Amazon RDS documentation. | AWS administrator |
Create a custom parameter group for the workload. | To create a parameter group, see Creating a DB cluster parameter group in the Amazon RDS documentation. | AWS administrator |
Create event notifications and alarms. | You can use event notifications and Amazon CloudWatch alarms to notify you when the cluster changes state and to capture metrics when a predefined threshold is met. To create a CloudWatch alarm, see Create a CloudWatch alarm based on a static threshold in the CloudWatch documentation. To create an event notification, see Creating a CloudWatch Events Rule That Triggers on an Event in the CloudWatch documentation. | AWS administrator |
Task | Description | Skills required |
---|---|---|
Add the read replicas to the cluster. |
| AWS administrator |
Note the read replica endpoint. | Document your read replica endpoint for later use in creating the custom endpoints. | AWS administrator |
Task | Description | Skills required |
---|---|---|
Enter a name for the custom endpoint. | For each endpoint that you require, create a unique endpoint name related to your workload or application. | AWS administrator |
Add the endpoint members. | Add your read replica endpoints to a custom group. For more information, see Editing a custom endpoint in the Amazon RDS documentation. | AWS administrator |
(Optional) Add future instances to the cluster. | If you want to add more replicas or endpoints to the custom group, see Adding Aurora Replicas to a DB cluster in the Amazon RDS documentation. | AWS administrator |
Create the endpoint. | To create the endpoint, see Creating a custom endpoint in the Amazon RDS documentation. | AWS administrator |
Task | Description | Skills required |
---|---|---|
Share the custom endpoint details with the application that points to your workload. | Add your custom endpoint details to the database connection details in the reporting application that you plan to test. | AWS administrator |
Connect the workload by using the custom endpoint. | Validate the custom endpoint details in the reporting application. | AWS administrator |
Check the connection details from the database. |
| AWS administrator |