で Blu Age モダナイズされたワークロードを実行するためのソリューションアーキテクチャ AWS - AWS 規範ガイダンス

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

で Blu Age モダナイズされたワークロードを実行するためのソリューションアーキテクチャ AWS

このソリューションは、Amazon Elastic Container Service (Amazon ECS) によってオーケストレーションされた Docker コンテナ内でモダナイズされたアプリケーションを実行します。コンテナイメージ内で実行されるラッパーシェルスクリプトは、入力の収集、Java コードの実行、出力の処理と配信など、モダナイズされた Java アプリケーションを管理します。

コンテナ内の Java アプリケーションコードは、このガイドの対象外です。概要として、ラッパーシェルスクリプトはコンテナへのエントリポイントとして機能し、さまざまなタスクをオーケストレーションします。実行時に、ECS タスク定義は、 AWS Secrets Managerおよび の一機能である Parameter Store とのネイティブ統合を使用して、Amazon Simple Storage Service (Amazon S3) バケットなどの環境メタデータを提供します AWS Systems Manager。

次のアーキテクチャは、サーバーレスを使用してモダナイズされたメインフレームワークロードを実行するように設計されているため AWS のサービス、オンプレミスインフラストラクチャを管理および維持する必要がなくなります。

AWS サーバーレスインフラストラクチャで実行されるモダナイズされたメインフレームアプリケーションのアーキテクチャ図。

図表に示す内容は以下のステップです。

  1. コンテナイメージを作成し、Amazon Elastic Container Registry (Amazon ECR) に保存します。Amazon ECS のタスク定義は、イメージタグを使用してこのイメージを参照します。

  2. 次のいずれかのタイプの Elastic Load Balancing リソースを使用して、リクエストのエントリポイントを提供します。

    • HTTP ベースのサービスの場合は、Application Load Balancer を使用します。これにより、TLS 証明書を使用して、転送中の暗号化とアプリケーションのヘルスチェックが可能になります。

    • IBM CICS などの他のサービスの場合は、Network Load Balancer を使用します。これにより、Amazon ECS クラスター内のコンテナへのプロキシ TCP 接続 (レイヤー 4) が透過的に作成されます。

      注記

      Network Load Balancer の場合、コンテナのヘルスチェックでは TCP 接続を確立する必要があります。

  3. データベースエンドポイントや認証情報などの環境設定を Secrets Manager または Parameter Store に保存します。Secrets Manager では、保存されたシークレットの数と行われた API コール数に基づいて料金が発生します。このサービスは、データベース認証情報などの機密データに最適です。Parameter Store では、標準パラメータと標準スループットでの API インタラクションについては追加料金はかかりません。このサービスは、Java のログ記録パラメータなど、機密性の低い他のデータに最適です。

  4. Amazon S3 を使用して、タスクの入力と出力を保存します。bash ラッパー内の AWS Command Line Interface (AWS CLI) が、コンテナと Amazon S3 の統合を処理します。PutObject リクエストなどの Amazon S3 イベントを使用して、バッチジョブ用の Amazon ECS タスクを実行したり、出力をダウンストリームコンシューマーへ配信したりするワークフローをトリガーできます。

  5. IBM Db2 や IBM IMS などのメインフレームデータベースエンジンの代替として、Amazon Aurora PostgreSQL 互換エディションを使用します。エンドポイントや認証情報などの接続の詳細情報は、実行時にタスクに提供されます。メインフレームワークロードをモダナイズする際の最も難しい側面の 1 つは、メインフレームバージョンとモダナイズされたバージョンのアプリケーション間で入力が一致するようにすることです。メインフレームから PostgreSQL などの最新のデータベースエンジンにデータをレプリケートできる、リアルタイムの変更データキャプチャ (CDC) ソリューションはほとんどありません。モダナイズされたアプリケーションが必要とするデータと、その利用方法を十分に理解しておくようにしてください。

  6. リアルタイムサービスのタスク定義には、コンテナイメージの詳細、ロードバランシングリソースに公開する TCP/IP ポート、および任意の時点で必要なコンテナの数が含まれます。組み込みの Amazon ECS デプロイサーキットブレーカー (AWS ブログ記事) は、サービスデプロイの管理に伴う運用上のオーバーヘッドを排除する、ローリング更新のマネージドデプロイメカニズムを提供します。

  7. バッチジョブのタスク定義には、コンテナイメージの詳細と、設定に必要な環境変数が含まれます。これには、使用可能なリソース (CPU、RAM、エフェメラルストレージなど)、入力、出力、その他の設定が含まれる場合があります。

  8. Amazon S3 イベント通知または Amazon EventBridge を使用してワークフローを開始します。これらのサービスは、ジョブが出力オブジェクトをバケットに書き込むときなど、Amazon S3 のイベントに基づいて AWS Step Functions ワークフローを開始したり、オブジェクトを処理したりできます。

  9. AWS Step Functions を使用して、Amazon ECS におけるバッチジョブの実行をラップします。ワークフローでは、バッチタスクを開始し、その進行状況をモニタリングして、エラーを処理できます。

メインフレームワークロードでは、ある程度のカスタマイズが必要になる可能性があります。このアーキテクチャは一般的なユースケースとの互換性があり、多くの要件に対応できるよう拡張できます。