

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á.

# Use documentos SSM do Systems Manager com AWS o FIS
<a name="actions-ssm-agent"></a>

AWS O FIS oferece suporte a tipos de falha personalizados por meio do Agente AWS Systems Manager SSM e da ação AWS FIS. [aws:ssm:send-command](fis-actions-reference.md#ssm-send-command) Documentos SSM pré-configurados do Systems Manager (documentos SSM) que podem ser usados para criar ações comuns de injeção de falhas estão disponíveis como AWS documentos públicos que começam com o AWSFIS prefixo -.

O SSM Agent é um software da Amazon que pode ser instalado e configurado em instâncias do Amazon EC2, servidores locais ou máquinas virtuais (). VMs Isso permite que o Systems Manager gerencie esses recursos. O agente processa solicitações do Systems Manager e, em seguida, as executa conforme especificado na solicitação. Você pode incluir seu próprio documento do SSM para injetar falhas personalizadas ou fazer referência a um dos documentos públicos de propriedade da Amazon.

**Requisitos**

Para ações que exigem que o Atendente SSM execute a ação no destino, você deve garantir o seguinte:
+ O agente está instalado no destino. O SSM Agent é instalado por padrão em algumas Amazon Machine Images (AMIs). Caso contrário, você pode instalar o Atendente SSM em suas instâncias. Para obter mais informações, consulte [Instalar manualmente o Atendente SSM em instâncias do EC2](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-manual-agent-install.html) no *Guia do usuário do AWS Systems Manager *.
+ O Systems Manager tem permissão para executar ações em suas instâncias. Você concede acesso usando um perfil da instância do IAM. Para obter mais informações, consulte [Criar um perfil de instância do IAM para o Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html) e [Anexar um perfil de instância do IAM a uma instância do EC2](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-launch-managed-instance.html) no *Guia do usuário do AWS Systems Manager *.

## Usar a ação aws:ssm:send-command
<a name="specifying-ssm-actions"></a>

Um documento do SSM define as ações que o Systems Manager realiza nas suas instâncias gerenciadas. O Systems Manager inclui vários documentos pré-configurados, ou você pode criar seus próprios. Para obter mais informações sobre como criar seu próprio documento do SSM, consulte [Criar documentos do Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-doc.html) no *Guia do usuário do AWS Systems Manager *. Para obter mais informações sobre documentos do SSM em geral, consulte [Documentos do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html) no *Guia do usuário do AWS Systems Manager *.

AWS O FIS fornece documentos SSM pré-configurados. [Você pode visualizar os documentos SSM pré-configurados em **Documentos** no AWS Systems Manager console: https://console.aws.amazon.com/systems-manager/ documentos.](https://console.aws.amazon.com/systems-manager/documents) Você também pode escolher entre uma seleção de documentos pré-configurados no console AWS FIS. Para obter mais informações, consulte [Documentos AWS FIS SSM pré-configurados](#fis-ssm-docs).

Para usar um documento SSM em seus experimentos do AWS FIS, você pode usar a [aws:ssm:send-command](fis-actions-reference.md#ssm-send-command) ação. Essa ação busca e executa o documento do SSM especificado em suas instâncias de destino.

Ao usar a ação `aws:ssm:send-command` em seu modelo de experimento, você deve especificar parâmetros adicionais para a ação, incluindo o seguinte:
+ **documentArn** – obrigatório. O nome do recurso da Amazon (ARN) é o nome do documento do SSM.
+ **documentParameters** – Condicional. Os parâmetros necessários e opcionais que o documento do SSM aceita. O formato é um objeto JSON com chaves que são strings e valores que são strings ou arrays de strings.
+ **documentVersion**: opcional. A versão do documento do SSM a ser executada.

Você pode visualizar as informações de um documento do SSM (incluindo os parâmetros do documento) usando o console do Systems Manager ou a linha de comando.

**Para visualizar informações sobre um documento do SSM usando o console**

1. Abra o AWS Systems Manager console em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

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

1. Selecione o documento e escolha a guia **Detalhes**.

**Para visualizar informações sobre um documento do SSM usando a linha de comando**  
Use o comando [describe-document](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-document.html) do SSM.

**Saiba mais sobre o estado de ação**  
O estado de ação do SSM é determinado pelos status dos [comandos do SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html).

## Documentos AWS FIS SSM pré-configurados
<a name="fis-ssm-docs"></a>

Você pode usar documentos AWS FIS SSM pré-configurados com a `aws:ssm:send-command` ação em seus modelos de experimento.

**Requisitos**
+ Os documentos SSM pré-configurados fornecidos pela AWS FIS são suportados somente nos seguintes sistemas operacionais:
  + Amazon Linux 2023, Amazon Linux 2
  + Ubuntu
  + RODA 8, 9
  + CentOS 9
+ Os documentos SSM pré-configurados fornecidos pela AWS FIS são suportados somente em instâncias EC2. Eles não são compatíveis com outros tipos de nós gerenciados, como servidores on-premises.

Para usar esses documentos do SSM em experimentos em tarefas do ECS, use o [Ações do Amazon ECS](fis-actions-reference.md#ecs-actions-reference) correspondente. Por exemplo, a ação **aws:ecs:task-cpu-stress** usa o documento AWSFIS-Run-CPU-Stress.

**Topics**
+ [AWSFIS-Run-CPU-Stress](#awsfis-run-cpu-stress)
+ [AWSFIS-Run-Disk-Fill](#awsfis-run-disk-fill)
+ [AWSFIS-Run-IO-Stress](#awsfis-run-io-stress)
+ [AWSFIS-Run-Kill-Process](#awsfis-run-kill-process)
+ [AWSFIS-Run-Memory-Stress](#awsfis-run-memory-stress)
+ [AWSFIS-Run-Network-Blackhole-Port](#awsfis-run-network-blackhole-port)
+ [AWSFIS-Run-Network-Latency](#awsfis-run-network-latency)
+ [AWSFIS-Run-Network-Latency-Sources](#awsfis-run-network-latency-sources)
+ [AWSFIS-Run-Network-Packet-Loss](#awsfis-run-network-packet-loss)
+ [AWSFIS-Run-Network-Packet-Loss-Sources](#awsfis-run-network-packet-loss-sources)

**Diferença entre a duração da ação e DurationSeconds nos documentos AWS FIS SSM**  
 Alguns documentos SSM limitam seu próprio tempo de execução, por exemplo, o DurationSeconds parâmetro é usado por alguns dos documentos SSM AWS FIS pré-configurados. Como resultado, você precisa especificar duas durações independentes na definição da ação do AWS FIS: 
+  **Action duration**: para experimentos com uma única ação, a duração da ação é equivalente à duração do experimento. Com várias ações, a duração do experimento depende da duração das ações individuais e da ordem em que elas são executadas. AWS O FIS monitora cada ação até que a duração da ação termine. 
+  Parâmetro de documento **DurationSeconds**: a duração, especificada em segundos, pela qual o documento do SSM será executado. 

 Você pode escolher valores diferentes para os dois tipos de duração: 
+  **Action duration exceeds DurationSeconds**: a execução do documento SSM termina antes que a ação seja concluída. AWS O FIS espera até que a duração da ação termine antes que as ações subsequentes sejam iniciadas. 
+  **Action duration is shorter than DurationSeconds**: o documento do SSM continua a execução após a conclusão da ação. Se a execução do documento SSM ainda estiver em andamento e a duração da ação tiver expirado, o status da ação será definido como Concluído. AWS O FIS monitora apenas a execução até que a duração da ação tenha decorrido. 

 Observe que alguns documentos do SSM têm durações variáveis. Por exemplo, documentos AWS FIS SSM têm a opção de instalar pré-requisitos, o que pode estender a duração geral da execução além do parâmetro especificado. DurationSeconds Portanto, se você definir a duração da ação DurationSeconds com o mesmo valor, é possível que o script SSM seja executado por mais tempo do que a duração da ação. 

### AWSFIS-Run-CPU-Stress
<a name="awsfis-run-cpu-stress"></a>

Executa o estresse da CPU em uma instância usando a ferramenta **stress-ng**. Usa o documento [AWSFIS-RunSSM -CPU-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-CPU-Stress/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-CPU-Stress

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

**Parâmetros do documento**
+ **DurationSeconds** – obrigatório. A duração do teste de estresse da CPU, em segundos.
+ **CPU**: opcional. O número de estressores da CPU a usar. O padrão é 0, que usa todos os estressores da CPU.
+ **LoadPercent**: opcional. A porcentagem da carga da CPU de destino, de 0 (sem carga) a 100 (carga total). O padrão é 100.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. A dependência é **stress-ng**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Disk-Fill
<a name="awsfis-run-disk-fill"></a>

Aloca espaço em disco no volume raiz de uma instância para simular uma falha no disco cheio. Usa o documento [AWSFIS-RunSSM -Disk-Fill](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Disk-Fill/description).

Se o experimento de injeção dessa falha for interrompido, manualmente ou por meio de uma condição de parada, o AWS FIS tentará reverter cancelando o documento SSM em execução. No entanto, se o disco estiver 100% cheio, devido à falha ou à falha mais a atividade do aplicativo, o Systems Manager talvez não consiga concluir a operação de cancelamento. Portanto, se você precisar interromper o experimento, certifique-se de que o disco não fique 100% cheio.

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Disk-Fill

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

**Parâmetros do documento**
+ **DurationSeconds** – obrigatório. A duração do teste de preenchimento de disco, em segundos.
+ **Percent**: opcional. A porcentagem do disco para alocar durante o teste de preenchimento do disco. O padrão é 95%.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. As dependências são **atd** **kmod** e. **fallocate**

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-IO-Stress
<a name="awsfis-run-io-stress"></a>

Executa o estresse de E/S em uma instância usando a ferramenta **stress-ng**. Usa o documento [AWSFIS-RunSSM -IO-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-IO-Stress/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-IO-Stress

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

**Parâmetros do documento**
+ **DurationSeconds** – obrigatório. A duração do teste de estresse de E/S, em segundos.
+ **Workers**: opcional. O número de trabalhadores que realizam uma combinação de read/write operações sequenciais, aleatórias e mapeadas na memória, sincronização forçada e descarte de cache. Vários processos secundários realizam I/O operações diferentes no mesmo arquivo. O padrão é um.
+ **Percent**: opcional. A porcentagem de espaço livre no sistema de arquivos a ser usada durante o teste de estresse de E/S. O padrão é 80%.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. A dependência é **stress-ng**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Kill-Process
<a name="awsfis-run-kill-process"></a>

Interrompe o processo especificado na instância usando o comando **killall**. Usa o documento [AWSFIS-RunSSM -Kill-Process](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Kill-Process/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Kill-Process

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

**Parâmetros do documento**
+ **ProcessName** – obrigatório. O nome do processo a interromper.
+ **Signal**: opcional. O sinal a ser enviado junto com o comando. Os valores possíveis são `SIGTERM` (que o receptor pode optar por ignorar) e `SIGKILL` (que não pode ser ignorado). O padrão é `SIGTERM`.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. A dependência é **killall**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Memory-Stress
<a name="awsfis-run-memory-stress"></a>

Executa o estresse de memória em uma instância usando a ferramenta **stress-ng**. Usa o documento [AWSFIS-RunSSM -Memory-Stress](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Memory-Stress/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Memory-Stress

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

**Parâmetros do documento**
+ **DurationSeconds** – obrigatório. A duração do teste de estresse de memória, em segundos.
+ **Workers**: opcional. O número de estressores da memória virtual. O padrão é um.
+ **Percent** – obrigatório. A porcentagem de memória virtual a ser usada durante o teste de estresse de memória.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. A dependência é **stress-ng**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Network-Blackhole-Port
<a name="awsfis-run-network-blackhole-port"></a>

Reduz o tráfego de entrada ou saída do protocolo e da porta usando a ferramenta **iptables**. Usa o documento SSM [AWSFIS-Run-Network-Blackhole-Port](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Blackhole-Port/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port

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

**Parâmetros do documento**
+ **Protocol** – obrigatório. O protocolo. Os valores possíveis são `tcp` e `udp`.
+ **Port** – obrigatório. O número da porta.
+ **TrafficType**: opcional. O tipo de tráfego. Os valores possíveis são `ingress` e `egress`. O padrão é `ingress`.
+ **DurationSeconds** – obrigatório. A duração do teste de buraco negro da rede, em segundos.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. As dependências são **atd**, **dig**, **lsof** e **iptables**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Network-Latency
<a name="awsfis-run-network-latency"></a>

Adiciona latência à interface de rede usando a ferramenta **tc**. Usa o documento [AWSFIS-RunSSM -Network-Latency](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Network-Latency

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

**Parâmetros do documento**
+ **Interface**: opcional. A interface de rede. O padrão é `eth0`.
+ **DelayMilliseconds**: opcional. O atraso, em milissegundos. O padrão é 200.
+ **DurationSeconds** – obrigatório. A duração do teste de latência da rede, em segundos.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. As dependências são **atd**, **dig** e **tc**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Network-Latency-Sources
<a name="awsfis-run-network-latency-sources"></a>

Adiciona latência e instabilidade à interface de rede usando a ferramenta **tc** para tráfego de ou para fontes específicas. Usa o documento SSM [AWSFIS-Run-Network-Latency-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Latency-Sources/description).

Use o `FlowsPercent` parâmetro para adicionar latência em uma porcentagem das conexões.

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources

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

**Parâmetros do documento**
+ **Interface**: opcional. As interfaces de rede, separadas por vírgulas. Os valores ALL e DEFAULT são suportados. O padrão é`DEFAULT`, que terá como alvo a interface de rede primária do sistema operacional.
+ **DelayMilliseconds**: opcional. O atraso, em milissegundos. O padrão é 200.
+ **JitterMilliseconds**: opcional. O jitter, em milissegundos. O padrão é 10.
+ **FlowsPercent**: opcional. A porcentagem de fluxos de rede que serão afetados pela ação. O padrão para é de 100%.
+ **Sources** – obrigatório. As fontes, separadas por vírgulas, sem espaços. Os valores possíveis são: um IPv4 endereço, um bloco IPv4 CIDR, um nome de domínio, um nome de AZ (us-east-1a), um ID de AZ (use1-az1), ALL e. `DYNAMODB` `S3` Se você especificar `DYNAMODB` ou`S3`, isso se aplica somente ao endpoint regional na região atual.
+ **TrafficType**: opcional. O tipo de tráfego. Os valores possíveis são `ingress` e `egress`. O padrão é `ingress`.
+ **DurationSeconds** – obrigatório. A duração do teste de latência da rede, em segundos.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino, caso elas ainda não estejam instaladas. O padrão é `True`. As dependências são **atd****dig**,**jq**,**lsof**, e. **tc**

Ao usar este documento, a função do experimento exige as seguintes permissões:
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`

Veja a seguir um exemplo da string que você pode inserir no console.

```
{"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
<a name="awsfis-run-network-packet-loss"></a>

Adiciona perda de pacotes à interface de rede usando a ferramenta **tc**. Usa o documento SSM [AWSFIS-Run-Network-Packet-Loss](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss/description).

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss

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

**Parâmetros do documento**
+ **Interface**: opcional. A interface de rede. O padrão é `eth0`.
+ **LossPercent**: opcional. A porcentagem de perda de pacotes. O padrão é 7%.
+ **DurationSeconds** – obrigatório. A duração do teste de perda de pacotes de rede, em segundos.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino. O padrão é `True`. As dependências são **atd**, **lsof**, **dig** e **tc**.

Veja a seguir um exemplo da string que você pode inserir no console.

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

### AWSFIS-Run-Network-Packet-Loss-Sources
<a name="awsfis-run-network-packet-loss-sources"></a>

Adiciona perda de pacotes à interface de rede usando a ferramenta **tc** para tráfego de ou para fontes específicas. Usa o documento SSM [AWSFIS-Run-Network-Packet-Loss-Sources](https://console.aws.amazon.com/systems-manager/documents/AWSFIS-Run-Network-Packet-Loss-Sources/description).

Use o `FlowsPercent` parâmetro para injetar perda de pacotes em uma porcentagem das conexões.

**Tipo de ação (somente console)**  
aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources

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

**Parâmetros do documento**
+ **Interface**: opcional. As interfaces de rede, separadas por vírgulas. Os valores ALL e DEFAULT são suportados. O padrão é`DEFAULT`, que terá como alvo a interface de rede primária do sistema operacional.
+ **LossPercent**: opcional. A porcentagem de perda de pacotes. O padrão é 7%.
+ **FlowsPercent**: opcional. A porcentagem de fluxos de rede que serão afetados pela ação. O padrão para é de 100%.
+ **Sources** – obrigatório. As fontes, separadas por vírgulas, sem espaços. Os valores possíveis são: um IPv4 endereço, um bloco IPv4 CIDR, um nome de domínio, um nome de AZ (us-east-1a), um ID de AZ (use1-az1), ALL e. `DYNAMODB` `S3` Se você especificar `DYNAMODB` ou`S3`, isso se aplica somente ao endpoint regional na região atual.
+ **TrafficType**: opcional. O tipo de tráfego. Os valores possíveis são `ingress` e `egress`. O padrão é `ingress`.
+ **DurationSeconds** – obrigatório. A duração do teste de perda de pacotes de rede, em segundos.
+ **InstallDependencies**: opcional. Se o valor for `True`, o Systems Manager instalará as dependências necessárias nas instâncias de destino. O padrão é `True`. As dependências são **atd****dig**,**jq**,**lsof**, e. **tc**

Ao usar este documento, a função do experimento exige as seguintes permissões:
+ `ec2:DescribeInstances`
+ `ec2:DescribeSubnets`

Veja a seguir um exemplo da string que você pode inserir no console.

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

## Exemplos
<a name="fis-ssm-docs-example-template"></a>

Para obter um exemplo de modelo de experimento, consulte [Execute um documento AWS FIS SSM pré-configurado](experiment-template-example.md#cpu-fault-injection).

Para obter um tutorial de exemplo, consulte [Executar o estresse da CPU em uma instância](fis-tutorial-run-cpu-stress.md).

## Limitações
<a name="fis-ssm-docs-limitations"></a>
+ Os seguintes documentos não podem ser executados paralelamente:
  + AWSFIS-Run-Network-Blackhole-Port
  + AWSFIS-Run-Network-Latency
  + AWSFIS-Run-Network-Latency-Sources
  + AWSFIS-Run-Network-Packet-Loss
  + AWSFIS-Run-Network-Packet-Loss-Sources

## Scripts de reversão
<a name="fis-ssm-docs-rollback"></a>

AWS Os documentos do FIS SSM criam automaticamente scripts de reversão como um mecanismo de segurança para restaurar o estado do sistema após experimentos de injeção de falhas. Esses scripts garantem que as falhas injetadas sejam removidas, mesmo que a ação falhe ou seja encerrada inesperadamente.

### Criação de script de reversão
<a name="fis-ssm-rollback-creation"></a>

Os scripts de reversão são criados automaticamente quando os experimentos de injeção de falhas começam.

**Detalhes da criação**
+ **Localização** — Os scripts são criados no `/var/lib/amazon/ssm/` diretório.
+ **Padrão de nomenclatura** — `{{FAULT_NAME}}-{{FAULT_IDENTIFIER}}-Rollback.sh` onde {{FAULT\_IDENTIFIER}} está uma string de 32 caracteres gerada aleatoriamente
+ **Tempo** — Criado no início de cada experimento de injeção de falhas, antes do início da injeção de falhas.
+ **Conteúdo** — contém todas as variáveis e comandos de ambiente necessários para reverter a falha específica.

Por exemplo, um experimento de latência de rede pode criar um script de reversão em. `/var/lib/amazon/ssm/NetworkLatency-abc123-Rollback.sh`

### Registro de reversão
<a name="fis-ssm-rollback-logging"></a>

Os scripts de reversão implementam o registro duplo para capturar todas as atividades de reversão para fins de solução de problemas e auditoria.

**Locais de arquivos de log**  
Quando um script de reversão é executado, ele cria registros em dois locais:
+ **Arquivos temporários** — `/tmp/aws-fis-rollback-{{TIMESTAMP}}-{{PID}}.log`
+ **Registros do sistema** — Enviados para o syslog com facilidade `local0.info`

**Nomeação do arquivo de log**  
Os arquivos de log temporários usam a seguinte convenção de nomenclatura:

```
/tmp/aws-fis-rollback-{{YYYY-MM-DDTHH:MM:SSZ}}-{{PID}}.log
```

Onde {{YYYY-MM-DDTHH:MM:SSZ}} está o timestamp UTC e {{PID}} o ID do processo do script de reversão.

**Configuração do syslog**  
Os registros de reversão são enviados ao syslog com a seguinte configuração:
+ **Etiqueta** — `aws-fis-rollback`
+ **Prioridade**: `local0.info`
+ **Formato** — `[YYYY-MM-DDTHH:MM:SSZ] {{log_message}}`

**Para ver os registros de reversão**  
Use o comando a seguir para visualizar todos os registros de reversão do diário do systemd:

```
sudo journalctl -t aws-fis-rollback
```

## Solução de problemas
<a name="fis-ssm-docs-troubleshooting"></a>

Use o procedimento a seguir para solucionar problemas.

**Para solucionar problemas com documentos do SSM**

1. Abra o AWS Systems Manager console em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, em **Gerenciamento de nós**, **Executar comando**.

1. Na guia **Histórico de comandos**, use os filtros para localizar a execução do documento.

1. Escolha o ID do comando para abrir sua página de detalhes.

1. Escolha o ID da instância. Analise a saída e os erros de cada etapa.