本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:为 Micro Focus 设置托管运行时
您可以使用 Micro Focus 运行时引擎在 AWS 大型机现代化托管运行时环境中部署和运行应用程序。本教程介绍如何使用 Micro Focus 运行时引擎在 AWS 大型机现代化托管运行时环境中部署和运行 CardDemo 示例应用程序。 CardDemo 示例应用程序是一个简化的信用卡应用程序,旨在测试 AWS 和展示大型机现代化用例的技术,并与之合作。
在本教程中,您将在 other 中创建资源 AWS 服务。其中包括亚马逊简单存储服务、Amazon Relational Database Service 和 AWS Secrets Manager。 AWS Key Management Service
主题
先决条件
-
确保您可以访问 3270 仿真器以使用 CICS 连接。3270 模拟器可从第三方网站免费试用。或者,你可以启动 AWS 大型机现代化 AppStream 2.0 Micro Focus 实例并使用 Rumba 3270 模拟器(不免费提供)。
有关 AppStream 2.0 的信息,请参阅教程:设置 AppStream 2.0 以与 Micro Focus 企业分析器和 Micro Focus 企业版开发人员配合使用。
注意
创建堆栈时,请选择企业开发人员 (ED) 选项,而不是企业分析器 (EA)。
-
下载CardDemo 示例应用程序
并将下载的文件解压缩到任意本地目录。该目录将包含一个名 CardDemo
为的子目录。 -
在您的账户中确定一个 VPC,您可以在其中定义本教程中创建的资源。VPC 需要在至少两个可用区中设置子网。有关亚马逊 VPC 的更多信息,请参阅亚马逊 VPC 的工作原理。
步骤 1:创建并加载 Amazon S3 存储桶
在此步骤中,您将创建一个 Amazon S3 存储桶并将 CardDemo 文件上传到该存储桶。在本教程的后面部分,您将使用这些文件在 AWS 大型机现代化 Micro Focus 托管运行时环境中部署和运行 CardDemo 示例应用程序。
注意
您不必创建新的 S3 存储桶,但您选择的存储桶必须与本教程中使用的其他资源位于同一区域。
创建 Amazon S3 存储桶
-
打开 Amazon S3 控制台
,然后选择创建存储桶。 -
在常规配置中,选择要在其中构建 AWS 大型机现代化 Micro Focus 托管运行时的 AWS 区域。
-
输入存储桶名称,例如
yourname-aws-region-carddemo
。保留默认设置,然后选择创建存储桶。或者,您也可以从现有 Amazon S3 存储桶中复制设置,然后选择创建存储桶。 -
选择您刚刚创建的存储桶,然后选择 Uploa d。
-
在 “上传” 部分,选择 “添加文件夹”,然后从本地计算机浏览到该
CardDemo
目录。 -
选择 “上传” 开始上传过程。上传时间因您的连接速度而异。
-
上传完成后,确认所有文件均已成功上传,然后选择 “关闭”。
您的 Amazon S3 存储桶现在包含该CardDemo
文件夹。
![](images/m2-mf-carddemo-s3.png)
有关 S3 存储桶的信息,请参阅创建、配置和使用 Amazon S3 存储桶。
步骤 2:创建和配置数据库
在本步骤中,你将在亚马逊关系数据库服务 (Amazon RDS) 中创建一个 PostgreSQL 数据库。在本教程中,该数据库包含 CardDemo 示例应用程序用于客户执行信用卡交易任务的数据集。
在 Amazon RDS 中创建数据库
-
打开 Amazon RDS 控制台
。 -
选择要在其中创建数据库实例的 AWS 区域。
-
从导航窗格中选择 Databases(数据库)。
-
选择 “创建数据库”,然后选择 “标准创建”。
-
对于引擎类型,选择 PostgreSQL。
-
选择 15 或更高版本的引擎。
注意
保存引擎版本,因为本教程稍后需要它。
-
在模板部分中,选择免费套餐。
-
将数据库实例标识符更改为有意义的标识符,例如
MicroFocus-Tutorial
。 -
不要在中管理主证书 AWS Secrets Manager。而是输入主密码并进行确认。
注意
保存您用于数据库的用户名和密码。在本教程的后续步骤中,您将安全地存储它们。
-
在 “连接” 下,选择要在其中创建 AWS 大型机现代化托管运行时环境的 VPC。
-
选择创建数据库。
在 Amazon RDS 中创建自定义参数组
-
在 Amazon RDS 控制台导航窗格中,选择参数组,然后选择创建参数组。
-
在 “创建参数组” 窗口中,为参数组系列选择与您的数据库版本相匹配的 Po stgres 选项。
注意
某些 Postgres 版本需要类型。如果需要,选择数据库参数组。输入参数组的组名和描述。
-
选择创建。
配置自定义参数组
-
选择新创建的参数组。
-
选择操作,然后选择编辑。
-
筛选
max_prepared_transactions
并将参数值更改为 100。 -
选择保存更改。
将自定义参数组与数据库关联
-
在 Amazon RDS 控制台导航窗格中,选择数据库,然后选择要修改的数据库实例。
-
选择修改。将显示修改数据库实例页面。
注意
只有在数据库完成创建和备份(这可能需要几分钟时间)之后,“修改” 选项才可用。
-
在修改数据库实例页面上,导航到其他配置,然后将数据库参数组更改为您的参数组。如果列表中没有您的参数组,请检查该参数组是否使用正确的数据库版本创建。
-
选择 “继续”,然后查看修改摘要。
-
选择 “立即应用” 可立即应用更改。
-
选择修改数据库实例以保存更改。
有关参数组的更多信息,请参阅使用参数组。
注意
您也可以将 Amazon Aurora PostgreSQL 数据库 AWS 与大型机现代化配合使用,但没有免费套餐选项。有关更多信息,请参阅使用亚马逊 Aurora PostgreSQL。
步骤 3:创建和配置 AWS KMS key
要安全地存储 Amazon RDS 实例的证书,请先创建一个 AWS KMS key。
要创建 AWS KMS key
-
打开密钥管理服务控制台
。 -
选择 Create Key(创建密钥)。
-
对于密钥类型,保留默认的 Symmetric,对于密钥的使用,保留加密和解密的默认值。
-
选择下一步。
-
为密钥指定一个别名,例如
MicroFocus-Tutorial-RDS-Key
和一个可选的描述。 -
选择下一步。
-
通过选中您的用户或角色旁边的复选框来分配密钥管理员。
-
选择 “下一步”,然后再次选择 “下一步”。
-
在查看屏幕上,编辑密钥策略,然后输入以下内容:
{ "Sid" : "Allow access for Mainframe Modernization Service", "Effect" : "Allow", "Principal" : { "Service" : "m2.amazonaws.com" }, "Action" : "kms:Decrypt", "Resource" : "*" },
此策略使用此特定密钥策略授予 AWS 大型机现代化解密权限。
-
选择 “完成” 以创建密钥。
有关更多信息,请参阅《 AWS Key Management Service 开发人员指南》中的创建密钥。
步骤 4:创建和配置 AWS Secrets Manager 数据库密钥
现在使用 AWS Secrets Manager 和安全地存储数据库凭据 AWS KMS key。
创建和配置 AWS Secrets Manager 数据库密钥
-
在导航窗格中,选择密钥。
-
在 “密钥” 中,选择 “存储新密钥”。
-
将密钥类型设置为 Amazon RDS 数据库的凭证。
-
输入您在创建数据库时指定的凭据。
-
在加密密钥下,选择您在步骤 3 中创建的密钥。
-
在 “数据库” 部分,选择您为本教程创建的数据库,然后选择 “下一步”。
-
在 “密钥名称” 下,输入名称(如)
MicroFocus-Tutorial-RDS-Secret
和可选描述。 -
在资源权限部分,选择编辑权限,然后将内容替换为以下策略:
{ "Version":"2012-10-17", "Statement": [ { "Effect" : "Allow", "Principal" : { "Service" : "m2.amazonaws.com" }, "Action" : "secretsmanager:GetSecretValue", "Resource" : "*" } ] }
-
选择保存。
-
在后续屏幕中选择 “下一步”,然后选择 “存储”。刷新密钥列表以查看新密钥。
-
选择新创建的密钥并记下,
Secret ARN
因为你需要在本教程的后面部分使用它。 -
在密钥的概述选项卡中,选择检索密钥值。
-
选择 “编辑”,然后选择 “添加行”。
-
为添加一个值
sslMode
为的密钥verify-full
: -
选择保存。
步骤 5:创建运行时环境
创建运行时环境
-
在导航窗格中,选择环境。然后选择 “创建环境”。
-
在 “指定基本信息” 下,
-
输入
MicroFocus-Environment
环境名称。 -
在引擎选项下,确保已选择 Micro Foc us。
-
选择最新的 Micro Focus 版本。
-
选择下一步。
-
-
配置环境
-
在可用性下,选择高可用性集群。
-
在 “资源” 下,
M2.m5.large
为实例类型和所需的实例数量选择M2.c5.large
或。最多指定两个实例。 -
在 “安全和网络” 下,选择 “允许部署到此环境中的应用程序可供公众访问”,然后选择至少两个公有子网。
-
选择下一步。
-
-
在附加策略页面上,选择下一步。
-
在 “计划维护” 页面上,选择 “无首选项”,然后选择 “下一步”。
-
在查看并创建页面上,查看您为运行时环境提供的所有配置,然后选择创建环境。
创建环境后,会出现一个横幅,显示Environment
name was created successfully
,并且状态字段更改为可用。环境创建过程需要几分钟,但您可以在环境运行时继续执行后续步骤。
![环境已成功创建消息。](images/m2-mf-env-confirm.png)
步骤 6:创建应用程序
创建应用程序
-
在导航窗格中,选择应用程序。选择创建应用程序。
-
在 “创建应用程序” 页面的 “指定基本信息” 下,输入
MicroFocus-CardDemo
应用程序名称,然后在 “引擎类型” 下确保选中 Micro Foc us。然后选择下一步。 -
在 “指定资源和配置” 下,选择使用内联编辑器指定应用程序定义及其资源和配置的选项。
在编辑器中输入以下应用程序定义:
{ "template-version": "2.0", "source-locations": [ { "source-id": "s3-source", "source-type": "s3", "properties": { "s3-bucket": "
yourname-aws-region-carddemo
", "s3-key-prefix": "CardDemo
" } } ], "definition": { "listeners": [ { "port": 6000, "type": "tn3270" } ], "dataset-location": { "db-locations": [ { "name": "Database1", "secret-manager-arn": "arn:aws:secretsmanager:Region:123456789012
:secret:MicroFocus-Tutorial-RDS-Secret-xxxxxx" } ] }, "batch-settings": { "initiators": [ { "classes": [ "A", "B" ], "description": "initiator_AB...." }, { "classes": [ "C", "D" ], "description": "initiator_CD...." } ], "jcl-file-location": "${s3-source}/catalog/jcl" }, "cics-settings": { "binary-file-location": "${s3-source}/loadlib", "csd-file-location": "${s3-source}/rdef", "system-initialization-table": "CARDSIT" }, "xa-resources": [ { "name": "XASQL", "secret-manager-arn": "arn:aws:secretsmanager:Region:123456789012
:secret:MicroFocus-Tutorial-RDS-Secret-xxxxxx", "module": "${s3-source}/xa/ESPGSQLXA64.so" } ] } }注意
此文件可能随时更改。
-
在源位置的属性对象中编辑应用程序 JSON,如下所示:
-
将的值替换为您在步骤 1 中创建的 Amazon S3 存储桶的名称。
s3_bucket
-
将的值替换为您上传 CardDemo 示例文件的文件夹(key prefix)。
s3-key-prefix
如果您将CardDemo
目录直接上传到 Amazon S3 存储桶,则s3-key-prefix
无需更改。 -
将这两个
secret-manager-arn
值替换为您在步骤 4 中创建的数据库密钥的 ARN。
有关应用程序定义的更多信息,请参阅 Micro Focus 应用程序定义。
-
-
选择下一步以继续。
-
在查看并创建页面上,查看您提供的信息,然后选择创建应用程序。
![应用程序已成功创建消息。](images/m2-mf-app-confirm.png)
创建应用程序后,会出现一个横幅,上面写着Application
name was created successfully
。并且 “状态” 字段更改为 “可用”。
步骤 7:部署应用程序
部署应用程序
-
在导航窗格中,选择 “应用程序”,然后选择
MicroFocus-CardDemo
。 -
在 “部署应用程序” 下,选择 “部署”。
-
选择您之前创建的应用程序和环境的最新版本,然后选择 Deploy。
成功部署 CardDemo 应用程序后,状态将更改为 “就绪”。
![在环境确认页面上部署的应用程序。](images/m2-mf-app-env-confirm.png)
步骤 8:导入数据集
导入数据集
-
在导航窗格中,选择应用程序,然后选择应用程序。
-
选择数据集选项卡。然后选择导入。
-
选择 “导入和编辑 JSON 配置”,然后选择 “复制并粘贴您自己的 JSON” 选项。
-
复制并粘贴以下 JSON,但暂时不要选择 “提交”。此 JSON 包含演示应用程序所需的所有数据集,但需要您的 Amazon S3 存储桶详细信息。
{ "dataSets": [ { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 11, "offset": 0 } } }, "recordLength": { "min": 300, "max": 300 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.ACCTDATA.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.CARDDATA.VSAM.AIX.PATH", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 11, "offset": 16 } } }, "recordLength": { "min": 150, "max": 150 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.CARDDATA.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.CARDDATA.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 16, "offset": 0 } } }, "recordLength": { "min": 150, "max": 150 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.CARDDATA.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.CARDXREF.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 16, "offset": 0 } } }, "recordLength": { "min": 50, "max": 50 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.CARDXREF.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.CUSTDATA.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 9, "offset": 0 } } }, "recordLength": { "min": 500, "max": 500 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.CUSTDATA.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.CARDXREF.VSAM.AIX.PATH", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 11, "offset": 25 } } }, "recordLength": { "min": 50, "max": 50 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.CARDXREF.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 16, "offset": 0 } } }, "recordLength": { "min": 350, "max": 350 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS.DAT" } }, { "dataSet": { "storageType": "Database", "datasetName": "AWS.M2.CARDDEMO.USRSEC.VSAM.KSDS", "relativePath": "DATA", "datasetOrg": { "vsam": { "format": "KS", "encoding": "A", "primaryKey": { "length": 8, "offset": 0 } } }, "recordLength": { "min": 80, "max": 80 } }, "externalLocation": { "s3Location": "s3://<s3-bucket-name>/CardDemo/catalog/data/AWS.M2.CARDDEMO.USRSEC.VSAM.KSDS.DAT" } } ] }
-
将每次出现的
<s3-bucket-name>
(有八个)替换为包含该 CardDemo 文件夹的 Amazon S3 存储桶的名称,例如your-name-aws-region-carddemo
。注意
要复制亚马逊 S3 中该文件夹的 Amazon S3 URI,请选择该文件夹,然后选择 “复制亚马逊 S3 URI”。
-
选择提交。
导入完成后,将出现一条横幅,上面写着以下消息:
Import task with resource identifier name was completed successfully.
将显示导入的数据集列表。
您还可以通过选择数据集选项卡上的导入历史记录来查看所有数据集导入的状态。
步骤 9:启动应用程序
启动应用程序
-
在导航窗格中,选择应用程序,然后选择应用程序。
-
选择 “启动应用程序”。
当 CardDemo 应用程序开始成功运行时,会出现一条横幅,上面写着以下消息:Application name was started
successfully
。“状态” 字段更改为 “正在运行”。
![应用程序启动成功消息。](images/m2-mf-startapp-confirm.png)
步骤 10:连接到 CardDemo CICS 应用程序
在连接之前,请确保您为应用程序指定的 VPC 和安全组与您为要连接的网络接口申请的 VPC 和安全组相同。
要配置 TN3270 连接,还需要应用程序的 DNS 主机名和端口。
使用终端仿真器配置应用程序并将其连接到大型机
-
打开 AWS 大型机现代化控制台并选择 “应用程序”,然后选择
MicroFocus-CardDemo
。 -
选择复制图标复制 DNS 主机名。另外,请务必记下端口号。
-
启动终端仿真器。本教程使用 Micro Focus Rumba+。
注意
配置步骤因模拟器而异。
-
选择 “大型机显示器”。
-
选择 “连接”,然后选择 “配置”。
-
在 “已安装的接口” 下
TN3270
,选择,然后在 “连接” 菜单下TN3270
再次选择。 -
选择 “插入”,然后粘贴应用程序
DNS Hostname
的。6000
为 Telnet 端口指定。注意
如果您在浏览器中使用 AWS AppStream 2.0,并且在粘贴值时遇到困难,请参阅 AppStream 2.0 用户问题疑难解答。
-
在 “连接” 下,选择 “高级”,然后选择 “发送保持活动状态” 和 “发送 NOP”,然后输入 180 作为间隔。
注意
将您的 TN3270 终端上的保持活动状态设置为至少 180 秒有助于确保网络负载均衡器不会中断您的连接。
-
选择连接。
注意
如果连接失败:
-
如果您使用的是 AppStream 2.0,请确认为应用程序环境指定的 VPC 和安全组与 AppStream 2.0 队列相同。
-
使用 VPC Reachability Analyzer 分析连接。您可以通过控制台访问 Reachability Analyzer。
-
作为诊断步骤,请尝试添加或更改应用程序的安全组入站规则,以允许来自任何地方的端口 6000 流量(即 CIDR Block 0.0.0/0)。如果您成功连接,则表明安全组阻止了您的流量。将安全组来源更改为更具体的来源。有关安全组的更多信息,请参阅安全组基础知识。
-
-
输入
USER0001
用户名password
和密码。注意
在 Rumba 中,“清除” 的默认值为 ctrl-shift-z,“重置” 的默认值为 ctrl-r。
-
成功登录后,您可以浏览 CardDemo应用程序。
-
进入
01
账户视图。 -
输入
00000000010
账号并按键盘上的 E nter。注意
其他有效账户为
0000000011
和00000000020
。 -
F3按退出菜单,然后退F3出交易。
清理资源
如果您不再需要为本教程创建的资源,请将其删除,以免产生额外费用。为此,请完成以下步骤:
-
如有必要,请停止应用程序。
-
删除应用程序。有关更多信息,请参阅 删除 AWS 大型机现代化应用程序。
-
删除运行时环境。有关更多信息,请参阅 删除 AWS 大型机现代化运行时环境。
-
删除您为本教程创建的 Amazon S3 存储桶。有关更多信息,请参阅《Amazon S3 用户指南》中的删除存储桶。
-
删除您为本教程创建的 AWS Secrets Manager 密钥。有关更多信息,请参阅删除密钥。
-
删除您为本教程创建的 KMS 密钥。有关更多信息,请参阅删除 AWS KMS 密钥。
-
删除您为本教程创建的 Amazon RDS 数据库。有关更多信息,请参阅 A mazon RDS 用户指南中的删除 EC2 实例和数据库实例。
-
如果您为端口 6000 添加了安全组规则,请删除该规则。
后续步骤
要了解如何为现代化应用程序设置开发环境,请参阅教程:设置 AppStream 2.0 以与 Micro Focus Enterprise Analyzer 和 Micro Focus Enterprise Developer 配合使用。