こんにちは。SCSK石原です。
Intelligent Data Management Cloud(IDMC)のInformatica Intelligent Cloud Services(IICS) を利用して、AWS上でCloud Mass Ingestionという機能を利用してFTPサーバからS3にファイル連携する設定について解説します。IDMCの接続設定ではまりポイントがありましたので参考にしてください。
Cloud Mass Ingestionとは、データベースやファイルをデータソースにしてターゲットにロードする「データインジェスト」の機能です。近年では、クラウドDWHの性能が向上し従来のETLではなくELTのアーキテクチャが利用されることがあります。その抽出・ロードを担う機能となります。
概要
事前の準備として環境を用意します。環境構成は下記の通りです。
サーバ | 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の設定は空白となっています。
Amazon S3接続(Amazon S3 v2)
接続(Amazon S3 v2)の設定値は下記の通りです。今回はアクセスキーを利用してAmazon S3に接続します。
[BucketName]と[FolderName]はご利用のもので設定いただければと思います。
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
また、一度取り込んだファイルを処理する必要はないので、「重複するファイルをスキップ」を設定します。
④アクションにて、圧縮処理や暗号化が行えます。
⑤ランタイムオプションで実行に関する設定を行います。定期的に実行する場合はスケジュール設定を実施してください。そのほかにも通知設定などもあります。
今回の設定は以上です。
初回実行
手動にて、Cloud Mass Ingestionのファイル取り込みタスクを実行しました。EC2上のFTPサーバからAmazon S3にファイルが転送されて正常にジョブが終了していることがわかります。
2回目以降(差分取り込み)
差分取り込みを確認をするため、下記のファイルをFTPサーバーに追加しました。
- /work/testdata_202307.csv
重複するファイルは処理されず、差分のファイルのみ取り込めていることが確認できました。
今回の確認は以上です。
終わりに
Cloud Mass Ingestionを利用して、ETLを作成することなくウィザード形式で設定するだけで簡単にファイルを取り込むことができました。
便利な機能なのでぜひ活用したいですね!