429 Too Many Requests(リクエスト数が多すぎる)

Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動
情報

症状

リクエストが Message Processor に到達していないため、このエラーがルータから表示され、トレースから 429 が表示されない場合があります。ルータ自体を直接呼び出す場合も、429 を返します。

エラー メッセージ

<html>
  <head> <title>429 Too Many Requests</title> </head>
  <body> <center> <h1>429 Too Many Requests</h1> </center> <hr> <center>server</center> </body>
</html>
    

考えられる原因

通常、nginx 構成ファイルの設定は conf_load_balancing_load.balancing.driver.nginx.limit_conn=5000 ですが、これは受信接続に対して低すぎる可能性があります。

診断

  1. 次のコマンドを使用して、nginx ルーターのデフォルトの上限を確認します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  2. 仮想ホストの access_log エントリで 429 エラーを確認し、エラーがアップストリームの Message Processor からではなく、ルータから直接送信されていることを確認します。
    cd /opt/apigee/var/log/edge-router/nginx/ grep "429 " org~env-port_access_log
            

解決策

  1. ssh コマンドを使用して、ルーターノードに 1 つずつ接続します。
  2. 次のファイルを開きます(存在しない場合は作成します)。
    /opt/apigee/customer/application/router.properties
            
  3. 次の行を追加します。
    conf_load_balancing_load.balancing.driver.nginx.limit_conn=25000
            
  4. ファイルを保存します。
  5. ファイルの所有者が apigee:apigee: であることを確認します。
    sudo chown apigee:apigee router.properties
            
  6. ルーターを再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
            
  7. 次のコマンドを使用して検証し、プロパティが設定されていることを確認します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.nginx.limit_conn
            
  8. 各ルーターで繰り返します。