Amazon EC2 Auto Scaling と Systems Manager PACを使用して Micro Focus Enterprise Server を構築する - AWS 規範ガイダンス

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

Amazon EC2 Auto Scaling と Systems Manager PACを使用して Micro Focus Enterprise Server を構築する

作成者: Kevin Yung (AWS)、Peter Woods (Micro Focus)、Abraham Rondon (Micro Focus)、Krithika Palani Selvam (AWS)

環境:本稼働

テクノロジー: モダナイゼーション; CloudNative DevOps;; インフラストラクチャ

[概要]

このパターンでは、スケールアウトパフォーマンスおよびアベイラビリティクラスター (PAC) で Micro Focus Enterprise Server を使用するメインフレームアプリケーション用のスケーラブルアーキテクチャと、Amazon Web Services () で Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling グループが導入されていますAWS。このソリューションは、AWSSystems Manager と Amazon EC2 Auto Scaling ライフサイクルフックで完全に自動化されています。このパターンを使用すると、メインフレームのオンラインアプリケーションとバッチアプリケーションをセットアップして、キャパシティの需要に応じた自動的なスケールインとスケールアウトを行い、高い回復性を実現できます。

前提条件と制限

前提条件

  • アクティブ AWS アカウント。

  • Micro Focus Enterprise Server のソフトウェアとライセンス。詳細については、Micro Focus の営業担当にお問い合わせください。

  • Micro Focus Enterprise Server で実行するメインフレームアプリケーションの再構築と配信の概念について理解している。大まかな概要については、「Micro Focus Enterprise Server データシート」を参照してください。

  • Micro Focus Enterprise Serverのスケールアウトパフォーマンスおよび可用性クラスターの概念について理解している。詳細については、「Micro Focus Enterprise Server ドキュメント」を参照してください。

  • 継続的統合 (CI) DevOps によるメインフレームアプリケーションの全体的な概念の理解。AWS と Micro Focus によって開発されたAWS規範的ガイダンスパターンについては、「Micro Focus AWSを使用した Mainframe modernization: DevOps on」を参照してください。

機能制限

  • Micro Focus Enterprise Server でサポートされているプラットフォームのリストについては、「Micro Focus Enterprise Serverのデータシート」を参照してください。

  • このパターンで使用されるスクリプトとテストは Amazon EC2 Windows Server 2019 に基づいています。他の Windows Server バージョンとオペレーティングシステムはこのパターンについてテストされていません。

  • このパターンは Micro Focus Enterprise Server 6.0 for Windows に基づいています。このパターンの開発では、それ以前またはそれ以降のリリースではテストされていません。

製品バージョン

  • Micro Focus Enterprise Server 6.0

  • [Windows Server 2019]

アーキテクチャ

従来のメインフレーム環境では、アプリケーションと企業データをホストするハードウェアをプロビジョニングする必要があります。季節、月次、四半期、さらには前例のない、または予期しない需要の急増に対応するため、メインフレームユーザーは、ストレージとコンピューティングの容量を追加購入してスケールアウトする必要があります。ストレージとコンピューティングキャパシティのリソースを増やすと全体的なパフォーマンスは向上しますが、スケーリングは線形になりません

Amazon EC2 Auto Scaling と Micro Focus Enterprise Servers を使用して AWSでオンデマンド消費モデルの導入を開始する場合は、この限りではありません。以下のセクションでは、Amazon EC2 Auto Scaling グループで Micro Focus Enterprise Server Scale-Out Performance and Availability Cluster (PAC) を使用して、完全に自動化されたスケーラブルなメインフレームアプリケーションアーキテクチャを構築する方法について詳しく説明します。 

Micro Focus Enterprise Server の自動スケーリングアーキテクチャ

最初に Micro Focus Enterprise Server の基本概念を理解することが重要です。この環境は、従来メインフレームで実行されていたアプリケーションにIBMメインフレーム互換の x86 デプロイ環境を提供します。オンラインおよびバッチ実行と、以下の機能をサポートするトランザクション環境を提供します。

  • IBM COBOL

  • IBM PL/I

  • IBM JCL バッチジョブ

  • IBM CICS および TM IMS トランザクション

  • ウェブサービス

  • 以下を含む一般的なバッチユーティリティ SORT

Micro Focus Enterprise Server を使用すると、メインフレームアプリケーションで最小限の変更を実行できます。既存のメインフレームワークロードを x86 プラットフォームに移動してモダナイズし、AWSクラウドネイティブ拡張機能を活用して、新しい市場や地域に迅速に拡張できます。 

Micro Focus での AWS Mainframe modernization:on の規範的ガイダンスパターンでは、 AWS CodePipeline および での Micro Focus Enterprise Developer と Enterprise Test Server AWSの使用に関するメインフレームアプリケーションの開発とテストを加速するアーキテクチャが導入されましたAWS CodeBuild。 DevOps AWS このパターンは、メインフレームアプリケーションをAWS本番環境にデプロイして、高可用性と回復性を実現することに重点を置いています。

メインフレーム本番環境では、高いパフォーマンスと高可用性を実現するために、メインフレームに IBM Parallel Sysplex をセットアップしている場合があります。Sysplex に似たスケールアウトアーキテクチャを作成するには、Micro Focus はパフォーマンスクラスターとアベイラビリティクラスター (PAC) を Enterprise Server に導入しました。PACs は、単一のイメージとして管理され、Amazon EC2インスタンスでスケールアウトされる複数の Enterprise Server リージョンへのメインフレームアプリケーションのデプロイをサポートします。PACs は、予測可能なアプリケーションパフォーマンスとシステムスループットをオンデマンドでサポートします。 

ではPAC、複数の Enterprise Server インスタンスが 1 つの論理エンティティとして連携します。したがって、1 つの Enterprise Server インスタンスが失敗しても、Amazon EC2 Auto Scaling グループなどの業界標準機能を使用して新しいインスタンスが自動的に開始される間、キャパシティは他のリージョンと共有されるため、事業継続性が中断されることはありません。これにより、単一障害点が解消され、ハードウェア、ネットワーク、アプリケーションの問題に対する耐性が向上します。  スケールアウトされた Enterprise Server インスタンスは、Enterprise Server Common Web Administration (ESCWA) を使用して運用および管理できるためAPIs、Enterprise Server の運用メンテナンスと保守が容易になります。 

注: Micro Focus では、Enterprise Server リージョンが失敗した場合やメンテナンスが必要な場合に可用性が損なわれないように、パフォーマンスクラスターとアベイラビリティクラスター (PAC) を少なくとも 3 つの Enterprise Server リージョンで構成することをお勧めします。

PAC 設定には、リージョンデータベース、クロスリージョンデータベース、およびオプションのデータストアデータベースを管理するために、サポートされているリレーショナルデータベース管理サービス (RDBMS) が必要です。データストアデータベースは、可用性とスケーラビリティを向上させるために、Micro Focus Database File Handler サポートを使用して Virtual Storage Access Method (VSAM) ファイルを管理するために使用する必要があります。サポートされているRDBMSsものは次のとおりです。

  • Microsoft SQL Server 2009 R2 以降

  • Amazon Aurora PostgreSQL SQL互換エディションを含む Postgre 10.x

  • DB2 10.4 以降

サポートされている RDBMSとPAC要件の詳細については、「Micro Focus Enterprise Server - 前提条件」および「Micro Focus Enterprise Server - 推奨PAC設定」を参照してください。

次の図は、Micro Focus の一般的なAWSアーキテクチャ設定を示していますPAC。 

AWS クラウド architecture with VPC, EC2 instances, load balancer, Aurora database, and Redis across availability zones.

コンポーネント

説明

1

Enterprise Server インスタンス、自動スケーリンググループ

で Enterprise Server インスタンスにデプロイされた自動スケーリンググループを設定しますPAC。インスタンスの数は、 CloudWatch メトリクスを使用して Amazon CloudWatch アラームによってスケールアウトまたは開始できます。

2

Enterprise Server ESCWAインスタンスの自動スケーリンググループ 

Enterprise Server Common Web Administration () でデプロイされた自動スケーリンググループを設定しますESCWA。ESCWA は、クラスター管理 を提供しますAPIs。  ESCWA サーバーは、Enterprise Server インスタンスの自動スケーリングイベントPAC中に、Enterprise Server を追加または削除し、 で Enterprise Server リージョンを開始または停止するコントロールプレーンとして機能します。  ESCWA インスタンスはPAC管理にのみ使用されるため、トラフィックパターンは予測可能であり、自動スケーリングの必要な容量要件は 1 に設定できます。 

3

マルチ AZ セットアップでの Amazon Aurora インスタンス 

Enterprise Server インスタンス間で共有されるユーザーデータとシステムデータファイルの両方をホストするように、リレーショナルデータベース管理システム (RDBMS) を設定します。

4

Amazon ElastiCache for Redis インスタンスとレプリカ

ElastiCache Redis プライマリインスタンスと少なくとも 1 つのレプリカをセットアップしてユーザーデータをホストし、Enterprise Server インスタンスのスケールアウトリポジトリ (SOR) として機能します。特定タイプのユーザーデータを保存するスケールアウトリポジトリを 1 つ以上設定できます。  Enterprise Server は Redis NoSQL データベースを として使用します。SORこれは、整合性を維持するための要件です。 PAC

5

Network Load Balancer

ロードバランサーを設定して、アプリケーションのホスト名を指定し、Enterprise Server インスタンスによって提供されるサービスに接続します (たとえば、3270 エミュレータを使用してアプリケーションにアクセスします)。

これらのコンポーネントは、Micro Focus Enterprise Server PACクラスターの最小要件を形成します。次のセクションでは、クラスター管理の自動化について説明します。

AWS Systems Manager Automation を使用したスケーリング

PAC クラスターが にデプロイされるとAWS、 PACは Enterprise Server Common Web Administration (ESCWA) を通じて管理されますAPIs。 

自動スケーリングイベント中にクラスター管理タスクを自動化するには、Systems Manager Automation ランブックと Amazon EC2 Auto Scaling を Amazon で使用できます EventBridge。以下の図は、これらの自動化のアーキテクチャを示しています。

AWS クラウド architecture diagram showing EventBridge, Systems Manager, and EC2 instances for Enterprise Server scaling.

コンポーネント

説明

1

Auto Scaling ライフサイクルフック

自動スケーリングライフサイクルフックを設定し、新しいインスタンスが起動され、既存のインスタンスが自動スケーリンググループで終了 EventBridge したときに Amazon に通知を送信します。

2

Amazon EventBridge

Amazon EventBridge ルールを設定して、自動スケーリングイベントを Systems Manager Automation ランブックターゲットにルーティングします。

3

Automation ランブック

Systems Manager Automation ランブックをセットアップして Windows PowerShell スクリプトを実行し、 を呼び出しESCWAAPIsて を管理しますPAC。例については、「追加情報」セクションを参照してください。

4

自動スケーリンググループの Enterprise Server ESCWAインスタンス

自動スケーリンググループに Enterprise Server ESCWAインスタンスを設定します。ESCWA インスタンスは、 を管理するAPIsために を提供しますPAC。 

ツール

  • Micro Focus Enterprise Server – Micro Focus Enterprise Server は、Enterprise Developer の統合された開発環境 (IDE) バリアントで作成されたアプリケーションの実行環境を提供します。

  • Amazon EC2 Auto Scaling – Amazon EC2 Auto Scaling は、アプリケーションの負荷を処理するために使用できる Amazon EC2インスタンスの数が適切であることを確認するのに役立ちます。Auto Scaling グループと呼ばれるEC2インスタンスのコレクションを作成し、インスタンスの最小数と最大数を指定します。

  • Amazon ElastiCache for Redis – Amazon ElastiCache は、クラウド内の分散インメモリデータストアまたはキャッシュ環境をセットアップ、管理、スケーリングするためのウェブサービスです。高性能かつスケーラブルで費用対効果の高いキャッシュソリューションを提供します。

  • Amazon RDS – Amazon Relational Database Service (Amazon RDS) は、AWSクラウドでのリレーショナルデータベースのセットアップ、運用、スケーリングを容易にするウェブサービスです。リレーショナルデータベース向けに、コスト効率に優れ、サイズ変更可能な容量を提供し、一般的なデータベース管理タスクを管理します。 

  • AWS Systems Manager – AWS Systems Manager は、 でインフラストラクチャを表示および制御するために使用できるAWSサービスですAWS。Systems Manager コンソールを使用すると、複数の AWS サービスの運用データを表示し、AWSリソース全体の運用タスクを自動化できます。Systems Manager は、マネージドインスタンスをスキャンし、検出されたポリシー違反を報告(または是正措置を講じる)して、セキュリティとコンプライアンスを維持することができます。

エピック

タスク説明必要なスキル
Amazon Aurora インスタンスのAWS CloudFormation テンプレートを作成します。

AWS サンプルコードスニペットを使用して、Amazon Aurora Postgre SQL-Compatible Edition インスタンスを作成する CloudFormation テンプレートを作成します。

クラウドアーキテクト
CloudFormation スタックをデプロイして Amazon Aurora インスタンスを作成します。

CloudFormation テンプレートを使用して、本稼働ワークロードでマルチ AZ レプリケーションが有効になっている Aurora Postgre SQL互換インスタンスを作成します。

クラウドアーキテクト
Enterprise Server のデータベース接続を設定します。

Micro Focus ドキュメント」の指示に従って、Micro Focus Enterprise Server の接続文字列とデータベース設定を準備します。

データエンジニア、 DevOps エンジニア
タスク説明必要なスキル
Redis インスタンスの Amazon ElastiCache クラスターの CloudFormation テンプレートを作成します。

AWS サンプルコードスニペットを使用して、Redis インスタンスの Amazon ElastiCache クラスターを作成する CloudFormation テンプレートを作成します。

クラウドアーキテクト
CloudFormation スタックをデプロイして、Redis インスタンスの Amazon ElastiCache クラスターを作成します。

本番ワークロードでマルチ AZ レプリケーションが有効になっている Redis インスタンスの Amazon ElastiCache クラスターを作成します。

クラウドアーキテクト
Enterprise Server PSOR接続設定を構成します。

Micro Focus ドキュメントの指示に従って、Micro Focus Enterprise Server のPACスケールアウトリポジトリ (PSOR) 接続設定を準備しますPAC。

DevOps エンジニア
タスク説明必要なスキル
Micro Focus Enterprise Server を作成しますAMI。

Amazon EC2 Windows Server インスタンスを作成し、EC2インスタンスに Micro Focus Enterprise Server バイナリをインストールします。EC2 インスタンスの Amazon マシンイメージ (AMI) を作成します。詳細については、「Enterprise Server ドキュメント」を参照してください。

クラウドアーキテクト
Enterprise Server の CloudFormation テンプレートを作成しますESCWA。

AWS サンプルコードスニペットを使用して、自動スケーリンググループESCWAで Enterprise Server のカスタムスタックを作成するためのテンプレートを作成します。

クラウドアーキテクト
CloudFormation スタックをデプロイして、Enterprise Server の Amazon EC2スケーリンググループを作成しますESCWA。

CloudFormation テンプレートを使用して、前のストーリーでESCWAAMI作成した Micro Focus Enterprise Server を使用して自動スケーリンググループをデプロイします。

クラウドアーキテクト
タスク説明必要なスキル
Systems Manager Automation ランブックの CloudFormation テンプレートを作成します。

「追加情報」セクションのコードスニペットの例を使用して、PAC作成、エンタープライズサーバーのスケールイン、エンタープライズサーバーのスケールアウトを自動化するための Systems Manager Automation ランブックを作成する CloudFormation テンプレートを作成します。

クラウドアーキテクト
Systems Manager Automation ランブックを含む CloudFormation スタックをデプロイします。

CloudFormation テンプレートを使用して、PAC作成用のオートメーションランブック、エンタープライズサーバーのスケールイン、エンタープライズサーバーのスケールアウトを含むスタックをデプロイします。

クラウドアーキテクト
タスク説明必要なスキル
Micro Focus Enterprise Server の自動スケーリンググループを設定するための CloudFormation テンプレートを作成します。

AWS サンプルコードスニペットを使用して、自動スケーリンググループを作成する CloudFormation テンプレートを作成します。このテンプレートは、Micro Focus Enterprise Server ESCWAインスタンス用に作成されたAMIものと同じものを再利用します。 

次に、AWSサンプルコードスニペットを使用して自動スケーリングライフサイクルイベントを作成し、同じ CloudFormation テンプレート内のスケールアウトイベントとスケールインイベントをフィルタリング EventBridge するように Amazon を設定します。

クラウドアーキテクト
Micro Focus Enterprise Server の自動スケーリンググループに CloudFormation スタックをデプロイします。

Micro Focus Enterprise Server の自動スケーリンググループを含む CloudFormation スタックをデプロイします。

クラウドアーキテクト

関連リソース

追加情報

PAC クラスターをスケーリングまたはスケールアウトするには、次のシナリオを自動化する必要があります。

の開始または再作成の自動化 PAC

PAC クラスターの開始時に、Enterprise Server は ESCWAを呼び出しAPIsてPAC設定を作成する必要があります。これにより Enterprise Server リージョンが開始され、 に追加されますPAC。を作成または再作成するにはPAC、次の手順を実行します。 

  1. 特定の名前ESCWAで PAC でスケールアウトリポジトリ (PSOR) を設定します。

    POST /server/v1/config/groups/sors
  2. 指定された名前PACで を作成し、 PSOR をアタッチします。

    POST /server/v1/config/groups/pacs
  3. を初めて設定する場合は、リージョンデータベースとクロスリージョンデータベースを設定しますPAC。

    注: このステップでは、SQLクエリと Micro Focus Enterprise Suite コマンドライン dbhfhadmin ツールを使用してデータベースを作成し、初期データをインポートします。

  4. PAC 定義を Enterprise Server リージョンにインストールします。

    POST /server/v1/config/mfds POST /native/v1/config/groups/pacs/${pac_uid}/install
  5. で Enterprise Server リージョンを起動しますPAC。

    POST /native/v1/regions/${host_ip}/${port}/${region_name}/start

前のステップは、Windows PowerShell スクリプトを使用して実装できます。 

次の手順では、Windows PowerShell スクリプトを再利用PACして を作成するためのオートメーションを構築する方法について説明します。

  1. ブートストラッププロセスの一環として Windows PowerShell スクリプトをダウンロードまたは作成する Amazon EC2起動テンプレートを作成します。例えば、EC2ユーザーデータを使用して Amazon Simple Storage Service (Amazon S3) バケットからスクリプトをダウンロードできます。

  2. Windows PowerShell スクリプトを呼び出す AWS Systems Manager Automation ランブックを作成します。

  3. ESCWA インスタンスタグを使用してランブックをインスタンスに関連付けます。

  4. 起動テンプレートを使用して、ESCWA自動スケーリンググループを作成します。 

次のサンプルAWS CloudFormation スニペットを使用して、オートメーションランブックを作成できます。

PAC作成に使用される Systems Manager Automation ランブックの CloudFormation スニペットの例

PACInitDocument: Type: AWS::SSM::Document Properties: DocumentType: Command Content: schemaVersion: '2.2' description: Operation Runbook to create Enterprise Server PAC mainSteps: - action: aws:runPowerShellScript name: CreatePAC inputs: onFailure: Abort timeoutSeconds: "1200" runCommand: - | C:\Scripts\PAC-Init.ps1 PacInitAutomation: Type: AWS::SSM::Document Properties: DocumentType: Automation Content: description: Prepare Micro Focus PAC Cluster via ESCWA Server schemaVersion: '0.3' assumeRole: !GetAtt SsmAssumeRole.Arn mainSteps: - name: RunPACInitDocument action: aws:runCommand timeoutSeconds: 300 onFailure: Abort inputs: DocumentName: !Ref PACInitDocument Targets: - Key: tag:Enterprise Server - ESCWA Values: - "true" PacInitDocumentAssociation: Type: AWS::SSM::Association Properties: DocumentVersion: "$LATEST" Name: !Ref PACInitDocument Targets: - Key: tag:Enterprise Server - ESCWA Values: - "true"

詳細については、「Micro Focus Enterprise Server - の設定PAC」を参照してください。

新しい Enterprise Server インスタンスによるスケールアウトの自動化

Enterprise Server インスタンスをスケールアウトするときは、その Enterprise Server リージョンを に追加する必要がありますPAC。次の手順では、エンタープライズサーバーリージョンを呼び出しESCWAAPIsて に追加する方法について説明しますPAC。 

  1. PAC 定義を Enterprise Server リージョンにインストールします。

    POST '/server/v1/config/mfds' POST /native/v1/config/groups/pacs/${pac_uid}/install
  2. のウォームスタートリージョンPAC。

    POST /native/v1/regions/${host_ip}/${port}/${region_name}/start
  3. 自動スケーリンググループをロードバランサーに関連付けて、Enterprise Server インスタンスをロードバランサーに追加します。 

前のステップは、Windows PowerShell スクリプトを使用して実装できます。詳細については、「Micro Focus Enterprise Server - の設定PAC」を参照してください。

次の手順を使用して、Windows PowerShell スクリプトを再使用PACして、イベント駆動型のオートメーションを構築し、新しく起動した Enterprise Server インスタンスを に追加できます。 

  1. ブートストラップ中に Enterprise Server リージョンをプロビジョニングする Enterprise Server インスタンス用の Amazon EC2起動テンプレートを作成します。たとえば、Micro Focus Enterprise Server のコマンド mfds を使用してリージョン設定をインポートできます。このコマンドのさらなる詳細とオプションについては、「Enterprise Server リファレンス」を参照してください。

  2. 前の手順で作成した起動テンプレートを使用する Enterprise Server 自動スケーリンググループを作成します。

  3. Windows PowerShell スクリプトを呼び出す Systems Manager Automation ランブックを作成します。 

  4. ESCWA インスタンスタグを使用してランブックをインスタンスに関連付けます。

  5. Enterprise Server 自動スケーリンググループのインスタンス起動成功イベントをフィルタリングEC2する Amazon EventBridge ルールを作成し、オートメーションランブックを使用するターゲットを作成します。

次のサンプル CloudFormation スニペットを使用して、オートメーションランブックと EventBridge ルールを作成できます。

Enterprise Server インスタンスのスケールアウトに使用される Systems Manager の CloudFormation スニペットの例

ScaleOutDocument: Type: AWS::SSM::Document Properties: DocumentType: Command Content: schemaVersion: '2.2' description: Operation Runbook to Adding MFDS Server into an existing PAC parameters: MfdsPort: type: String InstanceIpAddress: type: String default: "Not-Available" InstanceId: type: String default: "Not-Available" mainSteps: - action: aws:runPowerShellScript name: Add_MFDS inputs: onFailure: Abort timeoutSeconds: "300" runCommand: - | $ip = "{{InstanceIpAddress}}" if ( ${ip} -eq "Not-Available" ) { $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress" } C:\Scripts\Scale-Out.ps1 -host_ip ${ip} -port {{MfdsPort}} PacScaleOutAutomation: Type: AWS::SSM::Document Properties: DocumentType: Automation Content: parameters: MfdsPort: type: String InstanceIpAddress: type: String default: "Not-Available" InstanceId: type: String default: "Not-Available" description: Scale Out 1 New Server in Micro Focus PAC Cluster via ESCWA Server schemaVersion: '0.3' assumeRole: !GetAtt SsmAssumeRole.Arn mainSteps: - name: RunScaleOutCommand action: aws:runCommand timeoutSeconds: 300 onFailure: Abort inputs: DocumentName: !Ref ScaleOutDocument Parameters: InstanceIpAddress: "{{InstanceIpAddress}}" InstanceId: "{{InstanceId}}" MfdsPort: "{{MfdsPort}}" Targets: - Key: tag:Enterprise Server - ESCWA Values: - "true"

新しい Enterprise Server インスタンスによるスケールアウトの自動化

スケールアウトと同様に、エンタープライズサーバーインスタンスが でスケールされると、インスタンス終了ライフサイクルアクションのイベントが開始され、Micro Focus Enterprise Server EC2 インスタンスを から削除するには、次のプロセスとAPI呼び出しが必要ですPAC。 

  1. 終了する Enterprise Server インスタンスのリージョンを停止します。

    POST "/native/v1/regions/${host_ip}/${port}/${region_name}/stop"
  2. からエンタープライズサーバーインスタンスを削除しますPAC。

    DELETE "/server/v1/config/mfds/${uid}"
  3. Enterprise Server インスタンスの終了を続行するシグナルを送信します。

前のステップは Windows PowerShell スクリプトに実装できます。このプロセスの詳細については、「Micro Focus Enterprise Server ドキュメント - の管理PAC」を参照してください。

次の手順では、Windows PowerShell スクリプトを再利用PACして、 から Enterprise Server インスタンスを終了するイベント駆動型のオートメーションを構築する方法について説明します。 

  1. Windows PowerShell スクリプトを呼び出す Systems Manager Automation ランブックを作成します。

  2. ESCWA インスタンスタグを使用してランブックをインスタンスに関連付けます。

  3. EC2 インスタンス終了用の自動スケーリンググループのライフサイクルフックを作成します。

  4. Amazon EventBridge ルールを作成して、Enterprise Server 自動スケーリンググループのEC2インスタンス終了ライフサイクルアクションイベントをフィルタリングし、オートメーションランブックを使用するターゲットを作成します。 

次のサンプル CloudFormation テンプレートを使用して、Systems Manager Automation ランブック、ライフサイクルフック、および EventBridge ルールを作成できます。

Enterprise Server インスタンスでのスケーリングに使用される Systems Manager Automation ランブックの CloudFormation スニペットの例

ScaleInDocument: Type: AWS::SSM::Document Properties: DocumentType: Command Content: schemaVersion: '2.2' description: Operation Runbook to Remove MFDS Server from PAC parameters: MfdsPort: type: String InstanceIpAddress: type: String default: "Not-Available" InstanceId: type: String default: "Not-Available" mainSteps: - action: aws:runPowerShellScript name: Remove_MFDS inputs: onFailure: Abort runCommand: - | $ip = "{{InstanceIpAddress}}" if ( ${ip} -eq "Not-Available" ) { $ip = aws ec2 describe-instances --instance-id {{InstanceId}} --output text --query "Reservations[0].Instances[0].PrivateIpAddress" } C:\Scripts\Scale-In.ps1 -host_ip ${ip} -port {{MfdsPort}} PacScaleInAutomation: Type: AWS::SSM::Document Properties: DocumentType: Automation Content: parameters: MfdsPort: type: String InstanceIpAddress: type: String default: "Not-Available" InstanceId: type: String default: "Not-Available" description: Scale In 1 New Server in Micro Focus PAC Cluster via ESCWA Server schemaVersion: '0.3' assumeRole: !GetAtt SsmAssumeRole.Arn mainSteps: - name: RunScaleInCommand action: aws:runCommand timeoutSeconds: "600" onFailure: Abort inputs: DocumentName: !Ref ScaleInDocument Parameters: InstanceIpAddress: "{{InstanceIpAddress}}" MfdsPort: "{{MfdsPort}}" InstanceId: "{{InstanceId}}" Targets: - Key: tag:Enterprise Server - ESCWA Values: - "true" - name: TerminateTheInstance action: aws:executeAwsApi inputs: Service: autoscaling Api: CompleteLifecycleAction AutoScalingGroupName: !Ref AutoScalingGroup InstanceId: "{{ InstanceId }}" LifecycleActionResult: CONTINUE LifecycleHookName: !Ref ScaleInLifeCycleHook

Amazon EC2 自動スケーリングトリガーの自動化

Enterprise Server インスタンスのスケーリングポリシーを設定するプロセスには、アプリケーションの動作を理解する必要があります。ほとんどの場合、ターゲット追跡スケーリングポリシーを設定できます。例えば、平均CPU使用率を Amazon CloudWatch メトリクスとして使用して、自動スケーリングポリシーに設定できます。詳細については、「Amazon EC2 Auto Scaling のターゲット追跡スケーリングポリシー」を参照してください。通常のトラフィックパターンを使用するアプリケーションでは、予測的スケーリングポリシーの使用を検討してください。詳細については、「Amazon EC2 Auto Scaling の予測スケーリング」を参照してください。