Sdílet prostřednictvím


Přehled sítí pro Azure Database for PostgreSQL s veřejným přístupem (povolené IP adresy)

Tento článek popisuje koncepty připojení a sítě pro instance flexibilních serverů Azure Database for PostgreSQL.

Při vytváření instance flexibilního serveru Azure Database for PostgreSQL musíte zvolit jednu z následujících možností sítě:

  • Privátní přístup (integrace virtuální sítě)
  • Veřejný přístup (povolené IP adresy) a privátní koncový bod

Následující vlastnosti platí bez ohledu na to, jestli se rozhodnete použít privátní přístup nebo možnost veřejného přístupu:

  • Připojení z povolených IP adres se musí ověřit v instanci flexibilního serveru Azure Database for PostgreSQL s platnými přihlašovacími údaji.
  • Šifrování připojení se vynucuje pro síťový provoz.
  • Server má plně kvalifikovaný název domény (FQDN). hostname Pro vlastnost v připojovací řetězec s doporučujeme místo IP adresy použít plně kvalifikovaný název domény.
  • Obě možnosti řídí přístup na úrovni serveru, ne na úrovni databáze nebo tabulky. Vlastnosti role PostgreSQL byste použili k řízení přístupu k databázi, tabulce a dalším objektům.

Poznámka:

Vzhledem k tomu, že služba Azure Database for PostgreSQL je spravovaná databázová služba, uživatelé nemají přístup hostitele ani operačního systému k zobrazení nebo úpravě konfiguračních souborů, jako pg_hba.confje . Obsah souborů se automaticky aktualizuje na základě nastavení sítě.

Použití sítí veřejného přístupu se službou Azure Database for PostgreSQL

Když zvolíte metodu veřejného přístupu, bude vaše instance flexibilního serveru Azure Database for PostgreSQL přístupná prostřednictvím veřejného koncového bodu přes internet. Veřejný koncový bod je veřejně přeložitelná adresa DNS. Fráze povolená IP adresa odkazuje na rozsah IP adres, které se rozhodnete udělit oprávnění pro přístup k vašemu serveru. Tato oprávnění se nazývají pravidla brány firewall.

Tuto možnost sítě zvolte, pokud chcete mít následující možnosti:

  • Připojte se z prostředků Azure, které nepodporují virtuální sítě.
  • Připojte se z prostředků mimo Azure, které nejsou připojené přes VPN nebo Azure ExpressRoute.
  • Ujistěte se, že instance flexibilního serveru Azure Database for PostgreSQL má veřejný koncový bod, který je přístupný přes internet.

Mezi charakteristiky metody veřejného přístupu patří:

  • Pouze IP adresy, které povolíte, mají oprávnění pro přístup k instanci flexibilního serveru Azure Database for PostgreSQL. Ve výchozím nastavení nejsou povoleny žádné IP adresy. Během vytváření serveru nebo později můžete přidat IP adresy.

  • Instance flexibilního serveru Azure Database for PostgreSQL má veřejně přeložitelný název DNS.

  • Vaše instance flexibilního serveru Azure Database for PostgreSQL není v jedné z vašich virtuálních sítí Azure.

  • Síťový provoz do a ze serveru nepřechází přes privátní síť. Provoz používá obecné internetové cesty.

Pravidla brány firewall

Pravidla brány firewall na úrovni serveru platí pro všechny databáze ve stejné instanci flexibilního serveru Azure Database for PostgreSQL. Pokud je zdrojová IP adresa požadavku v jednom z rozsahů zadaných v pravidlech brány firewall na úrovni serveru, připojení se udělí. Jinak se odmítne. Pokud se například vaše aplikace připojuje k ovladači JDBC pro PostgreSQL, může dojít k této chybě při pokusu o připojení, když brána firewall blokuje připojení.

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

Poznámka:

Pokud chcete získat přístup k instanci flexibilního serveru Azure Database for PostgreSQL z místního počítače, ujistěte se, že brána firewall ve vaší síti a místním počítači umožňuje odchozí komunikaci na portu TCP 5432.

Pravidla brány firewall spravovaná prostřednictvím kódu programu

Kromě použití na webu Azure Portal můžete pravidla brány firewall spravovat prostřednictvím kódu programu pomocí Azure CLI. Další informace naleznete v tématu Sítě.

Povolit všechny IP adresy Azure

Doporučujeme najít odchozí IP adresu jakékoli aplikace nebo služby a explicitně povolit přístup k těmto jednotlivým IP adresám nebo rozsahům. Pokud pro vaši službu Azure není dostupná pevná odchozí IP adresa, můžete zvážit povolení připojení ze všech IP adres pro datacentra Azure.

Pokud chcete toto nastavení povolit na webu Azure Portal, zaškrtněte v podokně Sítě políčko Povolit veřejný přístup z libovolné služby Azure v rámci Azure na tento server a pak vyberte Uložit.

Důležité

Možnost Povolit veřejný přístup ze služeb a prostředků Azure v rámci možnosti Azure nakonfiguruje bránu firewall tak, aby umožňovala všechna připojení z Azure, včetně připojení z předplatných jiných zákazníků. Když vyberete tuto možnost, ujistěte se, že vaše přihlašovací a uživatelská oprávnění omezují přístup jenom na oprávněné uživatele.

Řešení potíží s veřejným přístupem

Pokud se přístup k instanci flexibilního serveru Azure Database for PostgreSQL nechová podle očekávání, zvažte následující body:

  • Změny seznamu povolených změn se ještě neprojevily. Může trvat až pět minut, než se změny konfigurace brány firewall flexibilního serveru Azure Database for PostgreSQL projeví.

  • Ověření se nezdařilo. Pokud uživatel nemá oprávnění k instanci flexibilního serveru Azure Database for PostgreSQL nebo je nesprávné heslo, připojení k instanci flexibilního serveru Azure Database for PostgreSQL se odepře. Vytvoření nastavení brány firewall poskytuje klientům příležitost se pokusit se připojit k serveru. Každý klient musí stále poskytovat nezbytné přihlašovací údaje zabezpečení.

  • Dynamická IP adresa klienta brání přístupu. Pokud máte připojení k internetu s dynamickým přidělováním IP adres a máte potíže dostat se přes bránu firewall, vyzkoušejte jedno z následujících řešení:

    • Požádejte poskytovatele internetových služeb o rozsah IP adres přiřazený klientským počítačům, které přistupí k instanci flexibilního serveru Azure Database for PostgreSQL. Pak přidejte rozsah IP adres jako pravidlo brány firewall.
    • Místo toho získejte statické IP adresy pro klientské počítače. Pak přidejte statickou IP adresu jako pravidlo brány firewall.
  • Pravidlo brány firewall není dostupné pro formát IPv6. Pravidla firewallu musí být ve formátu IPv4. Pokud zadáte pravidla brány firewall ve formátu IPv6, zobrazí se chyba ověření.

Název hostitele

Bez ohledu na zvolenou možnost sítě doporučujeme při připojování k instanci flexibilního serveru Azure Database for PostgreSQL vždy používat plně kvalifikovaný název domény jako název hostitele. IP adresa serveru není zaručená, že zůstane statická. Použití plně kvalifikovaného názvu domény vám pomůže vyhnout se změnám připojovací řetězec.

Příkladem, který používá plně kvalifikovaný název domény jako název hostitele, je hostname = servername.postgres.database.azure.com. Pokud je to možné, nepoužívejte hostname = 10.0.0.4 (soukromou adresu) nebo hostname = 40.2.45.67 (veřejnou adresu).

Odchozí IP adresy pro konfiguraci brány firewall

Když instance flexibilního serveru Azure Database for PostgreSQL potřebuje odchozí připojení k externím službám (například pro logickou replikaci, rozšíření, která se připojují k externím prostředkům nebo externím zdrojům dat), možná budete muset nakonfigurovat pravidla brány firewall na těchto externích službách, aby umožňovala provoz z vašeho databázového serveru.

Vyhledání IP adresy serveru

Vyhledání IP adresy aktuálně přiřazené k instanci flexibilního serveru Azure Database for PostgreSQL:

  • Pomocí překladu DNS: Plně kvalifikovaný název domény (FQDNservername.postgres.database.azure.com) serveru můžete přeložit a získat aktuální IP adresu. Použijte nástroje jako nslookup nebo dig:

    nslookup servername.postgres.database.azure.com
    
  • Pomocí webu Azure Portal: Přejděte na instanci flexibilního serveru Azure Database for PostgreSQL na webu Azure Portal. Veřejná IP adresa serveru se nezobrazuje přímo, ale můžete ji zjistit vyřešením FQDN serveru.

  • Pomocí Azure CLI: Pomocí Azure CLI můžete získat informace o serveru a pak přeložit název hostitele:

    az postgres flexible-server show --resource-group myResourceGroup --name myServerName
    

Důležité aspekty odchozích připojení

  • IP adresy se můžou změnit: Veřejná IP adresa přiřazená vaší instanci flexibilního serveru Azure Database for PostgreSQL není statická a může se měnit během údržby, aktualizací nebo jiných provozních událostí. Vždy, pokud je to možné, používejte FQDN a pravidelně aktualizujte pravidla pro externí firewall, pokud je to nutné.

  • Rozsahy IP adres datacentra Azure: Pro předvídatelnější konfiguraci brány firewall můžete povolit provoz z celého rozsahu IP adres datacentra Azure pro oblast, ve které se nachází váš server. Azure publikuje rozsahy IP pro každou oblast v stažení rozsahů IP Azure a značek služeb.

  • Značky služeb: Pokud je externí služba, ke které se připojujete, hostovaná také v Azure, zvažte použití značek služeb Azure pro dynamičtější a udržovatelná pravidla brány firewall.

  • Alternativní privátní koncový bod: Pokud chcete stabilnější připojení a vyhnout se veřejným IP adresám, zvažte použití privátních koncových bodů místo veřejného přístupu.