

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 安裝 以 AWS 服務 從 IBM z/OS 存取 AWS CLI
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli"></a>

*Souma Ghosh、Paulo Vitor Pereira 和 Phil de Valence，Amazon Web Services*

## 總結
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-summary"></a>

[AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) 是一種開放原始碼工具，可透過在命令列 Shell 中使用命令來管理多個 AWS 服務。透過最少的組態，您可以從命令列工作階段執行命令，例如命令提示字元、終端機和 bash shell，以實作相當於瀏覽器型提供的功能 AWS 管理主控台。

API 和 AWS 管理主控台 提供 中所有 AWS 基礎設施即服務 (IaaS) 管理、管理和存取函數 AWS AWS CLI。您可以在 IBM z/OS 大型主機 AWS CLI 上安裝 ，以 AWS 服務 從 z/OS 直接存取、管理和與 互動。 AWS CLI 可讓使用者和應用程式執行各種任務，例如：
+ 在 z/OS 和 Amazon Simple Storage Service (Amazon S3) 物件儲存體之間傳輸檔案或資料集，並檢視儲存貯體的內容
+ 啟動和停止不同的 AWS 資源；例如，在 AWS Mainframe Modernization 環境中啟動批次任務
+ 呼叫 AWS Lambda 函數以實作常見的商業邏輯
+ 與人工智慧和機器學習 (AI/ML) 和分析服務整合

此模式說明如何在 z/OS AWS CLI 上安裝、設定和使用 。您可以全域安裝，以便所有 z/OS 使用者或在使用者層級使用。模式也詳細說明如何在來自 z/OS Unix System Services (USS) 的互動式命令列工作階段 AWS CLI 中使用 ，或用作批次任務。

## 先決條件和限制
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-prereqs"></a>

**先決條件**
+ **從 z/OS 到 的網路通訊 AWS**

  根據預設， AWS 服務 會在 TCP 連接埠 443 上使用 HTTPS 將請求 AWS CLI 傳送至 。若要 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 管理主控台建立。最佳實務是，除非 AWS 帳戶 需要根使用者，否則請勿將根使用者的存取金鑰用於任何任務。反之，[請建立新的管理員 IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin)，並[準備最低權限的許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#LeastPrivilege)** **，以使用存取金鑰設定使用者。建立使用者之後，您可以為此使用者[建立存取金鑰 ID 和私密存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)
+ **適用於 z/OS 的 IBM Python**

   AWS CLI 需要 Python 3.8 或更新版本。IBM 已使用適用於 z/OS [的 IBM Open Enterprise Python 在 z/OS ](https://www.ibm.com/products/open-enterprise-python-zos)上執行 Python。IBM Open Enterprise Python 可透過 Shopz SMP/E 免費取得，您也可以從 [IBM 網站](https://www.ibm.com/account/reg/signup?formid=urx-49465)下載 PAX 檔案。如需說明，請參閱適用於 z/OS 的 IBM Open Enterprise Python 安裝[和組態文件](https://www.ibm.com/docs/en/python-zos)。

**限制**
+ 此模式中提供的安裝指示**AWS CLI 僅適用於版本 1**。的最新版本 AWS CLI 是第 2 版。不過，此模式使用較舊的版本，因為第 2 版的安裝方法不同，而第 2 版可用的二進位可執行檔與 z/OS 系統不相容。

**產品版本**
+ AWS CLI 第 1 版
+ Python 3.8 或更高版本

## Architecture
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-architecture"></a>

**技術堆疊**
+ 執行 z/OS 的大型主機
+ 大型主機 z/OS UNIX 系統服務 (USS)
+ Mainframe Open MVS (OMVS) – z/OS UNIX shell 環境命令界面
+ 大型主機磁碟，例如直接存取儲存裝置 (DASD)
+ AWS CLI

**目標架構**

下圖顯示 IBM z/OS 上的 AWS CLI 部署。您可以從 AWS CLI 互動式使用者工作階段叫用 ，例如 SSH 和 telnet 工作階段。您也可以使用任務控制語言 (JCL) 或任何可呼叫 z/OS Unix shell 命令的程式，從批次任務叫用它。

![存取 AWS 服務的 IBM z/OS 大型主機上的 AWS CLI。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/c3883500-bd00-4c56-982a-26d5e0b8b093.png)


會透過 TCP/IP 網路與 AWS 服務 端點 AWS CLI 通訊。這種網路連線可以透過網際網路，或透過從客戶資料中心到 AWS 雲端 資料中心的私有 AWS Direct Connect 連線進行。通訊會使用 AWS 登入資料進行身分驗證並加密。

**自動化和擴展**

您可以使用 探索 的功能， AWS 服務 AWS CLI 並開發 USS shell 指令碼以從 z/OS 管理您的 AWS 資源。您也可以從 z/OS 批次環境執行 AWS CLI 命令和 shell 指令碼，也可以透過與大型主機排程器整合來自動化批次任務，以在特定排程執行。 AWS CLI 命令或指令碼可以在參數 (PARMs) 和程序 (PROCs) 內編碼，並且可以透過使用不同參數從不同批次任務呼叫 PARM 或 PROC 的標準方法進行擴展。

## 工具
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 是一種開放原始碼工具，可協助您 AWS 服務 透過命令列 shell 中的命令與 互動。

## 最佳實務
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-best-practices"></a>
+ 基於安全考量，請將存取許可限制在存放 AWS 存取金鑰詳細資訊的 USS 目錄。僅允許存取使用 的使用者或程式 AWS CLI。
+ 請勿將 AWS 帳戶 根使用者存取金鑰用於任何任務。反之，請為自己[建立新的管理員 IAM 使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html#create-an-admin)，並使用存取金鑰進行設定。


| 
| 
| IAM 使用者具有存在安全風險的長期登入資料。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。 | 
| --- |

## 史詩
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-epics"></a>

### 在 z/OS USS 上安裝 AWS CLI 版本 1
<a name="install-cli-version-1-on-z-os-uss"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 安裝 Python 3.8 或更新版本。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 管理員 | 
| 設定 USS 環境變數。 | 將環境變數新增至設定檔。您可以將這些項目新增至個別使用者 (`cliuser`) 的 `/u/cliuser/.profile` 檔案，或新增至所有使用者的 `/etc/profile` 檔案。此模式假設 Python 已安裝在 `/u/awscli/python`目錄中。如果您的安裝目錄不同，請相應地更新程式碼。<pre># Python configuration<br />export BPXKAUTOCVT='ON'<br />export CEERUNOPTS='FILETAG(AUTOCVT,AUTOTAG) POSIX(ON)'<br />export TAGREDIR_ERR=txt<br />export TAGREDIR_IN=txt<br />export TAGREDIR_OUT=txt<br /><br /># AWS CLI configuration<br />export PATH=/u/cliuser/python/bin:$PATH<br />export PYTHONPATH=/u/cliuser/python:$PYTHONPATH</pre> | 大型主機 z/OS 管理員 | 
| 測試 Python 安裝。 | 執行 **python** 命令：<pre>python --version</pre><br />輸出應確認您已正確安裝 Python 3.8 或更新版本。 | 大型主機 z/OS 管理員 | 
| 驗證或安裝 **pip**。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 管理員 | 
| 安裝 AWS CLI 版本 1。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 管理員 | 

### 從 z/OS 設定 AWS CLI 存取權
<a name="configure-cli-access-from-z-os"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定 AWS 存取金鑰、預設區域和輸出。 | [AWS CLI 文件](https://docs.aws.amazon.com/cli/v1/userguide/cli-configure-files.html)說明設定 AWS 存取權的不同選項。您可以根據組織的標準來選擇組態。此範例使用短期憑證組態。[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | AWS 管理員、大型主機 z/OS 管理員、大型主機 z/OS 開發人員 | 
| 測試 AWS CLI。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 管理員、大型主機 z/OS 開發人員 | 

### 選項 1 ‒ 從 USS 工作階段以互動方式將資料從 USS 傳輸到 Amazon S3
<a name="option-1-transfer-data-from-uss-to-s3-interactively-from-a-uss-session"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 下載並傳輸範例 CSV 檔案。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 應用程式開發人員、大型主機 z/OS 開發人員 | 
| 建立 S3 儲存貯體並上傳 CSV 檔案。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 應用程式開發人員、大型主機 z/OS 開發人員 | 
| 檢視 S3 儲存貯體和上傳的檔案。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)如需上傳物件的詳細資訊，請參閱 [Amazon S3 文件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)中的 Amazon S3 入門。 | 一般 AWS | 
| 在 Amazon Athena 資料表上執行 SQL 查詢。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)SQL 查詢的輸出會顯示 CSV 檔案的內容。 | General AWS，應用程式開發人員 | 

### 選項 2 ‒ 使用批次 JCL 將資料從 USS 傳輸到 Amazon S3
<a name="option-2-transfer-data-from-uss-to-s3-by-using-batch-jcl"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 上傳範例檔案。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 開發人員 | 
| 建立批次 JCL。 | 將批次 JCL 編碼如下，以建立目的地 S3 儲存貯體、上傳資料集，並列出儲存貯體內容。請務必將目錄名稱、檔案名稱和儲存貯體名稱取代為您自己的值。<pre>//AWSCLICP JOB ACTINFO1,'IBMUSER',CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1), <br />// NOTIFY=&SYSUID,TIME=1440 <br />//*---------------------------------------------------------<br />//* Sample job for AWS CLI <br />//*--------------------------------------------------------- <br />//USSCMD EXEC PGM=BPXBATCH<br />//STDERR  DD SYSOUT=*<br />//STDOUT  DD SYSOUT=*<br />//STDENV  DD *<br /> export PATH=/u/cliuser/python/bin:$PATH<br />//STDPARM DD *<br />SH<br /> export _BPXK_AUTOCVT=ON;<br /> aws s3 mb s3://DOC-EXAMPLE-BUCKET2;<br /> cp "//'USER.DATA.FIXED'" /tmp/tmpfile;<br /> aws s3 cp /tmp/tmpfile s3://DOC-EXAMPLE-BUCKET2/USER.DATA.FIXED; <br /> rm /tmp/tmpfile;<br /> aws s3 ls s3://DOC-EXAMPLE-BUCKET2;<br />/*</pre> | 大型主機 z/OS 開發人員 | 
| 提交批次 JCL 任務。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 大型主機 z/OS 開發人員 | 
| 檢視上傳至 S3 儲存貯體的資料集。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | 一般 AWS | 

## 相關資源
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-resources"></a>
+ [AWS CLI 第 1 版文件](https://docs.aws.amazon.com/cli/v1/userguide/cli-chap-welcome.html)
+ [AWS Mainframe Modernization CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/m2/)
+ [AWS Mainframe Modernization](https://aws.amazon.com/mainframe-modernization/)

## 其他資訊
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-additional"></a>

**ISPF 選項 3.4 中的 USER.DATA.FIXED （資料集清單公用程式）**

![以 z/OS 檢視資料集的內容。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/96c25145-3d4d-4007-99f6-5eeb9e88642d.png)


**已提交批次任務的 SYSOUT**

![任務日誌的標準輸出。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/4e3188d8-287f-4ced-8c29-80a01cbbdf50/images/03fffbd2-7d2b-43b2-bf14-736b3d150e38.png)


## 附件
<a name="attachments-4e3188d8-287f-4ced-8c29-80a01cbbdf50"></a>

若要存取與本文件相關聯的其他內容，請解壓縮下列檔案： [attachment.zip](samples/p-attach/4e3188d8-287f-4ced-8c29-80a01cbbdf50/attachments/attachment.zip)