This Guidance demonstrates how you can use AWS Elastic Disaster Recovery with Oracle's JD Edwards EnterpriseOne applications so you can quickly recover operations after unexpected events. Elastic Disaster Recovery minimizes your downtime and data loss with fast, reliable recovery of on-premises and cloud-based applications by using affordable storage, minimal compute, and point-in-time recovery. While AWS provides four core disaster recovery options in the cloud, this Guidance focuses on the setup, configuration, and optimization of disaster recovery by using the pilot light approach. This approach helps you create a lower-cost disaster recovery environment where you provision a replication server for replicating data from the source database. You provision the actual database server only when you start a disaster drill and recovery, removing the expense of maintaining a database server in the disaster recovery Region.
Please note: [Disclaimer]
[Architecture diagram description]
AWS Elastic Disaster Recovery (AWS DRS) replication begins with an initial sync. During the initial sync, the AWS Replication Agent replicates all the data from the source disks to the appropriate resource in the staging area subnet. Continuous replication continues indefinitely after the initial sync is complete.
You review the launch parameters, which include service-specific configurations and an Amazon Elastic Compute Cloud (Amazon EC2) launch template. When the source server is indicated as being ready for recovery, you can start instances.
When AWS DRS issues a series of API calls to begin the launch operation, the recovery instance is immediately launched on AWS according to your launch settings.
The new instance is spun up on AWS after the conversion is complete and is ready for use. The conversion process involves changes to the drivers, network, and operating system license to ensure that the instance boots natively on AWS. The source server state at the time of launch is represented by the volumes associated with the launched instance.
After the launch, the newly created volumes are no longer kept in sync with the source servers. The AWS Replication Agent continues to routinely replicate changes made to your source servers to the staging area volumes, but the launched instances do not reflect those changes.
Disaster Recovery Planning
AWS provides four core disaster recovery architecture patterns: Backup & Restore, Pilot Light, Warm Standby, and Multi-site Active/Active. This guidance focuses on setup, configuration, and optimization by using the Pilot Light strategy. This strategy helps you create a lower-cost disaster recovery environment where you initially provision a replication server for replicating data from the source database, and you provision the actual database server only when you start a disaster recovery drill or recovery. This strategy removes the expense of maintaining a database server in the disaster recovery Region. Instead, you pay for a smaller Amazon EC2 instance that serves as a replication server.
Application Specific Guidance
Oracle's JD Edwards EnterpriseOne is an integrated enterprise resource planning (ERP) software for midsize to large companies in a wide range of industries. A typical JD Edwards EnterpriseOne application deployment runs on an Oracle Database or Microsoft SQL Server with a supported database. This application should include all JD Edwards EnterpriseOne base components (Enterprise Server, HTML Server, and Database Server) installed in one AWS Region. We recommend the following configurations to support disaster recovery:
- Move PrintQueue into the database.
- Move MediaObjects into the database.
- Exclude the logs and temp folder from batch and logic servers.
- Exclude the temp folder from Oracle WebLogic.
- Create scripts for startup after the failover.
- Exclude the tempdb for SQL Server.
- Exclude the temp file for Oracle.
Automation and Scale
When you perform disaster recovery at scale, the JD Edwards EnterpriseOne servers will have dependencies on other servers in the environment. For example, the JD Edwards EnterpriseOne application servers that connect to a JD Edwards EnterpriseOne supported database on boot have dependencies on that database. JD Edwards EnterpriseOne servers that require authentication and need to connect to a domain controller on boot, start services that have dependencies on the domain controller. For this reason, we recommend that you automate failover tasks. For example, you can use AWS Lambda or AWS Step Functions to automate the JD Edwards EnterpriseOne startup scripts and load balancer changes to automate the end-to-end failover process. For more information, refer to Creating a scalable disaster recovery plan with AWS Elastic Disaster Recovery.
The AWS Well-Architected Framework helps you understand the pros and cons of the decisions you make when building systems in the cloud. The six pillars of the Framework allow you to learn architectural best practices for designing and operating reliable, secure, efficient, cost-effective, and sustainable systems. Using the AWS Well-Architected Tool, available at no charge in the AWS Management Console, you can review your workloads against these best practices by answering a set of questions for each pillar.
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
A detailed guide is provided to experiment and use within your AWS account. Each stage of building the Guidance, including deployment, usage, and cleanup, is examined to prepare it for deployment.
The sample code is a starting point. It is industry validated, prescriptive but not definitive, and a peek under the hood to help you begin.
The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.
References to third-party services or organizations in this Guidance do not imply an endorsement, sponsorship, or affiliation between Amazon or AWS and the third party. Guidance from AWS is a technical starting point, and you can customize your integration with third-party services when you deploy the architecture.