AWS Mainframe Modernization アプリケーション定義リファレンス - AWS Mainframe Modernization

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

AWS Mainframe Modernization アプリケーション定義リファレンス

AWS Mainframe Modernization では、移行したメインフレームアプリケーションを、選択したランタイムエンジンに固有のアプリケーション定義 JSON ファイルで設定します。アプリケーション定義には、一般的な情報とエンジン固有の情報の両方が含まれます。このトピックでは、 AWS Blu Age アプリケーション定義と Micro Focus アプリケーション定義の両方について説明し、必要な要素とオプションの要素をすべて特定します。

一般的なヘッダーセクション

各アプリケーション定義は、テンプレートのバージョンとソースの場所に関する一般的な情報から始まります。現在のアプリケーション定義のバージョンは 2.0 です。

テンプレートのバージョンとソースの場所を指定するには、次の構造を使用します。

"template-version": "2.0", "source-locations": [ { "source-id": "s3-source", "source-type": "s3", "properties": { "s3-bucket": "mainframe-deployment-bucket", "s3-key-prefix": "v1" } } ]
注記

S3 ARN を s3-bucket として入力する場合は、次の構文を使用できます。

"template-version": "2.0", "source-locations": [ { "source-id": "s3-source", "source-type": "s3", "properties": { "s3-bucket": "arn:aws:s3:::mainframe-deployment-bucket", "s3-key-prefix": "v1" } } ]
template-version

必須。アプリケーション定義ファイルのバージョンを指定します。この値を変更しないでください。現在、許容されている値は 2.0 のみです。文字列で template-version を指定します。

source-locations

実行時にアプリケーションが必要とするファイルやその他のリソースの場所を指定します。

source-id

ロケーションの名前を指定します。この名前は、アプリケーション定義 JSON で必要に応じてソースの場所を参照するために使用されます。

ソースタイプ

ソースのタイプを指定します。現在、許可される値は s3 のみです。

プロパティ

ソースの場所の詳細が表示されます。各プロパティは文字列で指定します。

  • s3-bucket - 必須。ファイルを保存する Amazon S3 バケットの名前を指定します。

  • s3-key-prefix - 必須。ファイルを保存する Amazon S3 バケット内のフォルダ名を指定します。

定義セクションの概要

アプリケーションの実行に必要なサービス、設定、データ、その他の一般的なリソースのリソース定義を指定します。アプリケーション定義を更新すると、 AWS Mainframe Modernization は、アプリケーション定義 JSON ファイルの以前のバージョンと現在のバージョンの両方で、source-locationsdefinition リストを比較して変更を検出します。

定義セクションはエンジン固有のものであり、変更される可能性があります。次のセクションでは、両方のエンジンに固有のアプリケーション定義の例を示します。

AWS Blu Age アプリケーション定義のサンプル

{ "template-version": "2.0", "source-locations": [ { "source-id": "s3-source", "source-type": "s3", "properties": { "s3-bucket": "mainframe-deployment-bucket-aaa", "s3-key-prefix": "v1" } } ], "definition" : { "listeners": [{ "port": 8194, "type": "http" }], "ba-application": { "app-location": "${s3-source}/murachs-v6/" }, "blusam": { "db": { "nb-threads": 8, "batch-size": 10000, "name": "blusam", "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:blusam-FfmXLG" }, "redis": { "hostname": "blusam.c3geul.ng.0001.usw2.cache.amazonaws.com", "port": 6379, "useSsl": true, "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:bluesamredis-nioefm" } } } }

AWS Blu Age 定義の詳細

リスナー - 必須

AWS Mainframe Modernization が作成した Elastic Load Balancing を介してアプリケーションにアクセスするために使用するポートを指定します。次の構造を使用します。

"listeners": [{ "port": 8194, "type": "http" }],
port

必須。0~1023 のウェルノウンポートを除き、使用可能なポートであればどれでも使用できます。8192~8199 の範囲の値を使用することを推奨します。このポートで他のリスナーやアプリケーションが動作していないことを確認してください。

type

必須。現在は、http のみがサポートされます。

AWS Blu Age アプリケーション - 必須

次の構造を使用してエンジンがアプリケーションイメージファイルを取得する場所を指定します。

"ba-application": { "app-location": "${s3-source}/murachs-v6/", "files-directory": "/m2/mount/myfolder", "enable-jics": <true|false>, "shared-app-location": "${s3-source}/shared/" },
app-location

アプリケーションイメージファイルが保存される Amazon S3 の特定の場所。

files-directory

オプション。バッチの入出力ファイルの場所。環境レベルで設定された Amazon EFS または Amazon FSx マウントポイントのサブフォルダである必要があります。サブフォルダは、 AWS Mainframe Modernization 内で実行されている Blu Age アプリケーションで使用する適切なユーザーによって所有されている必要があります。これを実現するには、ドライブを Linux Amazon EC2 インスタンスにアタッチするときに、ID を持つグループ101と ID を持つユーザー3001を作成し、目的のフォルダをこのユーザーが所有する必要があります。例えば、この方法では、 testclientフォルダを Blu Age AWS Mainframe Modernization Managed で使用できます。

groupadd -g 101 mygroup useradd -M -g mygroup -p mypassword -u 3001 myuser mkdir testclient chown myuser:mygroup testclient
enable-jics

オプション。JICS を有効にするかどうかを指定します。デフォルトは true です。「false」に設定すると、JICS データベースが生成されなくなります。

shared-app-location

オプション。共有アプリケーション要素が保存される Amazon S3 のその他の場所。app-location と同じ種類のアプリケーション構造を保存できます。

BluSAM - オプション

次の構造を使用して、BluSAM データベースと Redis キャッシュを指定します。

"blusam": { "db": { "nb-threads": 8, "batch-size": 10000, "name": "blusam", "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:blusam-FfmXLG" }, "redis": { "hostname": "blusam.c3geul.ng.0001.usw2.cache.amazonaws.com", "port": 6379, "useSsl": true, "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:bluesamredis-nioefm" } }
db

アプリケーションで使用するデータベースのプロパティを指定します。データベースは Aurora PostgreSQL データベースである必要があります。次のプロパティを指定できます。

  • nb-threads - オプション。BluSAM エンジンが依存する書き込みビハインドメカニズムに使用される専用スレッドの数を指定します。デフォルトは 8 です。

  • batch-size - オプション。ライトビハインドメカニズムがバッチストレージオペレーションを開始するために使用するしきい値を指定します。このしきい値は、変更されたレコードを確実に保持するために、バッチストレージオペレーションを開始する変更レコード数を表します。トリガー自体は、バッチサイズと 1 秒の経過時間のいずれか早い方の組み合わせに基づいています。デフォルトは 10,000 です。

  • name - オプション。データベースの名前を指定します。

  • secret-manager-arn - データベース認証情報を含むシークレットの Amazon リソースネーム (ARN) を指定します。詳細については、「ステップ 4: データベースシークレットを作成して設定する AWS Secrets Manager」を参照してください。

Redis

パフォーマンス向上のため、アプリケーションが必要な一時データを一元的に保存するために使用する Redis キャッシュのプロパティを指定します。Redis キャッシュの暗号化とパスワード保護の両方を実施することを推奨します。

  • hostname - Redis キャッシュの場所を指定します。

  • port - Redis キャッシュの通信の送受信ポート (通常は 6379) を指定します。

  • useSsl - Redis キャッシュを暗号化するかどうかを指定します。キャッシュが暗号化されていない場合は、useSsl を「false」に設定します。

  • secret-manager-arn - Redis キャッシュパスワードを含む、シークレットの Amazon リソースネーム (ARN) を指定します。Redis キャッシュがパスワードで保護されていない場合は、secret-manager-arn を指定しないでください。詳細については、「ステップ 4: データベースシークレットを作成して設定する AWS Secrets Manager」を参照してください。

AWS Blu Age メッセージキュー - オプション

AWS Blu Age アプリケーションの JMS-MQ 接続の詳細を指定します。

"message-queues": [ { "product-type": "JMS-MQ", "queue-manager": "QMgr1", "channel": "mqChannel1", "hostname": "mqserver-host1", "port": 1414, "user-id": "app-user1", "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:sample/mq/test-279PTa" }, { "product-type": "JMS-MQ", "queue-manager": "QMgr2", "channel": "mqChannel2", "hostname": "mqserver-host2", "port": 1412, "user-id": "app-user2", "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:sample/mq/test-279PTa" } ]
product-type

必須。製品タイプを指定します。現在、これは AWS Blu Age アプリケーションに対してのみ「JMS-MQ」にすることができます。

queue-manager

必須。キューマネージャーの名前を指定します。

チャンネル

必須。サーバー接続チャネルの名前を指定します。

hostname

必須。メッセージキューサーバーのホスト名を指定します。

port

必須。サーバーがリッスンするリスナーのポート番号を指定します。

user-id

オプション。指定したチャネルでメッセージキューオペレーションを実行できるユーザーアカウント ID を指定します。

secret-manager-arn

オプション。指定されたユーザーのパスワードを提供する Secrets Manager の Amazon リソースネーム (ARN) を指定します。

AWS Blu Age アプリケーションストレージ EFS 設定 - オプション

次の構造を使用して、アプリケーションストレージ EFS アクセスポイントの詳細を指定します。

"ba-application": { "file-permission-mask": "UMASK002" }, "efs-configs": [ { "file-system-id": "fs-01376dfsvfvrsvsr", "mount-point": "/m2/mount/efs-ap2", "access-point-id": fsap-0eaesefvrefrewgv8" } ]
file-system-id

必須。アクセスポイントが適用される EFS ファイルシステムの ID。パターン: "fs-([0-9a-f]{8,40}){1,128}$"

マウントポイント

必須。アプリケーションレベルのファイルシステムのマウントポイント。これは環境レベルのストレージマウントポイントとは異なる必要があります。

access-point-id

必須。Amazon EFS によって割り当てられたアクセスポイントの ID。パターン: "^fsap-([0-9a-f]{8,40}){1,128}$"

file-permission-mask

オプション。アプリケーションプロセスによって作成されたファイルのファイル作成マスクを定義します。例えば、値が に設定されている場合UMASK006、すべてのファイルには 660 のアクセス許可が付与されます。これは、ファイルの所有者とファイルグループのみが読み取りおよび書き込みアクセス権を持ち、他のユーザーにはアクセス許可がないことを意味します。

注記

このフィールドに設定された値は、アプリケーションレベルの EFS ストレージを使用する場合にのみ考慮されます。

注記

efs 設定を指定する場合、files-directory をアプリケーション定義セクションで指定する必要があります。これは、アプリケーションレベルで設定された Amazon EFS マウントポイントのサブフォルダである必要があります。

Micro Focus アプリケーション定義

次のサンプル定義セクションは Micro Focus ランタイムエンジン用で、必須要素とオプション要素の両方が含まれています。

{ "template-version": "2.0", "source-locations": [ { "source-id": "s3-source", "source-type": "s3", "properties": { "s3-bucket": "mainframe-deployment-bucket-aaa", "s3-key-prefix": "v1" } } ], "definition" : { "listeners": [{ "port": 5101, "type": "tn3270" }], "dataset-location": { "db-locations": [{ "name": "Database1", "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456" }] }, "cognito-auth-handler": { "user-pool-id": "cognito-idp.us-west-2.amazonaws.com/us-west-2_rvYFnQIxL", "client-id": "58k05jb8grukjjsudm5hhn1v87", "identity-pool-id": "us-west-2:64464b12-0bfb-4dea-ab35-5c22c6c245f6" }, "ldap-ad-auth-handler": { "ldap-ad-connection-secrets": [LIST OF AD-SECRETS] }, "batch-settings": { "initiators": [{ "classes": ["A", "B"], "description": "initiator...." }], "jcl-file-location": "${s3-source}/batch/jcl", "program-path": "/m2/mount/libs/loadlib:$EFS_MOUNT/emergency/loadlib", "system-procedure-libraries":"SYS1.PROCLIB;SYS2.PROCLIB", "aliases": [ {"alias": "FDSSORT", "program": "SORT"}, {"alias": "MFADRDSU", "program": "ADRDSSU"} ] }, "cics-settings": { "binary-file-location": "${s3-source}/cics/binaries", "csd-file-location": "${s3-source}/cics/def", "system-initialization-table": "BNKCICV" }, "xa-resources" : [{ "name": "XASQL", "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456", "module": "${s3-source}/xa/ESPGSQLXA64.so" }], "runtime-settings": { "environment-variables": { "ES_JES_RESTART": "N", "EFS_MOUNT": "/m2/mount/efs" } } } }

Micro Focus 定義の詳細

Micro Focus アプリケーション定義ファイルの定義セクションの内容は、移行するメインフレームアプリケーションが実行時に必要とするリソースによって異なります。

リスナー - 必須

次の構造を使用して、リスナーを指定します。

"listeners": [{ "port": 5101, "type": "tn3270" }],
port

tn3270 の場合、デフォルトは 5101 です。他のタイプのサービスリスナーの場合、ポートは異なります。0~1023 のウェルノウンポートを除き、使用可能なポートであればどれでも使用できます。各リスナーには、固有のポートが必要です。リスナーは、ポートを共有できません。詳細については、「Micro Focus Enterprise Server ドキュメント」の「Listener Control」を参照してください。

type

サービスリスナーのタイプを指定します。詳細については、「Micro Focus Enterprise Server ドキュメント」の「Listeners」を参照してください。

データセットの場所 - 必須

次の構造を使用して、データセットの場所を指定します。

"dataset-location": { "db-locations": [{ "name": "Database1", "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456" }], }
db-locations

移行したアプリケーションが作成するデータセットの場所を指定します。現在、 AWS Mainframe Modernization は 1 つの VSAM データベースからのデータセットのみをサポートしています。

  • name - 移行したアプリケーションが作成するデータセットを含むデータベースインスタンスの名前を指定します。

  • secret-manager-arn - データベース認証情報を含むシークレットの Amazon リソースネーム (ARN) を指定します。

Amazon Cognito 認証および承認ハンドラー - オプション

AWS Mainframe Modernization は、移行されたアプリケーションの認証と認可に Amazon Cognito を使用します。次の構造を使用して、Amazon Cognito 認証ハンドラーを指定します。

"cognito-auth-handler": { "user-pool-id": "cognito-idp.Region.amazonaws.com/Region_rvYFnQIxL", "client-id": "58k05jb8grukjjsudm5hhn1v87", "identity-pool-id": "Region:64464b12-0bfb-4dea-ab35-5c22c6c245f6" }
user-pool-id

Mainframe Modernization AWS が移行されたアプリケーションのユーザーを認証するために使用する Amazon Cognito ユーザープールを指定します。ユーザープール AWS リージョン の は、 AWS リージョン AWS Mainframe Modernization アプリケーションの と一致する必要があります。

client-id

認証されたユーザーがアクセスできる移行済みのアプリケーションを指定します。

identity-pool-id

認証されたユーザーがユーザープールトークンを AWS Mainframe Modernization へのアクセスを許可する認証情報と交換する Amazon Cognito ID プールを指定します。ID プール AWS リージョン の は、 AWS リージョン AWS Mainframe Modernization アプリケーションの と一致する必要があります。

LDAP ハンドラーと Active Directory ハンドラー - オプション

アプリケーションを Active Directory (AD) または任意の種類の LDAP サーバーと統合して、アプリケーションのユーザーが LDAP/AD 認証情報を承認と認証に使用できるようにすることができます。

アプリケーションを AD に統合するには
  1. Micro Focus Enterprise Server ドキュメントの「Configuring Active Directory for Enterprise Server Security」で説明されている手順に従ってください。

  2. アプリケーションで使用する AD/LDAP サーバーごとに、AD/LDAP の詳細を含む AWS Secrets Manager シークレットを作成します。シークレットの作成方法については、 AWS Secrets Manager ユーザーガイドのAWS Secrets Manager シークレットの作成」を参照してください。シークレットタイプには、[その他のシークレットのタイプ] を選択し、以下のキーと値のペアを含めます。

    { "connectionPath" : "<HOST-ADDRESS>:<PORT>", "authorizedId" : "<USER-FULL-DN>", "password" : "<PASSWORD>", "baseDn" : "<BASE-FULL-DN>", "userClassDn" : "<USER-TYPE>", "userContainerDn" : "<USER-CONTAINER-DN>", "groupContainerDn" : "<GROUP-CONTAINER-DN>", "resourceContainerDn" : "<RESOURCE-CONTAINER-DN>" }
    セキュリティに関する推奨事項
    • の場合connectionPath、 AWS Mainframe Modernization は LDAP および LDAP over SSL (LDAPS) プロトコルをサポートします。LDAPS を使用することをお勧めします。LDAPS の方が安全性が高く、ネットワーク伝送に認証情報が表示されないためです。

    • authorizedId および password には、アプリケーションの実行に必要な、最も制限の厳しい読み取り専用権限と検証権限以外は持たないユーザーの認証情報を指定することをお勧めします。

    • 定期的に AD/LDAP 認証情報を更新することをお勧めします。

    • awsuser または mfuser というユーザー名で AD ユーザーを作成しないでください。この 2 つのユーザー名は AWS 専用に予約されています。

    次に例を示します。

    { "connectionPath" : "ldaps://msad4.m2.example.people.aws.dev:636", "authorizedId" : "CN=LDAPUser,OU=Users,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev", "password" : "ADPassword", "userContainerDn" : "CN=Enterprise Server Users,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev", "groupContainerDn" : "CN=Enterprise Server Groups,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev", "resourceContainerDn" : "CN=Enterprise Server Resources,CN=Micro Focus,CN=Program Data,OU=msad4,DC=msad4,DC=m2,DC=example,DC=people,DC=aws,DC=dev" }

    カスタマーマネージド KMS キーを使用してシークレットを作成します。 AWS Mainframe Modernization に、シークレットに対する GetSecretValueおよび DescribeSecret 許可、KMS キーに対する Decryptおよび DescribeKey許可を付与する必要があります。詳細については、「 AWS Secrets Manager ユーザーガイド」の「KMS キーのアクセス許可」を参照してください。

  3. アプリケーション定義に以下を追加します。

    "ldap-ad-auth-handler": { "ldap-ad-connection-secrets": [LIST OF AD/LDAP SECRETS] }

    次に例を示します。

    "ldap-ad-auth-handler": { "ldap-ad-connection-secrets": ["arn:aws:secrets:1234:us-east-1:secret:123456"] }

LDAP/AD 認証ハンドラーは Micro Focus 8.0.11 以降のバージョンで使用できます。

Batch 設定 - 必須

次の構造を使用して、アプリケーションの一部として実行されるバッチジョブに必要な詳細を指定します。

"batch-settings": { "initiators": [{ "classes": ["A", "B"], "description": "initiator...." }], "jcl-file-location": "${s3-source}/batch/jcl", "program-path": "/m2/mount/libs/loadlib:$EFS_MOUNT/emergency/loadlib", "system-procedure-libraries":"SYS1.PROCLIB;SYS2.PROCLIB", "aliases": [ {"alias": "FDSSORT", "program": "SORT"}, {"alias": "MFADRDSU", "program": "ADRDSSU"} ] }
initiators

移行したアプリケーションが正常に起動したときに起動し、アプリケーションが停止するまで実行を継続するバッチイニシエータを指定します。イニシエータごとに 1 つまたは複数のクラスを定義できます。複数のイニシエータを定義することもできます。例:

"batch-settings": { "initiators": [ { "classes": ["A", "B"], "description": "initiator...." }, { "classes": ["C", "D"], "description": "initiator...." } ], }

詳細については、「Micro Focus Enterprise Server ドキュメント」の「バッチ・イニシエーターまたはプリンター SEP を定義するには」を参照してください。

  • classes - イニシエータが実行可能なジョブクラスを指定します。最大 36 文字を使用できます。A~Z または 0~9 の文字を使用できます。

  • description - イニシエータの目的を説明します。

jcl-file-location

移行したアプリケーションが実行するバッチジョブに必要な JCL (Job Control Language) ファイルの場所を指定します。

プログラムパス

JCL のプログラムがデフォルトの場所にない場合にバッチジョブを実行するために必要なパスを指定します。異なるパス名はコロン (:) で区切られます。

注記

プログラムパスは EFS パスのみにすることができます。

system-procedure-libraries

JCL プロシージャを検索するデフォルトのパーティションデータセットを指定します。ただし、手順は JCL または JCLLIB ステートメントでは見つかりません。これらのデータセットはカタログ化する必要があり、カタログ名を使用する必要があります。また、エントリはセミコロン (;) で区切られます。

エイリアス

JCL で使用されるユーティリティ名とプログラム名のマッピングをユーティリティの実装名に定義します。 AWS また、サードパーティのバッチユーティリティ (M2SFTP, M2WAIT、Syncsort など) には、オプションでエイリアスを設定して JCL を変更する必要がなくなります。例:

  • SORT 用の FDSSORT エイリアス FDSSORT と ICETOOL 用のエイリアス FDSICET

  • ADRDSSU の ADRDSSU エイリアス MFADRDSU

  • SORT 用の Syncsort Alias DMXMFSRT

CICS 設定 - 必須

次の構造を使用して、アプリケーションの一部として実行される CICS トランザクションに必要な詳細を指定します。

"cics-settings": { "binary-file-location": "${s3-source}/cics/binaries", "csd-file-location": "${s3-source}/cics/def", "system-initialization-table": "BNKCICV" }
binary-file-location

CICS トランザクションプログラムファイルの場所を指定します。

csd-file-location

このアプリケーションの CICS リソース定義 (CSD) ファイルの場所を指定します。詳細については、「Micro Focus Enterprise Server ドキュメント」の「CICS リソース定義」を参照してください。

system-initialization-table

移行するアプリケーションが使用するシステム初期化テーブル (SIT) を指定します。SIT テーブルの名前は最大 8 文字です。A~Z、0~9、$、@、# を使用できます。詳細については、「Micro Focus Enterprise Server ドキュメント」の「CICS リソース定義」を参照してください。

XA リソース - 必須

次の構造を使用して、アプリケーションに必要な XA リソースの詳細を指定します。

"xa-resources" : [{ "name": "XASQL", "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456", "module": "${s3-source}/xa/ESPGSQLXA64.so" }]
name

必須。XA リソースの名前を指定します。

secret-manager-arn

データベースに接続するための認証情報を含むシークレットの Amazon リソースネーム (ARN) を指定します。

module

RM スイッチモジュールの実行ファイルの場所を指定します。詳細については、「Micro Focus Enterprise Server ドキュメント」の「XAR の計画および設計」を参照してください。

ランタイム設定 - オプション

次の構造を使用して、許可された環境変数を管理するためにランタイム設定に必要な詳細を指定します。

"runtime-settings": { "environment-variables": { "ES_JES_RESTART": "N", "EFS_MOUNT": "/m2/mount/efs" } }
環境変数

このアプリケーションのランタイムに適用される Micro Focus がサポートする環境変数を指定します。

  • ES_JES_RESTART は、JCL の再起動処理を有効にする Micro Focus 環境変数です。オプションで、Micro Focus 環境変数ES_ALLOC_OVERRIDEとして を使用することもできます。

  • EFS_MOUNT は、環境の EFS マウントの場所を特定するためにアプリケーションが使用できるカスタム環境変数です。

Micro Focus Enterprise Server for UNIX ガイドのすべての Micro Focus 環境変数にアクセスできます。