

AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) と同様の機能については、 AWS Mainframe Modernization Service (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、[AWS 「 Mainframe Modernization の可用性の変更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)」を参照してください。

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

# AWS Mainframe Modernization アプリケーション定義リファレンス
<a name="applications-m2-definition"></a>

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

**Contents**
+ [一般的なヘッダーセクション](#applications-m2-definition-general)
+ [定義セクションの概要](#applications-m2-definition-overview)
+ [AWS メインフレームアプリケーション定義サンプルの変換](#applications-m2-definition-ba)
+ [AWS メインフレーム定義の詳細の変換](#applications-m2-definition-ba-details)
  + [リスナー - 必須](#applications-m2-definition-ba-details-listener)
  + [AWS メインフレームアプリケーションの変換 - 必須](#applications-m2-definition-ba-details-application)
  + [Blusam - オプション](#applications-m2-definition-ba-details-blusam)
  + [AWS メインフレームメッセージキューの変換 - オプション](#applications-m2-definition-ba-message-queues)
  + [AWS メインフレームアプリケーションストレージ EFS 設定の変換 - オプション](#applications-m2-definitions-ba--details-efs)
+ [Rocket Software (旧 Micro Focus) アプリケーション定義](#applications-m2-definition-mf)
+ [Rocket ソフトウェア定義の詳細](#applications-m2-definition-mf-details)
  + [リスナー - 必須](#applications-m2-definition-mf-details-listeners)
  + [データセットの場所 - 必須](#applications-m2-definition-mf-details-datasets)
  + [Amazon Cognito 認証および認可ハンドラー - オプション](#applications-m2-definition-mf-details-cognito)
  + [LDAP ハンドラーと Active Directory ハンドラー - オプション](#applications-m2-definition-mf-details-ldap-ad)
  + [Batch 設定 - 必須](#applications-m2-definition-mf-details-batch)
  + [CICS 設定 - 必須](#applications-m2-definition-mf-details-cics)
  + [プリンター - オプション](#applications-m2-definition-mf-details-printers)
  + [XA リソース - オプション](#applications-m2-definition-mf-details-xa)
  + [ランタイム設定 - オプション](#applications-m2-definition-mf-details-runtime-settings)

## 一般的なヘッダーセクション
<a name="applications-m2-definition-general"></a>

各アプリケーション定義は、テンプレートのバージョンとソースの場所に関する一般的な情報から始まります。現在のアプリケーション定義のバージョンは 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 で必要に応じてソースの場所を参照するために使用されます。

**source-type**  
ソースのタイプを指定します。現在許容されている値は、s3 のみです。

**プロパティ**  
ソースの場所の詳細が表示されます。各プロパティは文字列で指定します。  
+ `s3-bucket` - 必須。ファイルを保存する Amazon S3 バケットの名前を指定します。
+ `s3-key-prefix` - 必須。ファイルを保存する Amazon S3 バケット内のフォルダ名を指定します。

## 定義セクションの概要
<a name="applications-m2-definition-overview"></a>

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

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

## AWS メインフレームアプリケーション定義サンプルの変換
<a name="applications-m2-definition-ba"></a>

```
{
 "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 メインフレーム定義の詳細の変換
<a name="applications-m2-definition-ba-details"></a>

### リスナー - 必須
<a name="applications-m2-definition-ba-details-listener"></a>

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

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

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

**型**  
(必須) 現在のところ、`http` のみがサポートされています。

### AWS メインフレームアプリケーションの変換 - 必須
<a name="applications-m2-definition-ba-details-application"></a>

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

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

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

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

```
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 データベースが生成されなくなります。

**enable-batch-restart**  
(オプション) バッチジョブの再起動機能を有効にするかどうかを指定します。デフォルトは false です。バッチ再起動設定の詳細については、 AWS 「Transform for mainframe engine`jcl.checkpoint`」の[「Configuration properties for the managed application with AWS Transform for mainframe engine](https://docs.aws.amazon.com/m2/latest/userguide/applications-m2-ba-config-props.html#gapwalk-app-props)」を参照してください。

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

### Blusam - オプション
<a name="applications-m2-definition-ba-details-blusam"></a>

次の構造を使用して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 データベースシークレットを作成して設定する](tutorial-runtime-mf.md#tutorial-runtime-mf-secret)」を参照してください。

**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 データベースシークレットを作成して設定する](tutorial-runtime-mf.md#tutorial-runtime-mf-secret)」を参照してください。

### AWS メインフレームメッセージキューの変換 - オプション
<a name="applications-m2-definition-ba-message-queues"></a>

メインフレームアプリケーションの AWS 変換の JMS-MQ 接続の詳細を指定します。

```
"message-queues": [ 
  {
      "product-type": "JMS-MQ",
      "queue-manager": "QMgr1",
      "channel": "mqChannel1",
      "hostname": "mqserver-host1",
      "port": 1414,
      "user-id": "app-user1",
      "ssl-cipher": "*TLS12ORHIGHER",
      "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",
      "ssl-cipher": "*TLS12ORHIGHER",
      "secret-manager-arn": "arn:aws:secretsmanager:us-west-2:123456789012:secret:sample/mq/test-279PTa"
  }
]
```

**product-type**  
(必須) 製品タイプを指定します。現在、これはメインフレームアプリケーションの AWS 変換に対してのみ「JMS-MQ」にすることができます。

**queue-manager**  
(必須) キューマネージャーの名前を指定します。

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

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

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

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

**ssl-cipher**  
(オプション) 接続の SSL 暗号仕様を指定します。

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

### AWS メインフレームアプリケーションストレージ EFS 設定の変換 - オプション
<a name="applications-m2-definitions-ba--details-efs"></a>

次の構造を使用して、アプリケーションストレージ 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\}\$"

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

**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 マウントポイントのサブフォルダにする必要があります。

## Rocket Software (旧 Micro Focus) アプリケーション定義
<a name="applications-m2-definition-mf"></a>

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

```
{
 "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"
        },
        "jes-printers": [
           {
             "name": "printerName",
              "classes": [
                 "A",
                 "B"
             ],
             "description": "printer desc....",
             "exit-module": {
                 "name": "lrsprte6"
                }
             } 
         ],
        "xa-resources" : [{
            "name": "XASQL",
            "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456",
            "xa-connection-type": "postgres",
            "module": "${s3-source}/xa/ESPGSQLXA64.so"
        }],
        "runtime-settings": {
          "base-configuration-location": "${s3-source}/exported.json",
          "environment-variables": {
            "ES_JES_RESTART": "N",
            "EFS_MOUNT": "/m2/mount/efs",
            "LRSQ_ADDRESS": "<lrsq-address>"
          } 
        }
    }
}
```

## Rocket ソフトウェア定義の詳細
<a name="applications-m2-definition-mf-details"></a>

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

### リスナー - 必須
<a name="applications-m2-definition-mf-details-listeners"></a>

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

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

**port**  
tn3270 の場合、デフォルトは 5101 です。他のタイプのサービスリスナーの場合、ポートは異なります。0～1023 のウェルノウンポートを除き、使用可能なポートであればどれでも使用できます。各リスナーには、固有のポートが必要です。リスナーは、ポートを共有できません。詳細については、「*Micro Focus Enterprise Server* ドキュメント」の「[Listener Control](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/GUID-63F6D8B0-024F-48D1-956A-1E079E4BD891.html)」を参照してください。

**型**  
サービスリスナーのタイプを指定します。詳細については、「*Micro Focus Enterprise Server* ドキュメント」の「[Listeners](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HTPHMDSAL100.html)」を参照してください。

### データセットの場所 - 必須
<a name="applications-m2-definition-mf-details-datasets"></a>

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

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

**db-locations**  
移行したアプリケーションが作成するデータセットの場所を指定します。現在、 は単一の VSAM データベースからのデータセットのみ AWS Mainframe Modernization をサポートしています。  
+ `name` - 移行したアプリケーションが作成するデータセットを含むデータベースインスタンスの名前を指定します。
+ `secret-manager-arn` - データベース認証情報を含むシークレットの Amazon リソースネーム (ARN) を指定します。

### Amazon Cognito 認証および認可ハンドラー - オプション
<a name="applications-m2-definition-mf-details-cognito"></a>

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

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

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

### LDAP ハンドラーと Active Directory ハンドラー - オプション
<a name="applications-m2-definition-mf-details-ldap-ad"></a>

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

**アプリケーションを AD に統合するには**

1. Micro Focus Enterprise Server ドキュメントの「[Configuring Active Directory for Enterprise Server Security](https://www.microfocus.com/documentation/server-cobol/51/chessa64.htm)」で説明されている手順に従ってください。

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

   ```
   {
       "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`、 は LDAP および LDAP over SSL (LDAPS) プロトコル AWS Mainframe Modernization をサポートします。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 キーのアクセス許可](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-authz)」を参照してください。

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

   ```
   "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 と統合され、起動されている場合、サポートされている認証のリストに記載されているアプリケーション関連の操作を少なくとも 1 つ実行するための認証情報を指定する必要があります。

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

**注記**  
現在のところ、LDAP 管理者は LDAP ディレクトリの "OPERCMDS" エンタープライズサーバーリソースの `casstart` ユーティリティに対して "変更" アクセス許可を提供する必要があります。これは、アプリケーションが正常に起動するために必要なすべてのデフォルトユーザー (例: CICSUSER - アプリケーションが CICS 関連の場合) に対して行う必要があります。

**認証と認可に LDAP ユーザー認証情報を指定するには**

1. 次のキーと値 AWS Secrets Manager を使用して を作成します。

   ```
   {
     "username" : "<USERNAME>",
     "password" : "<PASSWORD>"
   }
   ```
**重要**  
使用する Secrets Manager で `DescribeSecrets` と `GetSecretValue` を実行する権限が必要です。また、[「 の選択 AWS KMS key](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html#security-encryption-choose-key)」で説明されているように AWS Secrets Manager、KMS キーと に必要なアクセス許可を関連付けます。

1. Secrets Manager パラメータを選択します。

------
#### [ AWS console ]

    AWS コンソールからオペレーションを実行するときに、渡す必要がある Secrets Manager を選択するオプションがあります。

------
#### [ AWS CLI (or SDK) ]

   AWS CLI (または SDK) から操作を実行するときは、API パラメータ `auth-secrets-manager-arn` を Secrets Manager ARN で渡す必要があります。

------

現在承認をサポートしているアプリケーション操作のリストを次に示します。
+ `StartBatchJob`
+ `CancelBatchJobExecution`
+ `ListBatchJobRestartPoints`

### Batch 設定 - 必須
<a name="applications-m2-definition-mf-details-batch"></a>

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

```
"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 を定義するには](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HHMTTHJCLE08.html)」を参照してください。  
+ `classes` - イニシエータが実行可能なジョブクラスを指定します。最大 36 文字を使用できます。A～Z または 0～9 の文字を使用できます。
+ `description` - イニシエータの目的を説明します。

**jcl-file-location**  
移行したアプリケーションが実行するバッチジョブに必要な JCL (ジョブ制御言語) ファイルの場所を指定します。

**program-path**  
JCL のプログラムがデフォルトの場所にない場合にバッチジョブを実行するのに必要なパスを指定します。複数のパス名はコロン (:) で区切ります。  
指定できるプログラムパスは EFS パスのみです。

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

**エイリアス**  
JCL で使用されるユーティリティ名とプログラム名のマッピングをユーティリティの実装名に定義します。 AWS およびサードパーティーのバッチユーティリティ (M2SFTP, M2WAIT、Syncsort など) は、オプションでエイリアスを持つことができ、JCL を変更する必要がなくなります。例えば、次のようになります。  
+ SORT 用の FDSSORT エイリアス FDSSORT と ICETOOL 用のエイリアス FDSICET
+ ADRDSSU 用 ADRDSSU エイリアス MFADRDSU
+ SORT 用の Syncsort エイリアス DMXMFSRT

### CICS 設定 - 必須
<a name="applications-m2-definition-mf-details-cics"></a>

次の構造を使用して、アプリケーションの一部として実行される 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 リソース定義](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/HRMTRHCSDS01.html)」を参照してください。

**system-initialization-table**  
移行するアプリケーションが使用するシステム初期化テーブル (SIT) を指定します。SIT テーブルの名前は最大 8 文字です。A～Z、0～9、\$、@、\# を使用できます。詳細については、「*Micro Focus Enterprise Server* ドキュメント」の「[CICS リソース定義](https://www.microfocus.com/documentation/enterprise-developer/ed70/ES-UNIX/HRMTRHCSDS01.html)」を参照してください。

### プリンター - オプション
<a name="applications-m2-definition-mf-details-printers"></a>

次の構造を使用して、jes プリンターを指定します。

```
"jes-printers": [
    {
        "name": "printerName",
        "classes": [
            "A", 
            "B"
        ],
        "description": "printer desc....",
        "exit-module": {
            "name": "lrsprte6",
            "module" : "program"
        }
    }
],
```

**注記**  
1 つのアプリケーションに最大 25 台のプリンターを設定できます。

**名前**  
(必須) このプリンターリソースに関連付ける名前を指定します。名前はプリンターごとに一意にする必要があります。使用できる英数字は 128 文字までです。

**classes**  
(必須) このプリンターリソースに適用される出力クラスを指定します。英数字は 36 文字まで使用できます。

**description**  
(オプション) プリンターの追加説明テキスト。

**exit-module**  
(オプション) 印刷終了用のカスタムモジュールを指定します。デフォルト値はありません。指定しない場合、終了モジュールは使用されません。管理型印刷終了モジュールを使用するか、独自のモジュールを指定できます。管理型印刷終了モジュールは、LRS キューの予約名 `lrsprte6` を使用して定義するか、モジュールパラメータを使用して独自のモジュールを指定して場所と名前を指定します。  
`exit-module` の構造体には、次の 2 つのコンポーネントがあります。  
+ `name`- (`exit-module` が使用されている場合は必須)。終了モジュールのエントリの名前。終了モジュールのエントリ名には最大 8 文字の制限があります。
+ `module` - (オプション) 印刷終了モジュールバイナリの S3 の場所。

終了モジュールを定義するその他の例については、[プリンター](mf-app-config.md#mf-app-config-integations-printers) セクションを参照してください。

### XA リソース - オプション
<a name="applications-m2-definition-mf-details-xa"></a>

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

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

**注記**  
XA リソース定義が更新され、オプションの `xa-connection-type` フィールドが追加されています。指定しない場合、接続タイプは "postgres" と見なされます。

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

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

**xa-connection-type**  
(オプション) XA リソース接続タイプを指定します。

**モジュール**  
(必須) RM スイッチモジュールの実行ファイルの場所を指定します。詳細については、「*Micro Focus Enterprise Server* ドキュメント」の「[XAR の計画および設計](https://www.microfocus.com/documentation/enterprise-developer/ed60/ES-WIN/GUID-91C0E7E4-C012-4DF2-8996-CF6C52437FB7.html)」を参照してください。

### ランタイム設定 - オプション
<a name="applications-m2-definition-mf-details-runtime-settings"></a>

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

```
"runtime-settings": {
          "base-configuration-location": "${s3-source}/exported.json",
          "environment-variables": {
            "ES_JES_RESTART": "N",
            "EFS_MOUNT": "/m2/mount/efs"
    } 
}
```

**base-configuration-location**  
(オプション) Micro Focus サーバー設定の一括インポートの場所を指定します。このファイルは有効な JSON で、上記で定義したアプリケーションアーティファクトの場所と同じ S3 の場所に存在する必要があります。既存のアプリケーションから設定をエクスポートするには、*Rocket* [ソフトウェアドキュメントの「ESCWA からリージョンをエクスポート](https://www.microfocus.com/documentation/enterprise-developer/ed90/ED-Eclipse/GUID-6CDD00CC-4086-4602-8EE2-0C07E04ACC6A.html)するには*」セクション*を参照してください。

**environment-variables**  
このアプリケーションのランタイムに適用される Micro Focus でサポートされている環境変数を指定します。  
+ `ES_JES_RESTART` は、JCL 再起動処理を有効にする Rocket Software 環境変数です。必要に応じて、Rocket Software 環境変数`ES_ALLOC_OVERRIDE`として を使用することもできます。
+ `EFS_MOUNT` は、環境の EFS マウントの場所を特定するためにアプリケーションが使用するカスタム環境変数です。

[Rocket Enterprise Server for UNIX ガイドのすべての Rocket Software 環境変数](https://www.microfocus.com/documentation/enterprise-developer/ed80/ES-UNIX/GUID-F0C24B4E-9720-47C1-A77C-2E9B30CC4328.html)*にアクセスできます。*