本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过安装, AWS 服务 从 IBM z/OS 进行访问 AWS CLI
由 Souma Ghosh (AWS)、Phil de Valence (AWS) 和 Paulo Vitor Pereira (AWS) 创作
摘要
AWS Command Line Interface (AWS CLI)
中的所有 AWS 基础设施即服务 (IaaS) 管理、管理和访问功能 AWS Management Console 均在 AWS API 和中提供。 AWS CLI您可以将安装在 IBM z/OS 大型机 AWS CLI 上,以便直接从 z/OS 进行访问、管理和交互 AWS 服务 。使用 AWS CLI 户和应用程序可以执行各种任务,例如:
在 z/OS 和亚马逊简单存储服务 (Amazon S3) Simple S3 对象存储之间传输文件或数据集并查看存储桶的内容
启动和停止不同的 AWS 资源;例如,在 AWS Mainframe Modernization 环境中启动批处理作业
调用 AWS Lambda 函数来实现常见的业务逻辑
与人工智能和机器学习 (AI/ML) 以及分析服务集成
此模式描述如何在 z/OS AWS CLI 上安装、配置和使用。您可以全局安装它,因此所有 z/OS 用户都可以使用它,也可以在用户级别上使用。该模式还详细说明了如何 AWS CLI 在 z/OS Unix 系统服务 (USS) 的交互式命令行会话中使用或将其用作批处理作业。
先决条件和限制
先决条件
从 z/OS 到 AWS
默认情况下,在 TCP 端口 443 上使用 HTTPS AWS CLI 向发送请求。 AWS 服务 要 AWS CLI 成功使用,您必须能够在 TCP 端口 443 上建立出站连接。您可以使用以下任一 z/OS USS 命令(其中一些可能未安装在您的环境中)来测试从 z/OS 到以下的网络连接: AWS
ping amazonaws.com dig amazonaws.com traceroute amazonaws.com curl -k https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html
AWS 凭证
为了与 z/OS 中的 AWS 云 服务进行通信, AWS CLI 需要您配置一些具有访问目标权限的凭据。 AWS 账户对于编程命令 AWS,您可以使用访问密钥,其中包括访问密钥 ID 和私有访问密钥。如果没有访问密钥,您可以使用进行创建 AWS Management Console。最佳做法是,除非需要 root 用户,否则不要将 AWS 账户 root 用户的访问密钥用于任何任务。取而代之的是,创建一个新的管理员 IAM 用户,并准备好使用最低权限为该用户设置访问密钥。创建用户后,您可以为该用户创建访问密钥 ID 和私有访问密钥。
警告
AWS Identity and Access Management (IAM) 用户拥有存在安全风险的长期证书。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。
适用于 z/OS 的 IBM Python
AWS CLI 需要 Python 3.8 或更高版本。IBM 使用适用于 z/OS 的 IBM Open Enterprise Python 支持 Python 在
z/OS 上运行。IBM Open Enterprise Python 可通过 Shopz SMP/E 免费获得,也可以从 IBM 网站下载 PAX 文件。 有关说明,请参阅适用于 z/OS 的 IBM Open Enterprise Python 的安装和配置文档 。
限制
此模式中提供的安装说明仅适用于AWS CLI 版本 1。的最新版本 AWS CLI 是版本 2。但是,这种模式使用的是旧版本,因为版本 2 的安装方法不同,而且版本 2 中可用的二进制可执行文件与 z/OS 系统不兼容。
产品版本
AWS CLI 第 1 版
Python 3.8 或更高版本
架构
技术堆栈
运行 z/OS 的大型机
大型机 z/OS UNIX 系统服务 (USS)
大型机 Open MVS (OMVS) — z/OS UNIX 外壳环境命令界面
大型机磁盘,例如直接访问存储设备 (DASD)
AWS CLI
目标架构
下图显示了 IBM z/OS 上的 AWS CLI 部署。您可以 AWS CLI 从交互式用户会话(例如 SSH)和 telnet 会话中调用。您也可以使用作业控制语言 (JCL) 从批处理作业中调用它,也可以从任何可以调用 z/OS Unix shell 命令的程序中调用它。

通过 TCP/IP 网络 AWS CLI 与 AWS 服务 端点通信。这种网络连接可以通过互联网进行,也可以通过从客户数据中心到 AWS 云 数据中心的私人 AWS Direct Connect 连接进行。通信使用 AWS 凭据进行身份验证并加密。
自动化和扩缩
您可以使用探索的功能 AWS CLI 并开发 USS shell 脚本来管理 z/OS 中的 AWS 资源。 AWS 服务 您还可以从 z/OS 批处理环境中运行 AWS CLI 命令和 shell 脚本,还可以通过与大型机调度器集成,自动执行批处理作业,使其按特定的计划运行。 AWS CLI 命令或脚本可以在参数 (PARMs) 和过程 (PROCs) 中编码,也可以按照标准方法进行扩展,即使用不同的参数从不同的批处理作业调用 PARM 或 PROC。
工具
AWS Command Line Interface (AWS CLI) 是一个开源工具,可帮助您 AWS 服务 通过命令行外壳中的命令进行交互。
最佳实践
出于安全考虑,请将访问权限限制为存储 AWS 访问密钥详细信息的 USS 目录。仅允许使用的用户或程序进行访问 AWS CLI。
请勿将 AWS 账户 root 用户访问密钥用于任何任务。取而代之的是,为自己创建一个新的管理员 IAM 用户,并使用访问密钥对其进行设置。
警告IAM 用户拥有存在安全风险的长期证书。为帮助减轻这种风险,我们建议仅向这些用户提供执行任务所需的权限,并在不再需要这些用户时将其移除。 |
---|
操作说明
Task | 描述 | 所需技能 |
---|---|---|
安装 Python 3.8 或更高版本。 |
| 大型机 z/OS 管理员 |
设置 USS 环境变量。 | 向配置文件添加环境变量。您可以将它们添加到单个用户的 注意此模式假定
| 大型机 z/OS 管理员 |
测试 Python 的安装。 | 运行 python 命令:
输出应确认您已正确安装了 Python 3.8 或更高版本。 | 大型机 z/OS 管理员 |
验证或安装 pip。 |
| 大型机 z/OS 管理员 |
安装 AWS CLI 版本 1。 |
| 大型机 z/OS 管理员 |
Task | 描述 | 所需技能 |
---|---|---|
配置 AWS 访问密钥、默认区域和输出。 | 该AWS CLI 文档描述了设置 AWS 访问权限的不同选项。您可以根据组织的标准选择配置。此示例使用短期凭证配置。
| AWS 管理员、大型机 z/OS 管理员、大型机 z/OS 开发人员 |
测试 AWS CLI. |
| 大型机 z/OS 管理员、大型机 z/OS 开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
下载并传输示例 CSV 文件。 |
| 应用程序开发人员、大型机 z/OS 开发人员 |
创建 S3 存储桶并上传 CSV 文件。 |
| 应用程序开发人员、大型机 z/OS 开发人员 |
查看 S3 存储桶和上传的文件。 |
有关上传对象的更多信息,请参阅 Amazon S3 文档中的 Amazon S3 入门。 | 常规 AWS |
对亚马逊 Athena 表运行 SQL 查询。 |
SQL 查询的输出将显示您的 CSV 文件的内容。 | 常规 AWS,应用程序开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
上传示例文件。 | 大型机 z/OS 开发人员 | |
创建批处理 JCL。 | 按如下方式对批处理 JCL 进行编码,以创建目标 S3 存储桶、上传数据集并列出存储桶内容。请务必将目录名称、文件名和存储桶名称替换为您自己的值。
| 大型机 z/OS 开发人员 |
提交批处理 JCL 作业。 |
| 大型机 z/OS 开发人员 |
查看上传到 S3 存储桶的数据集。 |
| 常规 AWS |
相关资源
其他信息
ISPF 选项 3.4(数据集列表实用程序)中的 USER.DATA.FIXED

已提交的批处理作业的 SYSOUT

附件
要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip