
企業のデータ連携基盤を支える「HULFT」を使うメリットや、安全、安心を支える技術について、インターネットインフラに造詣のある技術ライター「あきみち」氏が独自の視点でレポートする本コラム。「HULFT(ハルフト)の名前だけは知っている」といった方に向けて、基本機能やファイル転送の概要をわかりやすくご紹介します。
著者プロフィール

小川 晃通 氏
「Geekなぺーじ」を運営するブロガー。
慶應義塾大学政策メディア研究科にて博士を取得。ソニー株式会社において、ホームネットワークにおける通信技術開発に従事した後、2007年にソニーを退職し、現在はブロガーとして活動。
著書多数「アカマイ知られざるインターネットの巨人」など。アルファブロガーアワード2011受賞。
あきみちさんがHULFTの中の人に聞いてみた コラム一覧
- 【第1回】業務システムに不可欠なファイル転送機能を実現するHULFT
- 【第2回】HULFTとは|ファイル転送の具体的な仕組みを見てみよう(前編:配信の流れ)
- 【第3回】HULFTとは|ファイル転送の具体的な仕組みを見てみよう(後編:ファイル転送前後処理)
- 【第4回】ジョブ連携に見るHULFTの強み
- 【第5回】ジョブ連携をもっと便利に - HULFT Script
- 【第6回】パブリックなインターネットを介してHULFTを利用できるHULFT-WebFileTransferとHULFT-WebConnect
- 【第7回】複数拠点との接続に「柔軟さと確実さ」をもたせるHULFT-HUB
- 【第8回】HULFTとSFTP/FTPの共存運用
- 【第9回】IoTに求められる環境にも対応する「HULFT」
複数拠点との接続に「柔軟さと確実さ」をもたせるHULFT-HUB
ファイル転送やジョブ連携をセキュアに行えるHULFTは、基本的に1対1の接続を行います。
複数のHULFT同士をつなぐ場合でも、1対1の接続が基本であるため、接続箇所が増えるのにしたがい設定も複雑化します。
たとえば、3箇所の拠点に1つずつHULFTが動作していて、それぞれの拠点間での通信が必要である場合、それぞれの拠点は他の2拠点との接続を行うフルメッシュな接続になります。

3拠点程度であればフルメッシュでも問題はないのですが、拠点数が増えると、それぞれの拠点から他の拠点への接続も増えます。複数の拠点同士でファイル転送が必要な業務が存在し、その業務内容をそのままHULFT転送で実現する設定を行う場合、拠点同士を接続する必要が発生してしまうのです。情報工学に「組み合わせ爆発(Combinatorial explosion)」という言葉があるように、この問題は非常に一般的なものです。
業務で必要となるファイル転送によっては、すべての拠点同士が完全なフルメッシュで接続する必要がない場合も多いので、どことどこがどのようにつながっているのかを把握するだけでも大変になっていきます。

接続が増えると、その接続箇所のための設定も増えていきます。業務規模が大きくなると、その分だけ設定も増えがちです。
すべての拠点で他の拠点との接続を設定することを考えると、すべての拠点で最新の設定内容になっているのかどうかなどを維持することも大事な業務になってきます。
HULFT運用のテクニックとして、そういった設定の複雑さを回避するため、ある特定の拠点が中継地点となり、複数の拠点間の接続を処理したうえで接続を行うという「HUB」のような枠割を持たせるというものがあります。
ただし、そのような設定を行うためには、HUBのような動作をするようなジョブを作り込む必要があったため、そのような機能を最初から実現したHULFT製品が求められ、HULFT-HUBが開発されました。
HULFT-HUBは、複数拠点との接続を柔軟に扱えます。
たとえば、特定のファイル転送を全接続相手ではなく、指定した相手にだけ転送するような設定も可能です。

HULFT-HUBによる蓄積と送出
HULFTでは、ファイル転送を表現するときに、「配信」と「集信」という単語を利用しています。HULFTは、同報配信も手軽に行えるファイル転送ソフトウェアですが、同報配信の「配信」という表現がファイル送信に利用され、配信に対応する言葉として「集信」という表現が使われています。

HULFT-HUBでは、「配信」と「集信」という表現とは別に、「蓄積」と「送出」という表現が使われます。HULFT-HUBは、HULFTからの配信を必要に応じて蓄積したうえで、設定通りに蓄積されたファイルを送出できるためです。
さらに、HULFTからの配信を「中継」したり、複数のHULFTに対して「同報」することも可能です。


このように、HULFT-HUBの用語にも、HULFT-HUBの設計思想が現れています。
トポロジ把握機能
HULFT-HUBには、トポロジ把握機能や管理機能があります。
管理機能では、HULFT-HUBからHULFTの設定情報を管理したり、HULFT-HUBからHULFTに対してファイル転送開始を開始させることもできます。
HULFT-HUBから見たHULFTには、以下の3種類があります。
- ファイル転送の中継を許可し、設定情報も管理できるHULFT
- ファイル転送の中継を許可するが、設定情報は管理できないHULFT
- 中継も管理も行えないが、存在を把握できるHULFT

HULFTは、責任分界点を明確にしながら異なる組織同士がファイル転送を行いやすいアーキテクチャですが、そのアーキテクチャを活用しつつ、公開可能な範囲でトポロジを把握できるような仕組みが採用されているのがHULFT-HUBのトポロジ把握機能です。
中継も管理も行えないHULFTをHULFT-HUBが把握することもできるようになっているため、たとえば、他組織同士がHULFT-HUBを経由して接続しているような場合であっても、許可可能な範囲内でトポロジ把握が行えるのです。
ファイル蓄積機能と再送機能
蓄積機能は、海外拠点とのファイル転送にHULFTを利用している場合にも非常に有用です。

日本のインターネット接続サービスは非常に安定しているので気がつきにくいのですが、海外のインターネット回線は日本ほどの品質で運用されているわけではないのです。
たとえば、東南アジアでは、急にインターネット接続が切断されることもあります。
データセンター内で結露による障害が発生したり、データセンターの外にある光ファイバの配線が地面から露出しているようなこともあります。
インターネット接続だけではなく、停電による電源の供給が急にストップしてしまうこともあります。とにかく、日本では想像ができないような理由で通信障害が発生することが多々あるのです。
- ※
インドネシアでのデータセンター屋外ファイバ敷設例 (参考) http://www.geekpage.jp/blog/?id=2017-5-30-1
さらに、あらかじめ時間帯を指定されたうえで、その時間の間はインターネットが使えなくなるような状況もあります。
そういった状況に対応するために、HULFT-HUBのファイル蓄積およびファイル再送機能は非常に有用です。
たとえば、複数の海外拠点を持つ日本法人と本社と海外拠点とのファイル転送でHULFT-HUBを活用する場合には、次のような構成が便利です。
データセンターおよび回線の品質が非常に高い日本で基幹業務を扱うコンピュータとHULFT-HUBが運用されていたとします。
日本国内にある複数拠点も、HULFT-HUBに同時に接続しています。
日本拠点から海外拠点へのファイル転送は、すべてHULFT-HUBを経由します。
HULFT-HUBからの海外転送を行う際、ファイルの蓄積および失敗時の再送設定が行います。
それにより、海外拠点のHULFTとの接続が何らかの理由で失敗したとしても、通信状況が復帰した段階でHULFT-HUBがファイル転送を行います。
このように、HULFT-HUBによってHULFT同士の接続トポロジを簡潔にまとめられるだけではなく、ネットワーク等の障害に対して堅牢なシステムも構築できます。

HULFT-HUBの蓄積機能によって「ファイル転送の順番」を維持
途中経路上での障害発生時に、HULFT-HUBのファイル蓄積および再送機能が有用となる点のひとつに、ファイル転送の順番を維持することが可能であることもあげられます。
通常設定のHULFTでは、ファイル転送に対する設定は、IDごとに行われます。
ある特定のIDに対して複数回の転送を行った場合、デフォルト設定では上書きが行われます。
そのため、たとえば、徐々に内容が変わっていくファイルを5分おきにファイル転送を行っていく場合、最初のファイル転送時にネットワークのトラブルで失敗し、次のファイル転送で成功したとしても、設定によっては最初のファイル転送で行うはずだった内容は上書きされてしまうのです。
データベースへの入力時に順番が大きな意味を持つ場合など、送られるファイルの順番が非常に大事な場合には、同じIDだったとしても、そのときどきの内容が順番通りに届くことが大事です。
ひとつひとつの動作の積み重ねが大事である場合に、途中でどこかのファイル転送が失敗して上書きされてしまうと、重要なステップが欠落してしまうようなことが起きてしまいます。
通常のHULFTでも、そのような機能を実現することは可能ですが、それを実現するためのジョブ実装が必要です。
HULFT-HUBのファイル蓄積と再送機能を使えば、予期しないネットワークトラブルなどによってファイルの再送が発生したとしても、蓄積機能によってファイルが蓄積されたうえで、蓄積されたのと同じ順番での再送が行われます。
失敗したファイル転送が成功するまで、蓄積されたファイルを順番に再送し続けることによって順番が維持されるようにも設定可能なのです。
HULFT-HUBを使うことによって、たとえばネットワークトラブルが頻発するような海外拠点とのファイル転送実現が格段にやりやすくなるのです。
海外であれば時差や祝日の違いなどがありますが、HULFT-HUBであれば自動的に障害に対応した再送を行えます。
さらに、ファイル転送の履歴も保持できるので、何らかの障害が発生したときに、まずはHULFT-HUBを確認すれば障害発生箇所を特定しやすくなります。
図1 (Before)~HULFTだけでは転送順序が保証されない~

図2(After)~HULFT-HUBを利用して転送順序を保証~

まとめ
このように、HULFT-HUBは複数のHULFTを中継可能なHUBとして機能するだけではなく、複雑なトポロジを運用管理するといった機能もあります。十分な設定を行えばHULFT単体でも実現は可能であるものの、HULFT-HUBを利用することで突然の通信障害などからの復帰を実現しやすくなるという特徴もあります。
HUBという表現からも、ある程度の規模がある環境での利用が前提となりがちなので、通常のHULFTと比べると利用者は少なくなりますが、面白いソフトウェアだと思います。
あきみちさんがHULFT(ハルフト)の中の人に聞いてみた コラム一覧
- 【第1回】業務システムに不可欠なファイル転送機能を実現するHULFT
- 【第2回】HULFT(ハルフト)とは|ファイル転送の具体的な仕組みを見てみよう(配信の流れ編)
- 【第3回】HULFT(ハルフト)とは|ファイル転送の具体的な仕組みを見てみよう(ファイル転送前後処理)
- 【第4回】ジョブ連携に見るHULFTの強み
- 【第5回】ジョブ連携をもっと便利に - HULFT Script
- 【第6回】パブリックなインターネットを介してHULFTを利用できるHULFT-WebFileTransferとHULFT-WebConnect
- 【第7回】複数拠点との接続に「柔軟さと確実さ」をもたせるHULFT-HUB
- 【第8回】HULFTとSFTP/FTPの共存運用
- 【第9回】IoTに求められる環境にも対応する「HULFT」