Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Usługa Azure Cosmos DB for PostgreSQL nie jest już obsługiwana w przypadku nowych projektów. Nie używaj tej usługi dla nowych projektów. Zamiast tego użyj jednej z tych dwóch usług:
Użyj usługi Azure Cosmos DB for NoSQL dla rozproszonego rozwiązania bazy danych przeznaczonego dla scenariuszy o dużej skali z umową dotyczącą poziomu usług dostępności 99,999% (SLA), natychmiastowym skalowaniem automatycznym i automatycznym przejściem w tryb failover w wielu regionach.
Użyj funkcji Elastic Clusters usługi Azure Database for PostgreSQL na potrzeby fragmentowanej bazy danych PostgreSQL przy użyciu rozszerzenia Citus typu open source.
Ten samouczek tworzy maszynę wirtualną i klaster usługi Azure Cosmos DB for PostgreSQL oraz ustanawia między nimi prywatny dostęp .
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz bezpłatne konto.
- Jeśli chcesz uruchomić kod lokalnie, musisz mieć zainstalowany interfejs wiersza polecenia platformy Azure. Możesz również uruchomić kod w usłudze Azure Cloud Shell.
Tworzenie sieci wirtualnej
Najpierw skonfiguruj grupę zasobów i sieć wirtualną do przechowywania klastra i maszyny wirtualnej.
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
Tworzenie maszyny wirtualnej
Na potrzeby pokazu utwórz maszynę wirtualną z systemem Debian Linux i klientem 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"
Tworzenie klastra za pomocą łącza prywatnego
Utwórz klaster usługi Azure Cosmos DB for PostgreSQL w witrynie Azure Portal.
W portalu wybierz pozycję Utwórz zasób w lewym górnym rogu.
Na stronie Tworzenie zasobu wybierz pozycję Bazy danych, a następnie wybierz pozycję Azure Cosmos DB.
Na stronie Wybierz interfejs API na kafelku PostgreSQL wybierz pozycję Utwórz.
Na stronie Tworzenie klastra usługi Azure Cosmos DB for PostgreSQL wypełnij następujące informacje:
Grupa zasobów: wybierz pozycję Nowy, a następnie wprowadź link-demo.
Nazwa klastra: wprowadź link-demo-sg.
Uwaga
Nazwa klastra musi być globalnie unikatowa na platformie Azure, ponieważ tworzy wpis DNS. Jeśli
link-demo-sgjest niedostępny, wprowadź inną nazwę i odpowiednio dostosuj poniższe kroki.Lokalizacja: wybierz pozycję Wschodnie stany USA.
Hasło: wprowadź i potwierdź hasło.
Wybierz pozycję Dalej: Sieć.
Na karcie Sieć w polu Metoda łączności wybierz pozycję Dostęp prywatny.
Na ekranie Tworzenie prywatnego punktu końcowego wprowadź lub wybierz następujące wartości:
-
Grupa zasobów:
link-demo -
Lokalizacja:
(US) East US -
Nazwa:
link-demo-sg-c-pe1 -
Docelowy zasób podrzędny:
coordinator -
Sieć wirtualna:
link-demo-net -
Podsieć:
link-demo-subnet - Integracja z prywatną strefą DNS: Tak
-
Grupa zasobów:
Wybierz przycisk OK.
Po utworzeniu prywatnego punktu końcowego wybierz Przejrzyj i utwórz, a następnie wybierz Utwórz, aby utworzyć swój klaster.
Uzyskiwanie dostępu do klastra prywatnie z maszyny wirtualnej
Link prywatny umożliwia maszynie wirtualnej nawiązywanie połączenia z klastrem i uniemożliwia wykonywanie tych czynności przez hosty zewnętrzne. W tym kroku sprawdzisz, czy klient bazy danych psql na maszynie wirtualnej może komunikować się z węzłem koordynacji klastra.
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
Uwaga
W parametry połączenia zastąp {your_password} ciąg hasłem klastra lub tokenem Microsoft Entra ID. Aby uzyskać więcej informacji, zobacz opcje uwierzytelniania.
W danych wyjściowych powinien zostać wyświetlony numer wersji citus. Jeśli to zrobisz, narzędzie psql było w stanie wykonać polecenie, a link prywatny zadziałał.
Czyszczenie zasobów
Pokazano, jak utworzyć połączenie prywatne między maszyną wirtualną a klastrem. Teraz możesz anuluj aprowizować zasoby.
Usuń grupę zasobów, a zasoby wewnątrz zostaną anulowane:
az group delete --resource-group link-demo
# press y to confirm
Następne kroki
- Dowiedz się więcej o dostępie prywatnym
- Dowiedz się więcej o prywatnych punktach końcowych
- Dowiedz się więcej o sieciach wirtualnych
- Dowiedz się więcej o prywatnych strefach DNS