

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# をインストールして IBM z/OS AWS のサービス からアクセスする AWS CLI
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli"></a>

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

## 概要
<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/) は、コマンドラインシェルでコマンドを使用して複数の AWS サービスを管理するためのオープンソースツールです。最小限の構成で、コマンドプロンプト、ターミナル、bash シェルなどのコマンドラインセッションからコマンドを実行し、ブラウザベースの AWS マネジメントコンソールで提供される機能と同等の機能を実装することができます。

のサービスとしての AWS インフラストラクチャ (IaaS) の管理、管理、およびアクセス機能はすべて AWS マネジメントコンソール 、 AWS API および で利用できます AWS CLI。IBM z/OS メインフレーム AWS CLI に をインストールして、z/OS AWS のサービス から直接アクセス、管理、操作できます。 AWS CLI を使用すると、ユーザーとアプリケーションは次のようなさまざまなタスクを実行できます。
+ z/OS と Amazon Simple Storage Service (Amazon S3) オブジェクトストレージ間でファイルまたはデータセットを転送し、バケットのコンテンツを表示する
+  AWS Mainframe Modernization 環境でバッチジョブを開始するなど、さまざまな AWS リソースを開始および停止する
+  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**

  デフォルトでは、 は TCP ポート 443 で HTTPS AWS のサービス を使用して にリクエスト 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 credentials**

  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/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)
+ **IBM Python for z/OS**

  には Python 3.8 以降 AWS CLI が必要です。IBM では、[IBM Open Enterprise Python for z/OS](https://www.ibm.com/products/open-enterprise-python-zos) を使用して z/OS で Python を実行することができます。IBM Open Enterprise Python は Shopz SMP/E から無料で入手できます。または、[IBM のウェブサイト](https://www.ibm.com/account/reg/signup?formid=urx-49465)から PAX ファイルをダウンロードすることもできます。手順については、IBM Open Enterprise Python for z/OS の[インストールと設定のドキュメント](https://www.ibm.com/docs/en/python-zos)を参照してください。

**制限事項**
+ このパターンに記載しているインストール手順は、**AWS CLI バージョン 1 のみ**に適用されます。の最新バージョン AWS CLI はバージョン 2 です。ただしこのパターンではバージョン 2 のインストール方法が異なり、バージョン 2 で利用できるバイナリ実行可能ファイルは z/OS システムとは互換性がないため、古いバージョンが使用されます。

**製品バージョン**
+ AWS CLI バージョン 1
+ Python 3.8 以降

## アーキテクチャ
<a name="access-aws-services-from-ibm-z-os-by-installing-aws-cli-architecture"></a>

**テクノロジースタック**
+ z/OS を実行するメインフレーム
+ Mainframe z/OS UNIX System Services (USS)
+ Mainframe Open MVS (OMVS) – z/OS UNIX シェル環境コマンドインターフェイス
+ ダイレクトアクセスストレージデバイス (DASD) などのメインフレームディスク
+ AWS CLI

**ターゲットアーキテクチャ**

次の図は、IBM z/OS での AWS CLI デプロイを示しています。SSH や telnet セッションなどのインタラクティブなユーザーセッション AWS CLI から を呼び出すことができます。また、ジョブ制御言語 (JCL) を使用してバッチジョブから呼び出すか、z/OS Unix シェルコマンドを呼び出せる任意のプログラムから呼び出すこともできます。

![\[AWS サービスにアクセスする IBM z/OS メインフレーム上の AWS CLI。\]](http://docs.aws.amazon.com/ja_jp/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 シェルスクリプトを開発して z/OS から AWS リソースを管理できます。z/OS バッチ環境から AWS CLI コマンドとシェルスクリプトを実行することもできます。また、メインフレームスケジューラと統合することで、バッチジョブを特定のスケジュールで実行するように自動化できます。 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 のサービス を使用して を操作するのに役立つオープンソースツールです。

## ベストプラクティス
<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>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Python 3.8 以降をインストールします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe 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> | Mainframe z/OS 管理者 | 
| Python のインストールをテストします。 | **Python** コマンドを実行します。<pre>python --version</pre>出力から Python 3.8 以降が正しくインストールされていることを確認できます。 | Mainframe z/OS 管理者 | 
| **pip** を検証またはインストールします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe z/OS 管理者 | 
|  AWS CLI バージョン 1 をインストールします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe z/OS 管理者 | 

### z/OS からの AWS CLI アクセスを設定する
<a name="configure-cli-access-from-z-os"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  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/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | AWS 管理者、Mainframe z/OS 管理者、Mainframe z/OS デベロッパー | 
| をテストします AWS CLI。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe z/OS 管理者、Mainframe z/OS デベロッパー | 

### オプション 1 — USS セッションから Amazon S3 にインタラクティブにデータを転送します。
<a name="option-1-transfer-data-from-uss-to-s3-interactively-from-a-uss-session"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| サンプル CSV ファイルをダウンロードして転送します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | アプリのデベロッパー、Mainframe z/OS のデベロッパー | 
| S3 バケットを作成して CSV ファイルをアップロードします。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | アプリのデベロッパー、Mainframe z/OS のデベロッパー | 
| S3 バケットとアップロードしたファイルを表示します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)詳細については、Amazon SNS ドキュメントの「[Amazon S3 の開始方法](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)」を参照してください。 | AWS 全般 | 
| Amazon Athena テーブルで SQL クエリを実行します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html)SQL クエリの出力には、CSV ファイルの内容が表示されます。 | AWS 全般、アプリ開発者 | 

### オプション 2 ‒ バッチ JCL を使用して USS から Amazon S3 にデータを転送する
<a name="option-2-transfer-data-from-uss-to-s3-by-using-batch-jcl"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| サンプルファイルをアップロードする。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe 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> | Mainframe z/OS のデベロッパー | 
| バッチ JCL ジョブを送信します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/access-aws-services-from-ibm-z-os-by-installing-aws-cli.html) | Mainframe z/OS のデベロッパー | 
| S3 バケットにアップロードされたデータセットを表示します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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/ja_jp/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/ja_jp/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)」