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.
Usługa Azure Cosmos DB for PostgreSQL obsługuje trzy opcje sieciowe:
- Brak dostępu
- Jest to ustawienie domyślne dla nowo utworzonego klastra, jeśli nie jest włączony dostęp publiczny lub prywatny. Żadne komputery, niezależnie od tego, czy znajdują się na platformie Azure, czy poza nią, mogą łączyć się z węzłami bazy danych.
- Dostęp publiczny
- Publiczny adres IP jest przypisywany do węzła koordynatora.
- Dostęp do węzła koordynatora jest chroniony przez zaporę.
- Opcjonalnie można włączyć dostęp do wszystkich węzłów procesu roboczego. W takim przypadku publiczne adresy IP są przypisywane do węzłów roboczych i są zabezpieczone przez tę samą zaporę.
- Dostęp prywatny
- Tylko prywatne adresy IP są przypisywane do węzłów klastra.
- Każdy węzeł wymaga prywatnego punktu końcowego, aby zezwolić hostom w wybranej sieci wirtualnej na dostęp do węzłów.
- Funkcje zabezpieczeń sieci wirtualnych platformy Azure, takie jak sieciowe grupy zabezpieczeń, mogą służyć do kontroli dostępu.
Podczas tworzenia klastra możesz włączyć dostęp publiczny lub prywatny albo wybrać ustawienie domyślne braku dostępu. Po utworzeniu klastra można przełączać się między dostępem publicznym lub prywatnym albo aktywować je jednocześnie.
Na tej stronie opisano opcję dostępu publicznego. Aby uzyskać dostęp prywatny, zobacz Dostęp prywatny w usłudze Azure Cosmos DB for PostgreSQL.
Omówienie zapory
Zapora serwera usługi Azure Cosmos DB for PostgreSQL uniemożliwia cały dostęp do węzła koordynatora do momentu określenia, które komputery mają uprawnienia. Zapora udziela dostępu do serwera na podstawie źródłowego adresu IP każdego żądania. Aby skonfigurować zaporę, należy utworzyć reguły zapory określające zakresy dopuszczalnych adresów IP. Można utworzyć reguły zapory na poziomach serwera.
Reguły zapory: te reguły umożliwiają klientom dostęp do węzła koordynatora, czyli wszystkich baz danych na tym samym serwerze logicznym. Reguły zapory na poziomie serwera można skonfigurować przy użyciu witryny Azure Portal. Aby utworzyć reguły zapory na poziomie serwera, musisz być właścicielem bądź współautorem subskrypcji.
Cały dostęp do bazy danych do węzła koordynatora jest domyślnie blokowany przez zaporę. Aby rozpocząć korzystanie z serwera z innego komputera, należy określić co najmniej jedną regułę zapory na poziomie serwera, aby umożliwić dostęp do serwera. Użyj reguł zapory, aby określić zakresy adresów IP z Internetu, aby zezwolić. Dostęp do samej witryny internetowej witryny internetowej witryny Azure Portal nie ma wpływu na reguły zapory. Próby połączenia z Internetu i platformy Azure muszą najpierw przejść przez zaporę, zanim będą mogły dotrzeć do bazy danych PostgreSQL, jak pokazano na poniższym diagramie:
Nawiązywanie połączenia z Internetu i z platformy Azure
Zapora klastra kontroluje, kto może nawiązać połączenie z węzłem koordynatora grupy. Zapora określa dostęp, konsultując się z konfigurowalną listą reguł. Każda reguła jest adresem IP lub zakresem adresów, które są dozwolone.
Blokowanie połączeń przez zaporę może powodować błędy aplikacji. Na przykład użycie sterownika JDBC PostgreSQL powoduje zgłaszanie błędu podobnego do następującego:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: no pg\_hba.conf entry for host "123.45.67.890", user "citus", database "citus", SSL
Zobacz Tworzenie reguł zapory i zarządzanie nimi, aby dowiedzieć się, jak są zdefiniowane reguły.
Rozwiązywanie problemów z zaporą serwera bazy danych
Jeśli dostęp do usługi Microsoft Azure Cosmos DB for PostgreSQL nie działa zgodnie z oczekiwaniami, rozważ następujące kwestie:
Zmiany na liście dozwolonych nie zostały jeszcze uwzględnione: może potrwać nawet pięć minut, zanim zmiany w konfiguracji zapory dla Azure Cosmos DB for PostgreSQL zostaną wprowadzone.
Użytkownik nie jest autoryzowany lub użyto nieprawidłowego hasła: jeśli użytkownik nie ma uprawnień na serwerze lub użyte hasło jest niepoprawne, połączenie z serwerem zostanie odrzucone. Utworzenie ustawienia zapory zapewnia klientom możliwość próby nawiązania połączenia z serwerem. Każdy klient musi nadal podać niezbędne poświadczenia zabezpieczeń.
Na przykład przy użyciu klienta JDBC może zostać wyświetlony następujący błąd.
java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "yourusername"Dynamiczny adres IP: jeśli masz połączenie internetowe z dynamicznym adresem IP i masz problemy z przejściem przez zaporę, możesz wypróbować jedno z następujących rozwiązań:
Poproś dostawcę usług internetowych (ISP) o zakres adresów IP przypisany do komputerów klienckich uzyskujących dostęp do węzła koordynatora, a następnie dodaj zakres adresów IP jako regułę zapory.
Pobierz statyczne adresowanie IP dla komputerów klienckich, a następnie dodaj statyczny adres IP jako regułę zapory.
Następne kroki
Aby uzyskać artykuły dotyczące tworzenia reguł zapory na poziomie serwera i na poziomie bazy danych, zobacz: