Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Это важно
Azure Cosmos DB для PostgreSQL больше не поддерживается для новых проектов. Не используйте эту службу для новых проектов. Вместо этого используйте одну из этих двух служб:
Используйте Azure Cosmos DB для NoSQL как распределенное решение базы данных, предназначенное для крупномасштабных сценариев с соглашением об уровне доступности (SLA) 99.999%, мгновенным автомасштабированием и автоматическим переключением в случае отказа в нескольких регионах.
Используйте функцию эластичных кластеров Базы данных Azure для PostgreSQL для сегментированного PostgreSQL с помощью расширения Citus с открытым кодом.
В этом руководстве создается виртуальная машина и кластер Azure Cosmos DB для PostgreSQL и устанавливается частный доступ между ними.
Предварительные условия
- Учетная запись Azure с активной подпиской. Если у вас нет учетной записи, создайте бесплатную учетную запись.
- Если вы хотите запустить код локально, Azure CLI установлен. Вы также можете запустить код в Azure Cloud Shell.
Создание виртуальной сети
Сначала настройте группу ресурсов и виртуальную сеть для хранения кластера и виртуальной машины.
az group create \
--name link-demo \
--location eastus
az network vnet create \
--resource-group link-demo \
--name link-demo-net \
--address-prefix 10.0.0.0/16
az network nsg create \
--resource-group link-demo \
--name link-demo-nsg
az network vnet subnet create \
--resource-group link-demo \
--vnet-name link-demo-net \
--name link-demo-subnet \
--address-prefixes 10.0.1.0/24 \
--network-security-group link-demo-nsg
Создание виртуальной машины
Для демонстрации создайте виртуальную машину под управлением Debian Linux и psql клиента PostgreSQL.
# provision the VM
az vm create \
--resource-group link-demo \
--name link-demo-vm \
--vnet-name link-demo-net \
--subnet link-demo-subnet \
--nsg link-demo-nsg \
--public-ip-address link-demo-net-ip \
--image Debian11 \
--admin-username azureuser \
--generate-ssh-keys
# install psql database client
az vm run-command invoke \
--resource-group link-demo \
--name link-demo-vm \
--command-id RunShellScript \
--scripts \
"sudo touch /home/azureuser/.hushlogin" \
"sudo DEBIAN_FRONTEND=noninteractive apt-get update" \
"sudo DEBIAN_FRONTEND=noninteractive apt-get install -q -y postgresql-client"
Создание кластера с частной ссылкой
Создайте кластер Azure Cosmos DB для PostgreSQL в портале Azure.
На портале выберите "Создать ресурс " в верхнем левом углу.
На странице "Создание ресурса" выберите "Базы данных" и выберите Azure Cosmos DB.
На странице "Выбор API" на плитке PostgreSQL нажмите кнопку "Создать".
На странице Создание кластера Azure Cosmos DB для PostgreSQL заполните следующие сведения:
Группа ресурсов: выберите Создать, затем введите link-demo.
Имя кластера: введите link-demo-sg.
Примечание.
Имя кластера должно быть глобально уникальным в Azure, так как оно создает запись DNS. Если
link-demo-sgон недоступен, введите другое имя и измените следующие шаги соответствующим образом.Расположение. Выберите Восточная часть США.
Пароль: введите и подтвердите пароль.
Выберите Далее: сеть.
На вкладке "Сеть" для метода подключения выберите закрытый доступ.
На экране создания частной конечной точки введите или выберите следующие значения:
-
Группа ресурсов:
link-demo -
Расположение:
(US) East US -
Имя:
link-demo-sg-c-pe1 -
Целевой подресурс:
coordinator -
Виртуальная сеть:
link-demo-net -
Подсеть:
link-demo-subnet - Интеграция с частной зоной DNS: да.
-
Группа ресурсов:
Нажмите ОК.
После создания частной конечной точки нажмите кнопку "Проверить и создать ", а затем нажмите кнопку "Создать ", чтобы создать кластер.
Доступ к кластеру в частном порядке из виртуальной машины
Приватный канал позволяет виртуальной машине подключаться к кластеру и запрещает внешним узлам делать это. На этом шаге убедитесь, что клиент базы данных psql на виртуальной машине может взаимодействовать с узлом координатора кластера.
PG_URI='host=c-link-demo-sg.12345678901234.postgres.cosmos.azure.com port=5432 dbname=citus user=citus password={your_password} sslmode=require'
# Attempt to connect to cluster with psql in the VM
az vm run-command invoke \
--resource-group link-demo \
--name link-demo-vm \
--command-id RunShellScript \
--scripts "psql '$PG_URI' -c 'SHOW citus.version;'" \
--query 'value[0].message' \
| xargs printf
Примечание.
Поменяйте {your_password} в строку подключения на пароль кластера или токен Microsoft Entra ID. Дополнительные сведения см. в разделе "Параметры проверки подлинности".
В выходных данных должен отобразиться номер версии для Citus. Если вы это сделали, значит, psql смог выполнить команду, и приватная ссылка работала.
Очистка ресурсов
Вы узнали, как создать приватный канал между виртуальной машиной и кластером. Теперь вы можете депровизировать ресурсы.
Удалите группу ресурсов, и ресурсы внутри нее будут отозваны:
az group delete --resource-group link-demo
# press y to confirm
Следующие шаги
- Узнайте больше о частном доступе
- Ознакомьтесь со сведениями о частных конечных точках
- Ознакомьтесь со сведениями о виртуальных сетях
- Ознакомьтесь со сведениями о частных зонах DNS