📝
[小ネタ] API Gateway REST API の連続削除について
Amazon API Gateway quotas and important notes - Amazon API Gateway
Action Default quota Can be increased DeleteRestApi 1 request every 30 seconds per account No
REST API の削除は 30 秒に 1 回という制限があります。
連続削除した場合
コンソールで REST API を連続削除しようとしたところ、Too Many Requests というエラーが発生して 2 つ目の API を削除できませんでした。
AWS CLI でも同様のエラーが発生しました。
$ aws apigateway delete-rest-api --rest-api-id tljgdu4gfl
$ aws apigateway delete-rest-api --rest-api-id i997aqpwd7
An error occurred (TooManyRequestsException) when calling the DeleteRestApi operation (reached max retries: 2): Too Many Requests
1 つ目の API の削除してから 30 秒後であれば 2 つ目の API も削除できました。
Boto3 の GitHub Issue でも報告されている通り、プログラムから連続で削除する必要がある場合にはスリープやリトライでの対処が必要です。
Deleting two API Gateway APIs in a row fails. TooManyRequestsException · Issue #876 · boto/boto3
CloudTrail の記録について
Too Many Requests が発生した DeleteRestApi については CloudTrail には記録されていませんでした。
記録されない理由は内部仕様に依存すると思われるので言及できませんが、CloudTrail には記録されない挙動が意外でした。
まとめ
今回は API Gateway REST API の連続削除について紹介しました。
どなたかの参考になれば幸いです。
Discussion