AWS Database Blog

Configure Amazon RDS Custom for Oracle using AWS CloudFormation and AWS Systems Manager for JD Edwards One-Click

Amazon Relational Database Service (Amazon RDS) Custom automates database administration tasks and operations. RDS Custom makes it possible for you as a database administrator to access and customize your database environment and operating system. With RDS Custom, you can customize to meet the requirements of legacy, custom, and packaged applications.

One way to configure your RDS Custom for Oracle database is to use AWS CloudFormation and AWS Systems Manager. AWS CloudFormation allows you to create and manage infrastructure as code. Systems Manager centralizes operational data from multiple AWS services and automates tasks across your resources on AWS and in multi-cloud and hybrid environments.

In this post, we show you how to use AWS CloudFormation and Systems Manager to customize an RDS Custom for Oracle database for JD Edwards One-Click. The objective is to automate setup of the database and the One-Click tool requirements without an engineer needing to engage until the database is ready for the JD Edwards deployment.

JD Edwards One-Click is a tool from Oracle to automate the deployment of JD Edwards EnterpriseOne. JD Edwards One-Click requires that the database used for the deployment meets some prerequisites for both the operating system running the database and the database itself. For more information, refer to Setting Up the Oracle Database Server and Performing Common Setup for All Linux Servers.

The solution outlined in this post shows you how to create an RDS Custom for Oracle instance from a CloudFormation template that should work with JD Edwards One-Click.

Solution Overview

The solution uses the architecture shown in the following figure: a flow starting with a CloudFormation template that creates an RDS Custom instance from a custom engine version (CEV), an AWS Identity and Access Management (IAM) role for Systems Manager to access the RDS Custom instance, and two Systems Manager (SSM) documents: one making the changes at the operating system level and another for making the database-level changes. The SSM documents are associated with the RDS Custom instance to configure it as per the commands defined in the SSM documents, which should result in an RDS Custom for Oracle instance set up with the needed prerequisites.

Flow Chart

The architecture uses the following services and resources:

  • AWS CloudFormation – AWS CloudFormation helps you model and set up your AWS resources. You create a template that describes the AWS resources that you want, and AWS CloudFormation takes care of provisioning and configuring those resources for you. This solution deploys resources like the RDS Custom instance, IAM roles, and SSM documents using a CloudFormation template.
  • RDS Custom – RDS Custom is a managed database service that provides the flexibility to customize your database, underlying server, and operating system configurations needed to support applications that require more control than what a typical managed relational database service provides.
  • Systems Manager document – An SSM document defines the actions that Systems Manager performs on your managed instances. This solution creates an SSM document to modify the operating system parameters on the RDS Custom instance and another SSM document to modify the database parameters.

CloudFormation template

In this solution, we provide a CloudFormation template that takes minimum input parameters from the user and performs the following high-level tasks:

  1. Read key input parameters for provisioning like database disk size, shape, the CEV to use, and more.
  2. Create a CEV if requested with a manifest that runs the database as user oracle and the ORACLE_HOME path is within /u01, as required by JD Edwards One-Click. This step is optional and can be skipped via the input.
  3. Create an RDS Custom instance.
  4. Create an IAM role for Systems Manager to use.
  5. Create the SSM documents.
  6. Associate the SSM documents with the RDS Custom instance. SSM associations manage the state of a system based on your defined schedule, but also applies as soon as you associate a document with a resource. This feature is used to have the required JD Edwards One-Click prerequisites performed on the RDS Custom instance as soon as it’s provisioned.
  7. For SSM association, the CloudFormation DependsOn parameter is used to verify that the association and run of the SSM documents is only done after the RDS Custom instance is fully provisioned.
  8. Because there are two SSM documents, the DependsOn parameter in the SSM association block is used to manage the run order of these documents.


This solution requires the following prerequisites before you run it:

  • An AWS account with the IAM permissions to create and manage keys, Amazon RDS, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), AWS CloudFormation, and VPC-related resources
  • An Oracle support contract and license to access and download installers and patches
  • A VPC with at least two private subnets and a route table attached to them for routing
  • A public subnet, route table, and routes to an internet gateway if public access is needed
  • A Region where RDS Custom is available
  • RDS Custom IAM roles

Deploy the solution

You can use this solution through the AWS Management Console or run it via the AWS Command Line Interface (AWS CLI). This solution assumes that you are familiar with the deployment of the CloudFormation template; however, if you require instructions on how to run a CloudFormation template on AWS, follow the Get started guide.

To deploy this solution in your account, complete the following steps:

  1. Download the CloudFormation template and use either the console or AWS CLI to deploy the resources.
  2. Verify the completion of the stack deployment.

When the deployment is complete, you should see the following resources on the AWS CloudFormation console:

  • IAM role – An IAM role called SSM-JDEOneClick-Role-xxxx is created to allow user interaction with AWS APIs between the AWS services
  • Custom Engine Version – A CEV is created if required
  • RDS Custom for Oracle instance – An RDS Custom for Oracle instance is created for JDE application
  • SSM documents – Two SSM documents are created: JDESetup-SSM-XXXXX-<region> and JDESetup-RDS-SSM-XXXXX-<region>
  • SSM association – Two SSM associations are created to run the SSM documents after the RDS Custom for Oracle instance is created

Deployment of this CloudFormation template can take up to 3 hours if also creating a CEV, or about 50 minutes if providing a prebuilt CEV.

Clean up

To avoid ongoing costs, clean up the resources you no longer need that you created as part of this solution. You can use the AWS CloudFormation console or AWS CLI to delete the CloudFormation stack that you created earlier and remove the protection override for the RDS Custom instance and delete it.


In this post, we showed you how to deploy and configure an RDS Custom environment via AWS CloudFormation and Systems Manager for JD Edwards One-Click. The result is an automated deployment of the database and the One-Click tool requirements without an engineer needing to engage until the database is ready for JD Edwards deployment.

If you have any questions or comments, leave them in the comments section.

About the Authors

Sharath Chandra Kampili is a Database Specialist Solutions Architect with Amazon Web Services. He works with the Amazon RDS team, focusing on commercial database engines like Oracle. Sharath works directly with AWS customers to provide guidance and technical assistance on the database projects, helping them improve the value of their solutions when using AWS.

Yomesh Shah is an Oracle Specialist Solutions Architect with Amazon Web Services. He has 23 years of experience helping customers get the best value from their IT investments. At AWS, Yomesh works with customers to help them move and modernize their Oracle ERPs like JD Edwards, PeopleSoft, and E-Business Suite on AWS.