Link Agentを実行するには、設定オプションをコマンドラインで渡す以外に、ファイルから渡す方法があります。Link Agent設定ファイルは、コマンドラインにAPIキーを表示したくない場合や、単一のLink Agentで複数のLinkトンネルを処理したい場合に、有効な選択肢です。
ファイルから設定オプションを渡すには、次の例のように、--config
または-c
オプションを使用します。
bin/link-agent --config /path/to/config.json
# Or:
bin/link-agent -c /path/to/config.yaml
サポート対象のファイル形式
サポートされている設定ファイルの形式はJSONとYAMLです。それぞれの例は、Link Agentディストリビューションのconfigディレクトリにあるconfig.example.json
ファイルとconfig.example.yaml
ファイルに示されています。
少なくとも、tunnels
セクションには、Link AgentのAPI名とAPIキーが含まれています。一般的に使用される設定オプションの例を以下に示します。
JSON:
{
"disableAutoUpdates": false,
"httpProxy": {
"host": "host",
"port": 1234
},
"proxyAuth": {
"password": "password",
"username": "username"
},
"proxyExclusions": [
"localhost",
"127.0.0.1"
],
"proxyMode": "all",
"tunnels": [
{
"apiKey": "apiKey1",
"name": "name1"
},
{
"apiKey": "apiKey2",
"name": "name2"
}
]
}
YAML:
disableAutoUpdates: false
httpProxy:
host: host
port: 1234
maxConnectionAttempts: 1
proxyAuth:
password: my-proxy-password
username: my-proxy-username
proxyExclusions:
- localhost
- 127.0.0.1
proxyMode: all
tunnels:
- apiKey: my-api-key-1
name: my-tunnel-name-1
- apiKey: my-api-key-2
name: my-tunnel-name-2
同一のエージェントインスタンスに複数のトンネルを統合することで、管理する一意のエージェントインスタンスの数を減らすことができます。これは小規模のトンネルが複数ある場合に有用な方法ですが、このアプローチには注意が必要です。同一のLink Agentで処理されるトラフィックの量が増えると、メモリやCPUの要件が高まる可能性があるためです。
複数のトンネルを同一のLink Agentインスタンスに統合する場合は、次のアプローチをお勧めします。
- Link Agentが動作しているホストのベースラインの使用量を把握します。
- トンネルは一度に1つずつ追加します。
- 各トンネルを追加した後で、エージェントログでエラーを監視し、ホストのメモリやCPUの使用率がベースラインに比べてどのように変化したかを観察します。正確な測定を行うには、管理対象のすべてのトンネルでテストがアクティブであるときにホストを監視します。
- 必要な場合は、JVMに利用できるメモリを増やします。
プロキシ自動設定 (PAC) を使用する場合のLink Agentの設定
プロキシ設定にPACファイル/スクリプトを使用する場合、Link Agent設定ファイルにそれらのPAC設定を追加できます。設定ファイルにPACの設定を追加する場合は、静的プロキシの設定が存在しないことを確認してください。proxyAutoConfiguration
設定を追加する前に、httpProxy
、proxyAuth
、proxyExclusions
の設定を削除する必要があります。
PACを使用するようにLink Agentを設定すると、proxyMode
の設定は無視されます。これは、プロキシを使用するURLと、直接接続を行うURLが、PACスクリプトによって確定するためです。
プロキシ自動設定 (PAC) を使用する場合のLink Agentの設定方法を、JSONとYAMLに分けて次の例に示します。
JSON:
{
"proxyAutoConfiguration": {
"auth": {
"proxy1.example.com:8080": {
"username": "my-user-1",
"password": "password-1"
},
"proxy2.example.com:8080": {
"username": "my-user-2",
"password": "password-2"
}
},
"reloadPeriodMinutes": 5,
"url": "http://proxy.example.com/pac.js"
},
}
YAML:
proxyAutoConfiguration:
auth:
proxy1.example.com:8080:
username: my-user-1
password: my-password-1
proxy2.example.com:8080:
username: my-user-2
password: my-password-2
reloadPeriodMinutes: 5
url: http://proxy.example.com/pac.js
PACには少なくともURLを含める必要があります。通常、これはhttp://
で始まるURLです。ローカルファイルシステム上のファイルからPACスクリプトを読み込む場合は、次のようにfile://
で始まるURLを使用します。file:///opt/mabl/link-agent/pac.js
追加の設定には、次のようなものがあります。
auth
: 認証が必要なプロキシサーバーがある場合は、認証が必要なプロキシごとにauthエントリを追加します。各認証情報設定に対するプロキシは、ホスト名とポートの両方を含む形式で、PACスクリプトで返されるとおりに指定する必要があります。例:proxy.example.com:8080
reloadPeriodMinutes
: この設定では、Link AgentでPACを再読み込みする頻度を指定します。Link Agentでは、接続待機時間を最小限に抑えるため、接続のたびにPACを再読み込みするのではなく、バックグラウンドで定期的にPACの再読み込みを行います。ほとんどの場合、PACが頻繁に変更されることはないため、数分ごとに再読み込みを行えば十分です。デフォルト設定では、1分に1回の頻度でPACの再読み込みが行われます。