Общие сведения о сети для База данных Azure для PostgreSQL — гибкий сервер с общедоступным доступом (разрешенные IP-адреса)
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В настоящей статье приводится описание концепций подключения и сети для базы данных Azure для PostgreSQL - гибкого сервера.
При создании гибкого сервера База данных Azure для PostgreSQL необходимо выбрать один из следующих параметров сети:
- Частный доступ (интеграция виртуальной сети)
- Общедоступный доступ (разрешенные IP-адреса) и частная конечная точка
Если вы решили использовать частный доступ или параметр общего доступа, применяются следующие характеристики.
- Подключения из разрешенных IP-адресов должны пройти проверку подлинности на гибком сервере База данных Azure для PostgreSQL с допустимыми учетными данными.
- Для вашего сетевого трафика применяется шифрование подключения.
- Для сервера используется полное доменное имя (FQDN). Для свойства
hostname
в строках подключения вместо IP-адреса рекомендуется использовать полное доменное имя. - Оба параметра управляют доступом на уровне сервера, а не на уровне базы данных или таблицы. Свойства роли PostgreSQL используются для управления доступом к базе данных, таблице и другим объектам.
Примечание.
Так как База данных Azure для PostgreSQL — гибкий сервер — это управляемая служба базы данных, пользователи не предоставляют доступ к узлу или операционной системе для просмотра или изменения файлов конфигурации, таких какpg_hba.conf
. Содержимое файла автоматически обновляется в зависимости от параметров сети.
Использование сети общедоступного доступа с помощью База данных Azure для PostgreSQL — гибкий сервер
При выборе метода общедоступного доступа База данных Azure для PostgreSQL гибкий сервер осуществляется через общедоступную конечную точку через Интернет. Общедоступная конечная точка — это общедоступный DNS-адрес. Фраза разрешенные IP-адреса обозначает диапазон IP-адресов, которым вы предоставили разрешения на доступ к серверу. Эти разрешения называются правилами брандмауэра.
Выберите вариант организации сети, если вам нужны перечисленные ниже возможности.
- Подключение из ресурсов Azure, которые не поддерживают виртуальные сети.
- Подключитесь из ресурсов за пределами Azure, которые не подключены VPN или Azure ExpressRoute.
- Убедитесь, что База данных Azure для PostgreSQL гибкий сервер имеет общедоступную конечную точку, доступную через Интернет.
Характеристики общедоступного метода доступа указаны ниже.
- Доступ к База данных Azure для PostgreSQL гибкому серверу имеют только IP-адреса, которые разрешены. По умолчанию IP-адреса запрещены. Добавить IP-адреса можно во время создания сервера или позже.
- Гибкий сервер База данных Azure для PostgreSQL имеет общедоступное разрешаемое DNS-имя.
- Ваш База данных Azure для PostgreSQL гибкий сервер не входит в одну из виртуальных сетей Azure.
- Сетевой трафик к серверу и с нее не проходит через частную сеть. Трафик использует общие пути Интернета.
Правила брандмауэра
Правила брандмауэра на уровне сервера применяются ко всем базам данных на одном База данных Azure для PostgreSQL гибком сервере. Если IP-адрес источника запроса находится в одном из диапазонов, указанных в правилах брандмауэра уровня сервера, подключение предоставляется. В противном случае подключение отклоняется. Например, если приложение подключается к драйверу JDBC для PostgreSQL, при попытке подключиться к брандмауэру может возникнуть эта ошибка.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.45.67.890", user "adminuser", database "postgresql", SSL
Примечание.
Чтобы получить доступ к База данных Azure для PostgreSQL — гибкий сервер с локального компьютера, убедитесь, что брандмауэр в сети и локальном компьютере разрешает исходящую связь через TCP-порт 5432.
Правила брандмауэра программного управления
Помимо использования портал Azure, правила брандмауэра можно управлять программными средствами с помощью Azure CLI. Дополнительные сведения см. в статье "Создание и управление База данных Azure для PostgreSQL — гибкие правила брандмауэра сервера" с помощью Azure CLI.
Разрешить все IP-адреса Azure
Рекомендуется найти исходящий IP-адрес любого приложения или службы и явно разрешить доступ к этим отдельным IP-адресам или диапазонам. Если фиксированный исходящий IP-адрес недоступен для службы Azure, вы можете разрешить подключения со всех IP-адресов центров обработки данных Azure.
Чтобы включить этот параметр из портал Azure, на панели "Сеть" установите флажок "Разрешить общедоступный доступ" из любой службы Azure в Azure, а затем нажмите кнопку "Сохранить".
Внимание
Параметр Разрешить доступ к службам и ресурсам Azure позволяет настроить брандмауэр так, чтобы разрешить все подключения из Azure, включая подключения из подписок других клиентов. Выбирая этот вариант, убедитесь, что заданные вами разрешения для входа и пользователей предусматривают доступ только для полномочных пользователей.
Устранение неполадок с общедоступным доступом
Учитывайте следующие моменты, когда доступ к База данных Azure для PostgreSQL — гибкий сервер не ведет себя так, как вы ожидаете:
Изменения в списке разрешений еще не вступили в силу. Может потребоваться 5-минутная задержка изменений конфигурации брандмауэра гибкого сервера База данных Azure для PostgreSQL.
Не удалось пройти проверку подлинности. Если у пользователя нет разрешений на гибкий сервер База данных Azure для PostgreSQL или пароль неверный, подключение к гибкому серверу База данных Azure для PostgreSQL запрещено. Соответствующие параметры брандмауэра лишь дают клиентам возможность попробовать подключиться к серверу. Каждый клиент по-прежнему должен предоставлять необходимые учетные данные безопасности.
Доступу препятствует динамический IP-адрес клиента. Если IP-адреса для вашего подключения к Интернету предоставляются динамически и у вас возникают проблемы с прохождением через брандмауэр, попробуйте описанные ниже решения.
- Попросите поставщика услуг Интернета (ISP) указать диапазон IP-адресов, назначенный клиентским компьютерам, которые обращаются к гибкому серверу База данных Azure для PostgreSQL. Затем добавьте этот диапазон IP-адресов в качестве правила брандмауэра.
- Получите статические IP-адреса для клиентских компьютеров. Затем добавьте статический IP-адрес в качестве правила брандмауэра.
Правило брандмауэра недоступно для формата IPv6. Правило брандмауэра должно быть в формате IPv4. При указании правил брандмауэра в формате IPv6 возникает ошибка проверки.
Host name
Независимо от выбранного параметра сети рекомендуется всегда использовать полное доменное имя в качестве имени узла при подключении к База данных Azure для PostgreSQL гибкому серверу. IP-адрес сервера не гарантируется оставаться статическим. Использование полного доменного имени помогает избежать внесения изменений в строка подключения.
Пример, где в качестве имени узла используется полное доменное имя: hostname = servername.postgres.database.azure.com
. По возможности избегайте использования адресов hostname = 10.0.0.4
(частный) и hostname = 40.2.45.67
(общедоступный).
Связанный контент
- Узнайте, как создать гибкий сервер База данных Azure для PostgreSQL с помощью параметра "Общедоступный доступ" (разрешенные IP-адреса) в портал Azure или Azure CLI.