

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 AWS 上设置高度可用的 PeopleSoft 架构
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws"></a>

*Ramanathan Muralidhar，Amazon Web Services*

## Summary
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-summary"></a>

当您将 PeopleSoft 工作负载迁移到 AWS 时，弹性是一个重要的目标。它可确保您的 PeopleSoft 应用程序始终保持高可用性，并能够快速从故障中恢复。

此模式为您在 AWS 上的 PeopleSoft 应用程序提供了一个架构，可确保网络、应用程序和数据库层的高可用性 (HA)。它将 [Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/) 用于 Oracle，或将 Amazon RDS for SQL Server 数据库用于数据库层。该架构还包括例如以下的 AWS 服务：[Amazon Route 53](https://aws.amazon.com/route53/)、[Amazon Elastic Compute Cloud（Amazon EC2）](https://aws.amazon.com/ec2/) Linux 实例、[Amazon Elastic Block Storage（Amazon EBS）](https://aws.amazon.com/ebs/)、[Amazon Elastic File System（Amazon EFS）](https://aws.amazon.com/efs/)以及[应用程序负载均衡器](https://aws.amazon.com/elasticloadbalancing/application-load-balancer)，并且具有可扩展性。

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) 为劳动力管理和其他业务运营提供了一套工具和应用程序。

## 先决条件和限制
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-prereqs"></a>

**先决条件**
+ 一个有效的 Amazon Web Services account
+ 具有在 AWS 上进行设置所需的许可证的 PeopleSoft 环境
+ 您的 Amazon Web Services account 中设置的虚拟私有云（VPC）包含以下资源：
  + 至少两个可用区
  + 每个可用区中有 1 个公有子网和 3 个私有子网
  + NAT 网关和互联网网关
  + 每个子网的路由表用于路由流量
  + 根据贵组织的标准定义的网络访问控制列表（网络 ACLs）和安全组，以帮助确保 PeopleSoft 应用程序的安全

**限制**
+ 这种模式提供高可用性 (HA) 解决方案。它不支持灾难恢复 (DR) 方案。在极少数情况下，用于实现 HA 的整个 AWS 区域出现故障，应用程序将不可用。

**产品版本**
+ PeopleSoft 运行 PeopleTools 8.52 及更高版本的应用程序

## 架构
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-architecture"></a>

**目标架构**

 PeopleSoft 生产应用程序的停机或中断会影响应用程序的可用性，并对您的业务造成重大中断。

我们建议您在设计 PeopleSoft 生产应用程序时使其始终保持高可用性。您可通过消除单点故障、添加可靠的交叉点或失效转移点以及检测故障来实现这一点。下图说明了 AWS PeopleSoft 上的 HA 架构。

![适用于 AWS 的高可用架构 PeopleSoft](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/0db96376-dadb-4545-b130-ebbe64acd4e9/images/5d585a8e-320a-495d-a049-97171633e90f.png)


此架构部署使用适用于 Oracle 的 Amazon RDS 作为 PeopleSoft 数据库，使用在红帽企业 Linux (RHEL) 上运行的 EC2 实例。您还可以使用 Amazon RDS for SQL Server 作为 Peoplesoft 数据库。

该架构包含以下组件： 
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 用作域名服务器 (DNS)，用于将来自互联网的请求路由到 PeopleSoft 应用程序。
+ [AWS WS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) 帮助您防范可能影响可用性、损害安全性或消耗过多资源的常见 Web 漏洞和机器人。[AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html)（未图示）提供更广泛的保护。
+ [应用程序负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)通过针对 Web 服务器的高级请求路由对 HTTP 和 HTTPS 流量进行负载平衡。
+ 支持应用程序的 Web 服务器、应用程序服务器、流程调度器服务器和 Elasticsearch 服务器在多个可用区中运行并使用 [Amazon EC2 A](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) uto Scaling。 PeopleSoft 
+  PeopleSoft 应用程序使用的数据库以多可用区配置在 [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 上运行。
+  PeopleSoft 应用程序使用的文件共享在 [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) 上配置，用于跨实例访问文件。
+ [Amazon EC2 Auto Scaling 使用亚马逊系统映像 (AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html)) 来确保在需要时快速克隆 PeopleSoft 组件。
+ [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)将私有子网中的实例连接到 VPC 外部的服务，并确保外部服务无法启动与这些实例的连接。
+ [互联网网关](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)是一种横向扩展、冗余且高度可用的 VPC 组件，支持在 VPC 和互联网之间进行通信。
+ 公有子网中的堡垒主机提供从外部网络（例如互联网或本地网络）访问私有子网中的服务器的权限。堡垒主机提供对私有子网中服务器的受控且安全的访问。

**架构详情**

该 PeopleSoft 数据库位于采用多可用区配置的 Amazon RDS for Oracle（或适用于 SQL Server 的 Amazon RDS）数据库中。[Amazon RDS Multi-AZ 功能](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)可跨两个可用区复制数据库更新，以提高持久性和可用性。Amazon RDS 会自动失效转移到备用数据库，以进行计划内维护和计划外中断。

 PeopleSoft Web 层和中间层安装在 EC2 实例上。这些实例分布在多个可用区中，并由[自动扩缩组](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)绑定。这确保了这些组件始终具有高可用性。维护最低数量的所需实例，以确保应用程序始终可用并且可以在需要时进行扩展。

我们建议您对 OEM EC2 实例使用当前一代 EC2 实例类型。当前一代的实例类型，例如在 [AWS Nitro 系统上构建的实](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)例，支持硬件虚拟机 (HVMs)。HVM AMIs 需要利用[增强的联网功能](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)，而且它们还能提供更高的安全性。属于每个自动扩缩组的 EC2 实例在替换或者扩展实例时使用自己的 AMI。我们建议您根据您希望应用程序处理的负载以及 Oracle 为您的 PeopleSoft PeopleSoft 应用程序和 PeopleTools 版本推荐的最低值来选择 EC2 实例类型。有关硬件和软件要求的更多信息，请参见 [Oracle 支持网站](https://support.oracle.com)。

 PeopleSoft Web 层和中间层共享 Amazon EFS 挂载以共享报告、数据文件和（如果需要）`PS_HOME`目录。出于性能和成本考虑，Amazon EFS 在每个可用区配置挂载目标。

Application Load Balancer 的配置是为了支持访问 PeopleSoft 应用程序的流量，并对不同可用区之间的 Web 服务器之间的流量进行负载平衡。应用程序负载均衡器是在至少两个可用区内提供 HA 的网络设备。Web 服务器使用负载平衡配置将流量分发到不同的应用程序服务器。Web 服务器和应用程序服务器间的负载平衡可确保负载在实例间均匀分布，并有助于避免因实例过载而导致瓶颈和服务中断。

Amazon Route 53 提供 DNS 服务，用于将流量从互联网路由到应用程序负载均衡器。Route 53 是一种可用性高、可扩展性强的 DNS Web 服务。

**HA 详情**
+ 数据库：Amazon RDS 的多可用区功能通过同步复制在多个可用区中运行两个数据库。这将创建一个具有自动失效转移功能的高可用性环境。Amazon RDS 具有失效转移事件检测功能，这些事件发生时启动自动失效转移。您也可通过 Amazon RDS API 启动手动失效转移。有关详细说明，请参见博客文章 [Amazon RDS 幕后：多可用区](https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-multi-az/)。失效转移是无缝的，并且应用程序会在发生故障时自动重新连接到数据库。但是，失效转移期间的任何进程调度程序作业都会生成错误，并且必须重新提交。
+ PeopleSoft 应用程序服务器：应用程序服务器分布在多个可用区中，并为其定义了一个 Auto Scaling 组。如果实例发生故障，自动扩缩组会立即将其替换为从应用程序服务器模板的 AMI 克隆的正常实例。具体而言，*Jolt pooling* 已启用，​当应用程序服务器实例出现故障时，会话会自动失效转移到另一个应用程序服务器，并且自动扩缩组会自动启动另一个实例、启动应用程序服务器并将其注册到 Amazon EFS 挂载中。使用 Web 服务器中的 `PSSTRSETUP.SH` 脚本，将新创建的应用程序服务器自动添加到 Web 服务器中。这可确保应用程序服务器始终处于高可用性并能快速从故障中恢复。
+ 流程调度器：流程调度器服务器分布在多个可用区，并为其定义自动扩缩组。如果实例发生故障，自动扩缩组会立即将其替换为从进程调度程序服务器模板的 AMI 克隆的运行状况良好的实例。具体来说，当进程调度程序实例出现故障时，自动扩缩组会自动启动另一个实例并启动进程调度程序。实例失败时正在运行的任何作业都必须重新提交。这确保了进程调度程序始终具有高可用性并能够快速从故障中恢复。
+ Elasticsearch 服务器：Elasticsearch 服务器具有为其定义的自动扩缩组。如果实例发生故障，自动扩缩组会立即将其替换为从 Elasticsearch 服务器模板的 AMI 克隆的运行状况良好的实例。具体来说，当 Elasticsearch 实例出现故障时，向其提供请求的应用程序负载均衡器会检测到故障并停止向其发送流量。自动扩缩组会自动启动另一个实例且启动 Elasticsearch 实例。当 Elasticsearch 实例备份时，应用程序负载均衡器检测到它运行状况良好并开始再次向其发送请求。这可确保 Elasticsearch 服务器始终保持高可用性并快速从故障中恢复。
+ Web 服务器：Web 服务器具有为其定义的自动扩缩组。如果实例发生故障，自动扩缩组会立即将其替换为从 Web 服务器模板的 AMI 克隆的正常实例。具体来说，当 Web 服务器实例出现故障时，向其提供请求的应用程序负载均衡器会检测到故障并停止向其发送流量。自动扩缩组会自动启动另一个实例并启动 Web 服务器实例。备份 Web 服务器实例时，应用程序负载均衡器检测到其运行状况良好，并再次开始向其发送请求。这可确保 Web 服务器始终保持高可用性并快速从故障中恢复。

## 工具
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-tools"></a>

**Amazon Web Services**
+ [应用程序负载均衡器](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/)在多个可用区中的多个目标 (例如 EC2 实例) 间分配应用程序的传入流量。
+ [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) 提供了块级存储卷，以与 Amazon Elastic Compute Cloud (Amazon EC2) 实例一起使用。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 在 Amazon Web Services Cloud 中提供可扩展的计算能力。您可以根据需要启动任意数量的虚拟服务器，并快速纵向扩展或缩减这些服务器。
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) 可帮助您在 Amazon Web Services Cloud 中创建和配置共享文件系统。
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可帮助您在 Amazon Web Services Cloud 中设置、操作和扩展关系数据库。
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) 是一种可用性高、可扩展性强的 DNS Web 服务。

## 最佳实践
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-best-practices"></a>

**运营最佳实践**
+  PeopleSoft 在 AWS 上运行时，使用 Route 53 路由来自互联网和本地的流量。如果主数据库实例不可用，则使用[失效转移选项](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html) 将流量重新路由到灾难恢复 (DR) 站点。
+ 始终在 PeopleSoft 环境前使用 Application Load Balancer。这样可确保以安全的方式将流量负载均衡到 Web 服务器。
+ 在应用程序负载均衡器目标组设置中，确保使用负载均衡器生成的 Cookie [开启粘性](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html)。
**注意**  
如果您使用外部单点登录（SSO），则可能需要使用基于应用程序的 Cookie。这样可确保 Web 服务器和应用程序服务器之间的连接保持一致。
+ 对于 PeopleSoft 生产应用程序，Application Load Balancer 空闲超时必须与您使用的网络配置文件中设置的值相匹配。这样可防止用户会话在负载均衡器层过期。
+ 对于 PeopleSoft 生产应用程序，请将应用程序服务器的[回收次数](https://docs.oracle.com/cd/F28299_01/pt857pbr3/eng/pt/tsvt/concept_PSAPPSRVOptions-c07f06.html?pli=ul_d96e90_tsvt)设置为可最大限度地减少内存泄漏的值。
+ 如果您将 Amazon RDS 数据库用于 PeopleSoft 生产应用程序（如本模式所述），请以[多可用区格式运行该数据库以实现高可用性](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html)。
+ 如果您的数据库在 PeopleSoft 生产应用程序的 EC2 实例上运行，请确保[备用数据库在另一个可用区上运行](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html#ec2-oracle-ha)以实现高可用性。
+ 对于灾难恢复，请确保您的 Amazon RDS 数据库或 EC2 实例在与生产数据库不同的 AWS 区域中配置了备用数据库。这样可以确保在该地区发生灾难时，您可将应用程序割接到另一个区域。
+ 对于灾难恢复，请使用 [Amazon Elastic Disaster Recovery](https://aws.amazon.com/disaster-recovery/)在与生产组件不同的区域中设置应用程序级组件。这样可以确保在该地区发生灾难时，您可将应用程序割接到另一个区域。
+ 使用 Amazon EFS（适用于中等 I/O 要求）或 [Amazon FSx](https://aws.amazon.com/fsx/)（适用于高 I/O 要求）来存储您的 PeopleSoft 报告、附件和数据文件。这样可以确保内容存储在一个中心位置，并且可从基础设施中的任何地方进行访问。
+ 使用 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)（基本和详细）近乎实时地监控您的 PeopleSoft 应用程序正在使用的 AWS 云资源。这样可确保您立即收到问题警报，并在问题影响环境可用性之前快速解决问题。
+ 如果您使用 Amazon RDS 数据库作为 PeopleSoft 数据库，请使用[增强监控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html)。此功能提供对 50 多个指标的访问，包括 CPU、内存、文件系统I/O, and disk I/O。
+ 使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 监控您的 PeopleSoft 应用程序正在使用的 AWS 资源上的 API 调用。这可以帮助您执行安全分析、资源更改跟踪和合规性审核。

**安全最佳实践**
+ [要保护您的 PeopleSoft 应用程序免受 SQL 注入或跨站脚本 (XSS) 等常见漏洞攻击，请使用 AWS WAF。](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)考虑使用 [AWS Shield Advanced](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html) 提供量身定制的检测和缓解服务。
+ 向 Application Load Balancer 添加一条规则，自动将流量从 HTTP 重定向到 HTTPS，从而帮助保护您的 PeopleSoft 应用程序。
+ 为应用程序负载均衡器设置单独安全组。此安全组应仅允许 HTTPS/HTTP 入站流量，不允许出站流量。这样可确保仅允许预期流量，并有助于保护您的应用程序。
+ 对应用程序服务器、Web 服务器和数据库使用私有子网，对出站 Internet 流量使用 [NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。这样可确保无法公开访问支持该应用程序的服务器，同时仅向需要该应用程序的服务器提供公共访问权限。
+ 使用不同的 VPCs 方法来运行 PeopleSoft 生产和非生产环境。使用 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) ACLs、[VPC 对等互连](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)、[网络](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)和[安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)来控制 [VPC](https://aws.amazon.com/vpc/) 与您的本地数据中心之间的流量（如有必要）。
+ 遵循最低权限原则。仅向绝对需要的用户授予访问 PeopleSoft 应用程序所使用的 AWS 资源的权限。仅授予执行任务所需最低权限。有关更多信息，请参阅 AWS Well-Architected Framework 的[安全支柱](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_least_privileges.html)。
+ 尽可能使用 [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 访问 PeopleSoft 应用程序使用的 EC2 实例。

**可靠性最佳实践**
+ 使用应用程序负载均衡器时，请为每个所启用的可用区注册一个目标。这使得负载均衡器最有效。
+ 我们建议您 URLs 为每个 PeopleSoft 生产环境设置三个不同的网址：一个用于访问应用程序的 URL，一个用于提供集成代理的 URL，以及一个用于查看报告的 URL。如果可能，每个 URL 都应有自己的专用 Web 服务器和Application Server。这种设计有助于提高 PeopleSoft 应用程序的安全性，因为每个 URL 都具有不同的功能和受控的访问权限。它还可最大限度地减少底层服务失败时的影响范围。
+ 我们建议您在 PeopleSoft 应用程序的[负载均衡器目标组上配置运行状况检查](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)。运行状况检查应在 Web 服务器上执行，而不是在运行这些服务器的 EC2 实例上执行。这确保了如果 Web 服务器崩溃或托管 Web 服务器的 EC2 实例出现故障，应用程序负载均衡器能够准确反映该信息。
+ 对于 PeopleSoft 生产应用程序，我们建议您将 Web 服务器分布在至少三个可用区中。这样可以确保即使其中一个可用区出现故障， PeopleSoft 应用程序也始终保持高可用性。
+ 对于 PeopleSoft 生产应用程序，启用 jolt pooling ()。`joltPooling=true`这样可以确保在服务器因修补目的或虚拟机故障而停机时，您的应用程序可以失效转移到另一台应用程序服务器。
+ 对于 PeopleSoft 生产应用程序，`DynamicConfigReload `请设置为 1。8.52 及更高 PeopleTools 版本支持此设置。它可以动态地向 Web 服务器添加新的应用程序服务器，而无需重新启动服务器。
+ 要最大限度地减少应用 PeopleTools 补丁时的停机时间，请使用 blue/green 部署方法为 Web 和应用程序服务器的 Auto Scaling 组启动配置。有关更多信息，请参见 [AWS 部署选项概述](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/bluegreen-deployments.html)白皮书。
+ 使用 [AWS Backup 在 AWS 上备份](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)您的 PeopleSoft 应用程序。AWS Backup 是一项经济实惠、完全托管、基于策略服务，可大规模简化数据保护。

**性能最佳实践**
+ 在 Application Load Balancer 上终止 SSL 以获得最佳 PeopleSoft 环境性能，除非您的业务需要整个环境中的加密流量。
+ 为[亚马逊简单通知服务 (Amazon SNS) Simple N [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)otification Service 等 AWS 服务](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)创建[接口 VPC 终端节点](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)，以便流量始终位于内部。这有成本效益，有助于保护您的应用程序安全。

**成本优化最佳实践标准**
+ 标记您的 PeopleSoft 环境使用的所有资源，并启用[成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。这些标签可帮您查看和管理资源成本。
+ 对于 PeopleSoft 生产应用程序，请为 Web 服务器和应用程序服务器设置 Auto Scaling 组。这样可以维护最少数量的 Web 和应用程序服务器来支持您的应用程序。您可使用自动扩缩组[策略](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html)根据需要向上和向下扩展服务器。
+ 使用[账单警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html)，在费用超过您指定的预算阈值时收到提醒。

**可持续发展最佳实践标准**
+ 使用[基础设施即代码](https://docs.aws.amazon.com/whitepapers/latest/introduction-devops-aws/infrastructure-as-code.html) (IaC) 来维护您的 PeopleSoft 环境。这可以帮您构建一致的环境并保持变更控制。

## 操作说明
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-epics"></a>

### 将您的 PeopleSoft 数据库迁移到 Amazon RDS
<a name="migrate-your-peoplesoft-database-to-amazon-rds"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建数据库子网组。 | 在 [Amazon RDS 控制台](https://console.aws.amazon.com/rds/) 导航窗格，选择**子网组**，然后创建子网位于多个可用区域的 Amazon RDS 数据库子网组。Amazon RDS 数据库需要这样做，才能使 Amazon RDS 数据库在多可用区配置中运行。 | 云管理员 | 
| 创建 Amazon RDS 数据库。 | 在您为 PeopleSoft HA 环境选择的 AWS 区域的可用区中创建 Amazon RDS 数据库。创建 Amazon RDS 数据库时，请务必选择多可用区选项（**创建备用实例**）和您在上一步中创建的数据库子网组。有关更多信息，请参阅 [Amazon RDS 文档](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)。 | 云管理员、Oracle Database 管理员 | 
| 将您的 PeopleSoft 数据库迁移到 Amazon RDS。 | 使用 AWS PeopleSoft 数据库迁移服务 (AWS DMS) 将您的现有数据库迁移到 Amazon RDS 数据库。有关更多信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)和 AWS Blog 文章[使用 AWS DMS 以近乎零停机时间迁移 Oracle 数据库](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/)。 | 云管理员、数据库 PeopleSoft 管理员 | 

### 设置您的 Amazon EFS 文件系统
<a name="set-up-your-amazon-efs-file-system"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建文件系统。 | 在 [Amazon EFS 控制台](https://console.aws.amazon.com/efs/)，为每个可用区创建文件系统并挂载目标。有关说明，请参阅 [Amazon EFS 文档](https://docs.aws.amazon.com/efs/latest/ug/creating-using-create-fs.html#creating-using-fs-part1-console)。创建文件系统后，请记下 DNS 名称。您在挂载文件系统时使用此信息。 | 云管理员 | 

### 设置您的 PeopleSoft 应用程序和文件系统
<a name="set-up-your-peoplesoft-application-and-file-system"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 启动一个 EC2 实例。 | 为您的 PeopleSoft 应用程序启动 EC2 实例。有关说明，请参阅 [Amazon EC2 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html#liw-quickly-launch-instance)。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 
| 在实例 PeopleSoft 上安装。 | 在您创建的 EC2 实例 PeopleTools 上安装您的 PeopleSoft 应用程序和。有关说明，请参阅 [Oracle 文档](https://docs.oracle.com)。 | 云管理员、 PeopleSoft 管理员 | 
| 创建应用程序服务器。 | 为 AMI 模板创建 Application Server，并确保其成功连接到 Amazon RDS 数据库。 | 云管理员、 PeopleSoft 管理员 | 
| 挂载 Amazon EFS 文件系统。 | 以根用户身份登录 EC2 实例，然后运行以下命令将 Amazon EFS 文件系统挂载到服务器上名为 `PSFTMNT` 的文件夹中。<pre>sudo su –<br />mkdir /psftmnt<br />cat /etc/fstab</pre><br />将以下行附加到 `/etc/fstab` 文件中。使用您在创建文件系统时记录的 DNS 名称。<pre>fs-09e064308f1145388.efs.us-east-1.amazonaws.com:/ /psftmnt nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0<br />mount -a</pre> | 云管理员、 PeopleSoft 管理员 | 
| 检查权限。 | 确保该`PSFTMNT`文件夹具有适当的权限，以便 PeopleSoft 用户可以正确访问该文件夹。 | 云管理员、 PeopleSoft 管理员 | 
| 创建额外实例。 | 重复本操作说明中的前几个步骤，为流程调度器、Web 服务器和 Elasticsearch 服务器创建模板实例。将这些实例命名为 `PRCS_TEMPLATE`、`WEB_TEMPLATE` 和 `SRCH_TEMPLATE`。对于 Web 服务器，设置 `joltPooling=true`** **和 `DynamicConfigReload=1`。 | 云管理员、 PeopleSoft 管理员 | 

### 创建脚本以设置服务器
<a name="create-scripts-to-set-up-servers"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建用于安装应用服务器的脚本。 | 在 Amazon EC2 `APP_TEMPLATE` 实例中，以 PeopleSoft 用户身份创建以下脚本。给它命名为 `appstart.sh`，并将其放在 `PS_HOME` 目录中。您将使用此脚本启动应用程序服务器，并在 Amazon EFS 挂载上记录服务器名称。<pre>#!/bin/ksh<br />. /usr/homes/hcmdemo/.profile.<br />psadmin -c configure -d HCMDEMO<br />psadmin -c parallelboot -d HCMDEMO<br />touch /psftmnt/`echo $HOSTNAME`</pre> | PeopleSoft 管理员 | 
| 创建用于安装流程调度服务器的脚本。 | 在 Amazon EC2 `PRCS_TEMPLATE` 实例中，以 PeopleSoft 用户身份创建以下脚本。给它命名为 `prcsstart.sh`，并将其放在 `PS_HOME` 目录中。您将使用此脚本启动进程调度器服务器。<pre>#!/bin/ksh<br />. /usr/homes/hcmdemo/. profile<br />/* The following line ensures that the process scheduler always has a unique name during replacement or scaling activity. */ <br />sed -i "s/.*PrcsServerName.*/`hostname -I | awk -F. '{print "PrcsServerName=PSUNX"$3$4}'`/" $HOME/appserv/prcs/*/psprcs.cfg<br />psadmin -p configure -d HCMDEMO<br />psadmin -p start -d HCMDEMO</pre> | PeopleSoft 管理员 | 
| 创建用于安装 Elasticsearch 服务器的脚本。 | 在 Amazon EC2 `SRCH_TEMPLATE` 实例，以 Elasticsearch 用户的身份创建以下脚本。给它命名为 `srchstart.sh`，并将其放在 `HOME` 目录中。<pre>#!/bin/ksh<br />/* The following line ensures that the correct IP is indicated in the elasticsearch.yaml file. */<br />sed -i "s/.*network.host.*/`hostname  -I | awk '{print "host:"$0}'`/" $ES_HOME_DIR/config/elasticsearch.yaml<br />nohup $ES_HOME_DIR/bin/elasticsearch &</pre> | PeopleSoft 管理员 | 
| 创建安装 Web 服务器脚本。 | 在 Amazon EC2 `WEB_TEMPLATE` 实例，以 Web 服务器用户的身份在 `HOME` 目录中创建以下脚本。<br />`renip.sh`：此脚本可确保 Web 服务器在从 AMI 克隆时有正确的 IP。<pre>#!/bin/ksh<br />hn=`hostname`<br />/* On the following line, change the IP with the hostname with the hostname of the web template. */<br />for text_file in `find  *  -type f -exec grep -l '<hostname-of-the-web-template>' {} \;`<br />do<br />sed -e 's/<hostname-of-the-web-template>/'$hn'/g' $text_file > temp<br />mv -f temp $text_file<br />done</pre><br />`psstrsetup.sh`：此脚本可确保 Web 服务器使用当前正在运行 IPs 的正确应用程序服务器。它尝试通过 jolt 端口连接到每台应用程序服务器，并将其添加到配置文件中。<pre>#!/bin/ksh<br />c2=""<br />for ctr in `ls -1 /psftmnt/*.internal`<br />do<br />c1=`echo $ctr | awk -F "/" '{print $3}'`<br />/* In the following lines, 9000 is the jolt port. Change it if necessary. */<br />if nc -z $c1 9000 2> /dev/null; then<br />if [[ $c2 = "" ]]; then<br />c2="psserver="`echo $c1`":9000"<br />else<br />c2=`echo $c2`","`echo $c1`":9000"<br />fi<br />fi<br />done</pre><br />`webstart.sh`：此脚本运行前两个脚本并、和启动 Web 服务器。<pre>#!/bin/ksh<br />/* Change the path in the following if necessary. */<br />cd  /usr/homes/hcmdemo <br />./renip.sh<br />./psstrsetup.sh<br />webserv/peoplesoft/bin/startPIA.sh</pre> | PeopleSoft 管理员 | 
| 添加 crontab 条目。 | 在 Amazon EC2 `WEB_TEMPLATE`实例中，以网络服务器用户的身份将以下行添加至 **crontab**。更改时间和路径以反映所需值。此条目可确保 Web 服务器 `configuration.properties` 文件中始终包含正确的应用程序服务器条目。<pre>* * * * * /usr/homes/hcmdemo/psstrsetup.sh</pre> | PeopleSoft 管理员 | 

### 创建 AMIs 和 Auto Scaling 组模板
<a name="create-amis-and-auto-scaling-group-templates"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为应用服务器模板创建 AMI。 | 在 Amazon EC2 控制台，创建 Amazon EC2 `APP_TEMPLATE` 实例的 AMI 映像。命名 AMI `PSAPPSRV-SCG-VER1`。有关说明，请参阅 [Amazon EC2 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)。 | 云管理员、 PeopleSoft 管理员 | 
|  AMIs 为其他服务器创建。 | 重复上一步 AMIs 为流程调度器、Elasticsearch 服务器和 Web 服务器创建。 | 云管理员、 PeopleSoft 管理员 | 
| 为应用程序服务器自动扩缩组创建启动模板。 | 为应用程序服务器自动扩缩组创建启动模板。将模板命名为 `PSAPPSRV_TEMPLATE.` 在模板中，选择您为 `APP_TEMPLATE` 实例创建的 AMI。有关说明，请参阅 [Amazon EC2 文档](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#create-launch-template-from-instance)。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 
| 为流程调度程序服务器自动扩缩组创建启动模板。 | 重复上一步的操作，为流程调度器服务器自动扩缩组创建启动模板。将模板命名为 `PSPRCS_TEMPLATE`。在模板中，选择您为流程调度器所创建的 AMI。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 
| 为 Elasticsearch 服务器自动扩缩组创建启动模板。 | 重复上述步骤，为 Elasticsearch 服务器自动扩缩组创建启动模板。将模板命名为 `SRCH_TEMPLATE`。在模板中，选择您为搜索服务器所创建的 AMI。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 
| 为 Web 服务器自动扩缩组创建启动模板。 | 重复上述步骤，为 Web 服务器自动扩缩组创建启动模板。将模板命名为 `WEB_TEMPLATE`。在模板中，选择您为 Web 服务器所创建的 AMI。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 

### 创建自动扩缩组
<a name="create-auto-scaling-groups"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为应用程序服务器创建自动扩缩组。 | 在 Amazon EC2 控制台，使用 `PSAPPSRV_TEMPLATE` 模板创建一个名 `PSAPPSRV_ASG` 为的应用程序服务器创建自动扩缩组。有关说明，请参阅 [Amazon EC2 文档](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html)。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员、 PeopleSoft 管理员 | 
| 为其他服务器创建自动扩缩组。 | 重复上述步骤，为进程计划程序、Elasticsearch 服务器和 Web 服务器创建自动扩缩组。 | 云管理员、 PeopleSoft 管理员 | 

### 创建和配置目标组
<a name="create-and-configure-target-groups"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为 Web 服务器创建目标组。 | 在 Amazon EC2 控制台，为 Web 服务器创建目标组。有关说明，请参阅[弹性负载均衡文档](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html)。将端口设置为 Web 服务器侦听端口。 | 云管理员 | 
| 配置运行状况检查。 | 确认运行状况检查值是否正确，以反映您的业务需求。有关更多信息，请参阅[弹性负载均衡文档](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)。 | 云管理员 | 
| 为 Elasticsearch 服务器创建目标组。 | 重复前面的步骤，为 Elasticsearch 服务器创建一个名为 `PSFTSRCH` 的目标组，并设置正确的 Elasticsearch 端口。 | 云管理员 | 
| 将目标组添加到自动扩缩组。 | 打开您之前创建的名为 `PSPIA_ASG` 的 Web 服务器自动扩缩组。在**负载平衡**选项卡，选择**编辑**，然后将 `PSFTWEB` 目标组添加至自动扩缩组。<br />对 Elasticsearch 自动扩缩组 `PSSRCH_ASG` 重复此步骤，添加您之前创建的目标组 `PSFTSRCH`。 | 云管理员 | 
| 设置会话粘性。 | 在目标组 `PSFTWEB`，选择**属性**选项卡，选择**编辑**，设置会话粘性。对于粘性类型，选择**负载均衡器生成 cookie**，并将持续时间设置为 1。有关更多信息，请参阅[弹性负载均衡文档](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html)。<br />为目标组 `PSFTSRCH` 重复此步骤。 | 云管理员 | 

### 创建并配置应用程序负载均衡器。
<a name="create-and-configure-application-load-balancers"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 为 Web 服务器创建负载均衡器。 | 创建名为 `PSFTLB` 的应用程序负载均衡器，以对流向 Web 服务器的流量进行负载平衡。有关说明，请参阅[弹性负载均衡文档](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html#configure-load-balancer)。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员 | 
| 为 Elasticsearch 服务器创建负载均衡器。 | 创建名为 `PSFTSCH` 的应用程序负载均衡器，以对流向 Elasticsearch 服务器的流量进行负载平衡。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | 云管理员 | 
| 配置 Route 53。 | 在 [Amazon Route 53 控制台](https://console.aws.amazon.com/route53/)上，在将为 PeopleSoft 应用程序提供服务的托管区域中创建一条记录。有关说明，请参阅 [Amazon Route 53 文档](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html)。这样可以确保所有流量都通过 `PSFTLB` 负载均衡器。 | 云管理员 | 

## 相关资源
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-resources"></a>
+ [甲骨文 PeopleSoft 网站](https://www.oracle.com/applications/peoplesoft/)
+ [AWS 文档](https://docs.aws.amazon.com/)