Устранение неполадок с подключением к Azure Cosmos DB for PostgreSQL
Область применения: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus до PostgreSQL)
Проблемы с подключением могут быть вызваны несколькими причинами:
- Параметры брандмауэра
- Время ожидания подключения.
- Неверные данные для входа
- Достигнуто предельное число подключений для кластера
- Проблемы с инфраструктурой службы.
- Обслуживание службы
- Выполнение отработки отказа узла координатора на новое оборудование
Как правило, проблемы с подключением к Azure Cosmos DB для PostgreSQL можно классифицировать следующим образом:
- временные ошибки (кратковременные или возникающие периодически);
- постоянные или регулярно возникающие ошибки.
Устранение временных ошибок
Временные ошибки возникают по ряду причин. Наиболее распространенные: обслуживание системы, ошибка с оборудованием или программным обеспечением, а также обновление узла координатора vCore.
Включение высокой доступности для узлов кластера может автоматически устранять эти проблемы. Тем не менее, приложение должно быть готово к кратковременной потере подключения. Устранение неполадок при некоторых событиях иногда требует больше времени, например, когда большая транзакция приводит к длительному восстановлению.
Порядок устранения временных проблем подключения
- Проверьте панель мониторинга Microsoft Azure на наличие каких-либо известных сбоев, произошедших в то время, когда приложение сообщало об ошибках.
- Приложения, подключающиеся к облачной службе, например Azure Cosmos DB для PostgreSQL, должны ожидать временных ошибок и реагировать корректно. Например, приложения должны реализовать логику повторных попыток для обработки этих ошибок, вместо того, чтобы показывать их пользователям, как ошибки приложения.
- Так как кластер приближается к ограничениям ресурсов, ошибки могут показаться временными проблемами подключения. В этом случае может помочь увеличение объема ОЗУ узла, добавление рабочих узлов и перераспределение данных.
- Если проблемы с подключением продолжаются, их длительность превышает 60 секунд или они наблюдаются несколько раз в день, отправьте запрос в службу поддержки Azure, нажав кнопку Получить поддержку на сайте поддержки Azure.
Устранение постоянных ошибок
Если приложению регулярно не удается подключиться к Azure Cosmos DB for PostgreSQL, то наиболее распространенные причинами являются неправильно настроенные параметры брандмауэра или ошибка пользователя.
- Настройка параметров брандмауэра узла координатора. Убедитесь, что брандмауэр сервера разрешает подключений от вашего клиента, включая прокси-серверы и шлюзы.
- Настройка параметров брандмауэра клиента: брандмауэр на вашем клиенте должен разрешать подключения к серверу базы данных. В некоторых брандмауэрах необходимо разрешить подключения не только от имени приложения, но и для IP–адресов плюс портов сервера.
- Ошибка пользователя: перепроверьте строку подключения. Возможно, что параметры введены неправильно, например указано иное имя сервера. Строки подключения для различных языковых платформ и psql можно найти на портале Azure. Перейдите на страницу строк подключения в кластере. Кроме того, следует помнить, что кластеры имеют только одну базу данных, а ее предопределенное имя — citus.
Порядок устранения постоянных проблем подключения
- Настройте правила брандмауэра , разрешив предоставление IP-адреса клиенту. Для временных целей тестирования настройте правило брандмауэра, используя 0.0.0.0 как начало диапазона IP-адресов и 255.255.255.255 как завершение. Такое правило открывает доступ к серверу со всех IP-адресов. Если правило решило проблему с подключением, удалите его и создайте правило брандмауэра для надлежащим образом ограниченных IP-адресов или диапазона адресов.
- Откройте порт 5432 для входящих соединений на всех брандмауэрах между клиентом и Интернетом (и порт 6432, если используются пулы подключений).
- Проверьте строку подключения и другие параметры подключения.
- Проверьте работоспособность службы на панели мониторинга.
Следующие шаги
- Основные понятия правил брандмауэра в Azure Cosmos DB для PostgreSQL
- Узнайте, как управлять правилами брандмауэра для Azure Cosmos DB для PostgreSQL