Kurz: Simulace selhání při čtení dat z primární oblasti

Tento kurz je druhá část série. V něm se dozvíte o výhodách geograficky zónově redundantního úložiště s přístupem pro čtení (RA-GZRS) simulací selhání.

Pokud chcete simulovat selhání, můžete použít statické směrování nebo Fiddler. Obě metody vám umožní simulovat selhání požadavků na primární koncový bod účtu úložiště RA-GZRS, což vede aplikaci ke čtení ze sekundárního koncového bodu.

Pokud předplatné Azure ještě nemáte, napřed si vytvořte bezplatný účet.

Ve druhé části této série se naučíte:

Požadavky

Než začnete s tímto kurzem, projděte si předchozí kurz : Zajištění vysoké dostupnosti dat aplikací pomocí úložiště Azure.

K simulaci selhání se statickým směrováním použijete příkazový řádek se zvýšenými oprávněními.

Pokud chcete simulovat selhání pomocí fiddler, stáhněte a nainstalujte Fiddler.

Simulace selhání pomocí neplatné statické trasy

Pro všechny požadavky na primární koncový bod vašeho účtu úložiště RA-GZRS můžete vytvořit neplatnou statickou trasu. V tomto kurzu se používá místní hostitel jako brána pro směrování žádostí na účet úložiště. Použití místního hostitele jako brány způsobí, že se všechny požadavky na primární koncový bod vašeho účtu úložiště vrátí zpět do hostitele, což vede k neúspěšné žádosti. Následujícím postupem nasimulujete selhání a obnovení primárního koncového bodu pomocí neplatné statické trasy.

Spuštění a pozastavení aplikace

Podle pokynů v předchozím kurzu spusťte ukázku a stáhněte si testovací soubor a ověřte, že pochází z primárního úložiště. V závislosti na cílové platformě pak můžete ukázku ručně pozastavit nebo počkat na výzvu.

Simulace chyby

Když je aplikace pozastavená, otevřete příkazový řádek ve Windows jako správce nebo spusťte terminál jako root v Linuxu.

Získejte informace o doméně primárního koncového bodu účtu úložiště zadáním následujícího příkazu na příkazovém řádku nebo v terminálu a nahraďte STORAGEACCOUNTNAME názvem vašeho účtu úložiště.

nslookup STORAGEACCOUNTNAME.blob.core.windows.net

Zkopírujte IP adresu vašeho účtu úložiště do textového editoru pro pozdější použití.

Pokud chcete získat IP adresu místního hostitele, zadejte ipconfig na příkazovém řádku Windows nebo ifconfig na terminálu Linuxu.

Pokud chcete přidat statickou trasu pro cílového hostitele, zadejte na příkazovém řádku Windows nebo v terminálu Linuxu následující příkaz a nahraďte <destination_ip> IP adresou vašeho účtu úložiště a <gateway_ip> IP adresou místního hostitele.

Linux

sudo route add <destination_ip> gw <gateway_ip>

Windows

route add <destination_ip> <gateway_ip>

V okně se spuštěnou ukázkou obnovte aplikaci nebo stisknutím příslušné klávesy stáhněte ukázkový soubor a ověřte, že pochází ze sekundárního úložiště. Pak můžete ukázku znovu pozastavit nebo počkat na výzvu.

Simulovat obnovení primárního koncového bodu

Pokud chcete simulovat, že primární koncový bod bude znovu funkční, odstraňte ze směrovací tabulky neplatnou statickou trasu. To umožní směrování všech žádostí na primární koncový bod pomocí výchozí brány. Na příkazovém řádku Windows nebo v terminálu Linuxu zadejte následující příkaz.

Linux

sudo route del <destination_ip> gw <gateway_ip>

Windows

route delete <destination_ip>

Pak můžete aplikaci obnovit nebo stisknutím příslušné klávesy znovu stáhnout ukázkový soubor a tentokrát potvrdit, že znovu pochází z primárního úložiště.

Simulace selhání pomocí Fiddleru

Pokud chcete simulovat selhání pomocí Fiddlera, vložíte neúspěšnou odpověď na požadavky do primárního koncového bodu vašeho účtu úložiště RA-GZRS.

Následující části popisují, jak pomocí fiddleu simulovat selhání a obnovení primárního koncového bodu.

Spuštění fiddleru

Otevřete Fiddler, vyberte Rules (Pravidla) a Customize Rules (Přizpůsobit pravidla).

Přizpůsobení pravidel Fiddleru

Fiddler ScriptEditor se spustí a zobrazí souborSampleRules.js . Tento soubor slouží k přizpůsobení Fiddleru.

Do funkce vložte následující ukázku OnBeforeResponse kódu a nahraďte STORAGEACCOUNTNAME názvem vašeho účtu úložiště. V závislosti na ukázce může být také potřeba nahradit HelloWorld názvem stahovaných testovacích souborů nebo odebrat tuto část podmínky, pokud se na ni nevztahuje. Nový kód se zakomentuje, aby se zajistilo, že se nespustí okamžitě.

Po dokončení uložte změny tak, že vyberete Soubor a Uložit . Nechte okno ScriptEditor otevřené pro použití v následujících krocích.

    /*
        // Simulate data center failure
        // After it is successfully downloading the blob, pause the code in the sample,
        // uncomment these lines of script, and save the script.
        // It will intercept the (probably successful) responses and send back a 503 error.
        // When you're ready to stop sending back errors, comment these lines of script out again
        //     and save the changes.

        if ((oSession.hostname == "STORAGEACCOUNTNAME.blob.core.windows.net")
            // depending on the sample, you may need to modify or remove the line below
            && (oSession.PathAndQuery.Contains("HelloWorld"))) {
            oSession.responseCode = 503;
        }
    */

Vložení vlastního pravidla

Spuštění a pozastavení aplikace

Podle pokynů v předchozím kurzu spusťte ukázku a stáhněte si testovací soubor a ověřte, že pochází z primárního úložiště. V závislosti na cílové platformě pak můžete ukázku ručně pozastavit nebo počkat na výzvu.

Simulace chyby

Když je aplikace pozastavená, přepněte zpět na Fiddler a zrušte komentář vlastního pravidla, které jste uložili do OnBeforeResponse funkce. Nezapomeňte vybrat Soubor a Uložit , aby se změny uložily, aby se pravidlo projevilo. Tento kód vyhledá požadavky na účet úložiště RA-GZRS, a pokud cesta obsahuje název ukázkového souboru, vrátí kód 503 - Service Unavailableodpovědi .

V okně se spuštěnou ukázkou obnovte aplikaci nebo stisknutím příslušné klávesy stáhněte ukázkový soubor a ověřte, že pochází ze sekundárního úložiště. Pak můžete ukázku znovu pozastavit nebo počkat na výzvu.

Simulovat obnovení primárního koncového bodu

Ve Fiddlere znovu vlastní pravidlo odeberte nebo zakomentujte. Vyberte File and Save (Soubor) a Save (Uložit ) a ujistěte se, že pravidlo už nebude platit.

V okně se spuštěnou ukázkou obnovte aplikaci nebo stisknutím příslušné klávesy stáhněte ukázkový soubor a znovu ověřte, že pochází z primárního úložiště. Pak můžete ukázku ukončit.

Další kroky

Ve druhé části série jste se dozvěděli o simulaci selhání testování geograficky redundantního úložiště s přístupem pro čtení.

Další informace o fungování úložiště RA-GZRS a souvisejících rizicích najdete v tématu Návrh aplikací vysoké dostupnosti pomocí RA-GZRS.