本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 儲存貯體 ,您可以使用下列語法:
"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" } } ]
- 範本版本
-
(必要) 指定應用程式定義檔案的版本。請不要變更此值。目前,唯一允許的值是 2.0。以字串指定
template-version
。 - 來源位置
-
指定應用程式在執行期間所需的檔案和其他資源的位置。
- source-id
-
指定位置的名稱。此名稱用於視需要參考應用程式定義 中的來源位置JSON。
- source-type
-
指定來源的類型。目前,唯一允許的值是 s3。
- 屬性
-
提供來源位置的詳細資訊。每個屬性皆以字串指定。
-
s3-bucket
- 必要。指定存放檔案的 Amazon S3 儲存貯體名稱。 -
s3-key-prefix
- 必要。指定存放檔案的 Amazon S3 儲存貯體中資料夾的名稱。
-
定義區段概觀
指定應用程式需要執行之服務、設定、資料和其他典型資源的資源定義。當您更新應用程式定義時, 會透過比較應用程式定義JSON檔案先前和目前版本的 source-locations
和 definition
清單來 AWS Mainframe Modernization 偵測變更。
定義區段是引擎特定的,可能會有所變更。下列各節顯示兩個引擎的引擎特定應用程式定義範例。
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 定義詳細資訊
Listener(s) - 必要
指定您要透過 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/" },
- 應用程式位置
-
Amazon S3 中存放應用程式映像檔案的特定位置。
- files-directory
-
(選用) 批次的輸入/輸出檔案位置。必須是環境層級 Amazon EFS或 Amazon FSx掛載點設定的子資料夾。子資料夾必須由適當的使用者擁有,以供在 內執行的 Blu Age 應用程式使用 AWS Mainframe Modernization。若要達成此目的,將磁碟機連接至 Linux Amazon EC2執行個體時,
3001
必須建立 ID 為 的群組101
和 ID 為 的使用者,且所需的資料夾必須由此使用者擁有。例如,這樣,Blu Age AWS Mainframe Modernization Managed 可以使用testclient
資料夾。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 中存放共用應用程式元素的進一步位置。它可以包含與應用程式位置相同的應用程式結構類型。
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
- (選用) 指定寫入落後機制用來啟動批次儲存操作的閾值。閾值代表將啟動批次儲存操作的修改後記錄數目,以確保修改後的記錄持續存在。觸發程序本身是以批次大小和經過一秒鐘的組合為基礎,以先達到者為準。預設值為 10000。 -
name
- (選用) 指定資料庫的名稱。 -
secret-manager-arn
- 指定包含資料庫憑證之秘密的 Amazon Resource Name (ARN)。如需詳細資訊,請參閱步驟 4:建立和設定 AWS Secrets Manager 資料庫秘密。
-
- Redis
-
指定應用程式用來將臨時資料存放在中央位置以提高效能的 Redis 快取屬性。建議您同時加密和密碼保護 Redis 快取。
-
hostname
- 指定 Redis 快取的位置。 -
port
- 指定連接埠,通常是 6379,其中 Redis 快取會傳送和接收通訊。 -
useSsl
- 指定 Redis 快取是否已加密。如果快取未加密,請將useSsl
設定為 false。 -
secret-manager-arn
- 指定包含 Redis 快取密碼之秘密的 Amazon Resource Name (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
-
(必要) 指定產品類型。目前,這只能是「JMS-MQ」用於 AWS 藍時應用程式。
- queue-manager
-
(必要) 指定佇列管理器的名稱。
- 通道
-
(必要) 指定伺服器連線頻道的名稱。
- hostname
-
(必要) 指定訊息佇列伺服器的主機名稱。
- port
-
(必要) 指定伺服器正在接聽的接聽程式連接埠號碼。
- user-id
-
(選用) 指定允許在指定頻道上執行訊息佇列操作的使用者帳戶 ID。
- secret-manager-arn
-
(選用) 指定提供指定使用者密碼的 Secrets Manager 的 Amazon Resource Name (ARN)。
AWS Blu Age Application 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 指派的存取點 IDEFS。模式:「^fsap-(【0-9a-f】{8,40}){1,128}$」
- file-permission-mask
-
(選用) 定義應用程式程序所建立檔案的檔案建立遮罩。例如,當值設定為 時
UMASK006
,所有檔案都會具有 660 許可。這表示只有檔案擁有者和檔案群組具有讀取和寫入存取權,而其他使用者則沒有任何許可。注意
只有在使用應用程式層級EFS儲存時,才會考慮此欄位的值集。
注意
提供 efs 組態時,必須在應用程式定義區段中指定 file-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" }, "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": { "environment-variables": { "ES_JES_RESTART": "N", "EFS_MOUNT": "/m2/mount/efs", "LRSQ_ADDRESS": "<lrsq-address>" } } } }
Micro Focus 定義詳細資訊
Micro Focus 應用程式定義檔案的定義區段中的內容會有所不同,取決於遷移大型主機應用程式在執行期所需的資源。
Listener(s) - 必要
使用下列結構指定接聽程式:
"listeners": [{ "port": 5101, "type": "tn3270" }],
資料集位置 - 必要
使用以下結構指定資料集位置。
"dataset-location": { "db-locations": [{ "name": "Database1", "secret-manager-arn": "arn:aws:secrets:1234:us-east-1:secret:123456" }], }
- db-locations
-
指定已遷移應用程式建立的資料集位置。目前, 僅 AWS Mainframe Modernization 支援來自單一VSAM資料庫的資料集。
-
name
- 指定資料庫執行個體的名稱,其中包含遷移的應用程式建立的資料集。 -
secret-manager-arn
- 指定包含資料庫憑證之秘密的 Amazon Resource Name (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
-
指定 AWS Mainframe Modernization 用於驗證已遷移應用程式使用者的 Amazon Cognito 使用者集區。 AWS 區域 使用者集區的 應與 AWS Mainframe Modernization 應用程式的 AWS 區域 相符。
- client-id
-
指定已驗證使用者可存取的遷移應用程式。
- identity-pool-id
-
指定 Amazon Cognito 身分集區,其中已驗證的使用者會交換使用者集區權杖,以取得允許使用者存取 的憑證 AWS Mainframe Modernization。 AWS 區域 身分集區的 應與 AWS Mainframe Modernization 應用程式的 AWS 區域 相符。
LDAP 和 Active Directory 處理常式 - 選用
您可以將應用程式與 Active Directory (AD) 或任何類型的LDAP伺服器整合,讓應用程式的使用者可以使用其 LDAP/AD 憑證進行授權和身分驗證。
將您的應用程式與 AD 整合
-
請遵循 Micro Focus Enterprise Server 文件中設定適用於 Enterprise Server Security 的 Active Directory
中所述的步驟。 -
使用您要與應用程式搭配使用的AD/LDAP details for each AD/LDAP伺服器建立 AWS Secrets Manager 秘密。如需有關如何建立秘密的資訊,請參閱 AWS Secrets Manager 使用者指南中的建立AWS秘密管理員秘密。針對秘密類型,選擇其他類型的秘密,並包含下列鍵值對。
{ "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,因為它更安全,並防止登入資料出現在網路傳輸中。 -
對於
authorizedId
和password
,我們建議您指定許可不超過應用程式執行所需的最嚴格唯讀和驗證許可的使用者憑證。 -
建議您定期輪換 AD/LDAP 憑證。
-
請勿使用使用者名稱
awsuser
或 建立 AD 使用者mfuser
。這兩個使用者名稱會保留供 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金鑰許可。 -
-
將下列項目新增至您的應用程式定義。
"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並已啟動,您必須提供憑證,才能執行支援授權清單中提及的至少一個應用程式相關操作。
LDAP/AD 身分驗證處理常式適用於 Micro Focus 8.0.11 和更新版本。
注意
目前,LDAP管理員必須對其LDAP目錄中的「」企業伺服器資源中的casstart
公用程式提供「更改OPERCMDS」許可。需要為所有必要的預設使用者 (例如,如果應用程式與應用程式CICS相關,則為 CICSUSER -) 執行此操作,才能成功啟動應用程式。
為身分驗證和授權提供LDAP使用者憑證
-
AWS Secrets Manager 使用下列索引鍵和值建立 :
{ "username" : "<USERNAME>", "password" : "<PASSWORD>" }
重要
您應該有權在正在使用的 Secrets Manager
GetSecretValue
上執行DescribeSecrets
和 。此外,建立 KMS金鑰和必要許可的關聯 AWS Secrets Manager,如選擇 AWS KMS key所述。 -
選擇 Secrets Manager 參數。
以下是目前支援授權的應用程式操作清單:
-
StartBatchJob
-
CancelBatchJobExecution
-
ListBatchJobRestartPoints
批次設定 - 必要
使用以下結構指定作為應用程式一部分執行的批次任務所需的詳細資訊。
"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"} ] }
- 啟動器
-
指定批次啟動器,該啟動器會在遷移的應用程式成功啟動時啟動,並繼續執行,直到應用程式停止為止。您可以為每個啟動者定義一或多個類別。您也可以定義多個啟動器。例如:
"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(工作控制語言) 檔案位置。
- program-path
-
指定當 中的程式JCL不在預設位置時,執行批次任務所需的路徑。不同的路徑名稱會以冒號 (:) 分隔。
注意
程式路徑只能是EFS路徑。
- system-procedure-libraries
-
指定要搜尋JCL程序的預設分割資料集。不過,程序在 JCL或 JCLLIB陳述式中找不到。這些資料集必須編製目錄,且必須使用目錄名稱。項目會以分號 (;) 分隔。
- 別名
-
定義公用程式和程式名稱的映射,用於公用程式的JCL實作名稱。以及第三方批次公用程式 AWS (例如 M2SFTP、M2WAIT、Syncsort 等) 可以選擇性地具有別名,以消除變更 的需求JCL。例如:
-
FDSSORT FDSSORT的別名 SORT和 FDSICET 的別名 ICETOOL
-
ADRDSSU MFADRDSU的別名 ADRDSSU
-
DMXMFSRT 的同步排序別名 SORT
-
CICS 設定 - 必要
使用以下結構指定作為應用程式一部分執行CICS的交易所需的詳細資訊。
"cics-settings": { "binary-file-location": "${s3-source}/cics/binaries", "csd-file-location": "${s3-source}/cics/def", "system-initialization-table": "BNKCICV" }
印表機 - 選用
使用下列結構指定 jes 印表機。
"jes-printers": [ { "name": "printerName", "classes": [ "A", "B" ], "description": "printer desc....", "exit-module": { "name": "lrsprte6", "module" : "program" } } ],
注意
指定應用程式最多可設定 25 個印表機。
- name
-
(必要) 指定要與此印表機資源建立關聯的名稱。每個印表機的名稱必須是唯一的,並且可以使用 128 個英數字元的限制。
- 類別
-
(必要) 指定適用於此印表機資源的輸出類別。最多可使用 36 個英數字元。
- description
-
(選用) 印表機的其他描述文字。
- exit-module
-
(選用) 指定列印結束的自訂模組。沒有預設值,如果未指定,則不會使用結束模組。您可以使用受管列印退出模組或提供您自己的 。受管列印結束模組是使用LRS佇列
lrsprte6
的預留名稱來定義,或使用模組參數來指定位置和名稱來提供您自己的名稱。的結構
exit-module
有兩個元件:-
name
- (必要),如果使用exit-module
。結束模組的項目名稱。結束模組項目名稱限制最多 8 個字元。 -
module
- (選用) 列印退出模組二進位檔的 S3 位置。
-
您可以在 印表機 章節中查看更多定義結束模組的範例。
XA 資源 - 選用
使用以下結構指定應用程式所需的 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」。
- name
-
(必要) 指定 XA 資源的名稱。
- secret-manager-arn
-
(必要) 指定 機密的 Amazon Resource Name (ARN),其中包含要連線至資料庫的憑證。
- xa-connection-type
-
(選用) 指定 XA 資源連線類型。
- 模組
-
(必要) 指定 RM 交換器模組可執行檔的位置。如需詳細資訊,請參閱 Micro Focus Enterprise Server 文件中的規劃和設計XARs
。
執行期設定 - 選用
指定執行期設定所需的詳細資訊,以使用下列結構管理許可的環境變數。
"runtime-settings": { "environment-variables": { "ES_JES_RESTART": "N", "EFS_MOUNT": "/m2/mount/efs" } }
- 環境變數
-
指定套用至此應用程式執行期的 Micro Focus 支援環境變數。
-
ES_JES_RESTART
是 Micro Focus 環境變數,可啟用JCL重新啟動處理。或者,您也可以使用ES_ALLOC_OVERRIDE
作為 Micro Focus 環境變數。 -
EFS_MOUNT
是自訂環境變數,您的應用程式可能會用來識別環境EFS掛載的位置。
-
您可以在 Micro Focus Enterprise Server 中存取所有 Micro Focus 環境變數