Veřejný přístup v Azure Database for PostgreSQL – Hyperscale (Citus)

PLATÍ PRO: Azure Database for PostgreSQL – Hyperscale (Citus)

Azure Database for PostgreSQL – Hyperscale (Citus) podporuje tři možnosti sítě:

  • Bez přístupu
    • Toto je výchozí nastavení pro nově vytvořenou skupinu serverů, pokud není povolený veřejný nebo privátní přístup. K databázovým uzlům se nemůžou připojit žádné počítače, ať už uvnitř Nebo mimo Azure.
  • Veřejný přístup
    • K koordinačnímu uzlu se přiřadí veřejná IP adresa.
    • Přístup k koordinačnímu uzlu je chráněn bránou firewall.
    • Volitelně je možné povolit přístup ke všem pracovním uzlům. V tomto případě jsou veřejné IP adresy přiřazeny k pracovním uzlům a jsou zabezpečené stejnou bránou firewall.
  • Privátní přístup
    • Uzly skupiny serverů se přiřazují jenom privátní IP adresy.
    • Každý uzel vyžaduje privátní koncový bod, který umožňuje hostitelům ve vybrané virtuální síti přístup k uzlům Hyperscale (Citus).
    • Funkce zabezpečení virtuálních sítí Azure, jako jsou skupiny zabezpečení sítě, se dají použít pro řízení přístupu.

Když vytvoříte skupinu serverů Hyperscale (Citus), můžete povolit veřejný nebo privátní přístup nebo zvolit výchozí nastavení bez přístupu. Po vytvoření skupiny serverů můžete přepínat mezi veřejným nebo soukromým přístupem nebo je aktivovat najednou.

Tato stránka popisuje možnost veřejného přístupu. Informace o privátním přístupu najdete tady.

Přehled brány firewall

Azure Database for PostgreSQL brána firewall serveru brání všem přístupům k uzlu koordinátoru Hyperscale (Citus), dokud nezadáte, které počítače mají oprávnění. Brána firewall uděluje přístup k serveru v závislosti na zdrojové IP adrese každého požadavku. Bránu firewall nakonfigurujete tak, že vytvoříte pravidla brány firewall určující rozsahy přípustných IP adres. Pravidla firewallu můžete vytvořit na úrovni serveru.

Pravidla brány firewall: Tato pravidla umožňují klientům přístup k uzlu koordinátoru Hyperscale (Citus), tj. ke všem databázím na stejném logickém serveru. Pravidla brány firewall na úrovni serveru je možné nakonfigurovat pomocí Azure Portal. Pokud chcete vytvořit pravidla brány firewall na úrovni serveru, musíte být vlastníkem nebo přispěvatelem předplatného.

Ve výchozím nastavení je veškerý přístup k vašemu koordinačnímu uzlu zablokovaný bránou firewall. Pokud chcete začít používat server z jiného počítače, musíte zadat jedno nebo více pravidel brány firewall na úrovni serveru, která umožní přístup k vašemu serveru. Pomocí pravidel brány firewall určete rozsahy IP adres z internetu, které chcete povolit. Přístup k samotnému webu Azure Portal nemá vliv na pravidla brány firewall. Pokusy o připojení z internetu a Azure musí nejprve projít bránou firewall, než se dostanou do vaší databáze PostgreSQL, jak je znázorněno v následujícím diagramu:

Diagram znázorňující pravidla brány firewall na úrovni serveru mezi vzdálenými a místními systémy a neúspěšnými připojeními

Připojení z internetu a z Azure

Brána firewall skupiny serverů Hyperscale (Citus), která se může připojit k koordinačnímu uzlu skupiny. Brána firewall určuje přístup pomocí konfigurovatelného seznamu pravidel. Každé pravidlo je IP adresa nebo rozsah adres, které jsou povolené.

Když brána firewall blokuje připojení, může způsobit chyby aplikace. Například pomocí ovladače PostgreSQL JDBC se zobrazí chyba podobná této:

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

Informace o definování pravidel najdete v tématu Vytvoření a správa pravidel brány firewall .

Řešení potíží s bránou firewall databázového serveru

Pokud se přístup ke službě Microsoft Azure Database for PostgreSQL – Hyperscale (Citus) nechová podle očekávání, zvažte tyto body:

  • Změny seznamu povolených se zatím neprojevily: Změny konfigurace brány firewall Hyperscale (Citus) se projeví až po pětiminutovém zpoždění.

  • Uživatel nemá oprávnění nebo se použilo nesprávné heslo: Pokud uživatel nemá na serveru oprávnění nebo je použité heslo nesprávné, připojení k serveru se odmítne. Vytvoření nastavení brány firewall poskytuje klientům příležitost k pokusu o připojení k vašemu serveru; každý klient musí stále poskytovat nezbytné přihlašovací údaje zabezpečení.

Například pomocí klienta JDBC se může zobrazit následující chyba.

java.util.concurrent.ExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: FATAL: Ověřování hesla se nezdařilo pro uživatele "yourusername"

  • Dynamická IP adresa: Pokud vaše internetové připojení používá dynamické přidělování IP adres a máte problémy dostat se přes bránu firewall, můžete zkusit jedno z následujících řešení:

  • Požádejte poskytovatele internetových služeb o rozsah IP adres přiřazený vašim klientským počítačům, které přistupují k uzlu koordinátoru Hyperscale (Citus) a pak jako pravidlo brány firewall přidejte rozsah IP adres.

  • Místo toho získejte statické IP adresy pro klientské počítače a pak přidejte statickou IP adresu jako pravidlo brány firewall.

Další kroky

Články o vytváření pravidel brány firewall na úrovni serveru a databáze najdete tady: