LoginSignup
0
0

More than 5 years have passed since last update.

claudia.jsによるAPIGatewayへのデプロイがコケる

Posted at

ある日claudia.jsを利用したAPI群のデプロイがコケるようになった。
TooManyRequestsExceptionとあるが、上限値に引っかかるほどAPIを呼んでいるわけでもなさそうだった。

{ TooManyRequestsException: Too Many Requests
    at Object.extractError (/xxx/xxx/node_modules/aws-sdk/lib/protocol/json.js:48:27)
    at Request.extractError (/xxx/xxx/node_modules/aws-sdk/lib/protocol/rest_json.js:52:8)
    at Request.callListeners (/xxx/xxx/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
    at Request.emit (/xxx/xxx/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
    at Request.emit (/xxx/xxx/node_modules/aws-sdk/lib/request.js:683:14)
    at Request.transition (/xxx/xxx/node_modules/aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/xxx/xxx/node_modules/aws-sdk/lib/state_machine.js:14:12)
    at /xxx/xxx/node_modules/aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/xxx/xxx/node_modules/aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/xxx/xxx/node_modules/aws-sdk/lib/request.js:685:12)
  message: 'Too Many Requests',
  code: 'TooManyRequestsException',
  time: 2018-05-16T09:19:37.499Z,
  requestId: '483f4e63-58ea-11e8-8ca8-0f1395b3d620',
  statusCode: 429,
  retryable: false,
  retryDelay: 32.340008107058836 }

というわけでAWSへ問い合わせ。

「requestIdだけだと辛い。エラーになっているAPIを特定して」と言われ、そうだよなと悲しくなりながらClaudia.jsのコードを追ってログを仕込み、create-deploymentがTooManyRequestsExceptionで返ってきていることを特定。

そちらを伝えると「特定のRestAPIリソースに対してcreate-deployment呼ぶと、AWS側でInternalErrorが発生している。その際に内部的にリトライが発生し、最終的にTooManyRequestsExceptionが帰っているっぽい。原因は不明。リソースを作り直せば回避できる」とのお返事。

言われるがままに、既存のRestAPIを削除して、まったく同じものを作り直してみると正常にデプロイできた。というわけで、APIGatewayのcreate-deploymentTooManyRequestsExceptionが出ちゃった方は、作り直すといいかもしれません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0