本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Transfer Family 将大型机文件直接移动到 Amazon S3
由 Luis Gustavo Dantas (AWS) 编写
环境:生产 | 源:大型机 | 目标:Amazon S3 |
R 类型:不适用 | 工作负载:IBM | 技术:大型机;存储和备份;现代化 |
Amazon Web Services:AWS Transfer Family;Amazon S3 |
Summary
作为现代化之旅的一部分,您可能会面临在本地服务器和 Amazon Web Services (AWS) 云之间传输文件的挑战。从大型机传输数据可能是一项重大挑战,因为大型机通常无法访问 Amazon Simple Storage Service (Amazon S3)、Amazon Elastic Block Store (Amazon EBS) 或 Amazon Elastic File System (Amazon EFS) 等现代数据存储。
许多客户使用中间暂存资源(如本地 Linux、Unix 或 Windows 服务器)将文件传输到 AWS Cloud。您可以通过使用 AWS Transfer Family 和 Secure Shell (SSH) 文件传输协议 (SFTP) 将大型机文件直接上传到 Amazon S3 来避免这种间接方法。
先决条件和限制
先决条件
一个有效的 Amazon Web Services account
具有可由您的旧平台访问的子网的虚拟私有云(VPC)
您 VPC 的 Transfer Family 端点
大型机虚拟存储访问方法 (VSAM) 文件转换为连续的固定长度文件
(IBM 文档)
限制
SFTP 默认以二进制模式传输文件,这意味着文件上传到 Amazon S3 时会保留 EBCDIC 编码。如果您的文件不包含二进制或打包数据,那么您可以使用 sftp ascii 子命令
(IBM 文档)在传输过程中将文件转换为文本。 您必须解压包含打包和二进制内容的大型机文件
(AWS Prescriptive Guidance),才能在目标环境中使用这些文件。 Amazon S3 对象的大小范围从最小 0 字节到最大 5 TB。有关 Amazon S3 功能的更多信息,请参阅 Amazon S3 常见问题
。
架构
源技术堆栈
作业控制语言 (JCL)
z/OS Unix shell 和 ISPF
SFTP
VSAM 和平面文件
目标技术堆栈
Transfer Family
Amazon S3
Amazon Virtual Private Cloud(Amazon VPC)
目标架构
下图显示了将 Transfer Family 与 SFTP 结合使用以将大型机文件直接上传到 S3 存储桶的参考架构。
图表显示了以下工作流:
您可以使用 JCL 作业通过 Direct Connect 将大型机文件从旧版大型机传输到 Amazon Web Services Cloud。
Direct Connect 使您的网络流量能够保留在 AWS 全球网络上,并绕过公共互联网。Direct Connect 还提高了网络速度,从 50 Mbps 开始,扩展到 100 Gbps。
VPC 端点无需使用公共互联网即可在您的 VPC 资源和支持的服务之间建立连接。对 Transfer Family 和 Amazon S3 的访问通过位于两个私有子网和可用区中的弹性网络接口实现高可用性。
Transfer Family 对用户进行身份验证,并使用 SFTP 从旧环境接收文件并将其移动到 S3 存储桶。
自动化和扩缩
Transfer Family 服务到位后,您可以使用 JCL 作业作为 SFTP 客户端,将无限数量的文件从大型机传输到 Amazon S3。当您准备好传输大型机文件时,还可以使用大型机批处理作业计划程序运行 SFTP 作业,从而自动执行文件传输。
工具
Amazon Simple Storage Service (Amazon S3) 是一项基于云的对象存储服务,可帮助您存储、保护和检索任意数量的数据。
Amazon Virtual Private Cloud (Amazon VPC) 可帮助您将 AWS 资源启动到您定义的虚拟网络中。此虚拟网络类似于您在自己的数据中心内运行的传统网络,具有使用 AWS 可扩展基础设施的优势。
AWS Transfer Fam ily 使您能够使用 SFTP、FTPS 和 FTP 协议安全地将定期 business-to-business 文件传输扩展到亚马逊 S3 和亚马逊 EFS。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
创建 S3 存储桶。 | 创建一个 S3 存储桶来托管您从旧环境传输的文件。 | 常规 AWS |
创建 IAM 角色和策略。 | Transfer Family 使用您的 AWS Identity and Access Management (IAM) 角色授予对您之前创建的 S3 存储桶的访问权限。 创建 IAM 角色,包含以下 IAM policy:
注意:您必须在创建 IAM 角色时选择“传输用例”。 | 常规 AWS |
任务 | 描述 | 所需技能 |
---|---|---|
创建 SFTP 服务器。 |
注意:有关如何设置 SFTP 服务器的更多信息,请参阅创建启用了 SFTP 的服务器(AWS Transfer Family 用户指南)。 | 常规 AWS |
获取服务器地址。 |
| 常规 AWS |
创建 SFTP 客户端密钥对。 | 为 Microsoft Windows 或 macOS/Linux/UNIX 创建 SSH 密钥对。 | 常规 AWS、SSH |
创建 SFTP 用户。 |
| 常规 AWS |
任务 | 描述 | 所需技能 |
---|---|---|
将 SSH 私钥发送到大型机。 | 使用 SFTP 或 SCP 将 SSH 私钥发送到旧版环境。 SFTP 示例:
SCP 示例:
接下来,将 SSH 密钥存储在 z/OS Unix 文件系统中稍后将运行文件传输批处理作业的用户名下(例如, 注意:有关 z/OS Unix shell 的更多信息,请参阅 z/OS shell 简介 | 大型机、z/OS Unix shell、FTP、SCP |
创建 JCL SFTP 客户端。 | 由于大型机没有本机 SFTP 客户端,因此您必须使用 BPXBATCH 实用程序从 z/OS Unix shell 运行 SFTP 客户端。 在 ISPF 编辑器中,创建 JCL SFTP 客户端。例如:
注意:有关如何在 z/OS Unix shell 中运行命令的更多信息,请参阅 BPXBATCH 实用程序 | JCL、大型机、z/OS Unix shell |
运行 JCL SFTP 客户端。 |
注意:有关如何检查批处理作业活动的更多信息,请参阅 z/OS SDSF 用户指南 | 大型机、JCL、ISPF |
验证文件传输。 |
| 常规 AWS |
自动执行 JCL SFTP 客户端。 | 使用作业调度程序自动触发 JCL SFTP 客户端。 注意:您可以使用大型机作业调度程序(例如 BMC Control-M | 作业调度程序 |