Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При запуске гибкого экземпляра сервера Базы данных Azure для PostgreSQL у вас есть два основных параметра сети. Это частный доступ (интеграция с виртуальной сетью) и общедоступный доступ (разрешенные IP-адреса).
С открытым доступом гибкий экземпляр сервера Базы данных Azure для PostgreSQL осуществляется через общедоступную конечную точку. По умолчанию брандмауэр блокирует весь доступ к серверу. Чтобы указать, какие IP-узлы могут получить доступ к серверу, создайте правила брандмауэра на уровне сервера. Правила брандмауэра указывают допустимые диапазоны общедоступных IP-адресов. Брандмауэр предоставляет доступ к серверу на основе исходного IP-адреса каждого запроса. При частном доступе общедоступная конечная точка недоступна, и только узлы, расположенные в той же сети, могут получить доступ к гибкому экземпляру сервера Базы данных Azure для PostgreSQL.
Правила брандмауэра можно создать с помощью портала Azure или с помощью команд Azure CLI. Вы должны быть владельцем подписки или участником подписки.
Правила брандмауэра на уровне сервера применяются ко всем базам данных в одном экземпляре гибкого сервера Базы данных Azure для PostgreSQL. Правила не влияют на доступ к веб-сайту портала Azure.
На следующей схеме показано, как попытки подключения из Интернета и Azure должны пройти через брандмауэр, прежде чем они смогут получить доступ к базам данных Базы данных Azure для PostgreSQL:
Подключение из Интернета
Если исходный IP-адрес запроса находится в одном из диапазонов, указанных в правилах брандмауэра на уровне сервера, подключение предоставляется. В противном случае это отклонено.
Например, если приложение подключается к драйверу подключения к базе данных Java (JDBC) для Базы данных Azure для PostgreSQL, может возникнуть эта ошибка, так как брандмауэр блокирует подключение:
- java.util.concurrent.ExecutionException: java.lang.RuntimeException:
- org.postgresql.util.PSQLException: FATAL: нет записи pg_hba.conf для узла "123.45.67.890", пользователя "adminuser", базы данных "postgresql", SSL
Замечание
Чтобы получить доступ к гибкому экземпляру сервера Базы данных Azure для PostgreSQL с локального компьютера, убедитесь, что брандмауэр в сети и локальном компьютере разрешает исходящую связь через TCP-порт 5432.
Подключение из Azure
Рекомендуется найти исходящий IP-адрес любого приложения или службы и явно разрешить доступ к этим отдельным IP-адресам или диапазонам. Например, можно найти исходящий IP-адрес приложения Службы приложений Azure или использовать общедоступный IP-адрес, связанный с виртуальной машиной.
Если фиксированный исходящий IP-адрес недоступен для службы Azure, рассмотрите возможность включения подключений со всех IP-адресов для центров обработки данных Azure:
На портале Azure на панели "Сеть" установите флажок "Разрешить общедоступный доступ" из любой службы Azure в Azure.
Нажмите кнопку "Сохранить".
Это важно
Разрешить общедоступный доступ из любой службы Azure в Azure на этот сервер настраивает брандмауэр, чтобы разрешить все подключения из Azure, включая подключения из подписок других клиентов. При использовании этого параметра убедитесь, что ваши разрешения на вход и разрешения пользователей ограничивают доступ только авторизованным пользователям.
Программное управление правилами брандмауэра
Помимо использования портала Azure, правила брандмауэра можно управлять программными средствами с помощью Azure CLI.
В Azure CLI параметр правила брандмауэра с начальным и конечным адресом, равным 0.0.0.0,0, выполняет эквивалент разрешения общедоступного доступа из любой службы Azure в Azure на этом сервере на портале. Если правила брандмауэра отклоняют попытку подключения, приложение не достигнет гибкого экземпляра сервера Базы данных Azure для PostgreSQL.
Устранение неполадок брандмауэра
Рассмотрите следующие возможности, если доступ к гибкому экземпляру сервера Базы данных Azure для PostgreSQL не ведет себя так, как вы ожидаете:
Изменения в списке разрешений еще не вступили в силу: изменения конфигурации брандмауэра гибкого экземпляра сервера Базы данных Azure для PostgreSQL могут занять до пяти минут.
Вход не авторизован или неправильный пароль использовался: если у входа нет разрешений на экземпляр гибкого сервера Базы данных Azure для PostgreSQL или пароль неверный, подключение к серверу запрещено. Создание параметра брандмауэра предоставляет клиентам возможность подключаться только к серверу. Каждый клиент по-прежнему должен предоставить необходимые учетные данные безопасности.
Например, следующая ошибка может появиться, если проверка подлинности завершается ошибкой для клиента JDBC:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: НЕ удалось выполнить проверку подлинности паролей для пользователя "yourusername"
Брандмауэр не разрешает динамические IP-адреса: если у вас есть подключение к Интернету с динамическим IP-адресом, и у вас возникли проблемы с подключением через брандмауэр, попробуйте одно из следующих решений:
Попросите поставщика услуг Интернета (ISP) задать диапазон IP-адресов, назначенный клиентским компьютерам, которые обращаются к гибкому экземпляру сервера Базы данных Azure для PostgreSQL. Затем добавьте диапазон IP-адресов в качестве правила брандмауэра.
Получите статические IP-адреса вместо клиентских компьютеров, а затем добавьте статические IP-адреса в качестве правила брандмауэра.
Правила брандмауэра недоступны для формата IPv6: правила брандмауэра должны быть в формате IPv4. При указании правил брандмауэра в формате IPv6 вы получите ошибку проверки.