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

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

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

作成:ルイス・グスタボ・ダンタス (AWS)

環境:本稼働

出典:メインフレーム

ターゲット:Amazon S3

Rタイプ:該当なし

ワークロード:IBM

テクノロジー: メインフレーム、ストレージとバックアップ、モダナイゼーション

AWS サービス: AWS Transfer Family、Amazon S3

[概要]

モダナイゼーションの一環として、オンプレミスサーバーと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 にアップロードされます。ファイルにバイナリデータやパックデータが含まれていない場合は、sftp 「ascii サブコマンド」 (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、Amazon S3 および Amazon EFS への定期的な business-to-business ファイル転送を安全にスケーリングできます。

エピック

タスク説明必要なスキル

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. ID プロバイダーでサービス管理を選択し、次へを選択します。

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

  5. アクセスには内部を選択します。

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

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

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

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

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

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

注:SFTP サーバーの設定方法の詳細については、「SFTP 対応サーバーの作成」 (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. 追加を選択します。

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 シェルの詳細については、「z/OS シェルの概要」 (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 シェルでコマンドを実行する方法の詳細については、「BPXBATCH ユーティリティ」 (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 ユーザーズ・ガイド」 (IBM ドキュメント) を参照してください。

メインフレーム、JCL、ISPF

File Transferを検証します。

  1. AWS マネジメントコンソールにサインインし、「Amazon S3 コンソール」を開いて、ナビゲーションペインから Buckets を選択します。

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

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

AWS 全般

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

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

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

ジョブスケジューラー

関連リソース