<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
このドキュメントでは、Apigee Edge のルーターで I/O タイムアウトを構成する方法について説明します。
Router の I/O タイムアウトは、Router がパケットを受信するまで待機する時間 接続の確立とリクエストの送信後に、Message Processor からのレスポンスが返されます。 Message Processor に送信されます。Router の I/O タイムアウトのデフォルト値は 57 秒です。
Router の I/O タイムアウトは、デフォルト値の 57 秒から増減できます 作成できます。次のように構成できます。
- 仮想ホスト内
- ルーター
次のプロパティは、ルーターの I/O タイムアウトを制御します。
プロパティ名 | 場所 | 説明 |
---|---|---|
proxy_read_timeout
|
仮想ホスト |
Router がネットワークからレスポンスを受信するまで待機する最大時間を指定します。 Message Processor で接続が確立され、リクエストが Message Processor です。 このタイムアウト期間内に Message Processor からレスポンスがなかった場合、 ルーターがタイムアウトする。 デフォルトでは、このプロパティは
Router の このプロパティを特定の仮想ホストの新しいタイムアウト値で変更すると、次のようになります。 その特定の仮想ホストを使用する API プロキシのみが影響を受けます。 |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
ルーター |
Router がネットワークからレスポンスを受信するまで待機する最大時間を指定します。 Message Processor で接続が確立され、リクエストが Message Processor です。 このタイムアウト期間内に Message Processor からレスポンスがなかった場合、 ルーターがタイムアウトする。 このプロパティは、この Router 上のすべての仮想ホストに使用されます。 このプロパティのデフォルト値は 57 秒です。 このプロパティは、
後述のルーターの I/O タイムアウトの構成をご覧ください。または、
この値を使用するには、仮想ホストレベルで このプロパティの間隔は、 次の表記: ms: milliseconds s: seconds (default) m: minutes h: hours d: days w: weeks M: months (length of 30 days) y: years (length of 365 days) |
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout
|
ルーター |
Router がすべての Message からレスポンスを受信するまで待機する合計時間。 プロセッサ: 接続を確立し、各メッセージにリクエストを送信した後 データ処理者 これは、Edge インストール環境に複数の Message Processor があり、 エラー発生時に再試行が有効になります。次のいずれかの値になります。
|
始める前に
このドキュメントの手順を使用する前に、次のトピックを理解しておいてください。
- 仮想ホストのプロパティについてよく知らない場合は、次をご覧ください。 <ph type="x-smartling-placeholder"></ph> 仮想ホスト プロパティのリファレンス。
- プライベート クラウド上の Edge のプロパティの構成についてよく理解していない場合は、 設定方法 Edge。
- 必ず <ph type="x-smartling-placeholder"></ph> I/O タイムアウト構成のベスト プラクティスの推奨事項をご覧ください。
仮想ホストの I/O タイムアウトの構成
このセクションでは、関連付けられた仮想ホストで I/O タイムアウトを構成する方法について説明します。
組織と環境の両方が含まれます。I/O タイムアウトは、
プロパティ proxy_read_timeout
。I/O タイムアウト値を秒単位で表します。
仮想ホストは、次のいずれかの方法で構成できます。
- Edge UI
- Edge API
Edge UI
<ph type="x-smartling-placeholder">Edge UI を使用して仮想ホストを構成する手順は次のとおりです。
- Edge UI にログインします。
- [管理] >仮想ホスト。
- この変更を行う特定の環境を選択します。
- 新しいサブネットを構成する特定の仮想ホストを選択します。 I/O タイムアウト値。
- [Properties] で、[Proxy Read Timeout] の値を秒単位で更新します。
たとえば、タイムアウトを 120 秒に変更する場合は、 次の図をご覧ください。
- 変更を保存します。
Edge API
Edge API を使用して仮想ホストを構成する手順は次のとおりです。
- 次を使用して現在の仮想ホストの構成を取得します。
<ph type="x-smartling-placeholder"></ph>
次に示すように、仮想ホスト API を取得します。
Public Cloud ユーザー
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Private Cloud ユーザー
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
ここで
{organization-name} は組織の名前です。
{environment-name} は環境の名前です。
{virtualhost-name} は、仮想ホストの名前です。
virtualhost の構成例
{ "hostAliases": [ "api.myCompany,com" ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
proxy_read_timeout
プロパティを既存の仮想ホストの構成に追加する 秒単位の値を持つproperties
の下の JSON ペイロード。たとえば、I/O タイムアウトを 120 秒に変更するには、
properties
コードブロックは次のようになります。更新された仮想ホストの構成例
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
- 更新した仮想ホストの構成をファイルに保存します。たとえば、
virtualhost-payload.json
です。 - 次のコマンドを使用して、
virtualhost
構成を更新します。 <ph type="x-smartling-placeholder"></ph> 次のように仮想ホスト API を更新します。Public Cloud ユーザー
curl -v -X POST Content-Type: application/json https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
Private Cloud ユーザー
curl -v -X POST Content-Type: application/json http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
ここで
{organization-name} は組織の名前です。
{environment-name} は環境の名前です。
{virtualhost-name} は、仮想ホストの名前です。
仮想ホストの I/O タイムアウトの確認
このセクションでは、Google Cloud コンソールで I/O タイムアウトが正常に変更されたことを確認する方法について説明します。 使用して仮想的にホストします。
- 次のコマンドを実行します。
<ph type="x-smartling-placeholder"></ph>
次に示すように、仮想ホスト API を取得して
virtualhost
構成を取得します。Public Cloud ユーザー
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Private Cloud ユーザー
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
ここで
{organization-name} は組織の名前です。
{environment-name} は環境の名前です。
{virtualhost-name} は、仮想ホストの名前です。
- プロパティ
proxy_read_timeout
が新しい値に設定されていることを確認します。更新された仮想ホストの構成例
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }
上記の例では、
proxy_read_timeout
が「 新しい値である 120 秒。 proxy_read_timeout,
に古い値が引き続き表示される場合は、次のことを確認してください。 仮想ホストの I/O タイムアウトの構成に記載されているすべての手順に正しく従っていること。 途中を抜けた場合は、すべての手順を正しく繰り返します。- それでも I/O タイムアウトを変更できない場合は、Apigee Edge サポートにお問い合わせください。
ルーターの I/O タイムアウトの構成
このセクションでは、ルーターで I/O タイムアウトを構成する方法について説明します。I/O タイムアウトは
Router プロパティで構成
conf_load_balancing_load.balancing.driver.proxy.read.timeout
は、
I/O タイムアウト値(秒単位)。
Router で I/O タイムアウトを構成するには、次の操作を行います。
- ルーターマシンのエディタで、次のファイルを開きます。まだ存在しない場合は作成します。
/opt/apigee/customer/application/router.properties
たとえば、
vi
の場合は、次のコマンドを入力します。vi /opt/apigee/customer/application/router.properties
properties
ファイルに次の形式の行を追加します。time_in_seconds
の値:- 変更を保存します。
- 以下に示すように、このプロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/router.properties
- 次のように Router を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Router が複数ある場合は、すべての Router で上記の手順を繰り返します。
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
たとえば、Router の I/O タイムアウトを 120 秒に変更するには、次の行を追加します。
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
I/O タイムアウトを分単位で変更することもできます。たとえば、タイムアウトを 2 分経過したら、次の行を追加します。
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Router での I/O タイムアウトの確認
このセクションでは、Google Cloud コンソールで I/O タイムアウトが正常に変更されたことを確認する方法について説明します。 構成されます
トークンや
I/O タイムアウトを設定する conf_load_balancing_load.balancing.driver.proxy.read.timeout
Router で、実際のプロパティ proxy_read_timeout
が次の値になっているかどうかを検証する必要があります。
新しい値で設定されます。
- 次の場所でプロパティ
proxy_read_timeout
を検索します。/opt/nginx/conf.d
ディレクトリに移動して、 新しい値を次のように変更します。grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- ルーターで新しい I/O タイムアウト値が正常に設定されている場合、上記のコマンドは
すべての仮想ホスト構成ファイルの新しい値を示します。
以下は、上記の
grep
コマンドで実行された I/O タイムアウトは 120 秒です。/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
上記の出力例では、プロパティ
<ph type="x-smartling-placeholder">proxy_read_timeout
が0-default.conf
で新しい値 120 に設定されています。これは、 構成ファイルを作成します。これは、I/O タイムアウトが失敗したことを はルーターで 120 秒に正常に設定されます。 - プロパティ
proxy_read_timeout
に古い値が引き続き表示される場合: 記載されているすべてのステップが ルーターの I/O タイムアウトの構成を正しく構成する。既存の 手順をすべて間違えた場合は、すべての手順を正しく繰り返します。 - それでも I/O タイムアウトを変更できない場合は、Apigee Edge サポートにお問い合わせください。