ダウンロードの管理

BigFix では、ダウンロードを効率的に行うため、および使用可能な帯域幅を最大限活用するために、複数の手法が使用されます。その他の手法のうち、キャッシングがサーバー、リレー、およびクライアントを含むすべての BigFix 要素で幅広く使用されます。

クライアント上のアクションによって download ファイル・コマンドが実行されると、クライアントのローカル・キャッシュで最初にファイルの存在がチェックされます。クライアントは、ローカルでファイルを検出できない場合、その親 (通常はリレー) にファイルを要求します。次に、リレーがリレー自体のキャッシュをチェックします。リレーは、ファイルを検出すると、要求したクライアントにそのファイルを直ちに送信します。検出できなかった場合、その親に要求を渡します。親は別のリレーである場合があり、このプロセスがこの後も続けられます。最終的に、サーバーが内部サーバーまたはインターネットからファイルを取得し、それをキャッシュし、逆の経路でそのファイルを渡します。経路上にある各リレーは、ファイルを受信した後、それをキャッシュし、ファイルの転送を続行し、元のクライアントに届けます。元のクライアントもそのファイルをキャッシュします。

アクションの実行中にエージェントが download now コマンドを実行すると、アクション・スクリプトに指定された URL からファイルが要求されて収集されます。

各キャッシュでは、スペース不足になるまで、ファイルが保持されます。スペース不足になった時点で、スペースを確保するために、最も長い期間使用されていない (LRU) ファイルがキャッシュから消去されます。BES サポート・サイトから使用できる 「分析 ID# 227 BES リレーのキャッシュ情報 (Analysis ID# 227 BES Relay Cache Information)」 をアクティブにすることで、リレーのキャッシュ・サイズなどのリレー情報を表示できます。デフォルトのキャッシュ・サイズは 1 GB ですが、BES サポート・サイトで「タスク ID# 148 BES リレー/サーバー設定: ダウンロード・キャッシュ・サイズ (Task ID# 148 BES Relay/Server Setting: Download Cache Size)」を使用してこのサイズを変更することができます。

ファイルを手動でダウンロードし、キャッシュする必要がある場合があります。これは主にファイルが公開されていない場合です。この場合、ファイルをソースから直接ダウンロードする必要があります。具体的な手動キャッシュ要件について詳しくは、「Fixlet の説明 (Fixlet Description)」 タブを参照してください。ファイルをダウンロード・キャッシュの場所 __Download にコピーすることで、ダウンロード・キャッシュを事前に作成できます。これらのファイルを手動で削除することもできます。

キャッシュは、プログラム・フォルダーのサブフォルダーとして格納されます。プログラム・フォルダーは、デフォルトでは %PROGRAM FILES%\BigFix Enterprise (Windows システムの場合)、および /var/opt/BES Server (Linux システムの場合) に作成されます。サーバーのダウンロード・キャッシュは BES Server\wwwrootbes\bfmirror\downloads\sha1 で、クライアントのダウンロード・キャッシュは BES Client\__BESData\__Global\__Cache\Downloads にあります。

ダウンロード・キャッシュに加えて、リレーは、各アクションに必要なすべてのファイルを格納するアクション・キャッシュ (これも 1 GB) を保持し、クライアントは、ユーティリティー・キャッシュを保持します。

帯域幅やダウンロードなど、リレーのトラブルシューティングについて詳しくは、「Relay Health」を参照してください。

クライアントは、以下のいずれかの方法でアクション・スクリプトにリストされた URL からファイルを要求してそのファイルを収集します。
  • アクション・スクリプトを解析してダウンロード一式を計算できる場合は、サーバーによってダウンロード一式が計算されます。特定のアクションに対してプリフェッチ・ダウンロードを入手できる場合は、エージェントが単一の要求でリレーを要求できます。この要求では、エージェントがアクション ID を送信し、サーバー応答によって全ファイルが入手可能かそうでないかが示されます。ファイルがすべて入手可能である場合は、エージェントがファイルをその序数 (1 はスクリプト内の 1 番目のファイルを示し、2 はスクリプト内の 2 番目のファイルを示します) で要求する処理を開始します。ファイルが入手不可能である場合は、リレーがそのことをエージェントに通知し、ファイルをフェッチするプロセスを開始します。エージェントは、ダウンロードが入手可能になるのを待つことを通知し、そのアクションに対して 10 分間ダウンロード待ちの状態となります。10 分が経過してその特定のアクションに対してダウンロードが入手可能になった場合は、エージェントが再びリレーに要求します。

    リレー上でアクションに対してダウンロードが入手可能になると、リレーの子に通知が送信され、その通知を使用してダウンロードの要求が加速されます。何らかの理由で通知メッセージがブロックされた場合は、エージェントによる 10 分間の「リレーへの再要求」動作によって最終的にダウンロードが入手可能であることが検出され、その収集が開始されます。アクション ID に基づいたダウンロード、および序数が入手可能になると、子リレーも親から通知を受けます。子リレーは、この通知を使用して再びダウンロードの要求を加速します。

  • アクション・スクリプトにリストされているダウンロードの URL、サイズ、およびハッシュ値をエージェントだけが計算できるようになっているダウンロードの場合は、エージェントが、入手可能なダウンロードを項目化した要求を使用して親リレーに照会を行います。この要求には、特定のエージェントが必要とするダウンロード項目のリストが含まれています。リレーとクライアントは、上述したとおりに動作して、後続の要求を遅らせて通知を待ちます。

ダウンロードの再開

接続の問題が原因でダウンロードが失敗した場合、ダウンロード・プロセスは次のように再開されます。
  • クライアントが BigFix のリレーまたはサーバーからダウンロードしている場合、10,000 バイトのチャンクでダウンロードを再開できます。つまり、クライアント・プロセスは、再開されると、既に受信している 10,000 バイトのブロックを検査して、検査した最後のブロックの後からダウンロードを再開します。
  • クライアントが別のサーバーの URL からの直接ダウンロードを実行している場合、クライアント・プロセスの再開時に、ダウンロードは最初から開始されます。

インターネット・サイトからの直接ダウンロード

パッチ 1 以降の Download Direct の既存のクライアント設定に加えて、特定のリソースをそれらが配置されているサイトから直接ダウンロードするようにクライアントを構成して、VPN ベースのクライアントにサービスを提供するリレーのネットワークへの影響と帯域幅の要件を緩和することができます。

特定のドメイン・セットへのすべてのリソース要求を、リレーからではなくインターネットから直接ダウンロードする必要があることを指定できます。_BESClient_Download_Direct_Domainlist という名前のクライアント設定を使用して、直接ダウンロードが必要なドメインのリストを指定します。

注: PeerNest が有効になっている場合、動作は変わりません。リソースは引き続きピア URL から要求されます。
注: この設定は、_BESClient_Download_Direct の代わりに使用する必要があります。実際には、_BESClient_Download_Direct 設定では、指定されたドメインに関係なく、すべてのリソースがインターネットから直接ダウンロードされます。
インターネットからの直接ダウンロードが失敗した場合、クライアントが BigFix リレーまたはサーバーからファイルをダウンロードしようとするように指定できます。_BESClient_Download_DirectRecovery という名前のクライアント設定を使用して、この動作を有効にします。
注: この設定は、クライアント設定 _BESClient_Download_Direct または _BESClient_Download_Direct_Domainlist が有効になっている場合にのみ有効です。

これらの設定について詳しくは、ダウンロードを参照してください。

ネットワークに基づく直接ダウンロードの有効化

パッチ 7 から、特定のサブネットに接続されている BigFix クライアントにのみ直接ダウンロードを許可できるようになりました。

直接ダウンロードを許可するサブネットのリストは、新しい設定 _BESClient_Download_Direct_SubnetList で指定できます。この設定では、CIDR 表記形式で指定されたサブネットのみを受け入れます。例: 192.1.77.0/25;192.1.0.0/16

複数のネットワーク・インターフェースを持つコンピューターの場合、許可されるリストを確認する際に考慮されるサブネットは、BigFix リレーに接続されている IP アドレスのサブネットです。

直接ダウンロードが進行中の場合、クライアントがリスト内のどのサブネットにも属さない新しい IP アドレスを使用して再登録すると、クライアントは進行中のダウンロードを中断します。

クライアントが進行中の直接ダウンロードを中断すると、以下のエラーがログに記録されます。
The direct download (Action <action_id>) was canceled after Relay Select: 
the address connected to the relay is changed.
注: _BESClient_Download_Direct_SubnetList 設定は、直接ダウンロードが予期されるすべての状況 (例: _BESClient_Download_Direct 設定が有効になっている場合や、URL が _BESClient_Download_Direct_Domainlist 設定に属している場合など) に付加価値を提供します。

この設定について詳しくは、『ダウンロード』を参照してください。

リレー・スイッチ後のダウンロード再開

パッチ 7 から、リレー・スイッチで進行中のダウンロードを中断できるようになりました。デフォルトでは、(前のリレーからの) ダウンロード操作の進行中に BigFix クライアントが新しいリレーに移動した場合、前のリレーがまだクライアントに到達可能であれば、ファイルのダウンロードは前のリレーから続行されます。

以前のリレーが到達不能になった場合にのみ、ダウンロードは失敗し、新しいリレーから新しいダウンロードが試行されます。

_BESClient_Download_ResetOnRelaySwitch という名前の新しい設定を有効にすると、以前のリレーからのダウンロードをまだ到達可能な場合でも停止し、新しいリレーからダウンロードを再開できます。

リレーの切り替え後に、クライアントが以前のリレーから進行中のダウンロードを中断すると、BigFix クライアントのログ・ファイルに以下のエラーが記録されます。
The download from Relay (Action <action_id>) was canceled after Relay Select: 
the relay is changed.

この設定について詳しくは、『ダウンロード』を参照してください。

HTTP から HTTPS への自動URLリダイレクト

従来のダウンロードに関する設定に加え、パッチ 8 からは、HTTP から HTTPS への URL リダイレクトが、Bigfix サーバー/リレーと BigFix クライアント (直接ダウンロード) の両方で処理されるようになりました。

HTTPS URL からのダウンロードをサポートするには、リモート・サーバー ID を検証するための適切な信頼された証明書を提供する必要があります。

HTTPS URL からダウンロードした場合、リモート・サーバーの証明書は、BES サポート・サイトを介して配布された CA バンドルを使用して検証されます。CA バンドルは、信頼できる権限のルート証明書と中間証明書を含むファイルです。

この新機能よりも前に、CA バンドルは BigFix サーバーにプリインストールされており、収集の目的で既に使用されていました。この新機能により、ダウンロードを目的として CA バンドルが配布され、BES サポート・サイトを通じて最新の状態に保たれます。

柔軟性を提供するために、サーバー/リレーとクライアントの両方に次の 2 つの新しいプロパティーが追加されました。
  • BESRelay_Download_UntrustedSites (サーバー/リレー)。これはブール値設定です。0 (デフォルト値) に設定すると、信頼できないサイトからのダウンロードは許可されません。1 に設定すると、信頼できないサイトからのダウンロードが許可されます。
  • _BESRelay_Download_CACertPath (サーバー/リレー)。これは、カスタム CA バンドルの絶対パスを設定できるストリング設定です。これは、デフォルトの値をオーバーライドします。
  • _BESClient_Download_UntrustedSites (クライアント)。これはブール値設定です。0 (デフォルト値) に設定すると、信頼できないサイトからのダウンロードは許可されません。1 に設定すると、信頼できないサイトからのダウンロードが許可されます。
  • _BESClient_Download_CACertPath (クライアント)。これは、カスタム CA バンドルの絶対パスを設定できるストリング設定です。これは、デフォルトの値をオーバーライドします。
注: _BESClient_Download_UntrustedSites および _BESClient_Download_CACertPath という名前のクライアント設定は、BESClient_Download_Direct という名前のクライアント設定が 1 (有効) に設定されている場合にのみ有効です。
注: _BESRelay_Download_UntrustedSites および _BESRelay_Download_CACertPath という名前のリレー設定は、_BESGather_Download_CheckInternetFlag という名前のリレー直接ダウンロード設定が 1 (有効) に設定されている場合にのみ有効です。

これらの設定について詳しくは、ダウンロードを参照してください。