コード変換のコンポーネントとプロセスを理解する - AWS Mainframe Modernization

コード変換のコンポーネントとプロセスを理解する

AWS Mainframe Modernization コード変換プロセスには、AWS Mainframe Modernization コンテナ、S3 プロジェクトバケット、ログファイルの場所など、さまざまなコンポーネントが含まれます。

AWS Mainframe Modernization コンテナ

AWS Mainframe Modernization コード変換コンテナは AWS CodeBuild プロジェクトで実行され、プロジェクトディレクトリと設定ファイルのセットアップ、アセンブラコードの評価、アセンブラマクロの拡張、アセンブラコードを COBOL に変換するコマンドを利用できます。

AWS ECR リポジトリ「381492161314.dkr.ecr.us-east-1.amazonaws.com/aws-mlogica-codebuild-prod 」にアクセスできます。

次のオプションのいずれかを使用できます。

  • AWS CodeBuild 経由でイメージを使用するときは、最新のタグを使用します。イメージを使用する場合は、パス「381492161314.dkr.ecr.us-east-1.amazonaws.com/aws-mlogica-codebuild-prod」を使用します。つまり、 AWS CodeBuild はリポジトリに最後にプッシュされたイメージのいずれかを取得します。

  • バージョンを一覧表示し、そこから選択します。これを行うには、CLI 経由で次のコマンドを使用して、リポジトリ内のさまざまなバージョンを一覧表示します。

    aws ecr describe-images \ --registry-id 381492161314 \ --repository-name aws-mlogica-codebuild-prod \ --query 'imageDetails[*].{ImagePushedAt: imagePushedAt, ImageTags: imageTags}' \ --output json | jq '[.[] | {ImageURI: (.ImageTags[] | "381492161314.dkr.ecr.us-east-1.amazonaws.com/aws-mlogica-codebuild-prod:" + .), ImagePushedAt: .ImagePushedAt}] | sort_by(.ImagePushedAt) | reverse'

    これにより、各イメージに関連付けられたタグを持つすべてのイメージと、特定のイメージがリポジトリにリリースされた時刻が一覧表示されます。上記のコードに基づいて、イメージ上のタグがコード変換ユーティリティのバージョンを表すイメージの一覧を取得します。要件に基づいて、適切な .NET ベースイメージを選択します。

S3 プロジェクトバケット

入力コードと出力コード、拡張マクロで更新されたコード、および AWS Mainframe Modernization コード変換によって生成されたレポートは、AWS Account Management で作成したプロジェクトバケットに保存されます。AWS サービスロールにアクセス許可を付与することで、バケットへのアクセスを AWS Mainframe Modernization コード変換に付与します。

ログファイルの場所

ログファイルは、CodeBuild プロジェクトの実行ごとに 2 つの場所に書き込まれます。

  • 各 CodeBuild ステップのハイレベルな結果を持つログファイルは、CodeBuild で設定されたログバケットのログファイルに書き込まれます。これらのファイルは、CodeBuild フレームワーク (例: 0c03e183-ab40-4fe0-ba77- bc1d87e73b14.gz) によって生成された GUID タイプのファイル名を持つ gzip アーカイブとして表示されます。各アーカイブには、CodeBuild プロジェクトの実行によって生成されたログが含まれます。CodeBuild プロジェクトの実行が失敗した場合、このログファイルには重要なトラブルシューティング情報が含まれます。

  • コンポーネントレベルで詳細な実行結果を持つログファイルは、ファイル名パターン <Project_Bucket_name>_.log (例: project- bucket_202406131200.log) を使用して、メインプロジェクトバケットパスのログファイルに書き込まれます。これらのログには、次のものが含まれます。

    • 入力場所と出力場所を示す設定の概要。

    • ターゲットファイル名で処理された各 Assembler または Macro コンポーネントのログ。

    • ファイルの場所で生成されたレポートの一覧です。

    • 変換実行の場合、指定されたランタイムコピーブックの一覧。

プロセスの概要

次の図は、Assembler を COBOL に変換するプロセスを示しています。

Assembler から COBOL へのコード変換の仕組み。