翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Stonebranch ユニバーサルコントローラーと AWS Mainframe Modernizationを統合
制作:ベイディ・サンカラン (AWS)、ロバート・ルミュー (ストーンブランチ)、フセイン・ゴムレクシゾグル (ストーンブランチ)、パブロ・アロンソ・プリエト (AWS)
環境:PoC またはパイロット | テクノロジー:メインフレーム DevOps、モダナイゼーション、オペレーション、SaaS | |
ワークロード:オープンソース、Microsoft | AWS サービス: AWS Mainframe Modernization、Amazon RDS、Amazon S3 |
[概要]
このパターンは、「Stonebranch ユニバーサルオートメーションセンター (UAC) のワークロードオーケストレーション
Stonebranch UAC は、リアルタイムの IT 自動化およびオーケストレーションプラットフォームです。UAC は、オンプレミスから AWS までのハイブリッド IT システム全体のジョブ、アクティビティ、ワークフローを自動化および調整するように設計されています。メインフレームシステムを使用する企業クライアントは、クラウド中心の最新のインフラストラクチャとアプリケーションに移行しつつあります。Stonebranch のツールとプロフェッショナルサービスは、既存のスケジューラーと自動化機能の AWS クラウドへの移行を容易にします。
AWS Mainframe Modernizationサービスを使用してメインフレームプログラムを AWS クラウドに移行または最新化すると、この統合を使用してバッチスケジューリングを自動化し、敏捷性を高め、メンテナンスを改善し、コストを削減できます。
このパターンは、「Stonebranch スケジューラー
ターゲットを絞った成果
このパターンは、以下の目標となる成果を提供することに重点を置いています。
「Stonebranch ユニバーサルコントローラー
」から「AWS Mainframe Modernizationサービス (Microfocus ランタイム) 」で実行されているメインフレームバッチジョブをスケジュール、自動化、実行する機能。 Stonebranch ユニバーサルコントローラからアプリケーションのバッチプロセスを監視します。
Stonebranch ユニバーサルコントローラからバッチプロセスを自動または手動で開始/再開/再実行/停止します。
AWS Mainframe Modernizationのバッチプロセスの結果を取得します。
Stonebranch ユニバーサルコントローラーでバッチジョブの AWS CloudWatch
ログをキャプチャします。
前提条件と制限
前提条件
アクティブな AWS アカウント。
ジョブ制御言語 (JCL) ファイルと AWS Mainframe Modernization サービス (Micro Focus ランタイム) 環境にデプロイされたバッチプロセスを備えた Micro Focus
Bankdemo アプリケーション Micro Focus 「Enterprise Server
」上で動作するメインフレームアプリケーションを構築してデプロイする方法に関する基本的な知識 「Stonebranch ユニバーサルコントローラー
」の基礎知識 ストーンブランチトライアルライセンス (「ストーンブランチ
」にお問い合わせください) 4 コア最低、8 GB のメモリ、2 GB のディスク容量を備えた Windows または Linux Amazon Elastic Compute Cloud (Amazon EC2) インスタンス (たとえば、xlarge)
Apache Tomcat バージョン 8.5.x または 9.0.x
Oracle Java ランタイム環境 (JRE) または OpenJDK バージョン 8 または 11
エクスポートリポジトリ用「Amazon Simple Storage Service (Amazon S3)
」バケット 高可用性 (HA) を実現するエージェントストーンブランチユニバーサルメッセージサービス (OMS) 接続用の 「Amazon Elastic File System (Amazon EFS)
」 Stonebranch ユニバーサルコントローラー 7.2 ユニバーサルエージェント 7.2 インストールファイル
AWS Mainframe Modernization「タスクスケジューリングテンプレート
」 (.zip ファイルの最新リリースバージョン)
制約事項
製品とソリューションはOpenJDK 8と11でのみテストされ、互換性が検証されています。
aws-mainframe-modernization-stonebranch統合
タスクスケジューリングテンプレートは、AWS Mainframe Modernization サービスでのみ機能します。 このタスクスケジューリングテンプレートは、Stonebranch エージェントの UNIX、Linux、または Windows エディションでのみ機能します。
アーキテクチャ
ターゲットアーキテクチャ
次の図表は、このパイロットに必要な AWS 環境の例を示しています。
![AWS Mainframe Modernization 環境とやり取りする Stonebranch UAC。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)
Stonebranch ユニバーサルオートメーションセンター (UAC) には、ユニバーサルコントローラーとユニバーサルエージェントの 2 つの主要コンポーネントがあります。Stonebranch OMS はコントローラと個々のエージェント間のメッセージバスとして使用されます。
Stonebranch UAC データベースはユニバーサルコントローラによって使用されます。データベースは、MySQL、Microsoft SQL Server、Oracle、または Aurora MySQL と互換性があります。
AWS Mainframe Modernization サービス — BankDemo アプリケーションがデプロイされた Micro Focus
ランタイム環境。 BankDemo アプリケーションファイルは S3 バケットに保存されます。このバケットにはメインフレーム JCL ファイルも含まれています。 Stonebranch UAC は、バッチ実行時に以下の機能を実行できます。
AWS Mainframe Modernizationサービスにリンクされている S3 バケットにある JCL ファイル名を使用してバッチジョブを開始します。
バッチジョブのステータスを実行させます。
バッチジョブの実行が完了するまでお待ちください。
バッチジョブ実行のログを取得します。
失敗したバッチジョブを再実行します。
ジョブの実行中にバッチジョブをキャンセルします。
Stonebranch UAC はアプリケーションに対して以下の機能を実行できます。
アプリケーションの開始
アプリケーションのステータスを取得
アプリケーションが起動または停止するまでお待ちください。
アプリケーションの停止
アプリケーション操作のログを取得
ストーンブランチのジョブ変換
次の図は、近代化の過程におけるストーンブランチの転職プロセスを表しています。ジョブスケジュールとタスク定義を、AWS Mainframe Modernizationバッチタスクを実行できる互換性のある形式に変換する方法について説明します。
![Amazon S3 の JCL ファイルを使用して、メインフレームから Amazon EC2 のジョブスケジューラへの変換を処理します。 Amazon S3](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)
変換プロセスでは、ジョブ定義が既存のメインフレームシステムからエクスポートされます。
JCL ファイルはメインフレームモダナイゼーションアプリケーションの S3 バケットにアップロードできます。これにより、これらの JCL ファイルを AWS Mainframe Modernizationサービスでデプロイできます。
変換ツールは、エクスポートされたジョブ定義を UAC タスクに変換します。
すべてのタスク定義とジョブスケジュールが作成されると、これらのオブジェクトは Universal Controller にインポートされます。変換されたタスクは、メインフレームで実行するのではなく、AWS Mainframe Modernizationサービス内のプロセスを実行します。
ストーンブランチ UAC アーキテクチャ
次のアーキテクチャ図は、高可用性 (HA) ユニバーサルコントローラーの active-active-passive モデルを示しています。Stonebranch UAC は複数のアベイラビリティーゾーンにデプロイされ、高可用性を提供し、ディザスタリカバリ (DR) をサポートします。
![DR とコントローラー、Amazon EFS 、Aurora、バックアップ用の S3 バケットを備えたマルチ AZ 環境。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)
ユニバーサルコントローラー
2 台の Linux サーバーがユニバーサルコントローラーとしてプロビジョニングされます。どちらも同じデータベースエンドポイントに接続します。各サーバーにはユニバーサルコントローラアプリケーションと OMS が格納されています。ユニバーサルコントローラーの最新バージョンは、プロビジョニング時に使用されます。
ユニバーサルコントローラーは Tomcat Web アプリにドキュメント ROOT としてデプロイされ、ポート 80 で提供されます。このデプロイにより、フロントエンドロードバランサーの設定が容易になります。
Stonebranch ワイルドカード証明書 (例:https://customer.stonebranch.cloud
) を使用して TLS または HTTPS 経由の HTTP を有効にします。これにより、ブラウザとアプリケーション間の通信が保護されます。
OMS
ユニバーサルエージェントと OMS (Opswise メッセージサービス) は各ユニバーサルコントローラサーバに常駐しています。顧客側からデプロイされたすべてのユニバーサルエージェントは、両方の OMS サービスに接続するように設定されます。OMS はユニバーサルエージェントとユニバーサルコントローラ間の共通のメッセージングサービスとして機能します。
Amazon EFS は各サーバーにスプールディレクトリをマウントします。OMS は、この共有スプールディレクトリを使用して、コントローラやエージェントからの接続情報やタスク情報を保持します。OMS は高可用性のモードで動作します。アクティブな OMS がダウンした場合、パッシブ OMS はすべてのデータにアクセスでき、アクティブな操作を自動的に再開します。ユニバーサルエージェントはこの変更を検出し、新しいアクティブ OMS に自動的に接続します。
データベース
Amazon Relational Database Service (Amazon RDS) には、Amazon Aurora MySQL 互換のエンジンを使用する UAC データベースが格納されています。Amazon RDS は、定期的なバックアップの管理と提供に役立ちます。ユニバーサルコントローラのインスタンスは両方とも同じデータベースエンドポイントに接続します。
ロードバランサー
Application Load Balancer はインスタンスごとに設定されます。ロードバランサーはいつでもトラフィックをアクティブコントローラーに転送します。インスタンスドメイン名はそれぞれのロードバランサーエンドポイントを指します。
URL
次の例に示しているように、各インスタンスには URL があります。
環境 | インスタンス |
本番稼働用 | |
開発 (ノンプロダクション) | |
テスト (ノンプロダクション) |
注:ノンプロダクションインスタンス名は必要に応じて設定できます。
高可用性
ハイアベイラビリティ (HA) とは、指定された期間、システムを障害なく継続的に運用できることです。このような障害には、ストレージ、CPU やメモリの問題によるサーバー通信応答の遅延、ネットワーク接続などが含まれますが、これらに限定されません。
HA 要件を満たすには:
EC2 インスタンス、データベース、その他の設定はすべて、同じ AWS リージョン内の 2 つの別々のアベイラビリティーゾーンにミラーリングされます。
コントローラーは、2 つのアベイラビリティーゾーンにある 2 つの Linux サーバーで Amazon マシンイメージ (AMI) を介してプロビジョニングされます。たとえば、ヨーロッパ eu-west-1 リージョンでプロビジョニングされている場合、アベイラビリティーゾーン eu-west-1a とアベイラビリティーゾーン eu-west-1c にユニバーサルコントローラーがあります。
アプリケーションサーバー上でジョブを直接実行することはできず、データをこれらのサーバーに保存することもできません。
Application Load Balancer は、各ユニバーサルコントローラーのヘルスチェックを実行してアクティブなコントローラーを特定し、トラフィックをそのユニバーサルコントローラーに転送します。1 つのサーバーに問題が発生した場合、ロードバランサーはパッシブユニバーサルコントローラーを自動的にアクティブ状態に昇格させます。その後、ロードバランサーはヘルスチェックから新しいアクティブな Universal Controller インスタンスを識別し、トラフィックの転送を開始します。フェイルオーバーは 4 分以内に行われ、ジョブが失われることはありません。フロントエンド URL は変わりません。
Aurora MySQL 互換のデータベースサービスには、ユニバーサルコントローラーのデータが保存されます。本番環境では、1 つのAWSリージョン内の 2 つの異なるアベイラビリティゾーンにある 2 つのデータベースインスタンスでデータベースクラスターを構築します。どちらのユニバーサルコントローラも、単一のデータベースクラスターエンドポイントを指す Java Database Connectivity (JDBC) インターフェイスを使用します。1 つのデータベースインスタンスで問題が発生した場合、データベースクラスターエンドポイントは正常なインスタンスを動的に参照します。手動による介入は必要ありません。
バックアップとパージ
Stonebranch ユニバーサルコントローラは、表に示されているスケジュールに従って古いデータをバックアップおよび消去するように設定されています。
タイプ | スケジュール |
アクティビティ | 7 日間 |
監査 | 90 日間 |
履歴 | 60 日 |
表示されている日付より古いBackup データは、.xml 形式にエクスポートされ、ファイルシステムに保存されます。バックアッププロセスが完了すると、古いデータはデータベースから削除され、本番インスタンスでは最大 1 年間 S3 バケットにアーカイブされます。
このスケジュールはユニバーサルコントローラーのインターフェースで調整できます。ただし、これらの時間枠を長くすると、メンテナンス中のダウンタイムが長くなる可能性があります。
ツール
AWS サービス
AWS Mainframe Modernization サービスは、メインフレームアプリケーションを AWS クラウドネイティブなマネージドランタイム環境にモダナイズするのに役立ちます。移行とモダナイズの計画および実装に役立つツールとリソースを提供します。
Amazon Elastic Block Store (Amazon EBS) は、Amazon EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。
Amazon Elastic File System (Amazon EFS) は、 AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。
Amazon Relational Database Service (Amazon RDS) を使用して、AWS クラウドでリレーショナルデータベース (DB) をセットアップ、運用、スケーリングできます。このパターンでは Amazon Aurora MySQL–Compatible Edition を使用しています。
Amazon Simple Storage Service (Amazon S3) は、どのようなデータ量であっても、データを保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。
「Elastic Load Balancing (ELB)」は、受信するアプリケーションまたはネットワークのトラフィックを複数のターゲットに分散します。たとえば、1 つ以上のアベイラビリティーゾーンの Amazon EC2 インスタンス、コンテナ、および IP アドレスにトラフィックを分散できます。このパターンでは、Application Load Balancer を使用します。
ストーンブランチ
「ユニバーサルオートメーションセンター (UAC)
」は、エンタープライズワークロード自動化製品のシステムです。このパターンでは次の UAC コンポーネントを使用します。 Tomcat Web コンテナ内で動作する Java Web アプリケーションである「ユニバーサルコントローラは
」、「ユニバーサルオートメーションセンター 」のエンタープライズジョブスケジューラおよびワークロードオートメーションブローカーソリューションです。Controller は、コントローラー情報の作成、監視、設定を行うためのユーザーインターフェースを提供し、スケジューリングロジックの処理、「ユニバーサルエージェント 」との間で送受信されるすべてのメッセージの処理、ユニバーサルオートメーションセンターの「高可用性 」運用の大部分の同期を行います。 「Universal Agent
」はベンダーに依存しないスケジューリングエージェントで、レガシーおよび分散型を問わず、すべての主要なコンピューティングプラットフォーム上の既存のジョブスケジューラと連携します。z/シリーズ、I/シリーズ、UNIX、Linux、または Windows で動作する全てのスケジューラーがサポートされています。
「Universal Agent
」はベンダーに依存しないスケジューリングエージェントで、レガシーおよび分散型を問わず、すべての主要なコンピューティングプラットフォーム上の既存のジョブスケジューラと連携します。z/シリーズ、I/シリーズ、UNIX、Linux、または Windows で動作する全てのスケジューラーがサポートされています。 Stonebranch aws-mainframe-modernization-stonebranch-integration AWS Mainframe Modernization ユニバーサルエクステンション
は、AWS Mainframe Modernization プラットフォームでバッチジョブを実行、モニタリング、再実行する統合テンプレートです。
コード
このパターンのコードは、 aws-mainframe-modernization-stonebranch統合
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
インストールファイルをダウンロードします。 | Stonebranch サーバーからインストールをダウンロードします。インストールファイルを入手するには、Stonebranch に連絡してください。 | クラウドアーキテクト |
EC2 インスタンスを起動します。 | ユニバーサルコントローラとユニバーサルエージェントのインストールには、約 3 GB の追加スペースが必要です。そのため、インスタンスには少なくとも 30 GB のディスクスペースを確保してください。 アクセスできるようにセキュリティグループにポート 8080 を追加します。 | クラウドアーキテクト |
前提条件をチェックします。 | インストールの前に、以下を実行します。
| クラウド管理者、Linux 管理者 |
ユニバーサルコントローラーをインストールします。 |
| クラウドアーキテクト、Linux 管理者 |
ユニバーサルエージェントをインストールします。 |
| クラウド管理者、Linux 管理者 |
OMS をユニバーサルコントローラに追加します。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
統合テンプレートをインポートします。 | このステップには、「AWS Mainframe Modernizationユニバーサルエクステンション
統合テンプレートをインポートすると、「利用可能なサービス」の下に「AWS Mainframe Modernizationタスク」が表示されます。 | ユニバーサルコントローラー管理者 |
解決可能な認証情報を有効にする。 |
| ユニバーサルコントローラー管理者 |
タスクを起動します。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
バッチジョブのタスクを作成します。 |
| ユニバーサルコントローラー管理者 |
タスクを起動します。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
タスクをコピーしてください。 |
| ユニバーサルコントローラー管理者 |
タスクを更新します。 |
| ユニバーサルコントローラー管理者 |
ワークフローを作成します。 |
| ユニバーサルコントローラー管理者 |
ワークフロー実行のステータスを確認します。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
失敗したタスクを修正して再実行してください。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
「アプリケーションを開始」アクションを作成します。 |
| ユニバーサルコントローラー管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
「バッチをキャンセル」アクションを作成します。 |
|
関連リソース
追加情報
ワークフローエディターのアイコン
![一番上の RUNHELLO タスク、中間の FOOBAR、3 番目のレベルの残りのタスク。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)
すべてのタスクが接続されている
![RUNHELLO は FOOBAR に接続し、FOOBAR は残りの 3 つのタスクに接続します。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)
ワークフローステータス
![FOOBAR タスクは失敗し、残りの 3 つのタスクは待機中です。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)