Migrace z mezipamětí pro vkládání virtuální sítě do mezipamětí služby Private Link

Tento článek popisuje několik přístupů k migraci instancí mezipaměti vloženého do Azure Cache for Redis Virtual Network (VNet) do Azure Cache for Redis Private Link instancí mezipaměti.

Azure Private Link zjednodušuje architekturu sítě a zabezpečuje připojení mezi koncovými body v Azure. K instanci služby Azure Cache for Redis se můžete připojit z virtuální sítě prostřednictvím privátního koncového bodu s přiřazenou privátní IP adresou v podsíti v rámci virtuální sítě. Mezi výhody použití Azure Private Link pro Azure Cache for Redis patří:

  • Flexibilita vrstev – Azure Private Link se podporuje na všech úrovních. Basic, Standard, Premium, Enterprise a Enterprise Flash. V porovnání s Virtual Network injektácí, která je nabízena pouze na naší úrovni Premium.

  • Zjednodušená správa pravidel skupiny zabezpečení sítě (NSG) – Pravidla NSG nemusí být nakonfigurovaná tak, aby dodržovala požadavky Azure Cache for Redis.

  • Podpora Azure Policy – Ujistěte se, že všechny mezipaměti ve vaší organizaci jsou vytvořené pomocí Private Link, a auditujte stávající mezipaměti vaší organizace, abyste ověřili, že všechny využívají Private Link.

Možnosti migrace

Z injektáže virtuální sítě na Private Link můžete přepnout několika různými způsoby. V závislosti na tom, kde se mezipaměť nachází a jak s ní vaše aplikace komunikuje, bude jedna metoda užitečnější než ostatní. Některé z často používaných strategií migrace jsou podrobně popsány níže.

Pokud používáte libovolnou kombinaci geografické replikace, clusteringu nebo virtuální sítě ARM:

Možnost Výhody Nevýhody
Duální zápis dat do dvou mezipamětí Nedojde ke ztrátě dat ani výpadku. Nepřerušované operace existující mezipaměti. Jednodušší testování nové mezipaměti Potřebuje dvě mezipaměti po delší dobu.
Vytvoření nové mezipaměti Nejjednodušší implementace. Je potřeba znovu naplnit data do nové mezipaměti, která nemusí fungovat s mnoha aplikacemi.
Export a import dat prostřednictvím souboru RDB Migrace dat je povinná. Pokud se po vygenerování souboru RDB zapíšou do existující mezipaměti, může dojít ke ztrátě některých dat.
Migrace dat prostřednictvím kódu programu Plnou kontrolu nad tím, jak se data přesouvají. Vyžaduje vlastní kód.

Zápis do dvou mezipamětí Redis současně během období migrace

Místo přesouvání dat přímo mezi mezipamětí můžete aplikaci použít k zápisu dat do existující i nové mezipaměti, kterou nastavujete. Aplikace bude i nadále zpočátku číst data z existující mezipaměti. Když nová mezipaměť obsahuje potřebná data, přepnete aplikaci do této mezipaměti a vyřadíte starou mezipaměť. Řekněme například, že používáte Redis jako úložiště relací a relace aplikace jsou platné sedm dní. Po týdenním zápisu do obou mezipamětí si budete jistí, že nová mezipaměť obsahuje všechny informace o relacích, které nevypršely. Od této chvíle se na ni můžete bezpečně spolehnout, aniž byste se museli zabývat ztrátou dat.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis s privátními koncovými body, které mají stejnou (nebo větší velikost) jako existující mezipaměť.

  2. Upravte kód aplikace tak, aby se zapisovat do nových i původních instancí.

  3. Pokračujte ve čtení dat z původní instance, dokud se nová instance dostatečně nenaplní daty.

  4. Aktualizujte kód aplikace na čtení a zápis pouze z nové instance.

  5. Odstraňte původní instanci.

Vytvoření nového Azure Cache for Redis

Tento přístup technicky vzato není migrací. Pokud ztráta dat není problém, nejjednodušší způsob, jak přejít na Azure Cache for Redis, je vytvořit instanci mezipaměti a připojit k ní aplikaci. Pokud například použijete Redis jako mezipaměť záznamů databáze s doplňováním, můžete mezipaměť snadno znovu sestavit od začátku.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis s privátními koncovými body.

  2. Aktualizujte aplikaci tak, aby používala novou instanci.

  3. Odstraňte starou instanci Redis.

Export dat do souboru RDB a jejich import do Azure Cache for Redis (jenom úroveň Premium)

Open source Redis definuje standardní mechanismus pro pořízení snímku datové sady mezipaměti v paměti a jeho uložení do souboru. Tento soubor s názvem RDB může číst jiná mezipaměť Redis. Azure Cache for Redis úroveň Premium podporuje import dat do instance mezipaměti prostřednictvím souborů RDB. Soubor RDB můžete použít k přenosu dat z existující mezipaměti do Azure Cache for Redis.

Důležité

Formát souboru RDB se může mezi verzemi Redis měnit a nemusí udržovat zpětnou kompatibilitu. Verze mezipaměti Redis, ze které exportujete, by měla být stejná nebo menší než verze poskytovaná Azure Cache for Redis.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte novou instanci Azure Cache for Redis s privátními koncovými body na úrovni Premium, která je stejně velká jako existující mezipaměť (nebo větší).

  2. Uložte snímek existující mezipaměti Redis. Redis můžete nakonfigurovat tak, aby ukládaly snímky pravidelně, nebo tento proces spouštět ručně pomocí příkazů SAVE nebo BGSAVE. Soubor RDB má ve výchozím nastavení název dump.rdb a bude umístěn v cestě zadané v konfiguračním souboru redis.conf .

    Poznámka

    Pokud migrujete data v rámci Azure Cache for Redis, přečtěte si tyto pokyny k exportu souboru RDB nebo místo toho použijte rutinu PowerShellu Export.

  3. Zkopírujte soubor RDB do účtu úložiště Azure v oblasti, kde se nachází nová mezipaměť. Pro tuto úlohu můžete použít AzCopy.

  4. Naimportujte soubor RDB do nové mezipaměti pomocí těchto pokynů k importu nebo rutiny Import prostředí PowerShell.

  5. Aktualizujte aplikaci tak, aby používala novou instanci mezipaměti.

Migrace prostřednictvím kódu programu

Vytvořte vlastní proces migrace tak, že programově přečtete data z existující mezipaměti a zapíšete je do Azure Cache for Redis. Tento opensourcový nástroj lze použít ke kopírování dat z jedné instance Azure Cache for Redis do jiné. Tento nástroj je užitečný pro přesun dat mezi instancemi mezipaměti v různých oblastech služby Azure Cache. K dispozici je také zkompilovaná verze . Zdrojový kód může být také užitečným vodítkem pro psaní vlastního nástroje pro migraci.

Poznámka

Microsoft tento nástroj oficiálně nepodporuje.

Obecné kroky pro implementaci této možnosti:

  1. Vytvořte virtuální počítač v oblasti, ve které se nachází existující mezipaměť. Pokud je vaše datová sada velká, zvolte relativně výkonný virtuální počítač, abyste zkrátili dobu kopírování.

  2. Vytvoření nové instance Azure Cache for Redis s privátními koncovými body

  3. Vyprázdněním dat z nové mezipaměti zajistíte, že je prázdná. Tento krok je povinný, protože samotný nástroj pro kopírování nepřepíše žádný existující klíč v cílové mezipaměti.

    Důležité

    Ujistěte se, že SE NEVYPRÁZDNÍ ze zdrojové mezipaměti.

  4. K automatizaci kopírování dat ze zdrojové mezipaměti do cíle použijte aplikaci, jako je výše uvedený opensourcový nástroj. Mějte na paměti, že v závislosti na velikosti datové sady může dokončení procesu kopírování chvíli trvat.

Další kroky