本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用AWS弹性灾难恢复为 Oracle JD Edwards EnterpriseOne 设置灾难恢复
由 Thanigaivel Thirumalai 创作 () AWS
摘要
由自然灾害、应用程序故障或服务中断引发的灾难会损害收入,导致企业应用程序停机。为了减少此类事件的影响,灾难恢复(DR)计划对于采用JD Edwards EnterpriseOne 企业资源规划 (ERP) 系统和其他关键任务和业务关键型软件的公司至关重要。
这种模式解释了企业如何使用 AWS Elastic 灾难恢复作为其 JD Edwards EnterpriseOne 应用程序的灾难恢复选项。 它还概述了使用弹性灾难恢复故障转移和故障恢复为云中亚马逊弹性计算云 (AmazonEC2) 实例上托管的数据库构建跨区域灾难恢复策略的AWS步骤。
注意
这种模式要求托管跨区域灾难恢复实施的主要和次要区域。AWS
Oracle JD Edwards EnterpriseOne
AWSElastic Daser Recovery 使用经济实惠的存储、最少的计算和恢复,通过快速、可靠地 point-in-time恢复本地和基于云的应用程序,最大限度地减少停机时间和数据丢失。
AWS提供了四种核心灾难恢复架构模式。本文档重点介绍如何使用指示灯策略进行设置、配置和优化。此策略可帮助您创建低成本灾难恢复环境,在该环境中,您可以先配置复制服务器,以从源数据库复制数据,而只有在开始灾难恢复演练和恢复时才配置实际的数据库服务器。此策略省去了灾难恢复区域维护数据库服务器的成本。相反,您需要为用作复制服务器的小型EC2实例付费。
先决条件和限制
先决条件
一个活动的 AWS 账户。
在 Oracle 数据库或 Microsoft SQL 服务器上运行的 JD Edwards EnterpriseOne 应用程序,受支持的数据库在托管EC2实例上处于运行状态。此应用程序应包括安装在一个AWS区域中的所有 JD Edwards EnterpriseOne 基础组件(企业HTML服务器、服务器和数据库服务器)。
用于设置 Elastic 灾难恢复服务的AWS身份和访问管理 (IAM) 角色。
根据所需连接设置配置用于运行 Elastic Disaster Recovery 的网络。
限制
您可以使用此模式复制所有层,除非数据库托管在 Amazon Relational Database Service (AmazonRDS) 上,在这种情况下,我们建议您使用亚马逊RDS的跨区域复制功能。
Elastic 灾难恢复与 CloudEndure 灾难恢复不兼容,但您可以从 CloudEndure 灾难恢复中升级。有关更多信息,请参阅 Elastic 灾难恢复文档FAQ中的。
Amazon Elastic Block Store (AmazonEBS) 限制了您可以拍摄快照的速率。使用 Elastic 灾难恢复,您最多可以在一个AWS账户中复制 300 台服务器。要复制更多服务器,您可以使用多个AWS账户或多个目标AWS区域。(您必须为每个账户和地区分别设置 Elastic Disaster Recovery。) 有关更多信息,请参阅 Elastic Disaster Recovery 文档中的最佳实践。
源工作负载(JD Edwards EnterpriseOne 应用程序和数据库)必须托管在EC2实例上。这种模式不支持本地或其他云环境的工作负载。
这种模式侧重于 JD Edwards EnterpriseOne 组件。完整的灾难恢复和业务连续性计划 (BCP) 应包括其他核心服务,包括:
网络(虚拟私有云、子网和安全组)
Active Directory
Amazon WorkSpaces
Elastic Load Balancing
托管数据库服务,例如亚马逊关系数据库服务 (AmazonRDS)
有关先决条件、配置和限制的更多信息,请参阅 Elastic Disaster Recovery 文档。
产品版本
Oracle JD Edwards EnterpriseOne (基于 Oracle 最低技术要求的 Oracle 和 SQL Server 支持的版本)
架构
目标技术堆栈
单个区域和单个虚拟私有云 (VPC) 用于生产和非生产,第二个区域用于灾难恢复
单一可用区可以确保服务器之间的低延迟
应用程序负载均衡器用于分配网络流量,以提高应用程序在多个可用区的可扩展性和可用性
亚马逊 Route 53 将提供域名系统 (DNS) 配置
亚马逊 WorkSpaces 将为用户提供云端桌面体验
Amazon Simple Storage Service (Amazon S3),用于存储备份、文件和对象
Amazon CloudWatch 用于应用程序日志、监控和警报
Amazon Elastic Disaster Recovery,用于灾难恢复
目标架构
下图显示了 EnterpriseOne 使用 Elastic 灾难恢复的 JD Edwards 跨区域灾难恢复架构。
过程
以下是对该进程的高度回顾。有关详细信息,请参阅操作说明部分。
Elastic Disaster Recovery 复制从初始同步开始。在初始同步期间,Replic AWS ation Agent 会将所有数据从源磁盘复制到暂存区域子网中的相应资源。
初始同步完成后,连续复制将无限期继续。
安装代理并开始复制后,您可以查看EC2启动参数,包括服务特定的配置和 Amazon 启动模板。当源服务器被指示为准备恢复时,即可启动实例。
当 Elastic 灾难恢复发出一系列API调用以开始启动操作时,将AWS根据您的启动设置立即启动恢复实例。该服务会在启动期间自动启动转换服务器。
转换完成并准备好使用AWS后,将启动新实例。启动时的源服务器状态通过与已启动实例关联的卷表示。转换过程包括更改驱动程序、网络和操作系统许可证,以确保实例在AWS本地启动。
启动后,新建卷将不再与源服务器保持同步。AWSReplication Agent 会继续定期将对源服务器所做的更改复制到暂存区域卷,但启动的实例并未反映这些更改。
启动新的演练或恢复实例时,数据始终反映在源服务器复制到暂存区域子网的最新状态中。
当源服务器被标记为准备恢复时,您可启动实例。
注意
该过程是双向的:从主AWS区域故障转移到灾难恢复区域,以及在主站点恢复后故障恢复到主站点。您可通过以完全编排的方式,将数据从目标计算机复制回源计算机的方向,反过来为失效自动恢复做好准备。
此模式中描述的此进程的好处包括:
灵活性:复制服务器根据数据集和复制时间进行横向扩展和横向缩减,因此您可在不中断源工作负载或复制的情况下执行灾难恢复测试。
可靠性:复制功能强大、无中断且可持续。
自动化:此解决方案为测试、恢复和失效自动恢复提供了统一、自动化流程。
成本优化:您只能复制所需卷并为其付费,并且只有在灾难恢复站点的计算资源被激活后,才可以为这些资源付费。您可以为多个源使用成本优化的复制实例(我们建议您使用计算优化的实例类型),也可以使用具有大容量的单个源。EBS
自动化和扩缩
当您大规模执行灾难恢复时,JD Edwards EnterpriseOne 服务器将依赖环境中的其他服务器。例如:
启动时连接到 JD Edwards EnterpriseOne 支持的数据库的 JD Edwards EnterpriseOne 应用程序服务器依赖该数据库。
需要身份验证且需要在启动时连接到域控制器才能启动服务的 JD Edwards EnterpriseOne 服务器依赖于域控制器。
因此,我们建议自动执行失效转移任务。例如,您可以使用 AWS Lambda 或 AWS Step Functions 自动执行 JD Edwards EnterpriseOne 启动脚本和负载均衡器更改,以自动执行故障转移过程。 end-to-end有关更多信息,请参阅博客文章使用 El a AWS stic 灾难恢复创建可扩展的灾难恢复计划
工具
AWS 服务
Amazon Elastic Block Store (AmazonEBS) 提供用于实例的块级存储卷。EC2
亚马逊弹性计算云 (AmazonEC2)
在AWS云中提供可扩展的计算容量。您可以根据需要启动任意数量的虚拟服务器,并快速扩展或缩减它们。 AWSElastic Daser Re
covery 使用经济实惠的存储、最少的计算和恢复,可以快速、可靠地 point-in-time恢复本地和基于云的应用程序,从而最大限度地减少停机时间和数据丢失。 Amazon Virtual Private Cloud(亚马逊VPC)
让您可以完全控制自己的虚拟网络环境,包括资源放置、连接和安全。
最佳实践
一般最佳实践
制定书面计划,说明在发生真正恢复事件时该怎么做。
正确设置 Elastic 灾难恢复后,创建一个可以在需要时按需创建配置的AWS CloudFormation 模板。确定服务器和应用程序的启动顺序,并将其记录至恢复计划。
定期进行演练(适用标准的 Amazon EC2 费率)。
使用 Elastic Disaster Recovery 控制台或以编程方式监控正在进行的复制的运行状况。
保护 point-in-time快照并在终止实例之前进行确认。
为安装AWS复制代理创建IAM角色。
在真实灾难恢复场景中为恢复实例启动终止保护。
请勿对启动恢复实例的服务器使用 Elastic 灾难恢复控制台中的 “断开连接” AWS 操作,即使发生实际恢复事件也是如此。执行断开连接会终止与这些源服务器相关的所有复制资源,包括您的 point-in-time (PIT) 恢复点。
更改PIT政策以更改快照保留天数。
在 Elastic Disaster Recovery 启动设置中编辑启动模板,为目标服务器设置正确的子网、安全组和实例类型。
使用 Lambda 或 Step Functions 自动更改 JD Edwards EnterpriseOne 启动脚本和负载均衡器,从而自动执行 end-to-end故障转移流程。
JD Edwards 的 EnterpriseOne 优化和注意事项
移PrintQueue入数据库。
移MediaObjects入数据库。
从批处理服务器和逻辑服务器中排除日志和临时文件夹。
从 Oracle WebLogic 中排除临时文件夹。
为失效转移后启动创建脚本。
排除服务器的 tempdb。SQL
排除 Oracle 临时文件。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
设置复制网络。 | 在主AWS区域实施您的 JD Edwards EnterpriseOne 系统并确定灾难恢复AWS区域按照 Elastic 灾难恢复文档中复制网络要求部分中的步骤来规划和设置您的复制和灾难恢复网络。 | AWS 管理员 |
确定RPO和RTO。 | 确定应用程序服务器和数据库的恢复时间目标 (RTORPO) 和恢复点目标 ()。 | 云架构师、灾难恢复架构师 |
为 Amazon 启用复制EFS。 | 如果适用,请使用 AWS DataSync rsync 或其他适当的工具为共享文件系统(例如 Amazon Elastic File Sy stem (AmazonEFS))启用从AWS主区域到灾难恢复区域的复制。 | 云管理员 |
DNS在发生 DR 时进行管理 | 确定在灾难恢复演习或实际灾难恢复期间更新域名系统 (DNS) 的过程 | 云管理员 |
创建用于安装的IAM角色。 | 按照 Elastic 灾难恢复文档的 Elastic 灾难恢复初始化和权限部分中的说明创建IAM角色来初始化和管理AWS服务。 | 云管理员 |
设置对VPC等互连。 | 确保源和目标之间VPCs是对等的,并且可以互相访问。有关配置说明,请参阅 Amazon VPC 文档。 | AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
初始化 Elastic Disaster Recovery。 | 打开 Elastic 灾难恢复控制台 | AWS 管理员 |
设置复制服务器。 |
| AWS 管理员 |
配置卷与安全组。 |
| AWS 管理员 |
配置其他设置。 |
| AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建一个 IAM 角色。 | 创建包含 | AWS 管理员 |
查看要求。 | 查看并完成 Elastic 灾难恢复文档中安装AWS复制代理的先决条件。 | AWS 管理员 |
安装AWS复制代理。 | 按照操作系统的安装说明进行操作,然后安装AWS复制代理。
对其余服务器重复上述步骤。 | AWS 管理员 |
监控复制。 | 返回 Elastic Disaster Recovery源服务器窗格,以监控复制状态。初始同步将花费一定的时间,具体取决于数据传输的大小。 源服务器完全同步后,服务器状态将更新为就绪。这意味着已在暂存区创建了复制服务器,并且EBS卷已从源服务器复制到暂存区。 | AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
编辑启动设置。 | 若要更新演练和恢复实例的启动设置,请在 Elastic Disaster Recovery 控制台 | AWS 管理员 |
配置常规启动设置。 | 根据您的要求修改常规启动设置。
有关更多信息,请参阅 Elastic Disaster Recovery 文档中的常规启动设置。 | AWS 管理员 |
配置 Amazon EC2 启动模板。 | Elastic 灾难恢复使用 Amazon EC2 启动模板为每台源服务器启动演练和恢复实例。安装AWS复制代理后,系统会自动为您添加到 Elastic 灾难恢复的每台源服务器创建启动模板。 如果要将 Amazon EC2 启动模板与 Elastic 灾难恢复配合使用,则必须将其设置为默认启动模板。 有关更多信息,请参阅 Elastic 灾难恢复文档中的EC2启动模板。 | AWS 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
启动演习 |
有关更多信息,请参阅 Elastic Disaster Recovery 文档中的准备失效转移。 | AWS 管理员 |
验证演练。 | 在上一步中,您在灾难恢复区域启动了新目标实例。目标实例是源服务器副本,具体取决于您启动启动时拍摄的快照。 在此过程中,您将连接到 Amazon EC2 目标计算机以确认它们按预期运行。
| |
启动失效转移。 | 失效转移是指将流量从主系统重定向至辅助系统。Elastic 灾难恢复通过启动恢复实例来帮助您执行故障转移AWS。启动恢复实例后,您可将流量从主系统重定向到这些实例。
有关更多信息,请参阅 Elastic Disaster Recovery 文档中的执行失效转移。 | AWS 管理员 |
启动失效自动恢复。 | 启动失效自动恢复的过程与启动失效转移的过程类似。
有关更多信息,请参阅 Elastic Disaster Recovery 文档中的执行失效自动恢复。 | AWS 管理员 |
启动 JD Edwards EnterpriseOne 组件。 |
你需要在 Route 53 和 Application Load Balancer 中合并更改才能让 JD Edwards EnterpriseOne 链接起作用。 您可使用 Lambda、Step Functions 和 Systems Manager(运行命令)自动执行这些步骤。 注意Elastic 灾难恢复对托管操作系统和文件系统的源EC2实例EBS卷执行块级复制。使用 Amazon 创建的共享文件系统EFS不属于此复制的一部分。如第一篇故事中所述,您可以使用将共享文件系统复制到灾难恢复区域,然后将这些复制的文件系统挂载到灾难恢复系统中。AWS DataSync | JD 爱德华兹 EnterpriseOne CNC |
故障排除
事务 | 解决方案 |
---|---|
源服务器数据复制状态为已停止,复制延迟。如果您查看详细信息,则数据复制状态将显示未看到代理。 | 检查以确认停顿的源服务器是否在运行。 注意如果源服务器出现故障,则复制服务器将自动终止。 有关延迟问题的更多信息,请参阅 Elastic Disaster Recovery 文档中的复制延迟问题。 |
在 RHEL 8.2 版本中,扫描磁盘后,在源EC2实例中安装AWS复制代理失败。 | 在 8、CentOS RHEL 8 或 Oracle Linux 8 上安装AWS复制代理之前,请运行:
有关更多信息,请参阅 Elastic Disaster Recovery 文档中的 Linux 安装要求。 |
在 Elastic Disaster Recovery 控制台,您会看到源服务器为就绪,但存在延迟,数据复制状态为已停止。 根据 AWS Replication Agent 不可用的时间长短,状态可能表示延迟很高,但问题仍然存在。 | 使用操作系统命令确认AWS复制代理是否在源EC2实例中运行,或者确认该实例正在运行。 更正所有问题后,Elastic Disaster Recovery 将重新开始扫描。等到所有数据都已同步并且复制状态为正常,再开始灾难恢复演练。 |
初始复制延迟较高。在 Elastic Disaster Recovery 控制台,您可以看到源服务器的初始同步状态非常慢。 | 查看 Elastic Disaster Recovery 文档的复制延迟问题部分中记录的复制延迟问题。 因内部计算操作,复制服务器可能无法处理负载。在这种情况下,请在咨询Technical Su pport团队 |
相关资源
使用 Ela AWS stic 灾难恢复创建可扩展的灾难恢复计划
(AWS博客文章) AWSElastic 灾难恢复-技术简介
(AWS技能大师课程;需要登录)