Transfer Family を使用して、メインフレームファイルを Amazon S3 に直接移動する - AWS 規範ガイダンス

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

Transfer Family を使用して、メインフレームファイルを Amazon S3 に直接移動する

Amazon Web Services、Luis Gustavo Dantas

概要

モダナイゼーションの一環として、オンプレミスサーバーと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 クラウドにファイルを転送します。AWS Transfer Family とSecure Shell (SSH File Transfer Protocol (SFTP) を使用してメインフレームのファイルを Amazon S3 に直接アップロードすることで、この間接的な方法を回避できます。

前提条件と制限

前提条件

機能制限

  • SFTP はデフォルトでバイナリモードでファイルを転送します。つまり、ファイルは EBCDIC エンコーディングを保持したまま Amazon S3 にアップロードされます。ファイルにバイナリデータやパックデータが含まれていない場合は、sftpascii サブコマンド」(IBM ドキュメント) を使用して転送中にファイルをテキストに変換できます。

  • ターゲット環境でこれらのファイルを使用するには、パックされた「バイナリコンテンツを含むメインフレームファイル」 (AWS 規範ガイダンス) を解凍する必要があります。

  • Amazon S3 オブジェクトのサイズは最低 0 バイトから最大 5 TB までの範囲に設定することができます。Amazon S3 の諸機能について詳しくは、「Amazon S3 よくある質問」 を参照してください。

アーキテクチャ

ソーステクノロジースタック

  • Job 制御言語 (JCL)

  • z/OS UNIX シェルと ISPF

  • SFTP

  • VSAM とフラットファイル

ターゲットテクノロジースタック

  • Transfer Family

  • Amazon S3

  • Amazon Virtual Private Cloud (Amazon VPC)

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

次の図は、Transfer Family と SFTP を使用してメインフレームファイルを S3 バケットに直接アップロードするためのリファレンスアーキテクチャを示しています。

Transfer Family と SFTP を使用してメインフレームファイルを S3 バケットに直接アップロードする

この図表は、次のワークフローを示しています:

  1. JCL ジョブを使用して、Direct Connect を通じてメインフレームファイルをレガシーメインフレームから AWS クラウドに転送します。

  2. Direct Connect を使用すると、ネットワークトラフィックを AWS グローバルネットワークに留め、パブリックインターネットをバイパスできます。Direct Connect では、ネットワーク速度も向上し、50 Mbps から始まり、100 Gbps までスケールアップできます。

  3. VPC エンドポイントは、パブリックインターネットを使用せずに VPC リソースとサポートされているサービス間の接続を可能にします。Transfer Family と Amazon S3 へのアクセスは、2 つのプライベートサブネットとアベイラビリティーゾーンにある伸縮自在なネットワークインターフェイスを通じて行われるため、高可用性が実現されます。

  4. Transfer Family は、ユーザーを認証し、SFTP を使用してレガシー環境からファイルを受け取り、S3 バケットに移動します。

自動化とスケール

Transfer Family サービスの導入後は、JCL ジョブを SFTP クライアントとして使用して、メインフレームから Amazon S3 に無制限の数のファイルを転送できます。メインフレームファイルを転送する準備ができたら、メインフレームのバッチジョブスケジューラを使用して SFTP ジョブを実行することで、File Transfer を自動化することもできます。

ツール

  • Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

  • Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。

  • AWS Transfer Family」 を使用すると、SFTP、FTPS、および FTP プロトコルを使用して、Amazon S3 と Amazon EFS への定期的な企業間 File Transfer を安全にスケールすることができます。

エピック

タスク説明必要なスキル

S3 バケットを作成する。

S3 バケットを作成して」、レガシー環境から転送するファイルをホストします。

AWS 全般

IAM ロールとポリシーを作成します。

Transfer Family は、AWS Identity and Access Management (IAM) ロールを使用して、前の手順で作成した S3 バケットへのアクセスを許可します。

以下の「IAM ポリシー」 を含む 「IAM ロールを作成」します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserFolderListing", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::<your-bucket-name>" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObjectAcl", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:PutObjectAcl", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::<your-bucket-name>/*" } ] }
注記

IAM ロールを作成するときは、Transfer ユースケースを選択する必要があります。

AWS 全般
タスク説明必要なスキル

SFTP サーバを作成します。

  1. AWS マネジメントコンソールにサインインして [Transfer Family コンソール] を開き、[サーバーの作成] を選択します。

  2. SFTP (SSH File Transfer Protocol) – Secure シェルプロトコルによる File Transfer のみを選択し、[次へ] を選択します。

  3. [プロバイダーを指定][サービス管理] を選択し、[次へ] を選択します。

  4. Edit endpoint type (エンドポイントタイプ) で VPC hosted (VPC ホステッド) を選択します。

  5. [アクセス][内部] を選択します。

  6. [VPC] で、ユーザーの VPC を選択します。

  7. [アベイラビリティーゾーン] セクションでは、アベイラビリティーゾーンとサブネットを選択します。

  8. [セキュリティグループ] セクションでセキュリティグループを選択し、[次へ] を選択します。

  9. [ドメイン][Amazon S3] を選択し、[次へ] を選択します。

  10. [追加詳細の設定] ページのオプションはデフォルトのままにして、[次へ] を選択します。

  11. Create server (サーバーの作成) を選択します。

注記

SFTP サーバーの設定方法の詳細については、「Create an SFTP-enabled server」(AWS Transfer Family ユーザーガイド) を参照してください。

AWS 全般

サーバーのアドレスを取得します。

  1. [Transfer Family コンソール] を開き、[サーバー ID 列] でサーバー ID を選択します。

  2. [エンドポイントの詳細] セクションの [エンドポイントタイプ] で、エンドポイント ID を選択します。これにより、Amazon EC2 コンソールにガイドします。

  3. Amazon VPC コンソールの [詳細] タブで、[DNS 名] の横にある DNS 名を探します。

AWS 全般

SFTP クライアント key pair を作成します。

Microsoft Windows」 または 「macOS/Linux/UNIX」 用の SSH key pair を作成します。

AWS 全般、SSH

SFTP ユーザーを作成します。

  1. [Transfer Family コンソール] を開き、ナビゲーションペインから [サーバー] を選択し、サーバーを選択します。

  2. [サーバー ID] 列でサーバー ID を選択し、[ユーザーを追加] を選択します。

  3. [ユーザー名] には SSH key pair ユーザー名と一致するユーザー名を入力します。

  4. [ロール] には前に作成した IAM ロールを選択します。

  5. [ホームディレクトリ] には前の手順で作成した S3 バケットを選択します。

  6. [SSH 公開鍵] には前に作成した key pair を入力します

  7. [Add] (追加) を選択します。

AWS 全般
タスク説明必要なスキル

SSH 秘密鍵をメインフレームに送信します。

SFTP または SCP を使用して SSH プライベートキーをレガシー環境に送信します。

Transfer for SFTP

sftp [USERNAME@mainframeIP] [password] cd [/u/USERNAME] put [your-key-pair-file]

SCP の例

scp [your-key-pair-file] [USERNAME@MainframeIP]:/[u/USERNAME]

次に、後でFile Transferバッチジョブ (例: /u/CONTROLM) を実行するユーザー名で SSH キーを z/OS UNIX ファイルシステムに保存します。 

注記

z/OS Unix シェルについて、詳しくは「An introduction to the z/OS shells」(IBM ドキュメント) をご確認ください。

メインフレーム、z/OS UNIX シェル、FTP、SCP

JCL SFTP クライアントを作成します。

メインフレームにはネイティブ SFTP クライアントがないため、BPXBATCH ユーティリティを使用して z/OS Unix シェルから SFTP クライアントを実行する必要があります。

ISPF エディターで JCL SFTP クライアントを作成します。例えば、次のようになります。

//JOBNAM JOB ... //********************************************************************** //SFTP EXEC PGM=BPXBATCH,REGION=0M //STDPARM DD * SH cp "//'MAINFRAME.FILE.NAME'" filename.txt; echo 'put filename.txt' > uplcmd; sftp -b uplcmd -i ssh_private_key_file ssh_username@<transfer service ip or DNS>; //SYSPRINT DD SYSOUT=* //STDOUT DD SYSOUT=* //STDENV DD * //STDERR DD SYSOUT=*
注記

z/OS Unix シェルでコマンドを実行する方法について、詳しくは「The BPXBATCH utility」(IBM ドキュメント) をご確認ください。z/OS で JCL ジョブを作成または編集する方法の詳細については、「ISPF とは」 および 「ISPF エディター」 (IBM ドキュメンテーション)を参照してください。

JCL、メインフレーム、z/OS UNIX シェル

JCL SFTP クライアントを実行します。

  1. ISPF エディタで SUB と入力し、JCL ジョブが作成されたら Enter キーを押します。

  2. SDSF でメインフレームのFile Transferバッチジョブのアクティビティを監視します。

注記

バッチジョブのアクティビティを確認する方法について、詳しくは「z/OS SDSF User's Guide 」(IBM ドキュメント) をご確認ください。

メインフレーム、JCL、ISPF

File Transferを検証します。

  1. AWS マネジメントコンソールにサインインし、[Amazon S3 コンソール] を開き、ナビゲーションペインから [バケット] を選択します。

  2. Transfer Family に関連付けられているバケットを選択します。

  3. [オブジェクト] タブの [オブジェクト] セクションで、メインフレームから転送したファイルを見つけます。

AWS 全般

JCL SFTP クライアントを自動化します。

ジョブスケジューラを使用して JCL SFTP クライアントを自動的にトリガーします。

注記

BMC Control-MCA Workload Automation などのメインフレームジョブスケジューラを使用して、時間やその他のバッチジョブの依存関係に基づいて File Transfer のバッチジョブを自動化できます。

ジョブスケジューラー

関連リソース