ファイル転送の重要性は、古いスクリプトに頼る方式を否定します。スピードと安全性の確保のためには自動化が欠かせません。
ファイル転送自動化の必要性
ファイル転送は、手動で行ってもそれほど大したことではないように思われるかもしれませんが、大量のファイル転送を毎日行う場合はかなりの時間を取られることになります。業務を効率化してミッションクリティカルなプロジェクトに集中できるよう、ルーチン的なファイル転送処理は、極力自動化することが求められます。
ファイル転送の自動化のために適した手法は何でしょうか。
スクリプトを使うことのデメリット
スクリプト作成を苦もなくこなす IT 管理者はたくさんいます。彼らは、マスターした好きなスクリプト言語で、実行したいことを正確に行うコードを素早く書き上げることができます。スクリプトには多くの優れた点がありますが、ファイル転送の実行のためには、最善の選択肢とは言えません。
まず、次のような問いに対する回答を考えてみてください。スクリプト作成者が会社を辞めた場合はどうなりますか?多様なスクリプト言語の中で、そのスクリプト言語を知っていて何が行われているかすぐ理解できる人はすぐ見つかりますか?そのスクリプトが最新であり、安全であることは、どうやって確認することができますか?
また、スクリプトを使用して自動化する場合は、対象となる新しいものすべてに対してスクリプトを作成する必要があります。ファイル転送のプロセスに更新があれば、スクリプトも更新するか、新しいスクリプトを作成する必要があります。スクリプトには拡張性に欠けるという難点があります。
そして、スクリプトは、インフラストラクチャ全体の多くのシステムに分散して存在する傾向があります。IT 部門で、どのファイルを送信するスクリプトがどこから実行されているのか、といったことを正確に把握することは、ほとんど不可能です。
「スクリプトは、ほとんどのオペレーティングシステムの一部として追加費用なしで含まれており、ファイル転送を自動化するのによく使われます。商用オペレーションシステムもオープンソースのオペレーティングシステムも、bash、Shell、VBScript、Windows PowerShell などのスクリプト言語を備えた組み込みの FTP クライアントおよびサーバー機能を提供します。Windows スケジューラなどのツールを使用してスクリプトを実行できます。」と、Dataflogブログ “ File Transfer Automation: Scripting vs. Managed File Transfer” は記述しています。ただ、スクリプト言語は追加費用なしに使用できるとしても、スクリプト言語を使用することにはデメリットがあり、隠れたコストにつながる場合があります。
上記ブログでは、次のように指摘しています。「スクリプトツールは、本格的なアプリケーションではないため、機能に制限があることがよくあります。ファイルを転送できるスクリプトを作成できるとしても、そのスクリプトでは次のことができない可能性があります。
- 保管中のファイルの暗号化
- カスタムロジックの実行
- ファイルを解析して、別の場所にルーティングすること
- イベントに基づいてファイルを監視したり、データベース内のレコードを確認したりすること
- 柔軟な統合
これらの基本的な自動化機能は、多くの組織にとって重要であることがわかっています。」
スクリプトは最初のうちは問題なく機能するかもしれませんが、やがてほころびが見えてくるようになることがあります。Advanced Cyber Solutions のブログ、”How to Automate File Transfers and Ditch the Scripts” では、次のようなエピソードが紹介されています。「cron ジョブか Windows スケジューラタスクで、シンプルで定期的な2地点間のファイル転送を行うスクリプトを作成する要件がありました。時間が経過し、両方の組織がこのスクリプトに依存するようになり、このタスクの重要性は増大していました。ある日、スクリプトでうまく転送できないという事態が発生しましたが、時間が経過する間に作成者は会社を辞めてしまっており、知識は失われていました。スクリプトがどのように機能するのかわかる人がおらず、どのように修正するかも誰にもわかりません。これは大きな危機でした。」
ファイル転送のためにスクリプトに完全に依存してしまわない方がいい理由は他にもあります。
- 新しいファイル転送タスクや少し異なるファイル転送タスクに再利用できるスクリプトを作成するのが困難
- スクリプトの管理、変更、トラブルシューティングは困難(複数の作成者がいればなおさら)で、たいていは文書化も不備
- スクリプトは暗号化や監査などのセキュリティ機能に欠ける
- 多くの場合、スクリプトではフラットファイルに書き出して、データベース化されることは少ない
ファイル転送自動化に適した手法
スクリプトを利用する方法が最適でないのなら、最適なのはどのような手法でしょうか?スクリプトを置き換え、プロセスを自動化し、ファイル転送アクティビティを統合的に一か所から管理できるようにするのは、マネージド・ファイル・トランスファー(MFT)ソリューションです。MFT を使えば、管理者のアクションも個々のファイルの移動もログに記録され監査可能になり、ファイルの暗号化やファイル転送後の削除といったセキュリティ機能が整備されています。スクリプトでは実現できない柔軟な統合も可能で、ファイル転送ワークフローの作成をサポートするグラフィカルなユーザーインタフェースを利用して簡単に自動化できます。
ファイル転送を自動化して効率化するのに最適なマネージド・ファイル・トランスファー・ソリューションとして、プログレスでは、MOVEit Automation を提供しています。MOVEit Automation は、MOVEit Transfer と連携して、ファイル転送アクティビティを自動化し、ファイル転送タスクを統合します。MOVEit Transfer 以外にも、SFTP、FTPS、UNC、Azure Blob、S3などの他のホストとの連携も可能です。
MOVEit を使うと、次のようなことがスムーズに実現します。
- ファイル転送のワークフローを自動化し、繰り返し的なタスクにおけるエラーの発生を削減する
- コンプライアンスとセキュリティの要件を満たす
- スクリプトなしに高度なワークフローを自動化する
- 現存の環境とシームレスに統合する
MOVEit Automation でのワークフロー作成
MOVEit Automation では、ワークフローはタスクと呼ばれます。ワークフローを作成するためには、ファイルをどこから取得し、いつ、どこに送付するかといった処理プロセスを定義する必要があります。プロセスには、PGP の使用、ファイルの暗号化、復号化、圧縮、解凍、その他の追加のカスタムプロセスの実行を含めることができます。
「実際のファイルの移動に関しては、定義されたホストからソースを選択し、必要な各処理を行って、送信先のフォルダーを指定することになります。」と、CISSP であり、MOVEit エキスパートである、プログレスの Andrew Lorandos プリンシパルソリューションエンジニアは述べています。「自動化によって、以前に処理されたファイルが追跡でき、オリジナルの削除やソース上のオリジナルの名前の変更が防止できます。」
スクリプトを効果的に使用できるケース
ファイル転送のためにスクリプトに完全に依存してしまうのは得策ではありませんが、ファイル転送においてスクリプトを効果的に使用できるケースはあります。PowerShell は、送信しようとするファイルに対してプロセスを実行でき、MOVEit で効果的に使用することができます。MOVEit Automation で作成できるカスタムスクリプトの言語の1つが PowerShell で、もう1つは VBScript です。
MOVEit Automation の Web インタフェースで使えるスクリプトマネージャーを利用して、PowerShell のカスタムスクリプトを作成し、タスク内でプロセスをインラインで実行できます。MOVEit Automation と PowerShell スクリプトとの間で変数をやりとりすることが可能で、例えば、データ検証のためにファイルを1行ずつ解析し、正常に実行されたことを確認するような場合に便利です。
マネージド・ファイル・トランスファー:自動化と統合
スクリプトに替わる安全で容易なファイル転送に関して、プログレスでは、「マネージド・ファイル・トランスファー:自動化と統合」というホワイトペーパーを用意しています。どうぞダウンロードしてご一読ください。
Doug Barney
Doug Barney was the founding editor of Redmond Magazine, Redmond Channel Partner, Redmond Developer News and Virtualization Review. Doug also served as Executive Editor of Network World, Editor in Chief of AmigaWorld, and Editor in Chief of Network Computing.