で 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 のバッチジョブのオペレーションをラップします。ワークフローは、バッチタスクを開始し、その進行状況をモニタリングして、エラーを処理できます。

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