

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Testes de falhas no Amazon EBS
<a name="ebs-fis"></a>

AWS Fault Injection Service (AWS FIS) é um serviço totalmente gerenciado que ajuda você a realizar experimentos de injeção de falhas em suas AWS cargas de trabalho. Com as ações do EBS ativadas AWS FIS, você pode testar como seus aplicativos respondem às falhas de armazenamento que podem resultar em I/O interrupções e degradação do desempenho em seus volumes. Esse ambiente de teste controlado permite observar como suas aplicações respondem às interrupções para que você possa identificar pontos fracos em sua arquitetura e melhorar a resiliência geral das aplicações. Usando a ação de pausa e a I/O ação de injeção de latência, você pode testar seus mecanismos de monitoramento e recuperação, como CloudWatch alarmes e fluxos de trabalho de failover da Amazon, e melhorar a resiliência de seus aplicativos essenciais a falhas de armazenamento. Para obter mais informações sobre AWS FIS, consulte o [Guia AWS Fault Injection Service do usuário](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

## Experimentos disponíveis
<a name="ebs-fis-experiments"></a>

Atualmente, o Amazon EBS oferece suporte a duas injeções de AWS FIS falhas:
+ [Pausar a injeção de I/O falhas](ebs-fis-pause-io.md)
+ [Injeção de latência](ebs-fis-latency-injection.md)

## Considerações
<a name="ebs-fis-consids"></a>

As seguintes considerações se aplicam:
+ Todos os tipos de volumes do Amazon EBS são compatíveis. Há compatibilidade com volumes raiz e volumes de dados. Volumes de armazenamento de instância não são compatíveis.
+ Os volumes devem ser anexados a [instâncias do EC2 baseadas em Nitro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-hypervisor-type).
+ Seus volumes retomarão o I/O desempenho original assim que o experimento for concluído, com base na duração. Também é possível interromper um experimento em andamento antes que ele seja concluído. Como alternativa, você pode criar uma condição de parada para interromper o experimento se ele atingir um limite definido por você em um CloudWatch alarme.
+ Você pode usar AWS FIS com volumes habilitados para Multi-Attach. Todas as instâncias anexadas são afetadas. Não é possível selecionar um anexo de instância de volume específico para experimentos.
+ No momento, o FIS não está disponível em zonas locais, Outposts ou zonas Wavelength.
+ Você pode testar até 5 volumes na mesma zona de disponibilidade simultaneamente ao especificar o volume ARNs no console.
+ Você não pode usar AWS FIS com volumes criados em umaOutpost, em uma AWS Wavelength zona ou em uma zona local.

# Pausar a injeção de I/O falhas
<a name="ebs-fis-pause-io"></a>

Use AWS Fault Injection Service a I/O ação Pausar para parar temporariamente I/O entre um volume do Amazon EBS e as instâncias às quais ele está conectado para testar como suas cargas de trabalho lidam com interrupções. I/O 

Para obter mais informações sobre AWS FIS, consulte o [https://docs.aws.amazon.com/fis/latest/userguide/what-is.html](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

**Considerações**

Tenha em mente as seguintes considerações para pausar a E/S do volume:
+ A pausa I/O é compatível com todos os tipos de [instância baseados em Nitro](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html).
+ 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 obter mais informações, consulte [Tempo limite de operação de E/S NVMe para volumes do Amazon EBS](timeout-nvme-ebs-volumes.md).
+ Se você dirigir I/O para um volume que foi I/O pausado, acontece o seguinte:
  + O status do volume mudará para `impaired` em 120 segundos. Para obter mais informações, consulte [Verificações de status de volume do Amazon EBS](monitoring-volume-checks.md).
  + A CloudWatch métrica para `VolumeStalledIOCheck` será `1` se o volume I/O for pausado por mais de 60 segundos. Para obter mais informações, consulte [Métricas para volumes do Amazon EBS](using_cloudwatch_ebs.md#ebs-volume-metrics).
  + As CloudWatch métricas para o comprimento da fila (`VolumeQueueLength`) serão diferentes de zero. Qualquer alarme ou monitoramento deve monitorar uma profundidade de fila diferente de zero.
  + As CloudWatch métricas para `VolumeReadOps` ou `VolumeWriteOps` serão`0`, o que indica que o volume não está mais processando I/O.

Você pode realizar um experimento básico no console do Amazon EC2 ou pode realizar experimentos mais avançados usando o AWS FIS console. Para obter mais informações sobre como realizar experimentos avançados usando o AWS FIS console, consulte os [tutoriais AWS FIS no Guia](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorials.html) do *AWS Fault Injection Service usuário*.

**Para realizar um experimento básico usando o console do Amazon EC2**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Volumes**.

1. Selecione o volume para o qual pausar I/O e escolha **Ações**, **Injeção de falhas**, **Pausar E/S de volume**.

1. Em **Duração**, insira a duração da pausa I/O entre o volume e as instâncias. O campo ao lado da lista suspensa Duração mostra a duração no formato ISO 8601.

1. Na seção **Acesso ao serviço**, selecione a função de serviço do IAM AWS FIS para assumir a realização do 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](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).

1. Escolha **Pausar E/S do volume**. Quando solicitado, insira `start` no campo de confirmação e escolha **Iniciar experimento**.

1. Monitore o progresso e o impacto do seu experimento. Para obter mais informações, consulte [Monitorar o AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/monitoring-experiments.html) no *Guia do usuário do AWS FIS *.

# Injeção de latência
<a name="ebs-fis-latency-injection"></a>

Use a ação de injeção de latência (`aws:ebs:volume-io-latency`) AWS FIS para simular I/O latência elevada em seus volumes do Amazon EBS para testar como seus aplicativos respondem à degradação do desempenho do armazenamento. Essa ação permite que você especifique o valor de latência a ser injetado, bem como a porcentagem I/O que será afetada no volume de destino. Com AWS FIS, você pode usar modelos de experimento de latência pré-configurados para começar a testar diferentes padrões de I/O latência que podem ser observados durante falhas de armazenamento. Esses modelos foram projetados como um conjunto inicial de cenários que você pode usar para introduzir interrupções nas aplicações e testar a resiliência. Eles não foram projetados para abranger todos os tipos de impacto que suas aplicações podem experimentar no mundo real. Recomendamos adaptá-los para executar vários testes diferentes com base nas necessidades da performance das suas aplicações. É possível personalizar os modelos disponíveis ou criar novos modelos de experimentos para testar os requisitos específicos da sua aplicação.

**Modelos de experimento de latência pré-configurados**  
O Amazon EBS oferece os seguintes modelos de experimento de latência por meio do console do EBS e da [biblioteca de cenários do AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/scenario-library-scenarios.html). Use esses modelos diretamente em seus volumes de destino para executar um experimento de injeção de latência.
+ **Latência sustentada**: simula latência constante. Este experimento utiliza uma ação de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simula latência persistente em 50% da E/S de leitura I/O e 100% da gravação: 500 ms por 15 minutos.
+ **Aumento da latência**: simula o aumento gradual da latência. Esse experimento utiliza cinco ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará um aumento gradual na latência em 10% da E/S de leitura I/O e 25% da gravação: 50 ms por 3 minutos, 200 ms por 3 minutos, 700 ms por 3 minutos, 1 segundo por 3 minutos e 15 segundos por 3 minutos.
+ **Latência intermitente**: simula picos nítidos de latência intermitente com períodos de recuperação intermediários. Esse experimento utiliza três ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará três picos de latência em 0,1% da E/S de leitura e gravação: pico de 30 segundos que dura 1 minuto, pico de 10 segundos que dura 2 minutos e pico de 20 segundos que dura 2 minutos. Haverá períodos de recuperação de 5 minutos entre cada pico de latência. 
+ **Diminuição da latência**: simula a diminuição gradual da latência. Esse experimento utiliza cinco ações de injeção de latência e tem uma duração total de 15 minutos. Esse experimento simulará uma diminuição gradual na latência em 10% da E/S de leitura I/O e gravação: 20 segundos por 3 minutos, 5 segundos por 3 minutos, 900 ms por 3 minutos, 300 ms por 3 minutos e 40 ms por 3 minutos.

**Personalizar cenários predefinidos**

Você personaliza os modelos pré-configurados acima ou cria seus próprios novos modelos de experimento usando os seguintes parâmetros personalizáveis.
+ `readIOPercentage`— Porcentagem de I/O operações de leitura nas quais a latência será injetada. Essa é a porcentagem de todas as I/O operações de leitura no volume que serão afetadas pela ação.

  Intervalo: mín. 0,1%, máx. 100%
+ `readIOLatencyMilliseconds`— Quantidade de latência injetada nas operações de leitura I/O . Esse é o valor de latência que será observado na porcentagem especificada da leitura I/O durante o experimento.

  Intervalo: mínimo de 1 ms (io2) /10 ms (não io2), máximo de 60 segundos
+ `writeIOPercentage`— Porcentagem de I/O operações de gravação nas quais a latência será injetada. Essa é a porcentagem de todas as I/O operações de gravação no volume que serão afetadas pela ação.

  Intervalo: mín. 0,1%, máx. 100%
+ `writeIOLatencyMilliseconds`— Quantidade de latência injetada nas operações de gravação I/O . Esse é o valor de latência que será observado na porcentagem especificada da gravação I/O durante o experimento.

  Intervalo: mínimo de 1 ms (io2) /10 ms (não io2), máximo de 60 segundos
+ `duration`— Duração pela qual a latência será injetada na porcentagem I/O selecionada.

  Intervalo: mínimo de 1 segundo, máximo de 12 horas

**Monitorar a injeção de latência**  
É possível monitorar o impacto na performance dos volumes das seguintes maneiras:
+ Use métricas de latência média CloudWatch para obter a latência média I/O por minuto. Para obter mais informações, consulte [Monitorar seus volumes do EBS usando CloudWatch](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html).
+ Use estatísticas de desempenho detalhadas do EBS disponíveis por meio de NVMe -CLI, CloudWatch agent e Prometheus para obter a latência média por segundo. I/O As métricas detalhadas também fornecem histogramas de I/O latência que você pode usar para analisar a variação da latência em seus volumes. Para obter mais informações, consulte [estatísticas NVMe detalhadas de desempenho](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html).
+ Use a [Verificações de status de volume do Amazon EBS](monitoring-volume-checks.md). Quando você injeta I/O latência, o status do volume muda para o estado. `warning`

**Considerações**  
Considere o seguinte ao usar a injeção de latência do EBS:
+ A injeção de latência é compatível com todos os [tipos de instância baseados em Nitro](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), exceto: P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8ge, Mac-m4pro, e Mac-m4.
+ Pode haver uma variação de até 5% entre o valor de latência especificado no experimento e a latência resultante observada.
+ Se você conduzir um número muito pequeno de I/O operações, a porcentagem I/O especificada nos parâmetros da ação pode não corresponder à porcentagem real de I/O pessoas afetadas pela ação.

**Para executar um experimento de injeção de latência em um volume do Amazon EBS**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Volumes**.

1. Selecione os volumes nos quais executar o experimento e escolha **Ações**, **Teste de resiliência, Latência** de **volume I/O de injeção**.

   O AWS Fault Injection Service console se abre. 

1. Na janela **Criar experimento**, selecione o tipo de experimento a ser executado: **Intermitente**, **Crescente**, **Sustentado** ou **Decrescente**.

1. Para a **seleção da função do IAM**, escolha **Criar uma nova função** para criar uma nova função que AWS FIS será usada para conduzir os experimentos em seu nome. Outra opção é escolher **Usar um perfil do IAM existente** caso você tenha criado um perfil do IAM anteriormente com as permissões necessárias.

1. A seção **Estimativa de preços** oferece uma estimativa do custo da execução do experimento. Com AWS FIS, você é cobrado por minuto de execução de uma ação, do início ao fim, com base no número de contas-alvo do seu experimento.

1. Escolha **Start experiment** (Iniciar experimento).