Мне интересно, есть ли какие-либо ограничения на дросселирование EC2 API, такие как EMR, которые ограничивают количество вызовов, которые вы можете внести в EC2 в секунду или минуту?
Если да, то каковы эти ограничения? публикуются они где-нибудь?
Мне интересно, есть ли какие-либо ограничения на дросселирование EC2 API, такие как EMR, которые ограничивают количество вызовов, которые вы можете внести в EC2 в секунду или минуту?
Если да, то каковы эти ограничения? публикуются они где-нибудь?
Amazon EC2 тем временем задокументировал свой общий Request Request Request Rate:
Мы обрабатываем запросы API Amazon EC2 для каждой учетной записи AWS, чтобы помочь выполнить работу службы. Мы гарантируем, что все вызовы API Amazon EC2 (независимо от того, происходят они из приложения, обращаются к интерфейсу командной строки Amazon EC2 или к консоли Amazon EC2) не превышают максимально допустимую скорость запроса API. Обратите внимание, что запросы API, сделанные пользователями IAM, относятся к основной учетной записи AWS.
Действия API Amazon EC2 подразделяются на следующие категории:
[...]Если запрос API превышает скорость запроса API для своей категории, запрос возвращает код ошибки RequestLimitExceeded. Чтобы предотвратить эту ошибку, убедитесь, что ваше приложение не запрашивает запросы API с высокой скоростью. Вы можете сделать это, используя осторожность при опросе и с помощью экспоненциальных повторных попыток.
Хотя детали могут различаться между множеством своих услуг, я думаю, что безопасно предполагать подобные шаблоны обычно (не в последнюю очередь из-за того, что EC2 поддерживает многие другие сервисы).
Оба вышеупомянутых объяснения из EC2, а также несколько косвенных котировок от пользователей, взаимодействующих с поддержкой AWS, похоже, предполагают, что лимиты могут варьироваться в зависимости от статуса службы и даже для учетной записи, то есть AWS способен повышать/уменьшать лимиты для отдельных счетов в зависимости от назначенных высокопроизводительных прецедентов, подозрительных злоупотреблений и т.д., см., например:
RequestLimitExceeded
в Коды ошибок клиента, намекая на обработку учетной записи:
Максимальная скорость запроса, разрешенная API-интерфейсами Amazon EC2, превышена для вашей учетной записи. [...]
Как мы увеличиваем лимит скорости EBS API?:
Поддержка Rightscale заявила, что нам необходимо связаться с Amazon, чтобы увеличить лимит ставок EBS API, поскольку кажется, что мы превысили требования к этому API, поскольку у нас в этом аккаунте большое количество баз данных MySQL, и у всех их есть снимки EBS для резервных копий.
Ответ команды AWS на Ошибка: предел превышения запроса с помощью boto для запуска и завершения экземпляров:
Ограничение скорости, которое вы увидите в EC2, может варьироваться в зависимости от нагрузки системы.
Саул ответит на Лимит прав A3 для веб-служб Amazon:
Однако после публикации этого вопроса я получил электронное письмо от AWS, в котором говорилось, что количество запросов LIST превысило 10 запросов в секунду, потому что у меня было слишком много событий в конкретном ведре.
Конечно, они, как правило, являются исключением из большинства правил, я знаю о двух следующих документах, описывающих конкретные ограничения:
Amazon Route 53 документирует свой конкретный Limits на маршруте Amazon Route 53 API и сущность Графы:
Все запросы: пять запросов в секунду на учетную запись AWS. [...]
Amazon SES также документирует конкретный предел одного запроса/секунды для большинства действий API (предположительно все, кроме SendEmail и SendRawEmail), см., например, GetSendQuota:
Это действие дросселируется по одному запросу в секунду.
Как указано в Устранение ошибок API-запросов, правильный подход для обработки этого на стороне клиента заключается в реализации Ошибка повторения и экспоненциальная отсрочка в AWS (большинство AWS SDK в то же время применяют это руководство автоматически, включая опции для настройки политики повторного запуска по умолчанию или добавления специальной реализации).