Zelfstudie: Een fout simuleren bij het lezen van gegevens uit de primaire regio

Deze zelfstudie is deel twee van een serie. Hierin leert u over de voordelen van geografisch zone-redundante opslag met leestoegang (RA-GZRS) door een fout te simuleren.

Voor het simuleren van een fout kunt u statische routering of Fiddler gebruiken. Met beide methoden kunt u fouten simuleren voor aanvragen naar het primaire eindpunt van uw RA-GZRS-opslagaccount, waardoor de toepassing in plaats daarvan kan lezen van het secundaire eindpunt.

Als u geen abonnement op Azure hebt, maakt u een gratis account voordat u begint.

In deel twee van de serie leert u het volgende:

Vereisten

Begin pas met deze zelfstudie nadat u de vorige zelfstudie hebt voltooid: Uw toepassingsgegevens maximaal beschikbaar maken met Azure-opslag.

Als u een fout met statische routering wilt simuleren, gebruikt u een opdrachtprompt met verhoogde bevoegdheid.

Als u een fout met Fiddler wilt simuleren, moet u Fiddler downloaden en installeren

Een fout simuleren met een ongeldige statische route

U kunt een ongeldige statische route maken voor alle aanvragen naar het primaire eindpunt van uw RA-GZRS-opslagaccount. In deze zelfstudie wordt de lokale host gebruikt als de gateway voor routeringsaanvragen voor de opslagaccount. Als u de lokale host als gateway gebruikt, worden alle aanvragen naar het primaire eindpunt van uw opslagaccount teruggezet in de host, wat resulteert in een mislukte aanvraag. Voer de volgende stappen uit om een fout en herstel van het primaire eindpunt met een ongeldige statische route te simuleren.

De toepassing starten en onderbreken

Volg de instructies in de vorige zelfstudie om het voorbeeld te starten, het testbestand te downloaden en te controleren of het afkomstig is van de primaire opslag. Afhankelijk van uw doelplatform kunt u het voorbeeld handmatig onderbreken of wachten bij een prompt.

Fout simuleren

Open terwijl de toepassing is onderbroken een opdrachtprompt van Windows als een beheerder of voer terminal als root uit op Linux.

Vraag informatie op over het primaire-eindpuntdomein van het opslagaccount door de volgende opdracht in te voeren bij een opdrachtprompt of in een terminalvenster. Vervang STORAGEACCOUNTNAME door de naam van uw opslagaccount.

nslookup STORAGEACCOUNTNAME.blob.core.windows.net

Kopieer het IP-adres van uw opslagaccount naar een teksteditor voor later gebruik.

Als u het IP-adres van uw lokale host wilt ophalen, typt u ipconfig in de Windows-opdrachtprompt of ifconfig in de Linux-terminal.

Als u een statische route voor een doelhost wilt toevoegen, typt u de volgende opdracht bij een Windows-opdrachtprompt of in een Linux-terminal. Vervang <destination_ip> door het IP-adres van uw opslagaccount en <gateway_ip> door het IP-adres van uw lokale host.

Linux

sudo route add <destination_ip> gw <gateway_ip>

Windows

route add <destination_ip> <gateway_ip>

In het venster met het actieve voorbeeld hervat u de toepassing of drukt u op de juiste toets om het voorbeeldbestand te downloaden en te controleren of het afkomstig is van de secundaire opslag. Vervolgens kunt u het voorbeeld opnieuw onderbreken of wachten bij de prompt.

Herstel van het primaire eindpunt simuleren

Om te simuleren dat het primaire eindpunt weer werkt, verwijdert u de ongeldige statische route uit de routeringstabel. Hiermee worden alle aanvragen naar het primaire eindpunt via de standaardgateway gerouteerd. Typ de volgende opdracht in een Windows-opdrachtprompt of Linux-terminal.

Linux

sudo route del <destination_ip> gw <gateway_ip>

Windows

route delete <destination_ip>

U kunt de toepassing vervolgens hervatten of op de juiste toets drukken om het voorbeeldbestand opnieuw te downloaden. Ditmaal controleert u of het weer afkomstig is van de primaire opslag.

Een fout simuleren met Fiddler

Als u een fout wilt simuleren met Fiddler, voert u een mislukte reactie voor aanvragen in op het primaire eindpunt van uw RA-GZRS-opslagaccount met leestoegang.

In de volgende gedeelten wordt uitgelegd hoe u een fout simuleert en het primaire eindpunt herstelt met Fiddler.

Start Fiddler

Open Fiddler en selecteer Rules en Customize Rules.

Fiddler-regels aanpassen

De Fiddler ScriptEditor wordt gestart en u ziet het bestand SampleRules.js. Dit bestand wordt gebruikt om Fiddler aan te passen.

Plak het volgende codevoorbeeld in de functie OnBeforeResponse, waarbij u STORAGEACCOUNTNAME vervangt door de naam van uw opslagaccount. Afhankelijk van het voorbeeld moet u mogelijk ook vervangen door HelloWorld de naam van het testbestand dat wordt gedownload of dat deel van de voorwaarde verwijderen als dit niet van toepassing is. De nieuwe code is uitgeschakeld om ervoor te zorgen dat deze niet onmiddellijk wordt uitgevoerd.

Selecteer als u klaar bent File en Save om uw wijzigingen op te slaan. Laat het venster van ScriptEditor openstaan voor gebruik in de volgende stappen.

    /*
        // 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;
        }
    */

De aangepaste regel plakken

De toepassing starten en onderbreken

Volg de instructies in de vorige zelfstudie om het voorbeeld te starten, het testbestand te downloaden en te controleren of het afkomstig is van de primaire opslag. Afhankelijk van uw doelplatform kunt u het voorbeeld handmatig onderbreken of wachten bij een prompt.

Fout simuleren

Terwijl de toepassing is onderbroken, keert u terug naar Fiddler en schakelt u de aangepaste regel die u hebt opgeslagen in de functie OnBeforeResponse weer in. Selecteer File en Save om uw wijzigingen op te slaan, zodat de regel van kracht wordt. Deze code zoekt naar aanvragen voor het RA-GZRS-opslagaccount met leestoegang en als het pad de naam van het bestand bevat, wordt de antwoordcode 503 - Service Unavailable geretourneerd.

In het venster met het actieve voorbeeld hervat u de toepassing of drukt u op de juiste toets om het voorbeeldbestand te downloaden en te controleren of het afkomstig is van de secundaire opslag. Vervolgens kunt u het voorbeeld opnieuw onderbreken of wachten bij de prompt.

Herstel van het primaire eindpunt simuleren

Verwijder de aangepaste regel opnieuw of schakel deze opnieuw uit in Fiddler. Selecteer File en Save om ervoor te zorgen dat de regel niet meer van kracht is.

In het venster met het actieve voorbeeld hervat u de toepassing of drukt u op de juiste toets om het voorbeeldbestand te downloaden en te controleren of het weer afkomstig is van de primaire opslag. Vervolgens kunt u het voorbeeld afsluiten.

Volgende stappen

In deel twee van de reeks hebt u geleerd over het simuleren van een fout bij het testen van geografisch redundante opslag met leestoegang.

Zie Apps voor hoge beschikbaarheid ontwerpen met RA-GZRS voor meer informatie over de werking van RA-GZRS-opslag en de bijbehorende risico's.