コンテンツにスキップ

PlaidLinkエージェント

外部からのアクセスを許可していないリモートシステムのデータにアクセスしたり、そこでプロセスを実行したりする必要が生じることがあります。これは、ファイアウォールの内側にあるエンタープライズ環境でよくあるケースです。PlaidCloudでは、PlaidLinkを使ってこれを実現します。PlaidLinkにより、ファイアウォールの内側にあるシステムや、PlaidCloudからの直接アクセスが望ましくないシステムにリモートからアクセスできます。

PlaidLinkはエージェントベースの仕組みです。つまり、リモートユーザーにあたるエージェントを、ファイアウォールの内側などの制限された領域にあるシステムにインストールします。エージェントは、安全なHTTPS WebSocket接続を介して、外向きの接続開始プロセスによりPlaidCloudに接続します。通常の暗号化されたWeb接続と同等の安全性があり、通常は標準以外のポートを開ける必要もありません。アクセスを得る前に、エージェントはエージェント識別子を送信して自身を識別する必要があります。その認証プロセスが成功すると、エージェントには承認された操作へのアクセスが許可されます。

PlaidLinkは、Windows、Unix、Linuxシステムにインストールでき、低権限のユーザーで実行できます。Windowsシステムでは、PlaidLinkをWindowsサービスとして動作させ、サービスパネルから完全に制御できます。LinuxまたはUnixシステムでは、デーモンプロセスとして実行できます。

PlaidLinkは、スタンドアロンのDockerコンテナーまたはKubernetesポッドとして実行することもできます。

エージェントを管理するには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします

PlaidLinkエージェントテーブルが開きます。ここで、利用可能なエージェントの一覧を表示、変更し、認証情報を取得できます。

エージェントを作成するには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします
  4. 「Add PlaidLink Agent」をクリックします
  5. 必須フィールドに入力します
  6. 「Create」をクリックします
  7. エージェントがジョブの実行に必要なリソースにアクセスできるように、必要なセキュリティグループにエージェントを割り当てます
  8. エージェントがジョブの実行に必要なドキュメントにアクセスできるように、必要なドキュメントアカウントにエージェントを割り当てます

エージェントの認証情報の取得

Section titled “エージェントの認証情報の取得”

リモートシステムでPlaidLinkエージェントを設定するには、セキュリティを維持するために、まずエージェントの識別情報を取得する必要があります。この情報には、公開鍵と秘密鍵の両方が含まれます。

これらの鍵を取得するには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします
  4. 編集アイコンをクリックします

公開鍵と秘密鍵の値を確認できるフォームが開きます。

エージェントの認証情報の再生成

Section titled “エージェントの認証情報の再生成”

セキュリティを維持するために、公開鍵と秘密鍵を定期的に再生成し、リモートシステムの設定を更新することをおすすめします。

認証情報を再生成するには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします
  4. 再生成アイコンをクリックします

認証情報を再生成したら、新しいエージェントの認証情報と同じ方法(上記を参照)で取得できます。

エージェントの有効化と無効化

Section titled “エージェントの有効化と無効化”

エージェントを無効にするには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします
  4. 「Active」チェックボックスをオフにします

接続は環境ごとに異なる構成を保持できるため、プロジェクトの環境を切り替えると、そのプロジェクトが使用するすべての接続が一度に切り替わります。エージェントも同じ切り替えに追従できます。

各エージェントには2つの設定があります。

  • Agent Group:互いに代替となるエージェントが共有する名前です。グループ内のエージェントは、同じ作業の代替として、環境ごとに1つずつ用意します。
  • 環境:このエージェントが対応する接続環境です。

ステップでは、引き続き特定の1つのエージェントを指定します。ワークフローの実行時に、PlaidCloudは、そのエージェントが属するグループを確認し、プロジェクトの現在の環境に対応するメンバーを選択します。そのため、デフォルトの環境からQAに移したプロジェクトでは、ステップを編集しなくても、リモートステップがQAのマシンで実行されます。

Finance という名前のグループに、デフォルト環境に対応するエージェントとQAに対応するエージェントが1つずつある場合、どちらのエージェントを指定したステップも、プロジェクトに一致する方で実行されます。また、デフォルトに戻したプロジェクトは、ステップがQAのエージェントを指定していても、デフォルトのエージェントで実行されます。

エージェントを環境に割り当てるには:

  1. Analyzeを開きます
  2. 「Tools」を選択します
  3. 「PlaidLinkエージェント」をクリックします
  4. エージェントを開きます
  5. 「Agent Group」には、そのエージェントの代替となるエージェントと共通の名前を設定し、「環境」には、このエージェントが対応する環境を設定します
  6. そのエージェントを実行しているマシンで、PlaidLink設定ファイルに一致する環境名を設定します。以下のエージェントマシンとの一致をご覧ください

エージェントをグループから外すと、グループの対応範囲が狭まるため、追加するのと同じくらい影響があります。デフォルト環境に対応していたエージェントのグループをクリアすると、その環境で実行されているプロジェクトは解決先がなくなり、次の実行時に失敗します。メンバーを削除する前に、その環境をグループ内の別のメンバーに移してください。グループの対応範囲が変わる保存を行うたびに、新しい対応範囲が通知されます。

環境は接続と共有されるため、ここで選択できる環境名は、接続の構成に使う環境名と同じです。接続の作成と管理をご覧ください。

ここで設定する環境は、そのマシン上のPlaidLinkサービスに設定されている環境と一致している必要があります。PlaidLinkは、設定ファイルで指定された環境に対応する、完全に一致する1つのキューをサブスクライブします。そのため、エージェントのレコードがQAになっているのに、マシンがまだデフォルト環境用に設定されている場合、そのエージェントは、作業が送信されるキューとは別のキューをリッスンしていることになります。ステップは待機した後、エージェントがジョブを受け取っていないというエラーで失敗します。

PlaidLink設定ファイルの environments ブロックの、そのエージェントのエントリーに設定します。

environments:
- name: QA
agent_id: <agent identifier>

name は、PlaidCloudに表示される環境名です。省略した場合、エージェントはデフォルト環境に対応します。変更後は、PlaidLinkサービスを再起動してください。

PlaidLinkは、1つのサービスのインストールで複数のエージェントを動作させられるように設計されています。この合理的なインストール方式により、1回のインストールで、複数のワークスペースのエージェントや、タスク実行の権限レベルが異なるエージェントを扱えます。

複数のエージェントを有効にするには、PlaidLink設定ファイルにエージェントの認証情報を追加するだけです。

1つのPlaidLinkサービスで複数のエージェントを実行する場合と同様に、複数のPlaidLinkサービスを実行することもできます。

これが必要になるのは、システムベースのセキュリティを使用している場合や、ネットワークの境界を越えた通信を妨げるネットワークアクセス制限がある場合などです。

コンピューティング、メモリ、ディスクの要件

Section titled “コンピューティング、メモリ、ディスクの要件”

PlaidLinkサービスは非常に軽量で、動作に必要なコンピューティングとメモリは最小限です。大量のデータを処理する場合は、コンピューティングリソース、特にメモリを増やす必要があることがあります。

通常、エージェントはCPUの5%とメモリ200MBで問題なく動作します。負荷の高いデータ操作には、CPU 1基全体と、少なくとも4GBのRAMを割り当てることをおすすめします。Kubernetesのような動的なリソース割り当てシステムでは、エージェントが予約済みのリソースではなくバースト可能なリソースにアクセスできれば問題ありません。

エージェントに必要なディスク容量も最小限です。エージェントは、大量のデータを転送する際にディスク容量をデータバッファーとして使用します。通常の運用では、8GBの容量で十分です。負荷の高いデータ操作では、想定されるデータ量に応じてディスクを拡張することをおすすめします。CPUの速度、ネットワークの速度、データ量など複数の要因に左右されるため、決まった容量はありません。ただし、20GBから始めて調整するのが目安です。

PlaidLinkエージェントは、必要な設定を最小限に抑えて動作するように設計されています。標準的なHTTPSネットワークトラフィックを許可する以外に、特別なVPNやネットワークの設定は必要ありません。エージェントは、通常のWebブラウザーベースのトラフィックと同じプロトコルで通信します。

エージェントサービスは常にPlaidCloudへの通信を開始するため、ファイアウォールで受信アクセスを設定する必要はありません。