Amazon Internet Companies (AWS) clients are deploying AWS Outposts as a completely managed answer that delivers AWS infrastructure and providers to on-premises or edge places for a very constant hybrid expertise. These hybrid cloud workloads can require extremely obtainable Oracle databases operating on- or close-to premises. One strategy to meet this requirement is Oracle Actual Utility Clusters (RAC) on high of two or extra AWS Outposts racks utilizing the FlashGrid Cluster answer.
On this publish, we observe up on a Market weblog that describes tips on how to deploy Oracle RAC by way of FlashGrid Cluster within the AWS areas. Deploying the answer onto AWS Outposts requires extra steps because the Outpost racks talk between VPCs and throughout the on-premises community. Within the following we clarify tips on how to configure the community for a multi-Outpost setup, tips on how to deploy FlashGrid Cluster with Oracle RAC, and the way to hook up with the database cluster from the on-premises community.
Answer overview
This structure makes use of two logical Outposts (42U racks) which can be linked to totally different Availability Zones (AZs) in the identical area for prime availability. The networking is configured such that the communication between Amazon Elastic Compute Cloud (Amazon EC2) cases on two distinct Outpost racks makes use of Outpost’s native gateways and the company community. Subsequently, information is not going to go away the premises except explicitly copied to the Cloud area.
The FlashGrid Cluster answer deploys one node to every Outpost rack and an extra quorum node to the Cloud area. The cluster nodes present the Oracle ASM disk teams and the Oracle RAC nodes. FlashGrid Cluster for Oracle RAC ensures that storage is replicated between nodes (Determine 1).
We offer an entire, step-by-step information that deploys an Oracle RAC database throughout two Outpost racks.
It takes three steps to get your database up and operating:
- Networking: put together the digital non-public clouds (VPCs), subnets, and route tables
- FlashGrid Cluster: use the FlashGrid Launcher to create an Oracle RAC cluster
- Database: configure Oracle RAC and hook up with the database
The deployment makes use of a CloudFormation template that’s generated primarily based on the workload’s particular parameters.
Stipulations
For this answer, you require:
Networking setup
A single VPC can’t span a number of Outposts. Subsequently, every Outpost ought to have a individually configured VPC.
A safety group permitting site visitors between the nodes of the cluster have to be created in every VPC. Non-public IP addresses of the opposite nodes within the cluster ought to be configured as allowed sources of the site visitors. (A safety group rule can’t reference a safety group in a distinct VPC.)
The steps advised for configuring the community, as in Determine 2:
- Create a VPC for every Outpost and a VPC between these VPCs. Be sure that the VPCs are related to the respective native gateways on every Outpost.
- Inside every VPC, create a subnet for the corresponding Outpost and a subnet within the Area. Add route tables to every Outpost subnet that enable cross-VPC routing (as in Desk 1).Desk 1. Predominant route desk for VPC ‘Outpost 1’
Vacation spot Goal 10.0.1.0/24 native 10.0.2.0/25 lgw-11111111111111111 10.0.2.128/25 pcx-11223344556677889 pl-12345678 vpce-12345678901234567 - For every of the cluster nodes, allocate a non-public IP handle throughout the corresponding subnet.
- Inside every VPC create a separate safety group for every cluster. The safety group should enable all inbound and outbound site visitors from all nodes of the identical cluster utilizing their non-public IP addresses.
- Non-obligatory: Create a public subnet within the area in both one of many VPCs. Deploying a bastion host EC2 occasion into this subnet will assist you to join by SSH to the Oracle RAC nodes later.
- Open SSH entry (TCP 22) and Oracle shopper entry (default ports: TCP 1521, 1522) both by including the corresponding guidelines to the identical safety teams or assigning extra safety teams to all cluster node cases after the cluster deployment is full.
- Create an Amazon Easy Storage Service (Amazon S3) gateway endpoint in every VPC and add corresponding routes. It’s vital to make use of Amazon S3 gateway endpoints, in any other case the Oracle RAC nodes can’t obtain the set up binaries from the S3 bucket.
FlashGrid Cluster setup
The method of deploying FlashGrid Cluster consists of 5 principal steps:
- Subscribing to a FlashGrid Cluster product in AWS Market
- Importing Oracle set up recordsdata to an S3 bucket within the Area
- Modifying the cluster configuration template with parameters particular to Outposts
- Utilizing the FlashGrid Launcher device to finalize cluster configuration and generate an AWS CloudFormation template
- Deploying the CloudFormation template
Subscribing to a FlashGrid Cluster product in AWS Market
- Open one of many FlashGrid Cluster product pages in AWS Market corresponding with the popular working system.
- Choose Proceed.
- Choose the Handbook Launch tab.
- Select Settle for Software program Phrases.
Creating an S3 bucket for Oracle set up recordsdata
Throughout cluster provisioning, Oracle set up recordsdata are downloaded from an S3 bucket. The record of recordsdata that have to be positioned within the S3 bucket is displayed on the Oracle Information tab of the FlashGrid Launcher device (subsequent step). The S3 bucket isn’t purported to have any delicate information in it and may be hosted in any AWS Area. You should use the identical bucket for a number of deployments.
To create an S3 bucket with the right IAM position entry:
- Create an S3 bucket or folder for importing the set up recordsdata
- Inside the IAM console, create a coverage named GetOracleFilesFromS3, which permits the
s3:GetObject
motion on all uploaded recordsdata - Create an EC2 occasion position named GetOracleFilesFromS3 and fix the GetOracleFilesFromS3 coverage to it
- Use the GetOracleFilesFromS3 position when configuring cluster parameters within the FlashGrid Launcher
- As soon as the FlashGrid Launcher has offered an inventory of required Oracle set up recordsdata, place these into the S3 bucket
Modifying the cluster configuration template with parameters particular to Outposts
Obtain the configuration file template, and open it in a textual content editor. The template is for a two-node RAC cluster on Outposts in Multi-AZ configuration.
For the database node cases within the configuration file, manually set the next attributes:
- outpost_arn: ARN of the goal Outpost
- ip: non-public IP handle assigned to the EC2 occasion
- sg: safety group ID
- ins_type: occasion sort (be sure that this matches the obtainable sorts for the Outposts)
Making a cluster configuration file utilizing FlashGrid Launcher device
FlashGrid Launcher is an internet device that permits creating your required configuration for the cluster after which producing a CloudFormation template for it.
- Open FlashGrid Launcher and add the custom-made configuration file created on the earlier step.
- Comply with the step-by-step directions within the Launcher device (see Determine 3) till you get to the final Launch step.
a. Within the Oracle Information step, there’s a record of installer recordsdata. Add these recordsdata into the S3 bucket from the earlier part (Creating an S3 bucket for Oracle set up recordsdata).
b. Within the Storage step, ignore the IOPS and MBPS parameters, as these parameters is not going to be used as a result of Outposts makes use of the GP2 sort of volumes.
c. Within the Community step, present the Safety Group ID that will probably be used for the quorum node positioned within the Area. Make sure that to make use of a safety group from the quorum node’s VPC. - On the Launch step, click on Launch FlashGrid. This generates a CloudFormation template and takes you to the AWS CloudFormation console.

Determine 3. The FlashGrid Launcher generates a CloudFormation template primarily based on varied enter parameters
Deploying the CloudFormation template
- As soon as you might be in AWS CloudFormation console, choose Subsequent.
- Choose the SSH key; don’t change community parameters for those who set them appropriately within the Launcher. Choose Subsequent.
- On the Choices web page, for those who added tags in FlashGrid Launcher, then don’t add the identical tags in CloudFormation console. You’re free so as to add additional tags on this step. Choose Subsequent.
- Choose Create, and wait till the standing of the stack modifications to CREATE_COMPLETE.
- Join by utilizing SSH from the bastion host to the primary cluster node as ec2-user with the SSH key you have been offered when the stack was deployed.
- The welcome message particulars the present initialization standing of the cluster: in progress, failed, or accomplished.
- If initialization continues to be in progress, await it to finish (this consists of Oracle software program set up and configuration). A broadcast message is delivered when initialization completes or fails. Cluster initialization takes 1 to 2 hours, relying on configuration.
Oracle database configuration
You possibly can create an Oracle RAC database (or a number of databases) utilizing Oracle DBCA device and following normal Oracle greatest practices.
To hook up with the Oracle RAC database utilizing the SCAN listener, configure the Area Identify System (DNS) data and the connection string on shopper facet:
- On the DNS server(s) utilized by purchasers, add a file resolving to the VPC Non-public IP handle of the node occasion for every database node. In a check atmosphere with no DNS server, the entries may be added to
/and so on/
hosts on the purchasers as a substitute of the DNS server. - In our instance deployment, that is:
rac1.instance.com 10.0.1.77 rac2.instance.com 10.0.2.77
- It’s important that hostnames and domains within the DNS data precisely match the hostnames as reported by the hostname command on the database servers.
- Lastly, outline a connection string with the addresses of all database nodes listed:
SCAN= (DESCRIPTION= (TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=6) (ADDRESS=(PROTOCOL=tcp) (HOST=rac2.instance.com) (PORT=1521)) (ADDRESS=(PROTOCOL=tcp) (HOST=rac2.instance.com) (PORT=1521)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=<service identify>) ) )
Go to the FlashGrid Assist Middle for extra data on creating and connecting to a database.
Cleanup
The Oracle RAC occasion along with the FlashGrid Cluster answer is deployed as a single CloudFormation stack. Deleting this stack will take away all related assets, together with the EBS volumes. Comply with the method detailed within the Delete Your Stacks However Preserve Your Knowledge weblog publish on the deployment stage to retain snapshots of all volumes routinely. You may as well take snapshots of all EBS volumes manually earlier than deleting the stack.
Conclusion
On this weblog publish, we now have explored tips on how to deploy Oracle RAC throughout two or extra Outpost racks utilizing FlashGrid Cluster. Working Oracle RAC on high of Outposts supplies a extremely obtainable database answer to be used circumstances that require you to run the workload on-premises, as in data-residency or latency-critical eventualities. Utilizing the rising variety of options for AWS Outposts rack, and you may extra effectively run hybrid workloads utilizing the identical instruments and automation each in Cloud Areas and on-premises.
Additional studying