IDMC(IICS)のCloud Mass Ingestionを利用してFTPサーバからS3にファイル転送する方法

こんにちは。SCSK石原です。

Intelligent Data Management Cloud(IDMC)のInformatica Intelligent Cloud Services(IICS) を利用して、AWS上でCloud Mass Ingestionという機能を利用してFTPサーバからS3にファイル連携する設定について解説します。IDMCの接続設定ではまりポイントがありましたので参考にしてください。

Cloud Mass Ingestionとは、データベースやファイルをデータソースにしてターゲットにロードする「データインジェスト」の機能です。近年では、クラウドDWHの性能が向上し従来のETLではなくELTのアーキテクチャが利用されることがあります。その抽出・ロードを担う機能となります。

筆者の理解としては、IDMCとはInformatica のデータマネジメントプラットフォーム全体を指しており、IICSについてはInformatica が提供するクラウドサービスを表しています。

概要

事前の準備として環境を用意します。環境構成は下記の通りです。

サーバ OS 導入ソフトウェア
Secure Agentサーバ RHEL8.7 Secure Agentをインストール
FTPサーバ Amazon Linux 2 vsftpdをインストール

Cloud Mass Ingestionを利用して、FTPサーバからSecure Agentサーバを経由してS3にファイルを転送していきます。

 

手順

IDMC>管理者>接続

各リソースに接続するための設定を行います。今回はFTPからS3への連携のため、2つ接続を作成します。

FTP接続(Advanced FTP V2)

接続(Advanced FTP V2)の設定値は下記の通りです。今回はプロキシ環境ではないので、ProxyServerの設定は空白となっています。

List Parserの値はデフォルトでMLSDが選択されています。この値でもテスト接続自体は成功しますが、Cloud Mass Ingestionの実行時にエラーとなります。今回のFTPサーバはLinux(Amazon Linux 2)ですが、Unixを選択することで該当のエラーが解消されました。

Amazon S3接続(Amazon S3 v2)

接続(Amazon S3 v2)の設定値は下記の通りです。今回はアクセスキーを利用してAmazon S3に接続します。

[BucketName]と[FolderName]はご利用のもので設定いただければと思います。

今回の構成では、NATGW経由でS3にアクセスしています。大量のファイルを転送する場合はS3のVPCE(ゲートウェイ)を利用することで通信コストを下げることができます。S3だけでなく、各種VPCEを利用する場合は、「xxx VPC Endpoint Type」を指定ください。

IDMC>一括取り込み>ファイル

IDMCの画面から、「一括取り込み」をクリックします。今回はFTP→S3のファイル転送ですので、「ファイル取り込みタスク」をクリックします。

①定義では任意のタスク名を決定します。この検証では「mi_insp004_01_ftp2s3」と定義しています。

②ソースではFTPからデータを取得するので、先ほど作成した「Advanced FTP V2」の接続設定をします。

続けて、どのファイルを転送するかを定義します。今回は下記のファイルを用意していますので、「ファイルパターン」にチェックボックスを入れて、「testdata_??????.csv」と定義しました。ここで「?」は任意の1文字を表します。

  • /work/testdata_202301.csv
  • /work/testdata_202302.csv
  • /work/testdata_202303.csv
  • /work/testdata_202304.csv
  • /work/testdata_202305.csv
  • /work/testdata_202306.csv

また、一度取り込んだファイルを処理する必要はないので、「重複するファイルをスキップ」を設定します。

ここでは、ファイル取得後の操作も「ファイルのピックアップ後」にて指定することができます。例えば、一度取り込んだファイルの名前変更(プレフィックスを付与)FTPサーバ側でも処理済みであることがわかるような仕掛けも作れそうです。
③ターゲットを指定します。パフォーマンスが出ない場合、必要に応じて設定値を変更します。
Amazon S3 V2ターゲットのプロパティ
 

④アクションにて、圧縮処理や暗号化が行えます。

ファイル処理アクションの設定

⑤ランタイムオプションで実行に関する設定を行います。定期的に実行する場合はスケジュール設定を実施してください。そのほかにも通知設定などもあります。

今回の設定は以上です。

初回実行

手動にて、Cloud Mass Ingestionのファイル取り込みタスクを実行しました。EC2上のFTPサーバからAmazon S3にファイルが転送されて正常にジョブが終了していることがわかります。

2回目以降(差分取り込み)

差分取り込みを確認をするため、下記のファイルをFTPサーバーに追加しました。

  • /work/testdata_202307.csv

重複するファイルは処理されず、差分のファイルのみ取り込めていることが確認できました。

今回の確認は以上です。

終わりに

Cloud Mass Ingestionを利用して、ETLを作成することなくウィザード形式で設定するだけで簡単にファイルを取り込むことができました。

便利な機能なのでぜひ活用したいですね!

タイトルとURLをコピーしました