

AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) は、新規のお客様に公開されなくなりました。 AWS Mainframe Modernization Service (マネージドランタイム環境エクスペリエンス) と同様の機能については、 AWS Mainframe Modernization Service (セルフマネージドエクスペリエンス) をご覧ください。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、[AWS 「 Mainframe Modernization の可用性の変更](https://docs.aws.amazon.com/m2/latest/userguide/mainframe-modernization-availability-change.html)」を参照してください。

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

# M2SFTP バッチユーティリティ
<a name="m2sftp"></a>

M2SFTP は、Secure File Transfer Protocol (SFTP) を使用してシステム間で安全なファイル転送を実行するように設計された JCL ユーティリティプログラムです。このプログラムは PuTTY SFTP クライアント (`psftp`) を使用して実際のファイル転送を実行します。このプログラムはメインフレームの FTP ユーティリティプログラムと同様に機能し、ユーザー認証とパスワード認証を使用します。

**注記**  
パブリックキー認証はサポートされていません。

メインフレームの FTP JCL を SFTP を使用するように変換するには、`PGM=FTP` を `PGM=M2SFTP` に変更してください。

**Topics**
+ [サポートされているプラットフォーム](#m2sftp-platforms)
+ [依存関係をインストールする](#m2sftp-dependencies)
+ [AWS Mainframe Modernization Managed の M2SFTP を設定する](#m2sftp-configure-managed)
+ [Amazon EC22 (WorkSpaces アプリケーションを含む) で Mainframe Modernization ランタイムに M2SFTP を設定する AWS WorkSpaces](#m2sftp-configure-customer-infra)
+ [サンプル JCL](#m2sftp-jcl)
+ [PuTTY SFTP (PSFTP) クライアントコマンドリファレンス](#m2sftp-cmd-ref)
+ [次の手順](#m2sftp-next)

## サポートされているプラットフォーム
<a name="m2sftp-platforms"></a>

M2SFTP は、以下のどのプラットフォームでも使用できます。
+ AWS Mainframe Modernization Rocket Software (旧 Micro Focus) マネージド
+ Rocket Software Runtime (Amazon EC2)
+ Rocket Software Enterprise Developer (ED) および Rocket Software Enterprise Server (ES) 製品のすべてのバリアント。

## 依存関係をインストールする
<a name="m2sftp-dependencies"></a>

**PuTTY SFTP クライアントを Windows にインストールするには**
+ [PuTTY SFTP](https://www.putty.org/) クライアントをダウンロードしてインストールします。

**PuTTY SFTP クライアントを Linux にインストールするには**
+ PuTTY SFTP クライアントをインストールするには、以下のコマンドを実行します。

  ```
    sudo yum -y install putty
  ```

## AWS Mainframe Modernization Managed の M2SFTP を設定する
<a name="m2sftp-configure-managed"></a>

移行したアプリケーションが AWS Mainframe Modernization Managed で実行されている場合は、次のように M2SFTP を設定する必要があります。
+ MFFTP に適した Rocket Enterprise Server 環境変数を設定します。ここにいくつか例を挙げます。
  + `MFFTP_TEMP_DIR`
  + `MFFTP_SENDEOL`
  + `MFFTP_TIME`
  + `MFFTP_ABEND`

  これらの変数は必要な数だけ設定することも、多く設定することもできます。これらの変数は、`ENVAR DD` ステートメントを使用して JCL で設定できます。これらの変数の詳細については、「Micro Focus ドキュメント」の「[MFFTP Control Variables](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html)」を参照してください。

設定をテストするには、「[サンプル JCL](#m2sftp-jcl)」を参照してください。

## Amazon EC22 (WorkSpaces アプリケーションを含む) で Mainframe Modernization ランタイムに M2SFTP を設定する AWS WorkSpaces
<a name="m2sftp-configure-customer-infra"></a>

移行したアプリケーションが Amazon EC2 の AWS Mainframe Modernization ランタイムで実行されている場合は、次のように M2SFTP を設定します。

1. [Micro Focus JES プログラムパス](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-BC8A1796-9EDE-48EB-8363-31C9BDE7F96B.html)をバッチユーティリティのバイナリロケーションが含まれるように変更します。複数のパスを指定する必要がある場合、Linux ではコロン (`:`) を使用してパスを区切り、Windows ではセミコロン (`;`) を使用してパスを区切ります。
   + Linux: `/opt/aws/m2/microfocus/utilities/64bit`
   + Windows (32 ビット): `C:\AWS\M2\MicroFocus\Utilities\32bit`
   + Windows (64 ビット): `C:\AWS\M2\MicroFocus\Utilities\64bit`

1. MFFTP に適した Rocket Enterprise Server 環境変数を設定します。ここにいくつか例を挙げます。
   + `MFFTP_TEMP_DIR`
   + `MFFTP_SENDEOL`
   + `MFFTP_TIME`
   + ``MFFTP\$1ABEND

   これらの変数は必要な数だけ設定することも、多く設定することもできます。これらの変数は、`ENVAR DD` ステートメントを使用して JCL で設定できます。これらの変数の詳細については、「Micro Focus ドキュメント」の「[MFFTP Control Variables](https://www.microfocus.com/documentation/enterprise-developer/ed80/ED-Eclipse/GUID-3F94BBC8-CB97-4642-A4A7-4235C0C079E2.html)」を参照してください。

設定をテストするには、「[サンプル JCL](#m2sftp-jcl)」を参照してください。

## サンプル JCL
<a name="m2sftp-jcl"></a>

インストールのテストには、以下のサンプル JCL ファイルのいずれかを使用します。

**M2SFTP1.jcl**

この JCL は、M2SFTP を呼び出してリモート SFTP サーバーにファイルを送信する方法を示しています。`ENVVAR DD` ステートメントに設定されている環境変数に注目してください。

```
//M2SFTP1 JOB 'M2SFTP1',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to send a file to SFTP server* 
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP,
//            PARM='127.0.0.1 (EXIT=99 TIMEOUT 300'
//*
//SYSFTPD  DD  *
RECFM FB
LRECL 80
SBSENDEOL CRLF
MBSENDEOL CRLF
TRAILINGBLANKS FALSE
/*
//NETRC    DD  *
machine 127.0.0.1 login sftpuser password sftppass
/*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//STDOUT   DD  SYSOUT=*
//INPUT    DD  *
type a
locsite notrailingblanks
cd files
put 'AWS.M2.TXT2PDF1.PDF' AWS.M2.TXT2PDF1.pdf   
put 'AWS.M2.CARDDEMO.CARDDATA.PS' AWS.M2.CARDDEMO.CARDDATA.PS1.txt
quit
/*
//ENVVAR   DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
```

**M2SFTP2.jcl**

この JCL は、M2SFTP を呼び出してリモート SFTP サーバーからファイルを受信する方法を示しています。`ENVVAR DD` ステートメントに設定されている環境変数に注目してください。

```
//M2SFTP2 JOB 'M2SFTP2',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.* 
//* All Rights Reserved.* 
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to receive a file from SFTP server* 
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP
//*
//SYSPRINT DD  SYSOUT=*
//OUTPUT   DD  SYSOUT=*
//STDOUT   DD  SYSOUT=*
//INPUT    DD  *
open 127.0.0.1
sftpuser
sftppass
cd files
locsite recfm=fb lrecl=150
get AWS.M2.CARDDEMO.CARDDATA.PS.txt +
'AWS.M2.CARDDEMO.CARDDATA.PS2' (replace
quit
/*
//ENVVAR   DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
```

**注記**  
FTP 認証情報を NETRC ファイルに保存し、アクセスを許可されたユーザーのみに制限することを強くお勧めします。

## PuTTY SFTP (PSFTP) クライアントコマンドリファレンス
<a name="m2sftp-cmd-ref"></a>

PSFTP クライアントはすべての FTP コマンドをサポートしているわけではありません。次のリストは、PSFTP がサポートするすべてのコマンドを示しています。


| コマンド | 説明 | 
| --- | --- | 
|  \$1  |  ローカルコマンドを実行します  | 
|  bye  |  SFTP セッションを終了します  | 
|  cd  |  リモート作業ディレクトリを変更します  | 
|  chmod  |  ファイル権限とモードを変更します  | 
|  close  |  SFTP セッションを終了しますが、PSFTP は終了しません  | 
|  del  |  リモートサーバーのファイルを削除します  | 
|  dir  |  リモートファイルを一覧表示します  | 
|  exit  |  SFTP セッションを終了します  | 
|  get  |  サーバーのファイルをローカルマシンにダウンロードします  | 
|  help  |  ヘルプを表示します  | 
|  lcd  |  ローカル作業ディレクトリを変更します  | 
|  lpwd  |  ローカル作業ディレクトリを表示します  | 
|  ls  |  リモートファイルを一覧表示します  | 
|  mget  |  複数のファイルを一度にダウンロードします  | 
|  mkdir  |  リモートサーバーにディレクトリを作成します  | 
|  mput  |  複数のファイルを一度にアップロードします  | 
|  mv  |  リモートサーバーのファイルを移動または名前変更します  | 
|  開放  |  ホストに接続します  | 
|  put  |  ローカルマシンのファイルをサーバーにアップロードします  | 
|  pwd  |  リモート作業ディレクトリを表示します  | 
|  quit  |  SFTP セッションを終了します  | 
|  reget  |  ファイルのダウンロードを続けます  | 
|  ren  |  リモートサーバーのファイルを移動または名前変更します  | 
|  reput  |  ファイルのアップロードを続けます  | 
|  rm  |  リモートサーバーのファイルを削除します  | 
|  rmdir  |  リモートサーバーのディレクトリを削除します  | 

## 次の手順
<a name="m2sftp-next"></a>

SFTP を使用して Amazon Simple Storage Service にファイルをアップロードおよびダウンロードするには、次のブログ投稿で説明されているように AWS Transfer Family、M2SFTP を と組み合わせて使用できます。
+ [AWS SFTP 論理ディレクトリを使用してシンプルなデータ分散サービスを構築する](https://aws.amazon.com/blogs/storage/using-aws-sftp-logical-directories-to-build-a-simple-data-distribution-service/)
+ [AWS Transfer for SFTP を使用するためのパスワード認証を有効にする AWS Secrets Manager](https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-for-sftp-using-aws-secrets-manager/)