3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HULFT SquareでEC2インスタンス上のHULFTとファイル連携してみた(HULFT Square集信⇐HULFT配信)

Last updated at Posted at 2023-01-17

はじめに

こんにちは、すぎもんです:grinning:
今回は、当社の新たなサービス「HULFT Square」のファイル転送サービス(Transfer)を使って、HULFT Squareでの集信をしてみようと思います。

HULFT Squareとは?

HULFT Squareとは、データを「安全・安心・柔軟に」連携するプラットフォームサービス、いわゆるiPaaSです。「ファイル転送のHULFT」×「データ連携のDataSpider」×「フルマネージドサービス」。これらの側面から、オンプレやクラウドなど分散されたデータを一元化し、データ活用することを可能とするサービスです。

記事構成

今回の記事構成は、HULFT Squareで集配信してみた全4回シリーズ になります。環境構成をまず①②で理解して、③④と進んで読んでいただくのがおすすめです。
       ①HULFT Squareと外部通信する仕組みについて、AWS PrivateLinkなど含めて整理してみた
       ②HULFT Squareでのファイル集配信におけるAWS環境構築をしてみた
       ③HULFT Square配信 ⇔ HULFT集信(EC2上)やってみた
 ★本記事★ ④HULFT Square集信 ⇔ HULFT配信(EC2上)やってみた

今回やること

今回は、HULFT Squareのファイル転送サービスである「Transferサービス」を使います。AWS EC2インスタンス上のHULFTからファイル配信をして、HULFT Squareで集信してみます。
image.png
「集配信」といえど、HULFT SquareはHULFTとは違い、ファイル転送(Transfer)サービスを使ってファイルを転送します。HULFTとは一味違う、クラウドサービスならではの概念や構成になっていますので、HULFTを知らない方はもちろん、知っている方はその違いを見付けながら、読んでいただけたらと思います。

今回実施する検証環境の概要図は、下記の通りです。
image.png
お客様VPC環境のプライベートサブネット上のインスタンスにあるHULFTとファイルのやりとりをします。HULFT Squareでの通信には、AWS PrivateLinkを利用します。

また、環境面での事前準備として、下記3点を確認してください。
①AWSアカウントIDの取得
AWS上お客様環境(VPCエンドポイント)とHULFT Square(VPCエンドポイントサービス)をAWSのPrivateLinkで接続するために必要。
②HULFT Transferサービス使用のためのライセンスの取得
契約に応じて「Transfer Receiverライセンス」もしくは「Transfer Receiver&Senderライセンス」が必要。
③HULFT Transferサービス使用のための権限付与
 必要な権限が付与されているか確認。

HULFT Squareと接続するための環境設定の詳細は下記①②をご一読ください。
    ①HULFT Squareと外部通信する仕組みについて整理してみた
    ②HULFT Squareでのファイル集配信における環境構築をしてみた

設定作業の流れ

HULFT Squareのファイル転送サービス(Transfer)で、ファイル集信をするために必要な設定は下記の通りです。
HULFT Squareの設定
  ①集信ファイル用のストレージ設定
  ②HULFT Transferサービス(インバウンド)の作成
   ※Transferサービス作成時にエンドポイントサービス名が自動付与されます。
  ⑥転送設定(詳細ホスト情報)の作成
  ⑦転送設定(集信管理情報)の作成
  ⑧集信のためのジョブの作成
  ⑨HULFT Integrateプロジェクトの作成

お客様VPC環境の設定
  ③AWS側のエンドポイント作成

HULFTの設定
  ④EC2HULFT(配信側ホスト)の設定(HOSTS登録)
  ⑤EC2HULFT(配信側ホスト)の設定(HULFT設定)

①~⑨の設定作業は、それぞれの環境別で必要な作業です。順を追って進めてください。最後に、配信されたファイルをHULFT Squareで集信し、実行結果の確認をしたら完了です。

各設定値の相関関係

各設定内容の関連図は、下記の通りです。集信側ホスト(HULFT Square)と配信側ホスト(EC2上のHULFT)の転送設定の対応関係になります。詳細ホスト情報やファイルIDなどの一致などの相関関係には注意してください。

■HULFT Squareと通信先環境の各設定値の相関図
image.png

配信側のHULFT詳細ホスト情報は、自VPCのエンドポイントを指定します。
指定したVPCエンドポイントには、HULFT SquareのVPCエンドポイントサービス名を設定しましょう。

■HULFT Square内の各設定値の相関図
自身が利用対象とする【集信管理情報】では、【転送ホスト情報】を指定します。
集信用のTransferサービス(インバウンド)を作成し、
AWS PrivateLinkを利用するために、【VPCエンドポイントサービス】を用意します。
image.png

集信用のTransferサービス(インバウンド)を作成するとVPCエンドポイントサービス名が発行されます。通信先環境のVPCエンドポイントに設定し、PrivateLink接続を確立しましょう。

尚、HULFT Square集信のみでは、スクリプト作成不要ですが、集信後の処理を作りこむ時にはスクリプト作成は非常に便利です。(別記事などで紹介できたら…と思います)

以上の事前準備が完了しましたら、早速HULFT Squareを触ってみましょう!

HULFT Squareにログインしてみる

いよいよ本題で、HULFT Squareの設定になります。まずはログインしてみます。
image.png
ログインするとこのような画面が表示されます。左側が各メニューです。
ここから設定箇所を選択して設定を進めていきます。
(注意)検証環境のため、HULFTSquare管理画面のUIが異なる可能性があります。
image.png
今回やっている検証は、HULFT Squareでのファイル集信です。
HULFT Squareにて、ホスト情報や集信管理情報の設定をやっていきましょう!

①集信ファイル用のストレージ設定(HULFT Square設定)

早速HULFT Squareの設定画面をみてみましょう。まずは配信されたファイルを集信し、HULFT Square内に格納するために、ストレージの設定をします。

HULFT Square管理画面の左側メニューから「サービス」-「ストレージ」を選択し、新しいディレクトリ「Transfer_TEST/Recieve」を作成します。
image.png
EC2上のHULFTから配信されたファイルを、HULFT Squareで集信した時に格納されるストレージになります。

②HULFT Transferサービス(インバウンド)の作成(HULFT Square設定)

次に、HULFT Squareのファイル転送サービスであるTransferサービスを作成します。

HULFT Square管理画面の左側メニューから「サービス」-「HULFT Transfer」より、HULFT Transferサービスを作成します。
  名前           : NEW_HULFT_Transfer_rcv
  転送の方向       : インバウンド
  カスタマーAWSアカウント: XXXX(※お客様環境(VPC)のAWSアカウントID)
image.png

「カスタマーAWSアカウントID」は、AWSマネジメントコンソール画面の「セキュリティ認証情報」-「AWSアカウントID」で確認できます。

「サービス」-「HULFT Transfer」に作成した「New_HULFT_Transfer_rcv」があることを確認します。これで、ファイル集信するためのサービスが作成できました。
image.png

Transferサービス作成完了後、エンドポイントサービス名を確認しましょう。

作成したHULFT Transferサービスの右端「:」をクリックし「情報」を押下します。
image.png

AWS PrivateLink接続のために、転送先AWS環境のVPCエンドポイントにHULFT Square側のVPCエンドポイントサービス名を認証させる必要があります。

HULFT Square側のVPCエンドポイントサービス名が表示されます。
転送先AWS環境のVPCエンドポイント作成時に必要になるのでメモしておきます。
image.png

③AWS側のエンドポイント作成(AWS設定)

AWS PrivateLink接続をするために、AWS側のエンドポイントを作成します。
AWSのマネジメントコンソールにログインし、メニュー>VPC > エンドポイントで画面遷移し、「エンドポイントを作成」を押下します。
image.png
下記の通り設定します。「サービスカテゴリ」は、HULFT Squareのエンドポイントサービス名を指定するため「その他のエンドポイントサービス」を指定します。
  名前       : EndPointTEST
  サービスカテゴリ : その他のエンドポイントサービス
image.png
「サービスの検証」を押下して、サービス名に設定したHULFT Squareのエンドポイントサービス名をの認証を確認します。
  サービス設定   : XXXX (※HULFTSquareのエンドポイントサービス名)
image.png
対象のVPCを指定し、プライベートサブネットを指定します。また、IPアドレスタイプは「IPv4」にします。VPCエンドポイント用のプライベートIPアドレスを作成し、DNSが名前ルーティングします。これでVPCエンドポイントにIPアドレスが付与されることになります。
  VPC        : XXXX (※対象のVPC)
  サブネット    : XXXX (※プライベートサブネット)
  IPアドレスタイプ  : IPv4
image.png
アクセス制御のために対象のセキュリティグループを選択して、「エンドポイントを作成」を押下します。今回の検証で作成した「HULFT Square_TEST」というセキュリティグループを指定します。
image.png
また、1つのセキュリティグループに全てを紐づけるため、セキュリティグループのインバウンドルールに「集信ポート30000(HULFT疎通用),同じセキュリティグループ(HULFT Square_TEST)」を追加します。
image.png
これで、HULFT Square側のエンドポイント作成が完了し、HULFTがあるVPC環境とHULFT SquareがAWS PrivateLinkで接続できます。

④EC2HULFT(配信側ホスト)の設定(HOSTS登録)

次に、EC2上のHULFT設定を進めていきます。操作としては、まず、パブリックサブネットに作成した踏み台インスタンスにSSM接続して、プライベートサブネット上のインスタンスにRDPログインし、HOSTSファイルやHULFT設定をしていきます。

環境構成の概要は、HULFT Squareでのファイル集配信における環境構築をしてみたをご参照ください。

<事前準備>
まずは、HULFTの詳細ホスト情報登録のための事前準備が必要です。

①自ホスト名の登録
HULFT管理画面の「システム動作環境設定」から登録。HULFT01にしました。

②privateサブネット内のHULFT→VPCエンドポイント認証
詳細ホスト情報のホスト名(相手ホストのホスト名)には、対象のVPCで作成したVPCエンドポイントの「DNS名」の設定。
(※AWSマネジメントコンソール画面 VPC >エンドポイント>詳細 から確認)
image.png

但し、HULFT側の詳細ホスト情報には68バイトを超えるホスト名が指定できません。そのため、DNSサーバーなどでのリネームが必要です。

今回は、やってみた検証なので、DNSサーバーでのリネームではなく、「HOSTSファイルに登録」することで解決させました。
nslookup」コマンドを使って、エンドポイントのDNS名からIPアドレスを調べて、HOSTSファイルに、VPCエンドポイント名(EndPointTEST)と調べたIPアドレスを追加しました。

⑤EC2HULFT(配信側ホスト)の設定(HULFT設定)

HULFT側の環境に、配信ファイルの準備や設定をしていきます。

詳細ホスト情報の登録では、前述の通り、ホスト名にAWS上のエンドポイントのDNS名設定が必要でしたので、HOSTSファイルに設定した名前EndPointTESTを入力します。下記の通りです。ホスト種にはU(UNIX)を設定します。
  ホスト名 : EndPointTEST
  ホスト種 : UNIX
image.png
HULFT配信では、転送グループ設定は必須なので下記の通り設定します。
image.png
最後に、配信管理情報を下記の通り登録します。
  ファイルID  : TEST_RECEIVE
  ファイル名  : C:\HULFT Familu\hulft8\data\snd\test.txt

EC2HULFTの配信管理情報の「ファイルID」は、HULFT Squareの「集信管理情報のファイルID」と同じになるよう注意してください。

image.png
以上で、EC2HULFTの設定は完了です。

⑥転送設定(詳細ホスト情報)の作成(HULFT Square設定)

配信側のHULFT設定が完了しましたので、HULFT Square設定をしていきます。
まずは、転送先のホスト情報の登録をします。 

HULFT Square管理画面の左側メニューより、「リソース」-「転送ホスト」より、インバウンド用の転送ホスト情報を作成します。
  名前   : HOST_Transfer_SE002
 転送の方向 : インバウンド
  ホスト名 : HULFT01 (※相手側ホスト名)
image.png
作成が完了すると、「リソース」-「転送ホスト」の中に作成した名前の転送ホスト情報が作成されていることを確認します。
image.png

⑦転送設定(集信管理情報)の作成(HULFT Square設定)

HULFT Square管理画面の左側メニューより、「DATA ENTRY」-「集信」より、集信管理情報を作成します。配信されるファイルをどのように集信するかの設定をします。

  名前     : Receive_conf
 ワークスペース : ※任意
 説明      : ※任意
 ファイルID   : TEST_RECEIVE (※EC2上HULFTの配信管理情報のファイルID)
 登録モード   : 置き換え
 集信ファイル名 : /Transfer_TEST/Recieve/TEST_Recieve.txt
 配信ホスト名  : HOST_Transfer_SE002(※HULFT Squareの転送設定(詳細ホスト情報))
image.png

「登録モード」は、新規作成や追加もありますが、テストや検証なので、ファイル有無に関わらず、新規ファイル作成をする置き換えをおススメします。
詳細は、HULFTマニュアルをご参照

「DATA ENTRY」-「HULFT Transfer」に作成した集信管理情報があることを確認します。
image.png
以上で、集信管理情報の作成は完了です。

⑧集信のためのジョブの作成(HULFT Square設定)

HULFT Squareでは、スクリプトを実行するためのジョブの作成が必要です。
プロジェクトを作成後、プロジェクトの「ジョブを新規作成」アイコンを押下して、スクリプト実行のためにジョブを作成します。
image.png
「Add Jpob」ページでは、ジョブの種類「HULFT Transfer」を指定します。image.png
「全般」タブでは、下記の通り設定します。
  名前       : HULFTSE_Listner01
  ファイルID     : Receive_conf(※集信管理情報)
  トリガーイベント : 集信成功
  集信する転送   : New_HULFT_Transfer_rcv (※)
image.png
「プロジェクト」タブでは、作成したプロジェクトとスクリプトを選択します。
image.png
「リソース読み込みのためのプロファイル」はDefaultにします。
image.png
「スクリプト実行のためのサービス」タブでは、SETEST_HULFT_Integrateを選択して、「次へ」を押下します。

Transferサービスを実行するスクリプトを設定したプロジェクトを、
実行するためのサービスが、Integrateサービスです。

Integrateサービスの中でTransferサービスを一つのロジックアイコンとして扱う、というイメージです。
image.png
設定内容が全て表示されるので、最終確認をして「完了」を押下してジョブの作成は完了です。

⑨HULFT Integrateプロジェクトの作成(HULFT Square設定)

HULFT Squareでは、Transferサービス(集配信)を実行するために、プロジェクトやジョブの作成が必要です。Transferサービスと転送設定や実行ジョブなどの設定を紐づけます。また、プロジェクトの中で「スクリプトの作成」をしていきます。GUIはDataSpiderと似ていまして、必要なアイコンをドラッグ&ドロップで配置して設定します。

HULFT Square管理画面の左側メニューより、「DATA INTEGRATION」-「HULFT Integrate」-「プロジェクト」を選択し、新しく「プロジェクト」を作成します。
  名前       : TEST_Transfer_Rcv_01
  スクリプトを作成 : チェックあり
image.png

「次へ」で設定した内容を確認し「完了」を押下すると、デザイナー起動のポップアップが表示されます。
image.png
デザイナが起動したら、集信後に実行したいスクリプトを作成します。
image.png

今回のように集信のみの実行の場合でも本スクリプト自体の作成は必要です。

ファイルを集信する場合のみでも、スクリプトの作成は必要。

集信のみの場合は、「start」アイコンから「End」アイコンを直接つないで何も実行しないスクリプトを作成してください。

image.png

以上で、ファイル集信実行のためのHULFT Integrateプロジェクトとスクリプトは完成です。
ここまでで、ファイル集信に必要な設定は完了です。

ファイル集信を実行してみる

EC2インスタンス上のHULFTからファイルを配信します。
ファイルID「TEST_RECEIVE」を実行します。
image.png
「配信要求」を押下します。
image.png
image.png
HULFTからの配信要求は、正常に終了しました。
HULFT管理画面より、「配信状況一覧」画面からも正常終了が確認できます。
image.png

実行結果の確認(HULFT Squareのイベント監視)

EC2上のHULFTの方での正常終了は確認できたので、HULFT Square側の実行結果の確認をします。

①イベント監視 > アプリケーション
 ⇒アプリケーション(Transferサービスなど)の実行結果の確認です。
  ファイルの集信設定で指定した「ファイルID」単位での実行結果が見れます。
  インバウンド(集信)の「TEST_RECEIVE」が「✓(正常終了)」しています。
image.png
右端の「:」-「詳細」より実行結果の詳細が参照できます。
完了コード「0」で集信できています。もしここがエラーの場合は完了コードから、エラー内容の確認などに役立ててください。(参考:HULFT完了コード
image.png

②実ファイルの確認 (集信側HULFT Squareの サービス > ストレージ
 ⇒HULFT Squareのストレージに、HULFTからの集信ファイルがあるか確認します。
冒頭で作成したHULFT Squareストレージ内のディレクトリ「Transfer_TEST/Receive」に、集信管理情報で指定した名前のファイルが作成されています。
image.png
EC2上のHULFTから配信したファイルが、正しくHULFT Square上の指定したストレージに集信されていることが確認できました。

最後に

皆さん、いかがでしたでしょうか。
今回は、AWS EC2のHULFTからファイルを配信し、HULFT Squareで集信してみました。
image.png
AWS PrivateLinkを使った接続のためAWS側の環境構築等もあり、本記事以外の部分での考慮点もいくつかありましたが、ファイル連携を一つ成功してみると全体像が理解できるかと思います。

HULFTをご存じの方は、ファイルIDやホスト情報登録などの設定も普段慣れているものに近いですし、DataSpiderをご存じの方は、デザイナ画面のアイコンを使ったドラッグ&ドロップの操作自体は同じです。もちろん、設定値やそれぞれの概念等の細かな違いはいくつかありますので、是非色々な操作を試してみていただけたらと思います!

今回の記事構成は、HULFT Squareで集配信してみた全4回シリーズ になります。環境構成をまず①②で理解して、③④と進んで読んでいただくのがおすすめです。
       ①HULFT Squareと外部通信する仕組みについて、AWS PrivateLinkなど含めて整理してみた
       ②HULFT Squareでのファイル集配信におけるAWS環境構築をしてみた
       ③HULFT Square配信 ⇔ HULFT集信(EC2上)やってみた
 ★本記事★ ④HULFT Square集信 ⇔ HULFT配信(EC2上)やってみた

長くなってしまいましたが、最後までお読みいただき、ありがとうございました!
それでは、また!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?