

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS で可用性の高い PeopleSoft アーキテクチャを設定する
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws"></a>

*Amazon Web Services、Ramanathan Muralidhar*

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

PeopleSoft のワークロードを AWS に移行する場合、回復性は重要な目標です。これにより、PeopleSoft アプリケーションの可用性が常に高くなり、障害から迅速に回復できるようになります。

このパターンは、ネットワーク、アプリケーション、データベースの各層で高可用性 (HA) を確保するための AWS での PeopleSoft アプリケーションのアーキテクチャを設計する方法を提供します。データベース層には、[Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/) for Oracle、Amazon RDS for SQL Server データベースを使用します。このアーキテクチャには、[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/)、[Application Load Balancer](https://aws.amazon.com/elasticloadbalancing/application-load-balancer) などの AWS サービスも含まれており、スケーラブルです。

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) は、人員管理や他のビジネス運営のためのツールとアプリケーション一式を提供しています。

## 前提条件と制限
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-prereqs"></a>

**前提条件**
+ アクティブな AWS アカウント
+ AWS での設定に必要なライセンスを持つ PeopleSoft 環境
+ AWS アカウントで設定された仮想プライベートクラウド (VPC) には、次のリソースがあります。
  + 少なくとも 2 つのアベイラビリティーゾーン
  + 各アベイラビリティーゾーンに 1 つのパブリックサブネットと 3 つのプライベートサブネットがあります
  + NAT ゲートウェイとインターネットゲートウェイ
  + トラフィックをルーティングする各サブネットのルートテーブル　
  + 組織の標準に従って PeopleSoft アプリケーションのセキュリティを確保するために定義されたネットワークアクセスコントロールリスト (ネットワーク ACL) とセキュリティグループ

**機能制限**
+ このパターンは、高可用性 (HA) ソリューションを実現します。　 ディザスタリカバリ (DR) シナリオはサポートされていません。　 まれに、HA 実装の AWS リージョン全体が停止した場合、アプリケーションは使用できなくなります。

**製品バージョン**
+ PeopleTools 8.52 以降を実行している PeopleSoft アプリケーション

## アーキテクチャ
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-architecture"></a>

**ターゲット アーキテクチャ**

PeopleSoft 実稼働アプリケーションのダウンタイムや停止は、アプリケーションの可用性に影響を与え、ビジネスに多大な混乱をもたらします。　

PeopleSoft 実稼働アプリケーションは、常に高い可用性が得られるように設計することをお勧めします。これは、単一障害点をなくし、信頼性の高いクロスオーバーポイントまたはフェイルオーバーポイントを追加し、障害を検出することで実現できます。次の図では、PeopleSoft on AWS の HA アーキテクチャを示しています。

![\[PeopleSoft on AWS 向けの可用性の高いアーキテクチャ\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/0db96376-dadb-4545-b130-ebbe64acd4e9/images/5d585a8e-320a-495d-a049-97171633e90f.png)


このアーキテクチャのデプロイでは、PeopleSoft データベースとして Amazon RDS for Oracle を使用し、Red Hat Enterprise Linux (RHEL) 上で実行される EC2 インスタンスを使用しています。　 Amazon RDS for SQL Server を Peoplesoft データベースとして使用することもできます。

このアーキテクチャには、以下のコンポーネントが含まれています。 
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) は、インターネットから PeopleSoft アプリケーションにリクエストをルーティングするためのドメインネームサーバー (DNS) として使用されます。
+ [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](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) は、ウェブサーバーをターゲットとした高度なリクエストルーティングにより、HTTP トラフィックと HTTPS トラフィックの負荷を分散します。
+ PeopleSoft アプリケーションをサポートするウェブサーバー、アプリケーションサーバー、プロセススケジューラーサーバー、および Elasticsearch サーバーは、複数のアベイラビリティーゾーンで実行され、[Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) を使用します。
+ PeopleSoft アプリケーションが使用するデータベースは、[Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 上でマルチ AZ 構成で動作します。
+ PeopleSoft アプリケーションが使用するファイル共有は [Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) で設定され、インスタンス間でファイルにアクセスするために使用されます。
+ [Amazon マシンイメージ (AMI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) は、Amazon EC2 Auto Scaling によって使用され、必要なときに 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 データベースは、マルチ AZ 設定の Amazon RDS for Oracle (または Amazon RDS for SQL Server) データベースに格納されています。　 Amazon RDS の [Amazon RDS マルチ AZ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) は、2 つのアベイラビリティーゾーン間でデータベース更新を複製して耐久性と可用性を高める機能です。Amazon RDS は、予定されたメンテナンスや予定外の中断に備えて、自動的にスタンバイデータベースにフェイルオーバーします。

PeopleSoft のウェブ層と中間層は EC2 インスタンスにインストールされます。これらのインスタンスは複数のアベイラビリティーゾーンに分散され、[Auto Scaling グループ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)によって結合されます。これにより、これらのコンポーネントでは常に高可用性が保証されます。アプリケーションが常に利用可能で、必要に応じてスケールできるように、必要最小限のインスタンス数が維持されます。

OEM EC2 インスタンスには、現行世代の EC2 インスタンスタイプを使用することをお勧めします。[AWS Nitro System で構築されたインスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances)などの現世代のインスタンスタイプは、ハードウェア仮想マシン (HVM) をサポートします。HVM AMI は、[拡張ネットワーキング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html)のメリットを活用する場合に必要であり、セキュリティも強化されています。各 Auto Scaling グループの一部である EC2 インスタンスは、インスタンスの交換またはスケールアップ時に独自の AMI を使用します。　 EC2 インスタンスタイプは、PeopleSoft アプリケーションが処理する負荷と、Oracle が PeopleSoft アプリケーションとPeopleTools のバージョンに推奨される最小値に基づいて選択することをお薦めします。ハードウェア要件とソフトウェア要件の詳細については、[Oracle サポートのウェブサイト](https://support.oracle.com)を参照してください。

PeopleSoft のウェブ層と中間層は Amazon EFS マウントを共有して、レポート、データファイル、および (必要に応じて) `PS_HOME` ディレクトリを共有します。Amazon EFS は、パフォーマンスとコストの観点から、各アベイラビリティーゾーンのマウントターゲットで設定されています。

Application Load Balancer は、PeopleSoft アプリケーションにアクセスするトラフィックをサポートするようにプロビジョニングされ、異なるアベイラビリティーゾーンにまたがるウェブサーバー間でトラフィックの負荷を分散します。Application Load Balancer は、最低 2 つのアベイラビリティーゾーンで HA を提供するネットワークデバイスです。　 ウェブサーバーは、ロードバランサー設定を使用してトラフィックを異なるアプリケーションサーバーに分散します。ウェブサーバーとアプリケーションサーバー間のロードバランシングにより、負荷がインスタンス全体に均等に分散され、インスタンスの過負荷によるボトルネックやサービスの中断を回避できます。

Amazon Route 53 は、インターネットから Application Load Balancer にトラフィックをルーティングする DNS サービスとして使用されます。Amazon Route 53 は、高可用性でスケーラブルな DNS Web サービスです。

**HA の詳細**
+ データベース: Amazon RDS のマルチ AZ 機能は、同期レプリケーションを使用して、複数のアベイラビリティゾーンで 2 つのデータベースを実行します。これにより、自動フェイルオーバーによる可用性の高い環境が構築されます。　 Amazon RDS にはフェイルオーバーイベント検出機能があり、イベントが発生すると自動フェイルオーバーを開始します。Amazon RDS API を使用して手動フェイルオーバーを開始することもできます。詳細な説明については、ブログ記事「[Amazon RDS Under The Hood:マルチ AZ](https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-multi-az/)」を参照してください。フェイルオーバーはシームレスで、フェイルオーバーが発生するとアプリケーションは自動的にデータベースに再接続します。ただし、フェイルオーバー中のプロセス スケジューラ ジョブはいずれもエラーが発生し、再送信する必要があります。
+ PeopleSoft アプリケーションサーバー:アプリケーションサーバーは複数のアベイラビリティーゾーンに分散され、Auto Scaling グループが定義されています。　 インスタンスに障害が発生した場合、Auto Scaling グループは、アプリケーションサーバーテンプレートの AMI から複製された正常なインスタンスに、そのインスタンスを置き換えます。具体的には、*jolt プーリング*が有効になっているため、アプリケーションサーバーのインスタンスが停止すると、セッションは自動的に別のアプリケーションサーバーにフェイルオーバーされ、Auto Scaling グループは自動的に別のインスタンスを起動し、アプリケーションサーバーを起動して Amazon EFS マウントに登録します。新しく作成されたアプリケーションサーバーは、ウェブサーバー内の `PSSTRSETUP.SH` スクリプトを使用して自動的にウェブサーバーに追加されます。これにより、PeopleSoft アプリケーションの可用性が常に高く、障害から迅速に回復できるようになります。
+ プロセス スケジューラー: プロセス スケジューラーサーバーは複数のアベイラビリティゾーンに分散しており、Auto Scaling グループが定義されています。インスタンスに障害が発生した場合、Auto Scaling グループは、プロセス スケジューラー サーバーテンプレートの AMI からクローンされた正常なインスタンスに、そのインスタンスを置き換えます。具体的には、プロセス スケジューラインスタンスが停止すると、Auto Scaling グループは自動的に別のインスタンスを起動し、プロセス スケジューラを起動します。インスタンスに障害が発生した場合、実行中のジョブはすべて再送信する必要があります。これにより、には、プロセス スケジューラの可用性が常に高く、障害から迅速に回復できるようになります。
+ Elasticsearch サーバー: Elasticsearch サーバーには、Auto Scaling グループが定義されています。インスタンスに障害が発生した場合、Auto Scaling グループは、Elasticsearch サーバーテンプレートの AMI からクローンされた正常なインスタンスに、そのインスタンスを置き換えます。具体的には、Elasticsearch インスタンスが停止すると、リクエストを処理する Application Load Balancer がエラーを検出し、そのインスタンスへのトラフィックの送信を停止します。Auto Scaling グループは自動的に別のインスタンスを起動し、Elasticsearch インスタンスを起動します。Elasticsearch インスタンスがバックアップされると、Application Load Balancer はインスタンスが正常であることを検出し、リクエストの送信を再開します。これにより、Elasticsearch サーバーの可用性が常に高く、障害から迅速に回復できるようになります。
+ ウェブサーバー: ウェブサーバーには、Auto Scaling グループが定義されています。インスタンスに障害が発生した場合、Auto Scaling グループは、ウェブサーバーテンプレートの AMI からクローンされた正常なインスタンスに、そのインスタンスを置き換えます。具体的には、ウェブサーバーのインスタンスが停止すると、リクエストを処理する Application Load Balancer がエラーを検出し、そのインスタンスへのトラフィックの送信を停止します。Auto Scaling グループは自動的に別のインスタンスを起動し、ウェブサーバーのインスタンスを起動します。ウェブサーバーのインスタンスがバックアップされると、Application Load Balancer はインスタンスが正常であることを検出し、リクエストの送信を再開します。これにより、ウェブサーバーの可用性が常に高く、障害から迅速に回復できるようになります。

## ツール
<a name="set-up-a-highly-available-peoplesoft-architecture-on-aws-tools"></a>

**AWS サービス**
+ [アプリケーションロードバランサー](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)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) は、AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) を使用して、AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。
+ [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 on AWS を実行する場合、Route 53 を使用してインターネットとローカルからのトラフィックをルーティングします。プライマリ DB インスタンスを使用できない場合は、[フェイルオーバーオプション](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-configuring.html)を使用してトラフィックをディザスタリカバリ (DR) サイトに再ルーティングします。
+ Application Load Balancerは、常に PeopleSoft 環境の前で使用してください。これにより、トラフィックの負荷がウェブサーバーにセキュアに分散されます。
+ Application Load Balancer のターゲットグループ設定で、ロードバランサーが生成した Cookie で[維持設定がオン](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html)になっていることを確認します。
**注記**  
外部シングルサインオン (SSO) を使用する場合は、アプリケーションベースの Cookie の使用が必要になることがあります。これにより、ウェブサーバーとアプリケーションサーバー間の接続が一貫していることが保証されます。
+ PeopleSoft 実稼働アプリケーションの場合、Application Load Balancer のアイドルタイムアウトは、使用するウェブ プロファイルで設定されている値と一致する必要があります。これにより、ユーザーセッションがロードバランサーのレイヤーで期限切れになるのを防止できます。
+ PeopleSoft 実稼働アプリケーションの場合は、アプリケーションサーバーの「[再利用回数](https://docs.oracle.com/cd/F28299_01/pt857pbr3/eng/pt/tsvt/concept_PSAPPSRVOptions-c07f06.html?pli=ul_d96e90_tsvt)」をメモリーリークを最小限に抑える値に設定します。
+ このパターンで説明されているように PeopleSoft 実稼働アプリケーションに Amazon RDS データベースを使用している場合は、[高可用性を実現するためにマルチ AZ 形式](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)ことを確認してください。
+ DR では、Amazon RDS データベースまたは EC2 インスタンスに、実稼働データベースとは別の AWS リージョンにスタンバイが設定されていることを確認してください。これにより、そのリージョンで障害が発生した場合に、アプリケーションを別のリージョンに切り替えることができます。
+ DR では、[Amazon Elastic ディザスタリカバリ](https://aws.amazon.com/disaster-recovery/)を使用して、実稼働コンポーネントとは別のリージョンにアプリケーションレベルのコンポーネントを設定します。これにより、そのリージョンで障害が発生した場合に、アプリケーションを別のリージョンに切り替えることができるようになります。
+ PeopleSoft のレポート、添付ファイル、およびデータファイルを保存するには、Amazon EFS (中程度の I/O 要件の場合) または [Amazon FSx](https://aws.amazon.com/fsx/) (厳しい I/O 要件の場合) を使用します。これにより、コンテンツは 1 か所に保存され、インフラストラクチャ内のどこからでもアクセスできます。
+ [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)を使用してください。この機能により、CPU、メモリ、ファイルシステム I/O、ディスク I/O など、50 を超えるメトリクスにアクセスできます。
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) を使用して、PeopleSoft アプリケーションが使用している AWS リソースでの API コールをモニタリングします。これにより、セキュリティ分析、リソース変更の追跡、およびコンプライアンスのモニタリングを行うことができます。

**セキュリティベストプラクティス**
+ SQL インジェクションやクロスサイトスクリプティング (XSS) 攻撃など、一般的なエクスプロイトから PeopleSoft アプリケーションを保護するには、[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) の使用を検討してください。
+ PeopleSoft アプリケーションのセキュリティを確保するために、トラフィックを HTTP から HTTPS に自動的にリダイレクトするルールを Application Load Balancer に追加します。
+ Application Load Balancer に別のセキュリティグループを設定します。このセキュリティグループは HTTPS/HTTP インバウンドトラフィックのみを許可し、アウトバウンドトラフィックは許可しません。これにより、意図したトラフィックのみが許可されるため、アプリケーションのセキュリティが確保されます。
+ アプリケーションサーバー、ウェブサーバー、データベースにはプライベートサブネットを使用し、アウトバウンドのインターネットトラフィックには [NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)を使用します。これにより、アプリケーションをサポートするサーバーにパブリックにアクセスできないようにし、必要なサーバーにのみパブリック アクセスを提供します。
+ PeopleSoft の実稼働環境と非実稼働環境では、異なる VPC を使用します。　 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)、[VPC ピアリング](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)、[ネットワーク ACL](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 フレームワークの「[セキュリティの柱](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 インスタンスにアクセスします。

**信頼性のベストプラクティス**
+ Application Load Balancer を使用するときは、有効なアベイラビリティゾーンごとに ターゲットを 1 つ登録します。これにより、ロードバランサーの効率が最高になります。
+ PeopleSoft の実稼働環境ごとに、アプリケーションにアクセスするための URL、統合ブローカーにサービスを提供する URL、レポートを表示するための URL 、この 3 つの異なる URL を用意することをお勧めします。可能であれば、各 URL には独自の専用ウェブサーバーとアプリケーションサーバーが必要です。この URL にはそれぞれ異なる機能があり、アクセスが制御されるため、このデザインは PeopleSoft アプリケーションのセキュリティを高めるのに役立ちます。さらに、基盤となるサービスに障害が発生した場合の影響範囲を最小限に抑えることができます。
+ PeopleSoft アプリケーションの[ロードバランサーのターゲットグループに対してヘルスチェック](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)を構成することをお勧めします。ヘルスチェックは、EC2 インスタンスではなく、ウェブサーバーで実行する必要があります。これにより、ウェブサーバーがクラッシュしたり、ウェブサーバーをホストする EC2 インスタンスがダウンした場合でも、Application Load Balancer は正確な情報を反映します。
+ PeopleSoft の実稼働アプリケーションでは、ウェブサーバーを少なくとも 3 つのアベイラビリティゾーンに分散させることをお勧めします。これにより、アベイラビリティゾーンの 1 つがダウンした場合の高可用性を常に維持できます。
+ PeopleSoft 実稼働アプリケーションでは、jolt プール (`joltPooling=true`) を有効にします。これにより、パッチ適用や仮想マシン障害によってサーバーが停止した場合でも、アプリケーションが別のアプリケーションサーバーに確実にフェイルオーバーされます。
+ PeopleSoft 実稼働アプリケーションの場合は、`DynamicConfigReload ` を 1 に設定します。この設定は、PeopleTools バージョン 8.52 以降でサポートされています。サーバーを再起動せずに、新規アプリケーションサーバーをウェブサーバーに動的に追加します。
+ PeopleTools パッチを適用するときのダウンタイムを最小限に抑えるには、ウェブサーバーとアプリケーションサーバーの Auto Scaling グループの起動設定にブルー/グリーンデプロイ方法を使用してください。詳細については、ホワイトペーパー「[AWSデプロイオプションの概要](https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/bluegreen-deployments.html)」を参照してください。
+ [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html) を使用して、AWS 上の PeopleSoft アプリケーションをバックアップします。AWS Backup は費用対効果が高く、フルマネージド型のポリシーベースのサービスで、大規模なデータ保護を簡素化します。

**パフォーマンスに関するベストプラクティス**
+ ビジネスで環境全体のトラフィックを暗号化する必要がある場合を除き、PeopleSoft 環境でパフォーマンスを最適化するには、Application Load Balancer で SSL を終了します。
+ [Amazon Simple Notiﬁcation Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) や [CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) などの AWS サービスの[インターフェイス 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 実稼働アプリケーションでは、ウェブサーバーとアプリケーションサーバーに Auto Scaling グループを設定します。　 これにより、アプリケーションをサポートするための最小限のウェブサーバーとアプリケーションサーバーが維持されます。[Auto Scaling グループポリシー](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)を使用すると、コストが指定した予算のしきい値を超えたときにアラートを受け取ることができます。

**サステナビリティのベストプラクティス**
+ [Infrastructure as Code](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>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| DB サブネットグループを作成します。 | [Amazon RDS コンソール](https://console.aws.amazon.com/rds/)のナビゲーションペインで [**サブネットグループ**] を選択し、複数のアベイラビリティゾーンにサブネットを持つ Amazon RDS DB サブネットグループを作成します。これは、Amazon RDS データベースをマルチ AZ 設定で実行する時に必要です。 | クラウド管理者 | 
| Amazon RDS データベースを作成します。 | PeopleSoft HA 環境用に選択した AWS リージョンのアベイラビリティゾーンに Amazon RDS データベースを作成します。Amazon RDS データベースを作成するときは、マルチ AZ オプション (**スタンバイインスタンスを作成**) と前のステップで作成したデータベースのサブネットグループを必ず選択してください。詳細については、「 [Amazon RDS ドキュメント](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)」を参照してください。 | クラウド管理者、Oracle データベース管理者 | 
| PeopleSoft データベースを Amazon RDS に移行します。 | AWS Database Migration Service (AWS DMS) を使用して、既存の PeopleSoft データベースを Amazon RDS データベースに移行します。詳細については、「[AWS DMS ドキュメント](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)」および AWS ブログ記事「[DMS を使用してほぼゼロのダウンタイムで Oracle データベースを移行する](https://aws.amazon.com/blogs/database/migrating-oracle-databases-with-near-zero-downtime-using-aws-dms/)」参照してください。 | クラウド管理者、PeopleSoft DBA | 

### Amazon EFS ファイルシステムをマウントする
<a name="set-up-your-amazon-efs-file-system"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ファイルシステムを作成します。 | [Amazon EFS コンソール](https://console.aws.amazon.com/efs/)で、ファイルシステムを作成し、各アベイラビリティゾーンのターゲットをマウントします。手順については、「[Amazon EC2 ドキュメント](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>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| 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/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 
| PeopleSoft をインスタンスにインストールします。 | 作成した EC2 インスタンスに PeopleSoft アプリケーションと PeopleTools をインストールします。手順については、「[Oracle ドキュメント](https://docs.oracle.com)」を参照してください。 | クラウド管理者、PeopleSoft 管理者 | 
| アプリケーションサーバーを作成します。 | AMI テンプレート用のアプリケーションサーバーを作成し、Amazon RDSデータベースに正常に接続していることを確認します。 | クラウド管理者、PeopleSoft 管理者 | 
| Amazon EFS ファイルシステムをマウントします。 | ルートユーザーとして EC2 インスタンスにログインし、次のコマンドを実行してサーバー上の `PSFTMNT` というフォルダに、Amazon EFS ファイルシステムをマウントします。<pre>sudo su –<br />mkdir /psftmnt<br />cat /etc/fstab</pre>次の行を `/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 管理者 | 
| アクセス許可を確認します。 | PeopleSoft ユーザーが適切にアクセスできるように、`PSFTMNT` フォルダに適切な権限があることを確認してください。 | クラウド管理者、PeopleSoft 管理者 | 
| 追加のインスタンスを作成します。 | このエピックの前のステップを繰り返して、プロセス スケジューラー、ウェブサーバー、Elasticsearch サーバー用のテンプレートインスタンスを作成します。　 これらのインスタンスには、`PRCS_TEMPLATE`、`WEB_TEMPLATE`、`SRCH_TEMPLATE` という名前を付けます。ウェブサーバーには、`joltPooling=true`** **と `DynamicConfigReload=1` を設定します。 | クラウド管理者、PeopleSoft 管理者 | 

### スクリプトを作成してサーバーを設定します。
<a name="create-scripts-to-set-up-servers"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| アプリケーションサーバーをインストールするスクリプトを作成します。 | 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 管理者 | 
| ウェブサーバーをインストールするスクリプトを作成します。 | Amazon EC2 `WEB_TEMPLATE` インスタンスで、ウェブサーバーユーザーとして、`HOME` ディレクトリに次のスクリプトを作成します。`renip.sh`: このスクリプトは、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>`psstrsetup.sh`: このスクリプトは、ウェブサーバーが現在実行している正しいアプリケーションサーバー IP を使用することを確認します。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>`webstart.sh`: このスクリプトは前の 2 つのスクリプトを実行して、ウェブサーバーを起動します。<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** に次のスクリプトを作成します。時間とパスを変更して、必要な値を反映させます。このエントリにより、ウェブサーバの `configuration.properties` ファイル内にあるアプリケーションサーバーエントリが常に正しいことが保証されます。　<pre>* * * * * /usr/homes/hcmdemo/psstrsetup.sh</pre> | PeopleSoft 管理者 | 

### AMI と Auto Scaling グループテンプレートを作成する
<a name="create-amis-and-auto-scaling-group-templates"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| アプリケーションサーバーテンプレート用の 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 管理者 | 
| 別サーバー用の AMI を作成します。 | このエピックの前のステップを繰り返して、プロセス スケジューラー、Elasticsearch サーバー、ウェブサーバー用のテンプレートインスタンスを作成します。　 | クラウド管理者、PeopleSoft 管理者 | 
| アプリケーションサーバーの Auto Scaling グループの起動テンプレートを作成します。 | アプリケーションサーバーの Auto Scaling グループの起動テンプレートを作成します。テンプレートに `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/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 
| プロセス スケジューラサーバーの Auto Scaling グループの起動テンプレートを作成します。 | 前のステップを繰り返して、プロセス スケジューラサーバーの Auto Scaling グループの起動テンプレートを作成します。テンプレートに `PSPRCS_TEMPLATE` という名前を付けます。テンプレートで、プロセススケジューラ用に作成した AMI を選択します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 
| Elasticsearch サーバーの Auto Scaling グループの起動テンプレートを作成します。 | 前のステップを繰り返して、Elasticsearch サーバーの Auto Scaling グループの起動テンプレートを作成します。テンプレートに `SRCH_TEMPLATE` という名前を付けます。テンプレートで、検索サーバー用に作成した AMI を選択します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 
| ウェブサーバーの Auto Scaling グループの起動テンプレートを作成します。 | 前のステップを繰り返して、ウェブサーバーの Auto Scaling グループの起動テンプレートを作成します。テンプレートに `WEB_TEMPLATE` という名前を付けます。テンプレートで、ウェブサーバー用に作成した AMI を選択します。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 

### Auto Scaling グループを作成する
<a name="create-auto-scaling-groups"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| アプリケーションサーバー の Auto Scaling グループを作成します。 | Amazon EC2 コンソールで、`PSAPPSRV_TEMPLATE` テンプレートを使用して、アプリケーションサーバー用の `PSAPPSRV_ASG` という名前の Auto Scaling グループを作成します。手順については、「[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/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者、PeopleSoft 管理者 | 
| 別サーバーの Auto Scaling グループを作成します。 | このエピックの前のステップを繰り返して、プロセス スケジューラーサーバー、Elasticsearch サーバー、ウェブサーバーの Auto Scaling グループを作成します。　 | クラウド管理者、PeopleSoft 管理者 | 

### ターゲットグループの作成と設定
<a name="create-and-configure-target-groups"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ウェブサーバーのターゲットグループを作成します。 | Amazon EC2 コンソールで、ウェブサーバーのターゲットグループを作成します。詳細については、「[Elastic Load Balancing ドキュメント](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-target-group.html)」を参照してください。ポートをウェブサーバーがリッスンしているポート番号に設定します。 | クラウド管理者 | 
| ヘルスチェックを設定します。 | ヘルスチェックの値がビジネス要件を反映した正しい値になっていることを確認してください。詳細については、「[Elastic Load Balancing ドキュメント](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)」を参照してください。 | クラウド管理者 | 
| Elasticsearch サーバーのターゲットグループを作成します。 | 前のステップを繰り返して、Elasticsearch サーバー用に `PSFTSRCH` というターゲットグループを作成し、正しい Elasticsearch ポートを設定します。 | クラウド管理者 | 
| Auto Scaling グループにターゲットグループを追加します。 | 先ほど作成した `PSPIA_ASG` というウェブサーバーの Auto Scaling グループを開きます。[**ロードバランサー**] タブで [**編集**] を選択してから、`PSFTWEB` ターゲットグループを Auto Scaling グループに追加します。Elasticsearch Auto Scaling グループ `PSSRCH_ASG` に対してこのステップを繰り返し、以前に作成したターゲットグループ `PSFTSRCH`を追加します。 | クラウド管理者 | 
| セッションの維持設定を行います。 | ターゲットグループ `PSFTWEB` で、[**属性**] タブを選択して、[**編集**] を選択した後、セッションの維持設定を行います。維持設定タイプでは、**ロードバランサーが生成した Cookie** を選択して、期間を 1 に設定します。詳細については、「[Elastic Load Balancing ドキュメント](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html)」を参照してください。ターゲットグループ `PSFTSRCH` にも同様に、このステップを繰り返します。 | クラウド管理者 | 

### Application Load Balancer を作成して設定します。
<a name="create-and-configure-application-load-balancers"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| ウェブサーバーのロードバランサーを作成します。 | `PSFTLB` という名前の Application Load Balancer を作成して、ウエブサーバーへのトラフィックの負荷を分散させます。詳細については、「[Elastic Load Balancing ドキュメント](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/ja_jp/prescriptive-guidance/latest/patterns/set-up-a-highly-available-peoplesoft-architecture-on-aws.html) | クラウド管理者 | 
| Elasticsearch サーバーのロードバランサーを作成します。 | `PSFTSCH` という名前の Application Load Balancer を作成して、Elasticsearch サーバーへのトラフィックの負荷を分散させます。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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>
+ [Oracle PeopleSoftのウェブサイト](https://www.oracle.com/applications/peoplesoft/)
+ [AWS ドキュメント](https://docs.aws.amazon.com/)