Conjunto de ações para o AWS FIS - AWS Serviço de injeção de falhas

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

Conjunto de ações para o AWS FIS

Para criar um modelo de experimento, você deve definir uma ou mais ações para compor o conjunto de ações. Para obter uma lista de ações predefinidas fornecidas pelo AWS FIS, consulte. Ações

Você pode executar uma ação somente uma vez durante um experimento. Para executar a mesma ação do AWS FIS mais de uma vez no mesmo experimento, adicione-a ao modelo várias vezes usando nomes diferentes.

Sintaxe da ação

A seguir está a sintaxe para um conjunto de ações.

{ "actions": { "action_name": { "actionId": "aws:service:action-type", "description": "string", "parameters": { "name": "value" }, "startAfter": ["action_name", ...], "targets": { "resource_type": "target_name" } } } }

Quando você define uma ação, fornece o seguinte:

action_name

Um nome para a ação.

actionId

O identificador da ação.

description

Uma descrição opcional.

parameters

Qualquer parâmetro de ação.

startAfter

Qualquer ação que precise ser concluída antes que essa ação possa ser iniciada. Caso contrário, a ação será executada no início do experimento.

targets

Qualquer destino de ação.

Para ver exemplos, consulte Exemplo de ações.

Duração da ação

Se uma ação incluir um parâmetro que você possa usar para especificar a duração da ação, por padrão, a ação será considerada concluída somente após o término da duração especificada. Se você tiver definido a opção de experimento emptyTargetResolutionMode como skip, a ação será concluída imediatamente com o status “ignorado” quando nenhum alvo for resolvido. Por exemplo, se você especificar uma duração de 5 minutos, o AWS FIS considera a ação concluída após 5 minutos. Em seguida, ele inicia a próxima ação, até que todas as ações sejam concluídas.

A duração pode ser o período em que uma condição de ação é mantida ou o período durante o qual as métricas são monitoradas. Por exemplo, a latência é injetada durante o tempo especificado. Para tipos de ação quase instantâneos, como encerrar uma instância, as condições de parada são monitoradas pelo tempo especificado.

Se uma ação incluir uma ação posterior nos parâmetros da ação, a ação posterior será executada após a conclusão da ação. O tempo necessário para concluir a ação posterior pode causar um atraso entre a duração da ação especificada e o início da próxima ação (ou o final do experimento, se todas as outras ações forem concluídas).

Exemplo de ações

Os seguintes são exemplos de ações.

Exemplo: interromper instâncias do EC2

A ação a seguir interrompe as instâncias do EC2 identificadas usando o destino chamado targetInstances. Depois de dois minutos, ele reinicia as instâncias de destino.

"actions": { "stopInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M" }, "targets": { "Instances": "targetInstances" } } }
Exemplo: interromper instâncias spot

A ação a seguir interrompe as Instâncias Spot identificadas usando o destino chamado targetSpotInstances. Ele espera dois minutos antes de interromper a instância spot.

"actions": { "interruptSpotInstances": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M" }, "targets": { "SpotInstances": "targetSpotInstances" } } }
Exemplo: interromper tráfego de rede

A ação a seguir nega tráfego entre as sub-redes de destino e sub-redes em outras zonas de disponibilidade.

"actions": { "disruptAZConnectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M" }, "targets": { "Subnets": "targetSubnets" } } }
Exemplo: encerrar funcionários do EKS

A ação a seguir encerra 50% das instâncias do EC2 no cluster EKS identificadas usando o destino chamado. targetNodeGroups

"actions": { "terminateWorkers": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50" }, "targets": { "Nodegroups": "targetNodeGroups" } } }