Udostępnij za pośrednictwem


Omówienie sieci dla usługi Azure Database for PostgreSQL — serwer elastyczny z dostępem publicznym (dozwolone adresy IP)

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

W tym artykule opisano pojęcia dotyczące łączności i sieci dla usługi Azure Database for PostgreSQL — serwer elastyczny.

Podczas tworzenia serwera elastycznego usługi Azure Database for PostgreSQL należy wybrać jedną z następujących opcji sieciowych:

  • Dostęp prywatny (integracja z siecią wirtualną)
  • Dostęp publiczny (dozwolone adresy IP) i prywatny punkt końcowy

Następujące cechy mają zastosowanie, niezależnie od tego, czy chcesz użyć dostępu prywatnego, czy opcji dostępu publicznego:

  • Połączenia z dozwolonych adresów IP muszą być uwierzytelniane na serwerze elastycznym usługi Azure Database for PostgreSQL przy użyciu prawidłowych poświadczeń.
  • Szyfrowanie połączeń jest wymuszane dla ruchu sieciowego.
  • Serwer ma w pełni kwalifikowaną nazwę domeny (FQDN). hostname W przypadku właściwości w parametry połączenia zalecamy użycie nazwy FQDN zamiast adresu IP.
  • Obie opcje kontrolują dostęp na poziomie serwera, a nie na poziomie bazy danych lub tabeli. Właściwości roli postgreSQL służą do kontrolowania dostępu do bazy danych, tabeli i innego obiektu.

Uwaga

Ponieważ usługa Azure Database for PostgreSQL — serwer elastyczny to zarządzana usługa bazy danych, użytkownicy nie mają dostępu do hosta ani systemu operacyjnego w celu wyświetlania ani modyfikowania plików konfiguracji, takich jak pg_hba.conf. Zawartość plików jest automatycznie aktualizowana na podstawie ustawień sieciowych.

Używanie sieci dostępu publicznego z usługą Azure Database for PostgreSQL — serwer elastyczny

Po wybraniu metody dostępu publicznego serwer elastyczny usługi Azure Database for PostgreSQL jest dostępny za pośrednictwem publicznego punktu końcowego przez Internet. Publiczny punkt końcowy jest publicznie rozpoznawalnym adresem DNS. Fraza dozwolone adresy IP odnosi się do zakresu adresów IP, które chcesz udzielić uprawnień dostępu do serwera. Te uprawnienia są nazywane regułami zapory.

Wybierz tę opcję sieci, jeśli chcesz uzyskać następujące możliwości:

  • Nawiąż połączenie z zasobów platformy Azure, które nie obsługują sieci wirtualnych.
  • Połącz się z zasobów spoza platformy Azure, które nie są połączone za pomocą sieci VPN ani usługi Azure ExpressRoute.
  • Upewnij się, że serwer elastyczny usługi Azure Database for PostgreSQL ma publiczny punkt końcowy dostępny za pośrednictwem Internetu.

Cechy metody dostępu publicznego obejmują:

  • Tylko adresy IP, które są dozwolone, mają uprawnienia dostępu do serwera elastycznego usługi Azure Database for PostgreSQL. Domyślnie żadne adresy IP nie są dozwolone. Adresy IP można dodawać podczas tworzenia serwera lub później.
  • Serwer elastyczny usługi Azure Database for PostgreSQL ma publicznie rozpoznawalną nazwę DNS.
  • Serwer elastyczny usługi Azure Database for PostgreSQL nie znajduje się w jednej z sieci wirtualnych platformy Azure.
  • Ruch sieciowy do i z serwera nie przechodzi przez sieć prywatną. Ruch korzysta z ogólnych ścieżek internetowych.

Reguły zapory

Reguły zapory na poziomie serwera mają zastosowanie do wszystkich baz danych na tym samym serwerze elastycznym usługi Azure Database for PostgreSQL. Jeśli źródłowy adres IP żądania znajduje się w jednym z zakresów określonych w regułach zapory na poziomie serwera, połączenie zostanie przyznane. W przeciwnym razie zostanie odrzucona. Jeśli na przykład aplikacja łączy się ze sterownikiem JDBC dla bazy danych PostgreSQL, ten błąd może wystąpić podczas próby nawiązania połączenia, gdy zapora blokuje połączenie.

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

Uwaga

Aby uzyskać dostęp do usługi Azure Database for PostgreSQL — serwer elastyczny z komputera lokalnego, upewnij się, że zapora w sieci i komputerze lokalnym zezwala na komunikację wychodzącą na porcie TCP 5432.

Programowe reguły zapory zarządzanej

Oprócz korzystania z witryny Azure Portal można programowo zarządzać regułami zapory przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz Tworzenie reguł zapory usługi Azure Database for PostgreSQL — serwer elastyczny i zarządzanie nimi przy użyciu interfejsu wiersza polecenia platformy Azure.

Zezwalaj na wszystkie adresy IP platformy Azure

Zalecamy znalezienie wychodzącego adresu IP dowolnej aplikacji lub usługi i jawne zezwolenie na dostęp do tych indywidualnych adresów IP lub zakresów. Jeśli stały wychodzący adres IP nie jest dostępny dla usługi platformy Azure, możesz rozważyć włączenie połączeń ze wszystkich adresów IP dla centrów danych platformy Azure.

Aby włączyć to ustawienie w witrynie Azure Portal, w okienku Sieć zaznacz pole wyboru Zezwalaj na dostęp publiczny z dowolnej usługi platformy Azure na platformie Azure do tego serwera , a następnie wybierz pozycję Zapisz.

Ważne

Opcja Zezwalaj na dostęp publiczny z usług i zasobów platformy Azure w ramach platformy Azure konfiguruje zaporę tak, aby zezwalała na wszystkie połączenia z platformy Azure, w tym połączenia z subskrypcji innych klientów. Po wybraniu tej opcji upewnij się, że uprawnienia logowania i użytkownika ograniczają dostęp tylko do autoryzowanych użytkowników.

Rozwiązywanie problemów z dostępem publicznym

Podczas uzyskiwania dostępu do usługi Azure Database for PostgreSQL — serwer elastyczny nie działa zgodnie z oczekiwaniami:

  • Zmiany w liście dozwolonych nie zostały jeszcze wprowadzone. Może wystąpić nawet pięć minut opóźnienia, aby zmiany konfiguracji zapory serwera elastycznego usługi Azure Database for PostgreSQL zaczęły obowiązywać.

  • Uwierzytelnianie nie powiodło się. Jeśli użytkownik nie ma uprawnień na serwerze elastycznym usługi Azure Database for PostgreSQL lub hasło jest nieprawidłowe, połączenie z serwerem elastycznym usługi Azure Database for PostgreSQL zostanie odrzucone. Utworzenie ustawienia zapory zapewnia klientom możliwość nawiązania połączenia z serwerem. Każdy klient musi nadal podać niezbędne poświadczenia zabezpieczeń.

  • Dynamiczny adres IP klienta uniemożliwia dostęp. Jeśli masz połączenie internetowe z dynamicznym adresem IP i masz problemy z przejściem przez zaporę, wypróbuj 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 elastycznego serwera usługi Azure Database for PostgreSQL. Następnie dodaj zakres adresów IP jako regułę zapory.
    • Zamiast tego uzyskaj statyczne adresowanie IP dla komputerów klienckich. Następnie dodaj statyczny adres IP jako regułę zapory.
  • Reguła zapory nie jest dostępna dla formatu IPv6. Reguły zapory muszą być w formacie IPv4. Jeśli określisz reguły zapory w formacie IPv6, zostanie wyświetlony błąd weryfikacji.

Nazwa hosta

Niezależnie od wybranej opcji sieciowej zalecamy, aby zawsze używać nazwy FQDN jako nazwy hosta podczas nawiązywania połączenia z serwerem elastycznym usługi Azure Database for PostgreSQL. Adres IP serwera nie ma gwarancji, że pozostanie statyczny. Użycie nazwy FQDN pomaga uniknąć wprowadzania zmian w parametry połączenia.

Przykładem użycia nazwy FQDN jako nazwy hosta jest hostname = servername.postgres.database.azure.com. Jeśli to możliwe, unikaj używania hostname = 10.0.0.4 (adresu prywatnego) lub hostname = 40.2.45.67 (adresu publicznego).

  • Dowiedz się, jak utworzyć serwer elastyczny usługi Azure Database for PostgreSQL przy użyciu opcji Dostęp publiczny (dozwolone adresy IP) w witrynie Azure Portal lub w interfejsie wiersza polecenia platformy Azure.