現在、Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントをご確認ください。 情報
このドキュメントでは、Apigee Edge Message Processor の接続タイムアウトを構成する方法について説明します。
接続タイムアウトは、Message Processor がターゲット サーバーとの接続を確立するために待機する時間を表します。Message Processor の接続タイムアウト プロパティのデフォルト値は 3
秒です。このタイムアウト期間は、ターゲット エンドポイント構成と API プロキシの ServiceCallout
ポリシーで構成されたバックエンド サーバーに適用されます。
Message Processor の接続タイムアウトは、必要に応じてデフォルト値の 3
秒から増減できます。次のように構成できます。
- API プロキシの場合
- ターゲット エンドポイント
ServiceCallout
ポリシーの場合
- Message Processor で処理
Message Processor の接続タイムアウトは、次のプロパティによって制御されます。
プロパティ名 | ロケーション | 説明 |
---|---|---|
connect.timeout.millis |
API プロキシ:
|
これは、Message Processor がターゲット サーバーに接続するために待機する最大時間です。
デフォルトでは、このプロパティは Message Processor の このプロパティが、API プロキシに関連付けられたターゲット サーバーの新しいタイムアウト値で変更されている場合、そのターゲット サーバーのみの接続時間に影響します。 |
HTTPClient.connect.timeout.millis |
Message Processor |
これは、Message Processor がターゲット サーバーへの接続を待機する最大時間です。 このプロパティは、この Message Processor で実行されているすべての API プロキシで使用されます。
このプロパティのデフォルト値は
このプロパティは、以下の
Message Processor の接続タイムアウトを構成するの説明に沿って変更できます。または、API プロキシレベルで |
始める前に
このドキュメントの手順を行う前に、次のトピックを理解しておいてください。
- 接続タイムアウトについては、
TargetEndpoint トランスポート プロパティ仕様の
connect.timeout.millis
プロパティの説明をご覧ください。 - Private Cloud での Edge の構成方法に詳しくない場合は、Edge の構成方法をご覧ください。
API プロキシで接続タイムアウトを構成する
接続タイムアウトは、API プロキシの次の場所で構成できます。
- ターゲット エンドポイント
ServiceCallout
ポリシー
API プロキシのターゲット エンドポイントで接続タイムアウトを構成する
このセクションでは、API プロキシのターゲット エンドポイントで接続タイムアウトを構成する方法について説明します。接続タイムアウトは、接続タイムアウト値をミリ秒単位で表す connect.timeout.millis
プロパティを使用して構成できます。
- Edge UI で、新しい接続タイムアウト値を構成する特定の API プロキシを選択します。
- 変更する特定のターゲット エンドポイントを選択します。
TargetEndpoint
構成の<HTTPTargetConnection>
要素に、適切な値を持つプロパティconnect.timeout.millis
を追加します。たとえば、接続タイムアウトを
5
秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
connect.timeout.millis
プロパティはミリ秒単位であるため、5
秒の値は5000
になります。次の例は、API プロキシのターゲット エンドポイント構成で接続タイムアウトを構成する方法を示しています。
バックエンド サーバーの URL を使用したターゲット エンドポイントの構成例
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
ターゲット サーバーを使用したターゲット エンドポイントの構成例
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
- API プロキシに加えた変更を保存します。
API プロキシの ServiceCallout ポリシーで接続タイムアウトを構成する
このセクションでは、API プロキシの ServiceCallout
ポリシーで接続タイムアウトを構成する方法について説明します。接続タイムアウトは、接続時間の値をミリ秒で表す connect.timeout.millis
プロパティで構成できます。
connect.timeout.millis
プロパティを使用して ServiceCallout
ポリシーで接続タイムアウトを構成するには:
- Edge UI で、
ServiceCallout
ポリシーの新しい接続タイムアウト値を構成する特定の API プロキシを選択します。 - 変更する特定の
ServiceCallout
ポリシーを選択します。 TargetEndpoint
構成の<HTTPTargetConnection>
要素に、適切な値を持つプロパティconnect.timeout.millis
を追加します。たとえば、接続タイムアウトを
5
秒に変更するには、次のコードブロックを追加します。<Properties> <Property name="connect.timeout.millis">5000</Property> </Properties>
connect.timeout.millis
プロパティはミリ秒単位であるため、5
秒の値は5000
になります。次の例は、API プロキシの
ServiceCallout
ポリシーで接続タイムアウトを構成する方法を示しています。バックエンド サーバーの URL を使用した ServiceCallout ポリシーの構成例
<ServiceCallout name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
ターゲット サーバーを使用した ServiceCallout ポリシーの構成例
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>Service Callout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="connect.timeout.millis">5000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- API プロキシに加えた変更を保存します。
Message Processor の接続タイムアウトを構成する
このセクションでは、Message Processor で接続タイムアウトを構成する方法について説明します。接続タイムアウトは conf_http_HTTPClient.connect.timeout.millis
プロパティを介して構成できます。このプロパティは、
Edge の構成方法で説明されている構文に従ってトークンを使用し、Message Processor コンポーネントの接続タイムアウト値をミリ秒単位で表します。
Message Processor で接続タイムアウトを構成するには、次の操作を行います。
- Message Processor マシンで、次のファイルをエディタで開きます。まだ存在しない場合は作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、
vi
を使用してファイルを開くには、次のように入力します。vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルに次の形式の行を追加します。TIME_IN_MILLISECONDS は実際の値に置き換えます。
conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
たとえば、Message Processor の接続タイムアウトを
5
秒に変更するには、次の行を追加します。conf_http_HTTPClient.connect.timeout.millis=5000
- 変更を保存します。
- 次のように、プロパティ ファイルの所有者を
apigee
ユーザーにします。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor で上記の手順を繰り返します。
Message Processor の接続タイムアウトを確認する
このセクションでは、Message Processor で接続タイムアウトが正しく変更されていることを確認する方法について説明します。
トークン conf_http_HTTPClient.connect.timeout.millis
を使用して Message Processor の接続タイムアウトを設定する場合でも、実際のプロパティ HTTPClient.connect.timeout.millis
が新しい値で設定されていることを確認する必要があります。
- Message Processor マシンで、
/opt/apigee/edge-message-processor/conf
ディレクトリのプロパティHTTPTransport.connect.timeout.millis
を検索し、次のように新しい値が設定されていることを確認します。grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
- Message Processor で新しい接続タイムアウト値が正常に設定されていれば、上記のコマンドにより
http.properties
ファイルに新しい値が表示されます。接続タイムアウトを
5
秒に構成した後の上記のコマンドの結果は次のようになります。/opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
上記の出力例では、プロパティ
HTTPClient.connect.timeout.millis
がhttp.properties
の新しい値5000
で設定されています。これは、Message Processor で接続タイムアウトが5
秒に正常に構成されていることを示します。 - プロパティ
HTTPClient.connect.timeout.millis
に古い値が引き続き表示される場合は、Message Processors の接続タイムアウトの構成で説明されているすべての手順が正しく行われていることを確認します。ステップを見逃した場合は、すべてのステップをもう一度正しくやり直します。 - それでも接続タイムアウトを変更できない場合は、Google Cloud Apigee Edge サポートにお問い合わせください。