Síť s privátním přístupem (integrace virtuální sítě) pro flexibilní server Azure Database for PostgreSQL

PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL

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

Při vytváření 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

Tento dokument popisuje možnost privátního přístupu (integrace virtuální sítě).

Privátní přístup (integrace virtuální sítě)

Flexibilní server Azure Database for PostgreSQL můžete nasadit do virtuální sítě Azure pomocí injektáže virtuální sítě. Virtuální sítě Azure poskytují privátní a zabezpečenou síťovou komunikaci. Prostředky ve virtuální síti můžou komunikovat prostřednictvím privátních IP adres, které byly v této síti přiřazeny.

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

  • Připojte se z prostředků Azure ve stejné virtuální síti k flexibilnímu serveru Azure Database for PostgreSQL pomocí privátních IP adres.
  • Pomocí sítě VPN nebo Azure ExpressRoute se připojte z prostředků mimo Azure k flexibilnímu serveru Azure Database for PostgreSQL.
  • Ujistěte se, že flexibilní server Azure Database for PostgreSQL nemá žádný veřejný koncový bod, který je přístupný přes internet.

Diagram znázorňující fungování partnerského vztahu mezi virtuálními sítěmi, z nichž jeden zahrnuje flexibilní server Azure Database for PostgreSQL

V předchozím diagramu:

  • Flexibilní servery Azure Database for PostgreSQL se vloží do podsítě 10.0.1.0/24 virtuální sítě VNet-1.
  • Aplikace nasazené v různých podsítích ve stejné virtuální síti mají přímý přístup k flexibilním serverům Azure Database for PostgreSQL.
  • Aplikace nasazené v jiné virtuální síti (VNet-2) nemají přímý přístup k flexibilním serverům Azure Database for PostgreSQL. Než budou mít přístup k flexibilnímu serveru, musíte pro Privátní DNS zónu provést partnerský vztah virtuálních sítí.

Koncepty virtuální sítě

Virtuální síť Azure obsahuje privátní adresní prostor IP adres nakonfigurovaný pro vaše použití. Vaše virtuální síť musí být ve stejné oblasti Azure jako flexibilní server Azure Database for PostgreSQL. Další informace o virtuálních sítích najdete v přehledu služby Azure Virtual Network.

Tady je několik konceptů, které byste měli znát při používání virtuálních sítí, ve kterých jsou prostředky integrované do virtuální sítě s flexibilními servery Azure Database for PostgreSQL:

  • Delegovaná podsíť: Virtuální síť obsahuje podsítě (podsítě). Podsítě umožňují segmentovat virtuální síť do menších adresních prostorů. Prostředky Azure se nasazují do konkrétních podsítí v rámci virtuální sítě.

    Flexibilní server Azure Database for PostgreSQL, který je integrovaný ve virtuální síti, musí být v delegovaném podsíti. To znamená, že tuto podsíť můžou používat jenom flexibilní servery Azure Database for PostgreSQL. V delegované podsíti nemůžou být žádné jiné typy prostředků Azure. Delegujete podsíť přiřazením jeho vlastnosti delegování jako Microsoft.DBforPostgreSQL/flexibleServers.

    Nejmenší rozsah CIDR, který můžete zadat pro podsíť, je /28, který poskytuje 16 IP adres. První a poslední adresa v žádné síti nebo podsíti se nedá přiřadit k žádnému jednotlivému hostiteli. Azure si pro interní použití sítí Azure vyhrazuje pět IP adres, které zahrnují dvě IP adresy, které není možné přiřadit k hostiteli, jak je uvedeno. To vám ponechá 11 dostupných IP adres pro rozsah CIDR /28. Jeden flexibilní server Azure Database for PostgreSQL s funkcemi vysoké dostupnosti používá čtyři adresy.

    V případě replikace a připojení Microsoft Entra se ujistěte, že směrovací tabulky nemají vliv na provoz. Běžným vzorem je směrování veškerého odchozího provozu přes Azure Firewall nebo vlastní místní zařízení pro filtrování sítě.

    Pokud má podsíť přidruženou směrovací tabulku k pravidlu pro směrování veškerého provozu do virtuálního zařízení:

    • Přidejte pravidlo se značkou AzureActiveDirectory cílové služby a dalším segmentem směrování Internet.
    • Přidejte pravidlo s cílovým rozsahem IP adres stejným jako rozsah podsítí flexibilního serveru Azure Database for PostgreSQL a dalším segmentem směrování Virtual Network.

    Důležité

    Názvy AzureFirewallSubnet, AzureFirewallManagementSubnetAzureBastionSubnet, a GatewaySubnet jsou vyhrazeny v rámci Azure. Jako název podsítě nepoužívejte žádný z těchto názvů. Kromě toho by virtuální sítě neměly mít překrývající se adresní prostor pro vytváření replik mezi oblastmi.

  • Skupina zabezpečení sítě (NSG): Pravidla zabezpečení v skupinách zabezpečení sítě umožňují filtrovat typ síťového provozu, který může proudit do podsítí a síťových rozhraní virtuální sítě a z těchto podsítí. Další informace najdete v přehledu NSG.

    Skupiny zabezpečení aplikací (ASG) usnadňují řízení zabezpečení vrstvy 4 pomocí skupin zabezpečení sítě pro ploché sítě. Můžete rychle:

    • Připojte virtuální počítače k ASG nebo odeberte virtuální počítače z asG.
    • Dynamicky aplikujte pravidla na tyto virtuální počítače nebo odeberte pravidla z těchto virtuálních počítačů.

    Další informace najdete v přehledu asg.

    V tuto chvíli nepodporujeme skupiny zabezpečení sítě, ve kterých je asG součástí pravidla s flexibilním serverem Azure Database for PostgreSQL. V současné době doporučujeme použít v NSG filtrování na základě IP adresy nebo cíle.

    Vysoká dostupnost a další funkce flexibilního serveru Azure Database for PostgreSQL vyžadují možnost odesílat a přijímat provoz na cílový port 5432 v podsíti virtuální sítě Azure, kde je nasazený flexibilní server Azure Database for PostgreSQL a do Azure Storage pro archivaci protokolů. Pokud vytvoříte skupiny zabezpečení sítě pro odepření toku provozu do nebo z flexibilního serveru Azure Database for PostgreSQL v rámci podsítě, ve které je nasazená, nezapomeňte povolit provoz na cílový port 5432 v rámci podsítě a také do služby Storage pomocí značky služby Storage jako cíle.

    Toto pravidlo výjimky můžete dále filtrovat přidáním oblasti Azure do popisku, jako je us-east.storage. Pokud se také rozhodnete použít ověřování Microsoft Entra k ověřování přihlášení k flexibilnímu serveru Azure Database for PostgreSQL, povolte odchozí provoz do Microsoft Entra ID pomocí značky služby Microsoft Entra.

    Když nastavíte repliky pro čtení napříč oblastmi Azure, flexibilní server Azure Database for PostgreSQL vyžaduje možnost odesílat nebo přijímat provoz na cílový port 5432 pro primární i repliku i do Služby Azure Storage v primárních oblastech i v oblastech replik z primárních i replikačních serverů. Požadovaný cílový port TCP pro úložiště je 443.

  • integrace zóny Privátní DNS: Integrace zóny Azure Privátní DNS umožňuje přeložit privátní DNS v rámci aktuální virtuální sítě nebo jakékoli virtuální sítě v partnerské oblasti, kde je zóna Privátní DNS propojená.

Použití zóny Privátní DNS

Azure Privátní DNS poskytuje spolehlivou a zabezpečenou službu DNS pro vaši virtuální síť. Azure Privátní DNS spravuje a překládá názvy domén ve virtuální síti bez nutnosti konfigurace vlastního řešení DNS.

Pokud používáte přístup k privátní síti s virtuální sítí Azure, je poskytnutí informací o zóně Privátní DNS povinné, aby bylo možné provádět překlad DNS. Pro nové vytvoření flexibilního serveru Azure Database for PostgreSQL pomocí přístupu k privátní síti je potřeba použít Privátní DNS zóny při konfiguraci flexibilních serverů Azure Database for PostgreSQL s privátním přístupem.

Důležité

Pokud používáte privátní zónu DNS v jiném předplatném, musí mít zaregistrovaného poskytovatele prostředků Microsoft.DBforPostgreSQL, jinak se vaše nasazení flexibilního serveru Azure Database for PostgreSQL nedokončí.

Pro vytvoření nového flexibilního serveru Azure Database for PostgreSQL pomocí privátního síťového přístupu pomocí rozhraní API, šablony Azure Resource Manageru (šablony ARM) nebo Terraformu vytvořte Privátní DNS zón. Pak je používejte při konfiguraci flexibilních serverů Azure Database for PostgreSQL s privátním přístupem. Další informace najdete v tématu Specifikace rozhraní REST API pro Azure.

Pokud k vytvoření flexibilních serverů Azure Database for PostgreSQL používáte Azure Portal nebo Azure CLI, můžete zadat název Privátní DNS zóny, který jste předtím vytvořili ve stejném nebo jiném předplatném, nebo se ve vašem předplatném automaticky vytvoří výchozí zóna Privátní DNS.

Pokud používáte rozhraní Azure API, šablonu ARM nebo Terraform, vytvořte Privátní DNS zón, které končí .postgres.database.azure.com. Tyto zóny použijte při konfiguraci flexibilních serverů Azure Database for PostgreSQL s privátním přístupem. Například použijte formulář [name1].[name2].postgres.database.azure.com nebo [name].postgres.database.azure.com. Pokud se rozhodnete použít formulář[name].postgres.database.azure.com, název nemůže být název, který používáte pro jeden z flexibilních serverů Azure Database for PostgreSQL, nebo se během zřizování zobrazí chybová zpráva. Další informace najdete v tématu Privátní DNS přehled zón.

Pokud používáte Azure Portal, rozhraní API, Azure CLI nebo šablonu ARM, můžete také změnit Privátní DNS zónu z zóny, kterou jste zadali při vytváření flexibilního serveru Azure Database for PostgreSQL, na jinou Privátní DNS zónu, která existuje pro stejné nebo jiné předplatné.

Důležité

Možnost změnit zónu Privátní DNS z zóny, kterou jste zadali při vytváření flexibilního serveru Azure Database for PostgreSQL na jiný Privátní DNS zónu, je aktuálně zakázaná pro servery s povolenou funkcí s vysokou dostupností.

Po vytvoření Privátní DNS zóny v Azure je potřeba s ní propojit virtuální síť. Prostředky hostované v propojené virtuální síti pak můžou přistupovat k Privátní DNS zóně.

Důležité

Přestaneme ověřovat přítomnost propojení virtuální sítě při vytváření serveru pro flexibilní server Azure Database for PostgreSQL s privátními sítěmi. Když vytvoříte server prostřednictvím portálu, poskytneme zákazníkovi možnost vytvořit odkaz na vytvoření serveru pomocí zaškrtávacího políčka Propojit Privátní DNS zónu s virtuální sítí na webu Azure Portal.

Privátní zóny DNS jsou odolné vůči oblastním výpadkům, protože data zón jsou globálně dostupná. Záznamy prostředků v privátní zóně se automaticky replikují napříč oblastmi. Azure Privátní DNS je základní služba zóny dostupnosti, která se nazývá reduntant. Další informace najdete v tématu Služby Azure s podporou zóny dostupnosti.

Integrace s vlastním serverem DNS

Pokud používáte vlastní server DNS, musíte k překladu plně kvalifikovaného názvu domény flexibilního serveru Azure Database for PostgreSQL použít předávací nástroj DNS. IP adresa služby předávání by měla být 168.63.129.16.

Vlastní server DNS by měl být uvnitř virtuální sítě nebo dosažitelný prostřednictvím nastavení serveru DNS virtuální sítě. Další informace najdete v tématu Překlad názvů, který používá váš vlastní server DNS.

Privátní DNS zón a partnerské vztahy virtuálních sítí

Privátní DNS nastavení zóny a partnerský vztah virtuálních sítí jsou navzájem nezávislé. Pokud se chcete připojit k flexibilnímu serveru Azure Database for PostgreSQL z klienta zřízeného v jiné virtuální síti ze stejné oblasti nebo jiné oblasti, musíte propojit Privátní DNS zónu s virtuální sítí. Další informace najdete v tématu Propojení virtuální sítě.

Poznámka:

Propojit je možné pouze Privátní DNS názvy zón, které končí napostgres.database.azure.com. Název zóny DNS nemůže být stejný jako flexibilní servery Azure Database for PostgreSQL. V opačném případě překlad názvů selže.

Pokud chcete namapovat název serveru na záznam DNS, můžete příkaz nslookup spustit v Azure Cloud Shellu pomocí Azure PowerShellu nebo bashe. Nahraďte název serveru parametrem <server_name> v následujícím příkladu:

nslookup -debug <server_name>.postgres.database.azure.com | grep 'canonical name'

Použití návrhu privátních sítí s hvězdicovou hvězdicovou sítí

Hvězdicová architektura je oblíbený síťový model pro efektivní správu běžných požadavků na komunikaci nebo zabezpečení.

Centrum je virtuální síť, která funguje jako centrální umístění pro správu externího připojení. Hostuje také služby používané více úlohami. Toto centrum koordinuje veškerou komunikaci směřující do a z paprsků. IT pravidla nebo procesy, jako je zabezpečení, můžou kontrolovat, směrovat a centrálně spravovat provoz. Paprsky jsou virtuální sítě, které hostují úlohy a připojují se k centru uprostřed přes partnerský vztah virtuální sítě. Sdílené služby jsou hostované ve svých vlastních podsítích pro sdílení s paprsky. Hraniční podsíť pak funguje jako bezpečnostní zařízení.

Paprsky jsou také virtuální sítě v Azure, které slouží k izolaci jednotlivých úloh. Tok provozu mezi místním ústředím a Azure je připojený přes Azure ExpressRoute nebo VPN typu site-to-site připojený k virtuální síti centra. Virtuální sítě z paprsků do centra jsou v partnerském vztahu a umožňují komunikaci s místními prostředky. Centrum a jednotlivé paprsky můžete implementovat v samostatných předplatných nebo skupinách prostředků.

Existují tři hlavní vzory pro vzájemné propojení paprskových virtuálních sítí:

  • Paprsky jsou vzájemně propojené přímo: Partnerské vztahy virtuálních sítí nebo tunely VPN se vytvářejí mezi paprskovými virtuálními sítěmi, aby poskytovaly přímé připojení bez procházení virtuální sítě rozbočovače.
  • Paprsky komunikují přes síťové zařízení: Každá paprsková virtuální síť má partnerský vztah k virtuální síti WAN nebo k virtuální síti rozbočovače. Zařízení směruje provoz z paprsku do paprsku. Zařízení může spravovat Microsoft (stejně jako virtuální síť WAN) nebo vy.
  • Brána virtuální sítě je připojená k centrální síti a využívá trasy definované uživatelem: Umožňuje komunikaci mezi paprsky.

Diagram znázorňující základní hvězdicovou architekturu s hybridním připojením prostřednictvím express hubu

Pomocí Azure Virtual Network Manageru můžete vytvořit nové topologie hvězdicové virtuální sítě (a připojit existující) hvězdicové topologie virtuální sítě pro centrální správu připojení a kontrolních mechanismů zabezpečení.

Komunikace s privátními síťovými klienty v různých oblastech

Zákazníci se často potřebují připojovat k různým oblastem Azure klientů. Konkrétně se tato otázka obvykle omezuje na to, jak připojit dvě virtuální sítě (jednu z nich má flexibilní server Azure Database for PostgreSQL a druhý má klienta aplikace), které jsou v různých oblastech.

Existuje několik způsobů, jak takové připojení dosáhnout, včetně:

  • Globální partnerský vztah virtuálních sítí Tato metodologie je nejběžnější, protože je nejjednodušší způsob, jak propojit sítě v různých oblastech dohromady. Globální partnerský vztah virtuálních sítí vytvoří připojení přes páteřní síť Azure přímo mezi dvěma partnerskými virtuálními sítěmi. Tato metoda poskytuje nejlepší propustnost sítě a nejnižší latenci připojení. Když jsou virtuální sítě v partnerském vztahu, Azure za vás také automaticky zpracuje směrování. Tyto virtuální sítě můžou komunikovat se všemi prostředky v partnerské virtuální síti, které jsou vytvořené v bráně VPN.
  • Připojení k síti. Připojení mezi virtuálními sítěmi (připojení k síti) je v podstatě SÍŤ VPN mezi dvěma umístěními Azure. Připojení k síti je navázáno na bráně VPN. U vašeho provozu se oproti globálnímu partnerskému vztahu virtuálních sítí účtují další dva segmenty směrování provozu. V porovnání s danou metodou je také další latence a nižší šířka pásma.
  • Komunikace přes síťové zařízení v hvězdicové architektuře Místo přímého propojení paprskových virtuálních sítí můžete pomocí síťových zařízení směrovat provoz mezi paprsky. Síťová zařízení poskytují více síťových služeb, jako je hloubková kontrola paketů a segmentace provozu nebo monitorování, ale pokud nejsou správně velké, můžou zavádět latenci a kritické body výkonu.

Replikace napříč oblastmi Azure a virtuálními sítěmi s využitím privátních sítí

Replikace databáze je proces kopírování dat z centrálního nebo primárního serveru na více serverů označovaných jako repliky. Primární server přijímá operace čtení a zápisu, ale repliky obsluhují transakce jen pro čtení. Primární server a repliky společně tvoří databázový cluster. Cílem replikace databáze je zajistit redundanci, konzistenci, vysokou dostupnost a přístupnost dat, zejména u vysoce provozních a důležitých aplikací.

Flexibilní server Azure Database for PostgreSQL nabízí dvě metody replikace: fyzické (tj. streamování) prostřednictvím integrované funkce repliky pro čtení a logické replikace. Oba jsou ideální pro různé případy použití a uživatel si ho může vybrat nad druhým v závislosti na koncovém cíli.

Replikace mezi oblastmi Azure, s oddělenými virtuálními sítěmi v každé oblasti, vyžaduje připojení přes hranice regionální virtuální sítě, které je možné poskytovat prostřednictvím partnerského vztahu virtuálních sítí nebo v hvězdicových architekturách prostřednictvím síťového zařízení.

Ve výchozím nastavení je překlad názvů DNS vymezen na virtuální síť. Jakýkoli klient v jedné virtuální síti (VNET1) nemůže přeložit plně kvalifikovaný název domény flexibilního serveru Azure Database for PostgreSQL v jiné virtuální síti (VNET2).

Pokud chcete tento problém vyřešit, musíte zajistit, aby klienti ve virtuální síti 1 měli přístup k flexibilnímu serveru Azure Database for PostgreSQL Privátní DNS zóně. Přidejte propojení virtuální sítě do Privátní DNS zóny flexibilního serveru Azure Database for PostgreSQL.

Nepodporované scénáře virtuálních sítí

Tady jsou některá omezení pro práci s virtuálními sítěmi vytvořenými prostřednictvím integrace virtuální sítě:

  • Po nasazení flexibilního serveru Azure Database for PostgreSQL do virtuální sítě a podsítě ji nemůžete přesunout do jiné virtuální sítě nebo podsítě. Virtuální síť nemůžete přesunout do jiné skupiny prostředků ani předplatného.
  • Jakmile v podsíti existují prostředky, není možné zvětšit velikost podsítě (adresní prostory).
  • Prostředky vložené do virtuální sítě nemůžou ve výchozím nastavení komunikovat se službou Private Link. Pokud chcete použít službu Private Link pro privátní sítě, přečtěte si téma Azure Database for PostgreSQL – Sítě flexibilního serveru se službou Private Link.

Důležité

Azure Resource Manager podporuje možnost uzamknout prostředky jako bezpečnostní prvek. Zámky prostředků se použijí na prostředek a jsou efektivní pro všechny uživatele a role. Existují dva typy zámku prostředků: CanNotDelete a ReadOnly. Tyto typy zámků se dají použít buď na Privátní DNS zónu, nebo na jednotlivou sadu záznamů.

Použití zámku typu u Privátní DNS zóny nebo jednotlivé sady záznamů může ovlivnit schopnost flexibilního serveru Azure Database for PostgreSQL aktualizovat záznamy DNS. Může také způsobit problémy během důležitých operací v DNS, jako je převzetí služeb při selhání s vysokou dostupností z primárního do sekundárního serveru. Z těchto důvodů se ujistěte, že nepoužíváte privátní zónu DNS nebo zámky záznamů, pokud používáte funkce s vysokou dostupností s flexibilním serverem Azure Database for PostgreSQL.

Název hostitele

Bez ohledu na zvolenou možnost sítě doporučujeme vždy používat plně kvalifikovaný název domény jako název hostitele při připojování k flexibilnímu serveru Azure Database for PostgreSQL. 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).