Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tutorial é a parte dois de uma série. Nele, você aprenderá sobre os benefícios do armazenamento com redundância de zona geográfica de acesso de leitura (RA-GZRS) simulando uma falha.
Para simular uma falha, você pode usar o roteamento estático ou o Fiddler. Os dois métodos permitirão simular uma falha de solicitações ao ponto de extremidade primário da conta de armazenamento RA-GZRS, levando o aplicativo a ler do ponto de extremidade secundário.
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Na parte dois da série, você aprenderá a:
- Executar e pausar o aplicativo
- Simular uma falha com uma rota estática inválida ou Fiddler
- Simular a restauração do ponto de extremidade primário
Pré-requisitos
Antes de começar este tutorial, conclua o tutorial anterior: tornar os dados do aplicativo altamente disponíveis com o armazenamento do Azure.
Para simular uma falha de roteamento estático, será necessário utilizar um prompt de comando com privilégios elevados.
Para simular uma falha usando o Fiddler, baixe e instale o Fiddler
Simular uma falha com uma rota estática inválida
É possível criar uma rota estática inválida para todas as solicitações da conta de armazenamento RA-GZRS para o ponto de extremidade primário. Neste tutorial, o host local é usado como o gateway para roteamento de solicitações para a conta de armazenamento. Usar o host local como gateway faz com que todas as solicitações para o ponto de extremidade primário da conta de armazenamento sejam redirecionadas de volta para dentro do host, resultando em uma solicitação falha. Siga as etapas a seguir para simular uma falha e a restauração de ponto de extremidade primário com uma rota estática inválida.
Iniciar e pausar o aplicativo
Use as instruções no tutorial anterior para iniciar o exemplo e baixar o arquivo de teste, confirmando que ele vem do armazenamento primário. Dependendo de sua plataforma de destino, você poderá pausar manualmente o exemplo ou esperar em um prompt.
Simular falha
Enquanto o aplicativo estiver em pausa, abra um prompt de comando no Windows como administrador ou execute o terminal como raiz no Linux.
Obtenha informações sobre o domínio do ponto de extremidade primário da conta de armazenamento inserindo o comando a seguir em um prompt de comando ou terminal, substituindo STORAGEACCOUNTNAME pelo nome da sua conta de armazenamento.
nslookup STORAGEACCOUNTNAME.blob.core.windows.net
Copie o endereço IP da sua conta de armazenamento para um editor de texto para uso posterior.
Para obter o endereço IP do host local, digite ipconfig no prompt de comando do Windows ou ifconfig no terminal do Linux.
Para adicionar uma rota estática para um host de destino, digite o comando a seguir em um prompt de comando do Windows ou terminal do Linux, substituindo <destination_ip> pelo endereço IP da conta de armazenamento e <gateway_ip> pelo endereço IP do host local.
Linux
sudo route add <destination_ip> gw <gateway_ip>
Windows
route add <destination_ip> <gateway_ip>
Na janela com o exemplo em execução, retome o aplicativo ou pressione a tecla apropriada para baixar o arquivo de exemplo e confirmar que ele vem do armazenamento secundário. Então, você pode pausar o exemplo novamente ou aguardar no prompt.
Simular a restauração do ponto de extremidade primário
Para simular o ponto de extremidade primário se tornando funcional novamente, exclua a rota estática inválida da tabela de roteamento. Isso permite que todas as solicitações para o ponto de extremidade primário sejam roteadas através do gateway padrão. Digite o comando a seguir em um prompt de comando do Windows ou terminal do Linux.
Linux
sudo route del <destination_ip> gw <gateway_ip>
Windows
route delete <destination_ip>
Em seguida, você pode retomar o aplicativo ou pressionar a tecla apropriada para baixar o arquivo de exemplo novamente, desta vez confirmando que ele vem mais uma vez do armazenamento primário.
Simular uma falha com o Fiddler
Para simular uma falha com o Fiddler, você injeta uma resposta de falha para solicitações feitas ao endpoint primário da sua conta de armazenamento RA-GZRS.
As seções a seguir explicam como simular uma falha e a restauração do ponto de extremidade primário com o Fiddler.
Iniciar o Fiddler
Abra o Fiddler, selecione Regras e Personalize Regras.
O Fiddler ScriptEditor é iniciado e exibe o arquivo SampleRules.js . Esse arquivo é usado para personalizar o Fiddler.
Cole o seguinte exemplo de código na função OnBeforeResponse, substituindo STORAGEACCOUNTNAME pelo nome da sua conta de armazenamento. Dependendo do exemplo, talvez você também precise substituir HelloWorld pelo nome do arquivo de teste que está sendo baixado ou remover essa parte da condição se ela não se aplicar. O novo código é comentado para garantir que ele não seja executado imediatamente.
Depois de concluído, selecione Arquivo e Salvar para salvar suas alterações. Deixe a janela ScriptEditor aberta para uso nas etapas a seguir.
/*
// 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;
}
*/
Iniciar e pausar o aplicativo
Use as instruções no tutorial anterior para iniciar o exemplo e baixar o arquivo de teste, confirmando que ele vem do armazenamento primário. Dependendo de sua plataforma de destino, você poderá pausar manualmente o exemplo ou esperar em um prompt.
Simular falha
Com o aplicativo em pausa, volte para o Fiddler e remova a marca de comentário da regra personalizada que você salvou na função OnBeforeResponse. Selecione Arquivo e Salvar para salvar suas alterações para que a regra entre em vigor. Esse código procura solicitações para a conta de armazenamento RA-GZRS e, se o caminho contiver o nome do arquivo de exemplo, retornará um código de resposta de 503 - Service Unavailable.
Na janela com o exemplo em execução, retome o aplicativo ou pressione a tecla apropriada para baixar o arquivo de exemplo e confirmar que ele vem do armazenamento secundário. Então, você pode pausar o exemplo novamente ou aguardar no prompt.
Simular a restauração do ponto de extremidade primário
No Fiddler, remova a regra personalizada ou comente-a novamente. Selecione Arquivo e Salvar para garantir que a regra não esteja mais em vigor.
Na janela com o exemplo em execução, retome o aplicativo ou pressione a tecla apropriada para baixar o arquivo de exemplo e confirmar que ele vem do armazenamento primário mais uma vez. Em seguida, você pode sair da amostra.
Próximas etapas
Na segunda parte da série, você aprendeu a simular uma falha para testar o armazenamento com redundância geográfica com acesso de leitura.
Para saber mais sobre como o armazenamento RA-GZRS funciona e seus riscos associados, consulte a criação de aplicativos de HA com RA-GZRS.