

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Pruebas de fallos en Amazon EBS
<a name="ebs-fis"></a>

AWS Fault Injection Service (AWS FIS) es un servicio totalmente gestionado que le ayuda a realizar experimentos de inyección de errores en sus cargas de trabajo. AWS Con las acciones de EBS AWS FIS, puede probar cómo responden sus aplicaciones a los fallos de almacenamiento que pueden provocar I/O interrupciones y una degradación del rendimiento de sus volúmenes. Este entorno de pruebas controlado permite observar cómo responden sus aplicaciones a las interrupciones para poder identificar los puntos débiles de su arquitectura y mejorar la resiliencia general de las aplicaciones. Con la acción de pausa y la I/O acción de inyección de latencia, puede probar sus mecanismos de supervisión y recuperación, como CloudWatch las alarmas de Amazon y los flujos de trabajo de conmutación por error, y mejorar la resiliencia de sus aplicaciones de misión crítica ante los fallos de almacenamiento. [Para obtener más información al respecto AWS FIS, consulte la Guía del usuario.AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)

## Experimentos disponibles
<a name="ebs-fis-experiments"></a>

Amazon EBS admite actualmente dos inyecciones de AWS FIS errores:
+ [Pausa la I/O inyección de errores](ebs-fis-pause-io.md)
+ [Inyección de latencia](ebs-fis-latency-injection.md)

## Consideraciones
<a name="ebs-fis-consids"></a>

Tenga en cuenta las siguientes consideraciones:
+ Todos los tipos de volumen de Amazon EBS son compatibles. Se admiten tanto los volúmenes raíz como los volúmenes de datos. No se admiten volúmenes del almacén de instancias.
+ Los volúmenes se deben adjuntar a las [instancias de EC2 basadas en Nitro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-hypervisor-type).
+ Sus volúmenes reanudarán su I/O rendimiento original una vez que se complete el experimento, en función de la duración. También puede detener un experimento en ejecución antes de que se complete. Como alternativa, puede crear una condición de parada para detener el experimento si alcanza un umbral que usted defina en una CloudWatch alarma.
+ Puede usarlo AWS FIS con volúmenes habilitados para la conexión múltiple. Todas las instancias asociadas se verán afectadas. No puede seleccionar un archivo adjunto de instancia de volumen específico para los experimentos.
+ Actualmente, FIS no está disponible en zonas locales, Outposts o zonas de Wavelength.
+ Puede probar hasta 5 volúmenes en la misma zona de disponibilidad simultáneamente al especificar el volumen ARNs en la consola.
+ No se puede utilizar AWS FIS con volúmenes creados en unaOutpost, en una AWS Wavelength zona o en una zona local.

# Pausa la I/O inyección de errores
<a name="ebs-fis-pause-io"></a>

Utilice AWS Fault Injection Service la I/O acción Pausa para detenerse temporalmente I/O entre un volumen de Amazon EBS y las instancias a las que está conectado para comprobar cómo gestionan I/O sus cargas de trabajo las interrupciones. 

[https://docs.aws.amazon.com/fis/latest/userguide/what-is.html](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html)

**Consideraciones**

Tenga en cuenta las siguientes consideraciones para pausar la E/S del volumen:
+  I/O La pausa se admite en todos los [tipos de instancias basadas en Nitro](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html).
+ Para probar la configuración de tiempo de espera del sistema operativo, establezca que la duración del experimento sea igual al valor especificado para `nvme_core.io_timeout`, o superior. Para obtener más información, consulte [Tiempo de espera de las operaciones de E/S NVMe para los volúmenes de Amazon EBS](timeout-nvme-ebs-volumes.md).
+ Si conduces I/O hasta un volumen que está en I/O pausa, ocurre lo siguiente:
  + El estado del volumen pasa a `impaired` en un plazo de 120 segundos. Para obtener más información, consulte [Comprobaciones de estado del volumen de Amazon EBS](monitoring-volume-checks.md).
  + La CloudWatch métrica `VolumeStalledIOCheck` será `1` si el volumen I/O está en pausa durante más de 60 segundos. Para obtener más información, consulte [Métricas para los volúmenes de Amazon EBS](using_cloudwatch_ebs.md#ebs-volume-metrics).
  + Las CloudWatch métricas de longitud de cola (`VolumeQueueLength`) no serán cero. Cualquier alarma o supervisión debe monitorearse para detectar una profundidad de cola distinta de cero.
  + Las CloudWatch métricas correspondientes `VolumeReadOps` o lo `VolumeWriteOps` serán`0`, lo que indica que el volumen ya no procesa E/S.

Puede realizar un experimento básico desde la consola Amazon EC2 o puede realizar experimentos más avanzados con la AWS FIS consola. Para obtener más información sobre cómo realizar experimentos avanzados con la AWS FIS consola, consulte [los tutoriales de AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorials.html) la *Guía del AWS Fault Injection Service usuario*.

**Para realizar un experimento básico con la consola de Amazon EC2**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Volumes (Volúmenes)**.

1. Seleccione el volumen que desee pausar I/O y elija **Acciones**, **Inyección de errores** o **Pausa de volumen I/O.**

1. En **Duración**, introduzca la duración de la pausa I/O entre el volumen y las instancias. El campo situado junto a la lista desplegable Duración muestra la duración en formato ISO 8601.

1. En la sección **Acceso al servicio**, seleccione la función de servicio de IAM AWS FIS que va a asumir para realizar el experimento. Puede utilizar el rol predeterminado o un rol existente que haya creado. Para obtener más información, consulte [Creación de un rol de IAM para experimentos de AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).

1. Elija **Pausar operaciones de E/S de volumen**. Cuando se le solicite, ingrese `start` en el campo de confirmación y elija **Iniciar experimento**.

1. Supervise el progreso y el impacto de su experimento. Para obtener más información, consulte [Supervisión de AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/monitoring-experiments.html) en la *Guía del usuario de AWS FIS *.

# Inyección de latencia
<a name="ebs-fis-latency-injection"></a>

Utilice la acción de inyección de latencia (`aws:ebs:volume-io-latency`) AWS FIS para simular una I/O latencia elevada en sus volúmenes de Amazon EBS y comprobar cómo responden sus aplicaciones a la degradación del rendimiento del almacenamiento. Esta acción le permite especificar el valor de latencia que se va a inyectar, así como el porcentaje I/O que se verá afectado en el volumen objetivo. Con AWS FISél, puede utilizar plantillas de experimentos de latencia preconfiguradas para empezar a probar los diferentes patrones de I/O latencia que se pueden observar durante los fallos de almacenamiento. Estas plantillas están diseñadas como un conjunto inicial de casos que puede utilizar para ingresar interrupciones en sus aplicaciones y probar la resiliencia. No están diseñadas para abarcar todos los tipos de impacto que sus aplicaciones pueden sufrir en el mundo real. Recomendamos adaptarlas para ejecutar varias pruebas diferentes según las necesidades de rendimiento de sus aplicaciones. Puede personalizar las plantillas disponibles o crear nuevas plantillas de experimentos para probarlas según los requisitos específicos de su aplicación.

**Plantillas de experimentos de latencia preconfiguradas**  
Amazon EBS brinda las siguientes plantillas de experimentos de latencia a través de la consola de EBS y [AWS FIS scenario library](https://docs.aws.amazon.com/fis/latest/userguide/scenario-library-scenarios.html). Puede utilizar estas plantillas directamente en los volúmenes de destino para ejecutar un experimento de inyección de latencia.
+ **Latencia sostenida**: simula una latencia constante. Este experimento utiliza una acción de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simula una latencia persistente en el 50 por ciento de las E/S de lectura I/O y el 100 por ciento de las de escritura: 500 ms durante 15 minutos.
+ **Latencia creciente**: simula el crecimiento progresivo de la latencia. Este experimento utiliza cinco acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará un aumento gradual de la latencia en el 10 por ciento de las E/S de lectura I/O y el 25 por ciento de las de escritura: 50 ms durante 3 minutos, 200 ms durante 3 minutos, 700 ms durante 3 minutos, 1 segundo durante 3 minutos y 15 segundos durante 3 minutos.
+ **Latencia intermitente**: simula aumentos bruscos de latencia intermitente con periodos de recuperación intermedios. Este experimento utiliza tres acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará tres picos de latencia en el 0,1 % de las E/S de lectura y escritura, es decir, un aumento de 30 segundos que dura 1 minuto, un aumento de 10 segundos que dura 2 minutos y un aumento de 20 segundos que dura 2 minutos. Habrá periodos de recuperación de 5 minutos entre cada aumento de latencia. 
+ **Latencia decreciente**: simula la decreción progresiva de la latencia. Este experimento utiliza cinco acciones de inyección de latencia y tiene una duración total de 15 minutos. Este experimento simulará una disminución gradual de la latencia en el 10 por ciento de las E/S de lectura I/O y escritura: 20 segundos durante 3 minutos, 5 segundos durante 3 minutos, 900 ms durante 3 minutos, 300 ms durante 3 minutos y 40 ms durante 3 minutos.

**Personalización de escenarios preconfigurados**

Puede personalizar las plantillas preconfiguradas anteriores o crear sus propias plantillas de experimentos nuevas con los siguientes parámetros personalizables.
+ `readIOPercentage`— Porcentaje de I/O operaciones de lectura en las que se inyectará latencia. Es el porcentaje de todas las I/O operaciones de lectura del volumen que se verán afectadas por la acción.

  Rango: mínimo 0,1 % y máximo 100 %
+ `readIOLatencyMilliseconds`— Cantidad de latencia inyectada en I/O las operaciones de lectura. Este es el valor de latencia que se observará en el porcentaje especificado de la lectura I/O durante el experimento.

  Rango: mínimo 1 ms (io2) / 10 ms (no io2) y máximo 60 segundos
+ `writeIOPercentage`— Porcentaje de I/O operaciones de escritura en las que se inyectará latencia. Es el porcentaje de todas las I/O operaciones de escritura del volumen que se verán afectadas por la acción.

  Rango: mínimo 0,1 % y máximo 100 %
+ `writeIOLatencyMilliseconds`— Cantidad de latencia inyectada en I/O las operaciones de escritura. Este es el valor de latencia que se observará en el porcentaje especificado de escritura I/O durante el experimento.

  Rango: mínimo 1 ms (io2) / 10 ms (sin io2) y máximo 60 segundos
+ `duration`— Duración durante la cual se inyectará la latencia sobre el porcentaje I/O seleccionado.

  Rango: mínimo 1 segundo y máximo 12 horas

**Supervisión de la inyección de latencia**  
Puede supervisar el impacto en el rendimiento de sus volúmenes de las siguientes maneras:
+ Utiliza las métricas de latencia media CloudWatch para obtener la I/O latencia media por minuto. Para obtener más información, consulte [Supervise sus volúmenes de EBS mediante](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html). CloudWatch
+ Utilice las estadísticas de rendimiento detalladas de EBS disponibles a través de NVMe -CLI, CloudWatch agent y Prometheus para obtener una latencia media por segundo. I/O Las métricas detalladas también proporcionan histogramas de I/O latencia que puede utilizar para analizar la variación de latencia en sus volúmenes. Para obtener más información, consulte las estadísticas de [rendimiento NVMe detalladas.](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html)
+ Utilice la [Comprobaciones de estado del volumen de Amazon EBS](monitoring-volume-checks.md). Al inyectar I/O latencia, el estado del volumen pasa a ese `warning` estado.

**Consideraciones**  
Al utilizar la inyección de latencia de EBS, tenga en cuenta lo siguiente:
+ La inyección de latencia se admite en todos los [tipos de instancias basadas en Nitro](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), excepto: P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8ge, Mac-m4pro, and Mac-m4.
+ Es posible que vea una variación de hasta un 5 % en el valor de latencia especificado en el experimento y en la latencia resultante observada.
+ Si realizas un número muy reducido de I/O operaciones, es posible que el porcentaje I/O especificado en los parámetros de la acción no coincida con el porcentaje real de personas I/O afectadas por la acción.

**Cómo ejecutar un experimento de inyección de latencia en un volumen de Amazon EBS**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Volumes (Volúmenes)**.

1. Seleccione los volúmenes en los que desee ejecutar el experimento y elija **Acciones**, **Pruebas de resiliencia** **e Inyectar la I/O latencia del volumen**.

   Se abre la AWS Fault Injection Service consola. 

1. En la ventana **Crear experimento**, seleccione el tipo de experimento que desee ejecutar: **Intermitente**, **Creciente**, **Sostenida** o **Decreciente**.

1. Para **seleccionar el rol de IAM**, elija **Crear un nuevo rol** para crear un nuevo rol que AWS FIS se utilizará para realizar los experimentos en su nombre. También puede elegir **Usar un rol de IAM existente** si anteriormente creó un rol de IAM con los permisos requeridos.

1. La sección **Estimación de precios** ofrece una estimación del costo para ejecutar el experimento. En este caso AWS FIS, se te cobrará por cada minuto que se ejecute una acción, de principio a fin, en función del número de cuentas objetivo del experimento.

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