Utilice los documentos SSM de Systems Manager con AWS FIS - AWS Servicio de inyección de averías

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.

Utilice los documentos SSM de Systems Manager con AWS FIS

AWS El FIS admite tipos de errores personalizados a través del agente AWS Systems Manager SSM y la acción del FIS. AWS aws:ssm:send-command Los documentos SSM de Systems Manager preconfigurados (documentos SSM) que se pueden utilizar para crear acciones comunes de inyección de errores están disponibles como AWS documentos públicos que comienzan con el AWSFIS prefijo -.

SSM Agent es software de Amazon que se puede instalar y configurar en instancias de Amazon EC2, en servidores en las instalaciones o en máquinas virtuales (VM). Esto posibilita que Systems Manager administre estos recursos. Agent procesa las solicitudes de Systems Manager y, a continuación, las ejecuta como se especifica en la solicitud. Puede incluir su propio documento de SSM para inyectar errores personalizados o hacer referencia a uno de los documentos públicos propiedad de Amazon.

Requisitos

Para las acciones que requieren que SSM Agent ejecute la acción en el destino, debe asegurarse de lo siguiente:

Uso de la acción aws:ssm:send-command

Un documento de SSM define las acciones que Systems Manager realiza en las instancias administradas. Systems Manager incluye una serie de documentos preconfigurados, o también puede crear los suyos propios. Para obtener más información sobre cómo crear su propio documento de SSM, consulte Creación de documentos de Systems Manager en la Guía del usuario de AWS Systems Manager . Para obtener más información sobre los documentos de SSM en general, consulte Documentos de AWS Systems Manager en la Guía del usuario de AWS Systems Manager .

AWS El FIS proporciona documentos SSM preconfigurados. Puede ver los documentos SSM preconfigurados en la sección Documentos de la consola: https://console.aws.amazon.com/systems-manager/documents. AWS Systems Manager También puede elegir entre una selección de documentos preconfigurados en la AWS consola FIS. Para obtener más información, consulte Documentos AWS FIS SSM preconfigurados.

Para utilizar un documento SSM en sus experimentos con el AWS FIS, puede utilizar la acción. aws:ssm:send-command Esta acción recupera el documento de SSM especificado en las instancias de destino y lo ejecuta.

Al utilizar la acción aws:ssm:send-command en la plantilla de experimento, debe especificar parámetros adicionales para la acción, incluidos los siguientes:

  • documentArn: obligatorio. El nombre de recurso de Amazon (ARN) del documento de SSM.

  • documentParameters: condicional. Los parámetros obligatorios y opcionales que el documento de SSM acepta. El formato es un objeto JSON con claves que son cadenas, y valores que son cadenas o matrices de cadenas.

  • documentVersion: opcional. La versión del documento de SSM que se va a ejecutar.

Puede ver la información de un documento de SSM (incluidos los parámetros del documento) con la consola de Systems Manager o la línea de comandos.

Para ver información acerca de un documento de SSM con la consola
  1. Abre la AWS Systems Manager consola en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Documentos.

  3. Seleccione el documento y elija la pestaña Detalles.

Para ver información acerca de un documento de SSM con la línea de comandos

Utilice el comando describe-document de SSM.

Documentos AWS FIS SSM preconfigurados

Puede utilizar documentos FIS SSM AWS preconfigurados con la acción en las aws:ssm:send-command plantillas de sus experimentos.

Requisitos
  • Los documentos SSM preconfigurados proporcionados por el AWS FIS solo son compatibles con los siguientes sistemas operativos:

    • Amazon Linux 2023, Amazon Linux 2, Amazon Linux

    • Ubuntu

    • RHEL 7, 8, 9

    • CentOS 7, 8, 9

  • Los documentos SSM preconfigurados proporcionados por la AWS FIS solo son compatibles con las instancias EC2. No se admiten en otros tipos de nodos gestionados, como servidores en las instalaciones.

Para utilizar estos documentos de SSM en experimentos sobre tareas de ECS, utilice las Acciones de Amazon ECS correspondientes. Por ejemplo, la acción aws:ecs:task-cpu-stress usa el documento AWSFIS-Run-CPU-Stress.

AWSFIS-Run-CPU-Stress

Ejecuta esfuerzo de la CPU en una instancia con la herramienta stress-ng. Utiliza el documento SSM -Run-CPU-StressAWSFIS.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-CPU-Stress

ARN

arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress

Parámetros de documento
  • DurationSeconds: obligatorio. La duración de la prueba de esfuerzo de la CPU, en segundos.

  • CPU: opcional. El número de factores de esfuerzo de la CPU que se van a utilizar. El valor predeterminado es 0, que utiliza todos los factores de esfuerzo de la CPU.

  • LoadPercent: opcional. El porcentaje de carga de la CPU de destino, de 0 (sin carga) a 100 (carga completa). El valor predeterminado es 100.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. La dependencia es stress-ng.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Disk-Fill

Asigna espacio en disco en el volumen raíz de una instancia para simular un error de disco lleno. Utiliza el documento SSM AWSFIS-Run-Disk-Fill.

Si el experimento en el que se ha introducido este error se detiene, ya sea manualmente o mediante una condición de parada, el AWS FIS intenta revertirlo cancelando el documento SSM en ejecución. Sin embargo, si el disco está lleno al 100 %, ya sea debido al error o al error más la actividad de la aplicación, es posible que Systems Manager no pueda completar la operación de cancelación. Por lo tanto, si necesita detener el experimento, asegúrese de que el disco no se llene al 100 %.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Disk-Fill

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Disk-Fill

Parámetros de documento
  • DurationSeconds: obligatorio. La duración de la prueba de llenado de disco, en segundos.

  • Percent: opcional. El porcentaje del disco que se debe asignar durante la prueba de llenado de disco. El valor predeterminado es 95 %.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. Las dependencias son atd y fallocate.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-IO-Stress

Ejecuta esfuerzo de E/S en una instancia con la herramienta stress-ng. Utiliza el documento SSM -Run-IO-StressAWSFIS.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-IO-Stress

ARN

arn:aws:ssm:region::document/AWSFIS-Run-IO-Stress

Parámetros de documento
  • DurationSeconds: obligatorio. La duración de la prueba de esfuerzo de E/S, en segundos.

  • Workers: opcional. El número de procesos de trabajo que realizan operaciones de lectura o escritura secuenciales, aleatorias y asignadas a memoria, sincronizaciones forzadas y pérdida de memoria caché. Varios procesos secundarios realizan diferentes operaciones de E/S en el mismo archivo. El valor predeterminado de es 1.

  • Percent: opcional. El porcentaje de espacio libre en el sistema de archivos que se utilizará durante la prueba de esfuerzo de E/S. El valor predeterminado es 80 %.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. La dependencia es stress-ng.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Kill-Process

Detiene el proceso especificado en la instancia con el comando killall. Utiliza el documento SSM -Run-Kill-Process. AWSFIS

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Kill-Process

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Kill-Process

Parámetros de documento
  • ProcessName: obligatorio. El nombre del proceso que se va a detener.

  • Signal: opcional. La señal que se va a enviar junto con el comando. Los valores posibles son SIGTERM (que el receptor puede elegir ignorar) y SIGKILL (que no se pueden ignorar). El valor predeterminado es SIGTERM.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. La dependencia es killall.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"ProcessName":"myapplication", "Signal":"SIGTERM"}

AWSFIS-Run-Memory-Stress

Ejecuta esfuerzo de la memoria en una instancia con la herramienta stress-ng. Utiliza el documento SSM -Run-Memory-Stress. AWSFIS

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Memory-Stress

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Memory-Stress

Parámetros de documento
  • DurationSeconds: obligatorio. La duración de la prueba de esfuerzo de la memoria, en segundos.

  • Workers: opcional. El número de factores de esfuerzo de la memoria virtual. El valor predeterminado de es 1.

  • Percent: obligatorio. El porcentaje de memoria virtual que se utilizará durante la prueba de esfuerzo de la memoria.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. La dependencia es stress-ng.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Blackhole-Port

Elimina el tráfico entrante o saliente del protocolo y el puerto con la herramienta iptables. Utiliza el documento SSM -Run-Network-Blackhole-Port. AWSFIS

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Network-Blackhole-Port

Parámetros de documento
  • Protocol: obligatorio. El protocolo. Los valores posibles son tcp y udp.

  • Port: obligatorio. El número de puerto.

  • TrafficType: opcional. El tipo de tráfico. Los valores posibles son ingress y egress. El valor predeterminado es ingress.

  • DurationSeconds: obligatorio. La duración de la prueba de agujero negro de red, en segundos.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. Las dependencias son atd, dig e iptables.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency

Agrega latencia a la interfaz de red con la tc herramienta. Utiliza el AWSFISdocumento SSM -Run-Network-Latency.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Network-Latency

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency

Parámetros de documento
  • Interface: opcional. Interfaz de red. El valor predeterminado es eth0.

  • DelayMilliseconds: opcional. El retraso, en milisegundos. El valor predeterminado es 200.

  • DurationSeconds: obligatorio. La duración de la prueba de latencia de red, en segundos.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. Las dependencias son atd, dig e tc.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency-Sources

Agrega latencia y fluctuación a la interfaz de red con la herramienta tc para el tráfico hacia fuentes específicas o desde ellas. Utiliza el documento SSM -Run-Network-Latency-Sources. AWSFIS

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Network-Latency-Sources

Parámetros de documento
  • Interface: opcional. Interfaz de red. El valor predeterminado es eth0.

  • DelayMilliseconds: opcional. El retraso, en milisegundos. El valor predeterminado es 200.

  • JitterMilliseconds: opcional. La fluctuación, en milisegundos. El valor predeterminado es 10.

  • Sources: obligatorio. Las fuentes, separadas por comas. Los valores posibles son: una dirección IPv4, un bloque CIDR IPv4, un nombre de dominio, DYNAMODB y S3. Si especifica DYNAMODB o S3, solo se aplicará al punto de conexión regional de la región actual.

  • TrafficType: opcional. El tipo de tráfico. Los valores posibles son ingress y egress. El valor predeterminado es ingress.

  • DurationSeconds: obligatorio. La duración de la prueba de latencia de red, en segundos.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino, si aún no están instaladas. El valor predeterminado es True. Las dependencias son atd, dig, jq y tc.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss

Agrega la pérdida de paquetes a la interfaz de red con la herramienta tc. Utiliza el AWSFISdocumento SSM -Run-Network-Packet-Loss.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss

Parámetros de documento
  • Interface: opcional. Interfaz de red. El valor predeterminado es eth0.

  • LossPercent: opcional. El porcentaje de pérdida de paquetes. El valor predeterminado es 7 %.

  • DurationSeconds: obligatorio. La duración de la prueba de pérdida de paquetes, en segundos.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino. El valor predeterminado es True. Las dependencias son atd, dig e tc.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss-Sources

Agrega pérdida de paquetes a la interfaz de red con la herramienta tc para el tráfico hacia fuentes específicas o desde ellas. Utiliza el documento SSM AWSFIS-Run-Network-Packet-Loss-Sources.

Tipo de acción (solo en la consola)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources

ARN

arn:aws:ssm:region::document/AWSFIS-Run-Network-Packet-Loss-Sources

Parámetros de documento
  • Interface: opcional. Interfaz de red. El valor predeterminado es eth0.

  • LossPercent: opcional. El porcentaje de pérdida de paquetes. El valor predeterminado es 7 %.

  • Sources: obligatorio. Las fuentes, separadas por comas. Los valores posibles son: una dirección IPv4, un bloque CIDR IPv4, un nombre de dominio, DYNAMODB y S3. Si especifica DYNAMODB o S3, solo se aplicará al punto de conexión regional de la región actual.

  • TrafficType: opcional. El tipo de tráfico. Los valores posibles son ingress y egress. El valor predeterminado es ingress.

  • DurationSeconds: obligatorio. La duración de la prueba de pérdida de paquetes, en segundos.

  • InstallDependencies: opcional. Si este valor es True, Systems Manager instala las dependencias necesarias en las instancias de destino. El valor predeterminado es True. Las dependencias son atd, dig, jq y tc.

A continuación, un ejemplo de la cadena que se puede introducir en la consola.

{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

Ejemplos

Para obtener un ejemplo de plantilla de experimento, consulte Ejecute un documento AWS FIS SSM preconfigurado.

Para ver un tutorial de ejemplo, consulte Ejecutar esfuerzo de la CPU en una instancia.

Resolución de problemas

Use el siguiente procedimiento para solucionar problemas.

Para solucionar problemas con los documentos de SSM
  1. Abra la AWS Systems Manager consola en https://console.aws.amazon.com/systems-manager/.

  2. En el panel de navegación, elija Administración de nodos, Run Command.

  3. En la pestaña Historial de comandos, utilice los filtros para localizar la ejecución del documento.

  4. Elija el ID del comando para abrir la página de detalles.

  5. Elija el ID de la instancia. Revise el resultado y los errores de cada paso.