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á.
Validação de dependência
O teste de validação de dependências bloqueia dependências dentro da região para ver como seu serviço se comporta quando elas não estão disponíveis. Isso pode ajudá-lo a validar se seu serviço permanece íntegro quando as dependências flexíveis estão comprometidas e as dependências superficiais que você talvez não soubesse que eram difíceis. Você também pode incluir dependências rígidas conhecidas para entender seu impacto.
O que torna esse teste único
-
Concentra-se nas falhas de dependência na região.
-
Você escolhe quais dependências segmentar.
-
Se você ativou a descoberta de dependências na próxima geração do Resilience Hub, poderá escolher entre as dependências descobertas. Caso contrário, você pode inserir os endpoints DNS manualmente.
Como passar neste teste
-
Este é um teste contínuo. O teste será aprovado se todos os alarmes de sucesso permanecerem no
OKestado até que as ações de teste terminem. Use isso para validar que as dependências flexíveis são realmente flexíveis — se seus alarmes violarem, a dependência pode realmente ser difícil.
Coisas em que pensar
-
Comece com uma única dependência flexível e construa — valide uma de cada vez antes de bloquear muitas.
-
Se você incluir uma dependência física, espere que seus alarmes sejam violados e o teste falhe — as dependências rígidas causam um impacto significativo quando bloqueadas. Isso é útil para confirmar que uma dependência é realmente difícil.
-
Escolha alarmes de sucesso que meçam a integridade geral do serviço, não a integridade da dependência em si.
-
Garanta que suas dependências sejam usadas ativamente durante o teste (o tráfego está fluindo para elas) — isso valida que o bloco está surtindo efeito. Considere adicionar alarmes ou métricas que rastreiem o uso da dependência (por exemplo, contagem de solicitações ou erros de conexão) para verificar se a dependência está sendo exercida durante o teste.
-
As dependências devem ser endpoints de DNS resolvíveis — se o DNS não for resolvido, a ação falhará.
-
O bloqueio de dependências que acionam falhas na verificação de saúde pode fazer com que a computação (por exemplo, tarefas do Amazon ECS) seja substituída. A ação de perda de pacotes não se aplica novamente às tarefas de substituição e pode ser relatada como falhada.
Parâmetros de teste chave
-
Duração — O período de tempo em que as ações de teste são executadas. Depois, são necessários mais alguns minutos para coletar os resultados finais antes que o teste termine. O padrão é 30 minutos quando você cria o teste pela primeira vez.
-
Dependências a serem bloqueadas — Por padrão, a dependência flexível descoberta com o maior volume de consultas é pré-selecionada. Se nenhuma dependência tiver sido classificada como flexível, nenhuma será selecionada. Você pode se ajustar para segmentar dependências individuais ou grupos específicos, ou adicionar dependências manualmente por nome de domínio DNS. As dependências adicionais adicionadas aqui são usadas somente para esse teste e não serão salvas na descoberta de dependências do serviço. Esses padrões se aplicam ao console; ao usar a API, você fornece as dependências explicitamente.
Ações
Esse teste executa as seguintes AWS FIS ações para direcionar o tráfego para as dependências que você selecionar. As ações injetam 100% de perda de pacotes em instâncias do Amazon EC2, tarefas do Amazon ECS (Amazon EC2 e Fargate) e pods do Amazon EKS (Amazon EC2). Se seu serviço não tiver recursos que correspondam ao tipo de alvo de uma ação, essa ação será ignorada.
nota
As ações usadas para bloquear dependências exigem configuração adicional: agente SSM instalado nas instâncias do Amazon EC2, um contêiner de agente SSM na definição de tarefas do Amazon ECS ou uma conta de serviço Kubernetes para pods do Amazon EKS.
| Ação | Description |
|---|---|
aws:ssm:send-command |
Reduz o tráfego das instâncias do Amazon EC2 para as dependências selecionadas. |
aws:ecs:task-network-packet-loss |
Reduz o tráfego das tarefas do Amazon ECS para as dependências selecionadas. |
aws:eks:pod-network-packet-loss |
Reduz o tráfego dos pods do Amazon EKS para as dependências selecionadas. |
Para ver os parâmetros desse teste e seus valores padrão, useget-test-template.