Testes de falhas no Amazon EBS
Use o AWS Fault Injection Service e a ação Pausar E/S para interromper temporariamente a E/S entre um volume do Amazon EBS e as instâncias às quais ele está anexado para testar como as workloads lidam com interrupções de E/S. Com o AWS FIS, você pode usar experimentos controlados para testar sua arquitetura e monitoramento, como alarmes do Amazon CloudWatch e configurações de tempo limite do sistema operacional, e melhorar a resiliência a falhas de armazenamento.
Para obter mais informações sobre o AWS FIS, consulte o Guia do usuário do AWS Fault Injection Service.
Considerações
Tenha em mente as seguintes considerações para pausar a E/S do volume:
-
Você pode pausar a E/S para todos os tipos de volume do Amazon EBS que estão conectados a instâncias criadas no Nitro System.
-
Você pode pausar a E/S para o volume raiz.
-
Você pode pausar a E/S para volumes habilitados para Multi-Attach. Se você pausar a E/S de um volume habilitado para Multi-Attach, a E/S será pausada entre o volume e todas as instâncias às quais ele está conectado.
-
Para testar a configuração de tempo limite do sistema operacional, defina duração do experimento igual ou maior que o valor especificado para
nvme_core.io_timeout
. Para ter mais informações, consulte Tempo limite de operação de E/S NVMe para volumes do Amazon EBS. -
Se você direcionar a E/S para um volume que tenha E/S pausada, acontecerá o seguinte:
-
O status do volume mudará para
impaired
em 120 segundos. Para ter mais informações, consulte Verificações de status de volume do Amazon EBS. -
As métricas do CloudWatch para o comprimento da fila (
VolumeQueueLength
) será diferente de zero. Qualquer alarme ou monitoramento deve monitorar uma profundidade de fila diferente de zero. Para obter mais informações, consulte Métricas para volumes do Amazon EBS. -
As métricas do CloudWatch para
VolumeReadOps
ouVolumeWriteOps
serão0
, o que indica que o volume não está mais processando E/S.
-
Limitações
Tenha em mente as seguintes limitações para pausar E/S do volume:
-
Volumes de armazenamento de instância não são compatíveis.
-
Os tipos de instâncias baseadas em Xen não são compatíveis.
-
Você não pode pausar a I/O para volumes criados em um Outpost em AWS Outposts, em uma zona AWS Wavelength ou em uma zona local.
Você pode realizar um experimento básico a partir do console do Amazon EC2 ou pode realizar experimentos mais avançados usando o console do AWS FIS. Para obter mais informações sobre como realizar experimentos avançados usando o console do AWS FIS, consulte Tutoriais para AWS FIS no Guia do usuário do AWS Fault Injection Service.
Para realizar um experimento básico usando o console do Amazon EC2
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Volumes.
-
Selecione o volume para o qual deseja pausar a E/S e escolha Ações, Injeção de falha, Pausar E/S de volume.
-
Em Duração, insira a duração durante a qual pausar a E/S entre o volume e as instâncias. O campo ao lado da lista suspensa Duração mostra a duração no formato ISO 8601.
-
Na seção Acesso ao serviço, selecione o perfil de serviço do IAMAWS FIS a ser assumido para executar o experimento. Você pode usar o perfil padrão ou um perfil existente criado por você. Para obter mais informações, consulte Criar um perfil do IAM para experimentos do AWS FIS.
-
Escolha Pausar E/S do volume. Quando solicitado, insira
start
no campo de confirmação e escolha Iniciar experimento. -
Monitore o progresso e o impacto do seu experimento. Para obter mais informações, consulte Monitorar o AWS FIS no Guia do usuário do AWS FIS.