データ接続と統合利用可能なコネクターFTP/FTPS

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

FTP/FTPS

Foundry を FTP および FTPS サーバーに接続して、フォルダーと Foundry データセット間でデータを同期します。

サポートされている機能

機能ステータス
探索🟢 一般提供
一括インポート🟢 一般提供
インクリメンタル(差分連携)🟢 一般提供

データモデル

このコネクターは、あらゆる種類のファイルを Foundry データセットに転送できます。ファイル形式は保持され、転送中も転送後もスキーマは適用されません。出力データセットに必要なスキーマを適用するか、下流のトランスフォームを記述してデータにアクセスします。

パフォーマンスと制限事項

転送可能なファイルのサイズに制限はありません。ただし、ネットワークの問題により、大規模な転送に失敗することがあります。特に、Foundry ワーカーで実行される同期は、実行に2日以上かかると中断されます。ネットワークの問題を回避するために、ファイルサイズを小さくし、同期の実行ごとに取り込むファイル数を制限することを推奨します。同期は、頻繁に実行されるようにスケジュールできます。

セットアップ

  1. Data Connection アプリケーションを開き、画面の右上隅にある + 新規ソースを選択します。
  2. 利用可能なコネクターの種類から FTP/FTPS を選択します。
  3. 追加の設定プロンプトに従い、以下のセクションの情報を使用してコネクターのセットアップを続行します。

オンプレミスの FTP サーバーにアクセスするには、Agent プロキシポリシーを使用して接続することを推奨します。

Foundry でのコネクターのセットアップについては、詳しくはこちらをご覧ください。

認証

FTP/FTPS の認証には、ユーザー名とパスワードを使用します。接続に設定されたルートディレクトリーに対する権限が FTP ユーザーにない場合、FTP/FTPS 接続に失敗することがあります。ルートディレクトリーの詳細については、設定オプションを参照してください。

オプション必須?説明
ユーザー名はいFTP ログインのユーザー名です。
パスワードはいFTP ログインのパスワードです。匿名ログインの場合、この項目は空のままにできます。詳細については、サーバー管理者にお問い合わせください。

ネットワーク

FTP/FTPS 接続を Foundry で実行する場合は、ネットワークエグレスポリシーを追加して、接続を許可リストに登録する必要があります。

ドメイン名を使用して接続する場合は、FTP サーバーのドメインに対して、制御ポート(通常はポート21)とデータポートの両方にエグレスポリシーを作成する必要があります。制御ポート用の単一ポートポリシーと、データポート用のポート範囲ポリシーの2つのネットワークポリシーを作成することを推奨します。データポートは FTP サーバーの管理者が決定します。エグレスポリシーを適切に設定してもエラーが発生し続ける場合は、適用したポリシーの一覧を記載して Issue を作成してください。

サーバーのドメインが複数のドメインやサーバーに解決される場合は、関連するすべてのドメインと、それらに関連付けられた IP を許可リストに登録する必要があります。サーバーが複数のドメインやサーバーに解決されるかを確認するには、接続先のサーバーについて、ターミナルから dig <domain> コマンドを実行し、回答セクションを確認します。

証明書と秘密鍵

コネクターを適切にセットアップするには、以下のガイダンスに従って、追加のクライアント証明書またはサーバー証明書と秘密鍵を設定します。

SSL とホスト名の検証

SSL 接続ではサーバー証明書を検証します。通常、SSL の検証は証明書チェーンを通じて行われます。デフォルトでは、Agent ワーカーと Foundry ワーカーの両方が、業界標準の証明書チェーンのほとんどを信頼します。接続先のサーバーが自己署名証明書を使用している場合や、ファイアウォールが接続に対して TLS インターセプションを行う場合は、コネクターがその証明書を信頼する必要があります。Data Connection での証明書の使用については、詳しくはこちらをご覧ください。

SSL 検証が機能するには、サーバーが完全な証明書チェーンを提供する必要があります。FTP サーバーの証明書チェーンを取得するには、openssl s_client -connect {hostname}:{port} -showcerts -starttls ftp コマンドを実行し、OpenSSL コマンドラインユーティリティーまたはほかの利用可能なツールを使用してチェーンを検証します。FTPS を使用する場合は、FTPS サーバーの証明書が Agent のトラストストアに追加されていることを確認してください。

Foundry は、すべてのエグレスルートでホスト名の検証を試みます。ただし、FTP は検査できないため、接続が応答しなくなったり、タイムアウトエラーが発生したりします。エグレスポリシーを適切に設定してもエラーが発生し続ける場合は、ホスト名の検証を無効にしたいポリシーの一覧を記載して Issue を報告してください。

暗黙的/明示的 SSL

FTP サーバーは、明示的 SSL または暗黙的 SSL のいずれかをサポートするように設定できます。ポート990で稼働するサーバーは、通常、暗黙的 SSL を使用します。

サーバー管理者にサーバーの設定を確認してください。デフォルトでは、コネクターは明示的 SSL を想定します。環境に応じて、この設定を変更する必要がある場合があります。

接続要件

FTP には、CONTROL と DATA の接続タイプが必要です。DATA 接続は、ACTIVE または PASSIVE モードになるように設定する必要があります。

  • CONTROL: クライアントからサーバー
  • DATA: 範囲から選択されるデータ(例:1024–1123)
    • PASSIVE: クライアントからサーバー
    • ACTIVE: サーバーからクライアント
      • Agent 接続でのみ機能します

FTP/FTPS コネクターのデフォルトポート:

  • FTP: 21
  • 明示的 FTPS: 21
  • 暗黙的 FTPS: 990

アクティブモードとパッシブモード

パッシブモードのネットワーク接続を使用することを推奨します。パッシブモードでは、すべての接続がクライアントによって開始されます。パッシブモードを使用する場合は、制御ポート(通常は21)とデータ転送用のポート範囲(例:1024–1123)が許可リストに登録されていることを確認してください。接続情報については、FTP/FTPS サーバー管理者にお問い合わせください。

アクティブモードは、ファイル転送を確立するための旧来の方法です。アクティブモードでは、クライアントがサーバーに接続すると同時に、サーバーがクライアントに接続します。サーバーとクライアントは互いに依存しており、双方向のネットワーク接続が必要です。このネットワーク方式は、ほとんどのセキュアな環境では一般に実現が難しく、Agent 接続を使用する場合にのみ利用できます。

設定オプション

オプション必須?デフォルト説明
URLはいFTP/FTPS サーバーの URL です。URL には、接続のルートディレクトリとして使用するサーバー上のディレクトリへのパスを任意で含めることができます(例: ftp://server.name/folder/name)。
クライアント証明書と秘密鍵を設定いいえ詳細については、証明書と秘密鍵を参照してください。
サーバー証明書を設定いいえ詳細については、証明書と秘密鍵を参照してください。
接続タイムアウトいいえ30秒タイムアウトをミリ秒単位で延長します。
再ログイン時間いいえ15分間隔を分単位で変更します。
ファイル変更タイムアウトいいえ2秒ファイルがアップロード対象と見なされるまでに、変更されずに維持される必要がある時間を設定します。タイムアウトはミリ秒単位です。
HTTP プロキシ URLいいえhttp:// または https:// で始まるプロキシサーバーの URL です。HTTP プロキシへの対応は使用する FTP サーバーに大きく依存し、ACTIVE モードでは利用できません。これは、HTTP プロキシが、外部からアクセス可能なポートで待ち受けるクライアントリクエストに対応していないためです。ACTIVE モードでの転送では FTP サーバーからクライアントへの接続が必要ですが、HTTP プロキシ経由ではこの接続はできません。
SSL 方式いいえEXPLICITFTPS 接続に明示的 SSL と暗黙的 SSLのどちらを使用するかを指定します。
モードいいえPASSIVEPASSIVE または ACTIVE
タイムゾーンいいえコネクターのタイムゾーンFTP サーバーのタイムゾーンです。FTP はタイムゾーンを含めずにタイムスタンプを記録します。正確な変更タイムスタンプを表示するには、FTP サーバーのタイムゾーンがデフォルトと異なる場合、そのタイムゾーンを指定します。
タイムスタンプの書式文字列いいえMM-dd-yy hh:mmaFTP サーバーのタイムスタンプをパースするための書式文字列です。タイムスタンプは、前回の同期以降に変更されたファイルを特定するために使用されます。対応する書式については、Java ドキュメント ↗を参照してください。
制御エンコーディングいいえUS-ASCIIFTP 制御メッセージのエンコーディングです。ファイル名のエンコーディングが Data Connection サーバーのデフォルトのファイルシステムエンコーディングと異なる場合、制御エンコーディングが必要になることがあります。
例: Windows FTP サーバーでは、日本語には windows-31j、韓国語には x-windows-949 がよく使用されます。
詳細については、Java ドキュメント ↗を参照してください。
キープアライブいいえfalse大きなファイルのダウンロード中に制御接続を維持するため、FTP NOOP コマンドを送信するかどうかを選択します。一部の FTP サーバーでは利用できません。

FTP からデータを同期する

FTP コネクターは、ファイルベースの同期インターフェースを使用します。

トラブルシューティング

Agent 接続

  • Agent 接続の設定で問題が発生していますか?FTP/S クライアントをインストールし、ソースと同じ設定を使用してサーバーへの接続を試みます。この接続に失敗する場合、問題はコネクターのバグではありません。問題を報告する前に、ネットワーク接続、認証、FTP サーバーの設定を調査してください。

  • エグレスプロキシのロードバランサーを使用していますか?FTP はステートフルなプロトコルであるため、ロードバランサーを使用すると、連続するリクエストの送信元 IP が同じでない場合に、同期に失敗することがあります(発生は非決定的です)。

SSL と FTPS

  • サーバーは自己署名証明書を使用していますか?その証明書をソースのトラストストアに追加していますか?上記の SSL とホスト名の検証セクションを参照してください。

  • FTP サーバーはレガシーの TLS バージョン(例: TLS 1.1)にのみ対応していますか?その場合、コネクターのランタイムは、サーバーが提示する暗号スイートのいずれも受け入れない可能性があります。問題を報告し、Palantir の担当者と代替アプリケーションを検討してください。