AWS Aurora Serverless - сбой линии связи - PullRequest
0 голосов
/ 02 октября 2019

Я использую MySQL Aurora Serverless кластер (с включенным API данных) в моем коде Python и получаю исключение communications link failure. Обычно это происходит, когда кластер неактивен в течение некоторого времени.

Но, как только кластер активен, я не получаю ошибки. Я должен отправлять 3-4 запроса каждый раз, прежде чем он будет работать нормально.

Сведения об исключении:

Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов с сервера. Произошла ошибка (BadRequestException) при вызове операции ExecuteStatement: сбой линии связи

Как решить эту проблему? Я использую стандартную библиотеку boto3

1 Ответ

0 голосов
/ 11 октября 2019

Вот ответ от AWS Premium Business Support.

Summary: It is an expected behavior

Подробный ответ:

Я вижу, что вы получаете эту ошибку, когда ваш экземпляр Aurora Serverless неактивен иВы перестаете получать его, когда ваш экземпляр активен и принимает соединение. Обратите внимание, что это ожидаемое поведение. В целом, Aurora Serverless работает иначе, чем Provisioned Aurora, в Aurora Serverless, хотя кластер «неактивен», ему не назначены вычислительные ресурсы и когда он равен дБ. соединение получено, вычислительные ресурсы назначены. Из-за этого поведения вам придется «пробуждать» кластеры, и может потребоваться несколько минут, чтобы первое соединение установилось успешно, как вы видели.

Во избежание того, что вы можете рассмотреть вопрос об увеличении времени ожиданияна стороне клиента. Также, если вы включили паузу, вы можете подумать о ее отключении [2]. После отключения функции «Пауза» вы также можете настроить минимальную единицу емкости Aurora на более высокое значение, чтобы убедиться, что у вашего кластера всегда достаточно вычислительных ресурсов для обслуживания новых соединений [3]. Обратите внимание, что настройка минимального ACU может увеличить стоимость обслуживания [4].

Также обратите внимание, что Aurora Serverless рекомендуется только для определенных рабочих нагрузок [5]. Если ваша рабочая нагрузка очень предсказуема и вашему приложению требуется регулярный доступ к БД, я бы порекомендовал вам использовать кластеризованный экземпляр Aurora для обеспечения высокой доступности вашего бизнеса.

[2] КакAurora Serverless Works - автоматическая пауза и возобновление работы Aurora Serverless - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.pause-resume

[3] Настройка емкости кластера Aurora Serverless DB - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.setting-capacity.html

[4] Aurora Serverless Price https://aws.amazon.com/rds/aurora/serverless/

[5] Использование Amazon Aurora Serverless - варианты использования Aurora Serverless - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.use-cases

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...