Geografické zotavení po havárii služby Azure Service Bus
Funkce geografického zotavení po havárii služby Service Bus je jednou z možností izolace aplikací Služby Azure Service Bus před výpadky a haváriemi, a primárně se zaměřuje na zachování integrity konfigurace složeného aplikace.
Poznámka:
Tato funkce je dostupná pro úroveň Premium služby Azure Service Bus.
Funkce geografického zotavení po havárii zajišťuje, že se celá konfigurace oboru názvů (entity, konfigurace, vlastnosti) nepřetržitě replikuje z primárního oboru názvů do sekundárního oboru názvů, se kterým je spárovaná, a umožňuje zahájit přechod z primárního do sekundárního oboru služeb při selhání pouze jednou. Přesunutí převzetí služeb při selhání znovu odkazuje na zvolený název aliasu pro obor názvů do sekundárního oboru názvů a pak přeruší spárování. Převzetí služeb při selhání je téměř okamžité po zahájení.
Důležité body ke zvážení
- Tato funkce umožňuje okamžitou kontinuitu operací se stejnou konfigurací, ale nereplikuje zprávy uchovávané ve frontách nebo odběrech témat nebo ve frontách nedoručených zpráv. Aby se zachovala sémantika fronty, vyžaduje taková replikace nejen replikaci dat zpráv, ale i všechny změny stavu ve zprostředkovateli, které jsou nabízeny ve funkci geografické replikace (Public Preview).
- Přiřazení řízení přístupu na základě role (RBAC) společnosti Microsoft k entitám služby Service Bus v primárním oboru názvů se nereplikují do sekundárního oboru názvů. Pokud chcete zabezpečit přístup k nim, vytvořte přiřazení rolí ručně v sekundárním oboru názvů.
- Následující konfigurace se nereplikují.
- Konfigurace virtuální sítě
- Připojení k privátním koncovým bodům
- Povolen přístup ke všem sítím
- Povolený přístup k důvěryhodné službě
- Přístup k veřejné síti
- Výchozí síťová akce
- Identity a nastavení šifrování (šifrování klíče spravovaného zákazníkem nebo používání vlastního klíče (BYOK)
- Povolení automatického škálování
- Zakázání místního ověřování
- Předplatná služby Azure Event Grid
- Spárování děleného oboru názvů s neděleným oborem názvů se nepodporuje.
- Pokud
AutoDeleteOnIdle
je pro entitu povolená, entita nemusí být v sekundárním oboru názvů, když dojde k převzetí služeb při selhání. Když se sekundární stane primárním, poslední stav přístupu, který není součástí metadat, nebude k dispozici pro novou primární entitu a entita může být odstraněna v rámciAutoDeleteOnIdle
vyčištění.
Tip
Pokud chcete replikovat obsah front a odběrů témat a provoz odpovídajících oborů názvů v konfiguracích aktivní/aktivní, abyste se mohli vypořádat s výpadky a haváriemi, nezaklánějte se na tuto sadu funkcí geografického zotavení po havárii, ale použijte funkci geografické replikace nebo postupujte podle pokynů k replikaci.
Základní pojmy a pojmy
Funkce geografického zotavení po havárii implementuje zotavení po havárii metadata a spoléhá na primární a sekundární obory názvů zotavení po havárii. Funkce Geografické zotavení po havárii je dostupná jenom pro úroveň Premium. Nemusíte provádět žádné připojovací řetězec změny, protože se připojení provádí prostřednictvím aliasu.
V tomto článku se používají následující termíny:
Alias: Název konfigurace zotavení po havárii, kterou jste nastavili. Alias poskytuje jeden stabilní plně kvalifikovaný název domény (FQDN) připojovací řetězec. Aplikace používají tento alias připojovací řetězec pro připojení k oboru názvů. Použití aliasu zajišťuje, že připojovací řetězec se při aktivaci převzetí služeb při selhání nezmění.
Primární/sekundární obor názvů: Obory názvů, které odpovídají aliasu. Primární obor názvů je aktivní a přijímá zprávy (může se jednat o existující nebo nový obor názvů). Sekundární obor názvů je "pasivní" a nepřijímá zprávy. Metadata mezi oběma se synchronizují, takže oba můžou bezproblémově přijímat zprávy bez jakéhokoli kódu aplikace nebo připojovací řetězec změn. Pokud chcete zajistit, aby zprávy přijímal pouze aktivní obor názvů, musíte použít alias.
Metadata: Entity, jako jsou fronty, témata a odběry, a jejich vlastnosti služby přidružené k oboru názvů. Automaticky se replikují jenom entity a jejich nastavení. Zprávy se nereplikují.
Převzetí služeb při selhání: Proces aktivace sekundárního oboru názvů.
Nastavení
Následující část obsahuje přehled nastavení párování mezi obory názvů.
Nejprve vytvoříte nebo použijete existující primární obor názvů a nový sekundární obor názvů a pak oba spárujete. Toto párování vám poskytne alias, který můžete použít k připojení. Protože používáte alias, nemusíte měnit připojovací řetězec. Do párování převzetí služeb při selhání je možné přidat pouze nové obory názvů.
Vytvořte primární obor názvů úrovně Premium.
Vytvořte sekundární obor názvů úrovně Premium v jiné oblasti. Tento krok je nepovinný. Sekundární obor názvů můžete vytvořit při vytváření párování v dalším kroku.
Na webu Azure Portal přejděte do svého primárního oboru názvů.
V nabídce vlevo vyberte Geografické obnovení a na panelu nástrojů vyberte Zahájit párování .
Na stránce Zahájit párování postupujte takto:
Vyberte existující sekundární obor názvů nebo ho vytvořte v jiné oblasti. V tomto příkladu se jako sekundární obor názvů používá existující obor názvů.
Jako alias zadejte alias pro párování Geografické zotavení po havárii.
Potom vyberte Vytvořit.
Měla by se zobrazit stránka aliasu Geografické zotavení po havárii služby Service Bus, jak je znázorněno na následujícím obrázku. Na stránku Alias geografického zotavení po havárii můžete přejít také ze stránky primárního oboru názvů tak, že v nabídce vlevo vyberete Geografické obnovení.
Na stránce Alias geografického zotavení po havárii vyberte v nabídce vlevo zásady sdíleného přístupu a přejděte k primárnímu připojovací řetězec aliasu. Použijte tuto připojovací řetězec místo použití připojovací řetězec přímo k primárnímu nebo sekundárnímu oboru názvů. Alias zpočátku odkazuje na primární obor názvů.
Přepněte na stránku Přehled . Můžete provést následující akce:
- Rozdělte párování mezi primárními a sekundárními obory názvů. Na panelu nástrojů vyberte Zalomit párování .
- Ruční převzetí služeb při selhání do sekundárního oboru názvů
Na panelu nástrojů vyberte Převzetí služeb při selhání .
Potvrďte, že chcete převzít služby při selhání sekundárního oboru názvů zadáním do svého aliasu.
Zapněte možnost Bezpečné převzetí služeb při selhání, abyste mohli bezpečně převzít služby při selhání sekundárního oboru názvů.
Poznámka:
- Bezpečné převzetí služeb při selhání zajišťuje, aby se před přepnutím na sekundární replikaci dokončily čekající replikace geografického zotavení po havárii. Případně vynucené nebo ruční převzetí služeb při selhání nečeká na dokončení čekajících replikací před přepnutím na sekundární.
- V současné době bezpečné převzetí služeb při selhání selže, pokud primární a sekundární obory názvů nejsou ve stejném předplatném Azure.
Pak vyberte převzetí služeb při selhání.
Důležité
Převzetí služeb při selhání aktivuje sekundární obor názvů a odebere primární obor názvů z párování Geografické zotavení po havárii. Vytvořte další obor názvů, který bude mít nový pár geografického zotavení po havárii.
Nakonec byste měli přidat monitorování, abyste zjistili, jestli je potřeba převzetí služeb při selhání. Ve většině případů je služba jednou z částí velkého ekosystému, takže automatické převzetí služeb při selhání je zřídka možné, protože často je potřeba provést převzetí služeb při selhání se zbývajícím subsystémem nebo infrastrukturou.
Service Bus Standard až Premium
Pokud jste migrovali obor názvů Azure Service Bus Standard do služby Azure Service Bus Premium, musíte použít existující alias (tj. obor názvů Service Bus Standard připojovací řetězec) a vytvořit konfiguraci zotavení po havárii prostřednictvím rozhraní PŘÍKAZOVÉho řádku nebo rozhraní REST API.
Je to proto, že během migrace se váš standardní obor názvů služby Azure Service Bus připojovací řetězec/DNS stane aliasem vašeho oboru názvů Azure Service Bus Premium.
Klientské aplikace musí používat tento alias (tj. standardní obor názvů služby Azure Service Bus připojovací řetězec) pro připojení k oboru názvů premium, ve kterém je nastavené párování zotavení po havárii.
Pokud k nastavení konfigurace zotavení po havárii použijete Azure Portal, portál od vás tuto výstrahu abstrahuje.
Tok převzetí služeb při selhání
Převzetí služeb při selhání se aktivuje ručně zákazníkem (buď explicitně příkazem, nebo prostřednictvím obchodní logiky vlastněné klientem, která příkaz aktivuje) a nikdy azure. Poskytuje zákazníkovi úplné vlastnictví a přehled o řešení výpadků v páteřní síti Azure.
Po aktivaci převzetí služeb při selhání –
Alias připojovací řetězec se aktualizuje tak, aby odkazovat na sekundární obor názvů Premium.
Klienti (odesílatelé a příjemci) se automaticky připojují k sekundárnímu oboru názvů.
Existující párování mezi primárním a sekundárním oborem názvů premium je přerušené.
Po zahájení převzetí služeb při selhání –
Pokud dojde k jinému výpadku, chcete být schopni převzít služby při selhání znovu. Nastavte tedy další sekundární obor názvů a aktualizujte párování.
Jakmile bude znovu k dispozici, přetáhněte zprávy z bývalého primárního oboru názvů. Potom použijte tento obor názvů pro pravidelné zasílání zpráv mimo nastavení geografického zotavení po havárii nebo odstraňte starý primární obor názvů.
Poznámka:
Podporují se pouze sémantika předávání selhání. V tomto scénáři převezmete služby při selhání a pak znovu spárujete s novým oborem názvů. Navrácení služeb po obnovení se nepodporuje; Například v clusteru SQL.
Převzetí služeb při selhání můžete automatizovat buď pomocí monitorovacích systémů, nebo pomocí vlastních řešení pro monitorování. Taková automatizace ale vyžaduje dodatečné plánování a práci, která je mimo rozsah tohoto článku.
Správa
Pokud jste například udělali chybu, spárovali jste nesprávné oblasti během počátečního nastavení, můžete kdykoli přerušit párování těchto dvou oborů názvů. Pokud chcete spárované obory názvů použít jako běžné obory názvů, odstraňte alias.
Použití existujícího oboru názvů jako aliasu
Pokud máte scénář, ve kterém nemůžete změnit připojení producentů a příjemců, můžete název oboru názvů znovu použít jako název aliasu. Tady najdete ukázkový kód na GitHubu.
Ukázky
Ukázky na GitHubu ukazují, jak nastavit a zahájit převzetí služeb při selhání. Tyto ukázky ukazují následující koncepty:
- Ukázka a nastavení .NET, která jsou vyžadována v Microsoft Entra ID pro použití Azure Resource Manageru se službou Service Bus, nastavení a povolení geografického zotavení po havárii.
- Kroky potřebné ke spuštění ukázkového kódu
- Jak použít existující obor názvů jako alias.
- Postup alternativního povolení geografického zotavení po havárii prostřednictvím PowerShellu nebo rozhraní příkazového řádku
- Odesílání a příjem z aktuálního primárního nebo sekundárního oboru názvů pomocí aliasu
Důležité informace
Mějte na paměti následující aspekty, které je potřeba vzít v úvahu v této verzi:
- Při plánování převzetí služeb při selhání byste také měli zvážit časový faktor. Pokud například ztratíte připojení delší než 15 až 20 minut, můžete se rozhodnout zahájit převzetí služeb při selhání.
- Skutečnost, že se nereplikují žádná data, znamená to, že se aktuálně aktivní relace nereplikují. Kromě toho nemusí fungovat detekce duplicit a naplánované zprávy. Nové relace, nové naplánované zprávy a nové duplicity fungují.
- Převzetí služeb při selhání komplexní distribuované infrastruktury by mělo být na zkoušku alespoň jednou.
- Synchronizace entit může nějakou dobu trvat, přibližně 50 až 100 entit za minutu. Předplatná a pravidla se také počítají jako entity.
Privátní koncové body
Tato část obsahuje další aspekty při použití geografického zotavení po havárii s obory názvů, které používají privátní koncové body. Obecné informace o používání privátních koncových bodů se službou Service Bus najdete v tématu Integrace služby Azure Service Bus se službou Azure Private Link.
Nové párování
Pokud se pokusíte vytvořit párování mezi primárním oborem názvů s privátním koncovým bodem a sekundárním oborem názvů bez privátního koncového bodu, párování selže. Párování proběhne úspěšně pouze v případě, že primární i sekundární obory názvů mají privátní koncové body. Doporučujeme používat stejné konfigurace v primárních a sekundárních oborech názvů a ve virtuálních sítích, ve kterých se vytvářejí privátní koncové body.
Poznámka:
Když se pokusíte spárovat primární obor názvů s privátním koncovým bodem a sekundárním oborem názvů, proces ověření pouze zkontroluje, jestli v sekundárním oboru názvů existuje privátní koncový bod. Nekontroluje, jestli koncový bod funguje nebo funguje po převzetí služeb při selhání. Je vaší zodpovědností zajistit, aby sekundární obor názvů s privátním koncovým bodem fungoval očekávaným způsobem po převzetí služeb při selhání.
Pokud chcete otestovat, že konfigurace privátních koncových bodů jsou stejné, odešlete požadavek Get queues do sekundárního oboru názvů mimo virtuální síť a ověřte, že se ve službě zobrazí chybová zpráva.
Existující párování
Pokud už párování mezi primárním a sekundárním oborem názvů existuje, vytvoření privátního koncového bodu v primárním oboru názvů selže. Pokud chcete problém vyřešit, nejprve vytvořte privátní koncový bod v sekundárním oboru názvů a pak vytvořte privátní koncový bod pro primární obor názvů.
Poznámka:
I když povolíme přístup jen pro čtení k sekundárnímu oboru názvů, jsou povoleny aktualizace konfigurací privátních koncových bodů.
Doporučená konfigurace
Při vytváření konfigurace zotavení po havárii pro vaši aplikaci a Service Bus musíte vytvořit privátní koncové body pro primární i sekundární obory názvů služby Service Bus pro virtuální sítě hostující primární i sekundární instance vaší aplikace.
Řekněme, že máte dvě virtuální sítě: VNET-1, VNET-2 a tyto primární a sekundární obory názvů: ServiceBus-Namespace1-Primary
, ServiceBus-Namespace2-Secondary
. Potřebujete provést následující kroky:
- Vytvořte
ServiceBus-Namespace1-Primary
dva privátní koncové body, které používají podsítě z virtuální sítě VNET-1 a VNET-2. - Vytvořte
ServiceBus-Namespace2-Secondary
dva privátní koncové body, které používají stejné podsítě z virtuální sítě 1 a VNET-2.
Výhodou tohoto přístupu je, že převzetí služeb při selhání může probíhat v aplikační vrstvě nezávisle na oboru názvů služby Service Bus. Zvažte následující scénáře:
Převzetí služeb při selhání pouze pro aplikace: V této části neexistuje v síti VNET-1, ale přesune se do virtuální sítě VNET-2. Vzhledem k tomu, že oba privátní koncové body jsou nakonfigurované pro primární i sekundární obory názvů VNET-1 i VNET-2, aplikace funguje jenom.
Převzetí služeb při selhání pouze s oborem názvů služby Service Bus: Tady je opět k dispozici, protože oba privátní koncové body jsou nakonfigurované v obou virtuálních sítích pro primární i sekundární obory názvů, aplikace prostě funguje.
Poznámka:
Pokyny k geografickému zotavení po havárii virtuální sítě najdete v tématu Virtuální síť – Provozní kontinuita.
Řízení přístupu na základě role
Přiřazení řízení přístupu na základě role (RBAC) společnosti Microsoft k entitám služby Service Bus v primárním oboru názvů se nereplikují do sekundárního oboru názvů. Pokud chcete zabezpečit přístup k nim, vytvořte přiřazení rolí ručně v sekundárním oboru názvů.
Další kroky
- Informace o rozhraní REST API geografického zotavení po havárii najdete tady.
- Spusťte ukázku geografického zotavení po havárii na GitHubu.
- Podívejte se na ukázku geografického zotavení po havárii, která odesílá zprávy do aliasu.
Další informace o zasílání zpráv služby Service Bus najdete v následujících článcích: