

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

# Referência de cenários
<a name="scenario-library-scenarios"></a>

Os cenários incluídos na biblioteca de cenários foram projetados para usar [tags](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html) sempre que possível e cada cenário descreve as tags necessárias nas seções **Pré-requisitos** e **Como funciona** da descrição do cenário. Você pode marcar seus recursos com essas tags predefinidas ou definir suas próprias tags usando a experiência compartilhada de edição de parâmetros (consulte[Usar um cenário](scenario-library.md#using-a-scenario)).

Esta referência descreve os cenários comuns na biblioteca de cenários do AWS FIS. Você também pode listar os cenários compatíveis usando o console do AWS FIS.

Para obter mais informações, consulte [Trabalhando com a biblioteca de AWS FIS cenários](scenario-library.md).

O AWS FIS é compatível com os seguintes cenários do Amazon EC2. Esses cenários são voltados para instâncias que usam [tags](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html). Você pode usar suas próprias tags ou as tags-padrão incluídas no cenário. Alguns desses cenários [usam documentos do SSM](https://docs.aws.amazon.com//fis/latest/userguide/actions-ssm-agent.html).
+ **Estresse do EC2: falha na instância** - Explore o efeito de falha de instância ao parar uma ou mais instâncias do EC2.

  Instâncias de destino na região atual que tenham uma tag específica anexada. Nesse cenário, interromperemos essas instâncias e as reiniciaremos no final da duração da ação, por padrão, 5 minutos.
+ **Estresse do EC2: disco** - Explore o impacto do aumento da utilização do disco em seu aplicativo baseado em EC2.

  Neste cenário, vamos direcionar instâncias do EC2 na região atual que tenham uma tag específica anexada. Nesse cenário, você pode personalizar uma quantidade crescente de utilização do disco injetada nas instâncias do EC2 de destino para a duração da ação, por padrão 5 minutos para cada ação de estresse do disco.
+ **Estresse do EC2: CPU** - Explore o impacto do aumento da CPU no seu aplicativo baseado em EC2.

  Neste cenário, vamos direcionar instâncias do EC2 na região atual que tenham uma tag específica anexada. Neste cenário, você pode personalizar uma quantidade crescente de estresse na CPU injetado nas instâncias do EC2 de destino durante a duração da ação, por padrão, 5 minutos para cada ação de estresse na CPU.
+ **Estresse do EC2: memória** - Explore o impacto do aumento da utilização de memória no seu aplicativo baseado em EC2.

  Neste cenário, vamos direcionar instâncias do EC2 na região atual que tenham uma tag específica anexada. Neste cenário, você pode personalizar uma quantidade crescente de estresse de memória injetado em instâncias do EC2 específicas durante a duração da ação, por padrão, 5 minutos para cada ação de estresse de memória.
+ **Estresse do EC2: latência de rede** - Explore o impacto do aumento da latência de rede no seu aplicativo baseado em EC2.

  Neste cenário, vamos direcionar instâncias do EC2 na região atual que tenham uma tag específica anexada. Neste cenário, você pode personalizar uma quantidade crescente de latência de rede injetada em instâncias do EC2 específicas durante a duração da ação, por padrão, 5 minutos para cada ação de latência.

O AWS FIS é compatível com os seguintes cenários do Amazon EKS. Esses cenários são voltados para pods do EKS que usam rótulos de aplicações do Kubernetes. Você pode usar seus próprios rótulos ou os rótulos-padrão incluídos no cenário. Consulte mais informações sobre o EKS com FIS em [Ações do EKS Pod](eks-pod-actions.md).
+ **Estresse do EKS: exclusão de pod** - Explore o efeito da falha do pod do EKS excluindo um ou mais pods.

  Nesse cenário, teremos como destino pods na região atual que estão associados a um rótulo do aplicativo. Nesse cenário, encerraremos todos os pods correspondentes. A recriação de pods será controlada pela configuração do kubernetes.
+ **Estresse do EKS: CPU** - Explore o impacto do aumento da CPU no seu aplicativo baseado em EKS.

  Nesse cenário, teremos como destino pods na região atual que estão associados a um rótulo do aplicativo. Neste cenário, você pode personalizar uma quantidade crescente de estresse na CPU injetado nos pods do EKS de destino durante a duração da ação, por padrão, 5 minutos para cada ação de estresse na CPU.
+ **Estresse do EKS: disco** - Explore o impacto do aumento da utilização do disco em seu aplicativo baseado em EKS.

  Nesse cenário, teremos como destino pods na região atual que estão associados a um rótulo do aplicativo. Neste cenário, você pode personalizar uma quantidade crescente de estresse no disco injetado nos pods do EKS de destino durante a duração da ação, por padrão, 5 minutos para cada ação de estresse na CPU.
+ **Estresse do EKS: memória** - Explore o impacto do aumento da utilização de memória no seu aplicativo baseado em EKS.

  Nesse cenário, teremos como destino pods na região atual que estão associados a um rótulo do aplicativo. Neste cenário, você pode personalizar uma quantidade crescente de estresse de memória injetado em pods do EKS específicas durante a duração da ação, por padrão, 5 minutos para cada ação de estresse de memória.
+ **Estresse do EKS: latência de rede** - Explore o impacto do aumento da latência de rede no seu aplicativo baseado em EKS.

  Nesse cenário, teremos como destino pods na região atual que estão associados a um rótulo do aplicativo. Neste cenário, você pode personalizar uma quantidade crescente de latência de rede injetada em pods do EKS específicas durante a duração da ação, por padrão, 5 minutos para cada ação de latência.

O AWS FIS oferece suporte aos seguintes cenários para aplicativos Single-AZ, Multi-AZ e multirregionais. Esses cenários são voltados para vários tipos de recursos.
+ **AZ Availability: Power Interruption**: injete os sintomas esperados de uma interrupção completa de energia em uma zona de disponibilidade (AZ). Saiba mais sobre [AZ Availability: Power Interruption](az-availability-scenario.md).
+ **AZ: Application Slowdown**- Adicione latência entre recursos em uma única zona de disponibilidade (AZ) para desacelerar um aplicativo. Saiba mais sobre [AZ: Application Slowdown](az-application-slowdown-scenario.md).
+ **Cross-AZ: Traffic Slowdown**- Injete a perda de pacotes para interromper e diminuir o tráfego entre as zonas de disponibilidade (). AZs Saiba mais sobre [Cross-AZ: Traffic Slowdown](cross-az-traffic-slowdown-scenario.md).
+ **Cross-Region: Connectivity**: bloqueie o tráfego de rede da aplicação da região do experimento para a região de destino e pause a replicação de dados entre regiões. Saiba mais sobre como usar [Cross-Region: Connectivity](cross-region-scenario.md).

AWS FIS suporta os seguintes cenários para volumes do Amazon EBS. Esses cenários têm como alvo volumes usando tags. Você pode usar suas próprias tags ou as tags-padrão incluídas no cenário. Os volumes de destino devem estar na mesma zona de disponibilidade. Para obter mais informações, [teste de falhas no Amazon EBS.](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fis.html)
+ **EBS: Sustained Latency**— Explore o impacto da I/O latência persistente em seu aplicativo.

  Nesse cenário, teremos como alvo volumes na zona de disponibilidade atual que tenham uma tag específica anexada. Esse cenário injeta uma latência constante de 500 ms em 50% das operações de leitura e 100% das operações de gravação de um volume, usando uma única ação de latência em um período de 15 minutos. Nesse cenário, você pode personalizar a quantidade de latência injetada, a porcentagem de I/O injetada e a duração da ação.
+ **EBS: Increasing Latency**— Explore o impacto do aumento da I/O latência em seu aplicativo.

  Nesse cenário, teremos como alvo volumes na zona de disponibilidade atual que tenham uma tag específica anexada. Esse cenário injeta uma latência crescente de 50 ms, 200 ms, 700 ms, 1 segundo e 15 segundos em 10% das operações de leitura e 25% das operações de gravação de um volume usando cinco ações de latência em um período de 15 minutos. Nesse cenário, você pode personalizar a quantidade de latência injetada, a porcentagem de I/O injetada e a duração da ação para cada ação de latência.
+ **EBS: Intermittent Latency**— Explore o impacto dos picos intermitentes de I/O latência em seu aplicativo.

  Nesse cenário, teremos como alvo volumes na zona de disponibilidade atual que tenham uma tag específica anexada. Esse cenário injeta três picos nítidos de latência intermitente de 30 segundos, 10 segundos e 20 segundos em 0,1% das I/O operações de leitura e gravação de um volume, usando três ações de latência, com intervalos de recuperação entre cada pico em um período de 15 minutos. Nesse cenário, você pode personalizar a quantidade de latência injetada, a porcentagem de I/O injetada e a duração da ação para cada ação de latência.
+ **EBS: Decreasing Latency**— Explore o impacto da diminuição da I/O latência em seu aplicativo.

  Nesse cenário, teremos como alvo volumes na zona de disponibilidade atual que tenham uma tag específica anexada. Esse cenário injeta uma latência decrescente de 20 segundos, 5 segundos, 900 ms, 300 ms e 40 ms em 10% das operações de leitura e gravação de um volume, usando cinco ações de latência em um período de 15 minutos. Nesse cenário, você pode personalizar a quantidade de latência injetada, a porcentagem de I/O injetada e a duração da ação para cada ação de latência.

# AZ Availability: Power Interruption
<a name="az-availability-scenario"></a>

 Você pode usar o cenário AZ Availability: Power Interruption para induzir os sintomas esperados de uma interrupção completa de energia em uma zona de disponibilidade (AZ).

Esse cenário pode ser usado para demonstrar que as aplicações Multi-AZ operam conforme o esperado durante uma interrupção única e completa de energia da AZ. Isso inclui perda de computação zonal (Amazon EC2, EKS e ECS), nenhum redimensionamento da computação no AZ, perda de conectividade de sub-rede, failover de RDS, failover, acesso prejudicado aos buckets de diretório S3 Express One Zone e ElastiCache volumes do EBS que não respondem. Por padrão, as ações para as quais nenhum destino foi encontrado serão ignoradas.

## Ações
<a name="az-availability-scenario-actions"></a>

Juntas, as ações a seguir criam muitos dos sintomas esperados de uma interrupção completa da energia em uma única AZ. Disponibilidade da AZ: a interrupção de energia afeta apenas os serviços que devem sofrer impacto durante uma única interrupção de energia da AZ. Por padrão, o cenário injeta sintomas de interrupção de energia por 30 minutos e, depois, injeta sintomas que podem ocorrer durante a recuperação por mais 30 minutos.

### Stop-Instances
<a name="az-availability-scenario-actions-stop-instances"></a>

Durante uma interrupção de energia da AZ, as instâncias do EC2 na AZ afetada serão encerradas. Depois que a energia for restaurada, as instâncias serão reinicializadas. AZ Availability: Power Interruption inclui [aws:ec2:stop-instances](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#stop-instances) para interromper todas as instâncias na AZ afetada durante a interrupção. Após a duração, as instâncias são reiniciadas. A interrupção de instâncias do EC2 gerenciadas pelo Amazon EKS faz com que os pods do EKS dependentes sejam excluídos. A interrupção de instâncias do EC2 gerenciadas pelo Amazon ECS faz com que as tarefas do ECS dependentes sejam interrompidas.

Essa ação é voltada para instâncias do EC2 em execução na AZ afetada. Por padrão, ela é voltada para instâncias com uma tag chamada `AzImpairmentPower` com um valor de `StopInstances`. Você pode adicionar essa tag às instâncias ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma instância válida for encontrada, essa ação será ignorada.

### Stop-ASG-Instances
<a name="az-availability-scenario-actions-stop-asg-instances"></a>

Durante uma interrupção de energia do AZ, as instâncias do EC2 gerenciadas por um grupo do Auto Scaling na AZ afetada serão encerradas. Depois que a energia for restaurada, as instâncias serão reinicializadas. AZ Availability: Power Interruption inclui [aws:ec2:stop-instances](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#stop-instances) para interromper todas as instâncias, inclusive aquelas gerenciadas pelo Auto Scaling, na AZ afetada durante a interrupção. Após a duração, as instâncias são reiniciadas.

Essa ação é voltada para instâncias do EC2 em execução na AZ afetada. Por padrão, ela é voltada para instâncias com uma tag chamada `AzImpairmentPower` com um valor de `IceAsg`. Você pode adicionar essa tag às instâncias ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma instância válida for encontrada, essa ação será ignorada.

### Pausar inicialização de instâncias
<a name="az-availability-scenario-actions-pause-instance-launches"></a>

Durante uma interrupção de energia da AZ, as chamadas de API do EC2 para provisionar capacidade na AZ falharão. Em particular, o seguinte APIs será afetado: `ec2:StartInstances``ec2:CreateFleet`, e. `ec2:RunInstances` AZ Availability: Power Interruption includesinclui [aws:ec2: api-insufficient-instance-capacity -error](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#api-ice) para evitar que novas instâncias sejam provisionadas na AZ afetada.

Essa ação é voltada para perfis do IAM usados para provisionar instâncias. Eles devem ser segmentados usando um ARN. Por padrão, se nenhum perfil do IAM válido for encontrado, essa ação será ignorada.

### Pausar escalabilidade do ASG
<a name="az-availability-scenario-actions-pause-asg-scaling"></a>

 Durante uma interrupção de energia da AZ, as chamadas de API do EC2 feitas pelo ambiente de gerenciamento do Auto Scaling para recuperar a capacidade perdida na AZ falharão. Em particular, o seguinte APIs será afetado: `ec2:StartInstances``ec2:CreateFleet`, e. `ec2:RunInstances` AZ Availability: Power Interruptioninclui [aws:ec2: asg-insufficient-instance-capacity -error](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#asg-ice) para evitar que novas instâncias sejam provisionadas na AZ afetada. Isso também impede que o Amazon EKS e o Amazon ECS escalem na AZ afetada.

Essa ação é voltada para grupos do Auto Scaling. Por padrão, ela é voltada para grupos do Auto Scaling com uma tag chamada `AzImpairmentPower` com um valor de `IceAsg`. Você pode adicionar essa tag aos grupos do Auto Scaling ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhum grupo do Auto Scaling válido for encontrado, essa ação será ignorada.

### Pausar conectividade de rede
<a name="az-availability-scenario-actions-pause-network-connectivity"></a>

Durante uma interrupção de energia na AZ, a rede na AZ ficará indisponível. Quando isso acontece, certos serviços da AWS podem levar alguns minutos para atualizar o DNS a fim de refletir que os endpoints privados na AZ afetada não estão disponíveis. Durante esse período, as pesquisas de DNS podem retornar endereços IP inacessíveis. AZ Availability: Power Interruption inclui [aws:network:disrupt-connectivity](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) para bloquear toda a conectividade de rede de todas as sub-redes na AZ afetada por dois minutos. Isso forçará tempos limite e atualizações de DNS para a maioria das aplicações. O encerramento da ação após dois minutos permite a recuperação subsequente do DNS do serviço regional enquanto a AZ continua indisponível.

Essa ação é voltada para sub-redes. Por padrão, ela é voltada para clusters com uma tag chamada `AzImpairmentPower` com um valor de `DisruptSubnet`. Você pode adicionar essa tag às sub-redes ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma sub-rede válida for encontrada, essa ação será ignorada.

### Failover do RDS
<a name="az-availability-scenario-actions-failover-rds"></a>

Durante uma interrupção de energia da AZ, os nós do RDS na AZ afetada serão encerrados. Os nós do RDS de AZ única na AZ afetada ficarão totalmente indisponíveis. Para clusters Multi-AZ, será feito failover do nó do gravador para uma AZ não afetada e os nós de leitura na AZ afetada ficarão indisponíveis. Para clusters Multi-AZ, AZ Availability: Power Interruption inclui [aws:rds: failover-db-cluster](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#failover-db-cluster) para realizar o failover se o gravador estiver na AZ afetada.

Essa ação é voltada para clusters do RDS. Por padrão, ela é voltada para clusters com uma tag chamada `AzImpairmentPower` com um valor de `DisruptRds`. Você pode adicionar essa tag aos clusters ou substituir a tag padrão pela sua própria tag no modelo do experimento. Por padrão, se nenhum cluster válido for encontrado, essa ação será ignorada.

### Pausar o grupo de ElastiCache replicação
<a name="az-availability-scenario-actions-pause-elasticache"></a>

Durante uma interrupção de alimentação do AZ, ElastiCache os nós no AZ não estão disponíveis. AZ Availability: Power Interruptioninclui [aws:elasticache: replicationgroup-interrupt-az-power](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#interrupt-elasticache) para encerrar ElastiCache nós na AZ afetada. Durante a interrupção, novas instâncias não serão provisionadas na AZ afetada, portanto, o grupo de replicação permanecerá com capacidade reduzida.

Essa ação tem como alvo grupos ElastiCache de replicação. Por padrão, ele tem como alvo grupos de replicação com uma tag nomeada `AzImpairmentPower` com um valor de`ElasticacheImpact`. Você pode adicionar essa tag aos seus grupos de replicação ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhum grupo de replicação válido for encontrado, essa ação será ignorada. Observe que somente grupos de replicação com nós na AZ afetada serão considerados alvos válidos.

### Inicie o ARC Zonal Autoshift
<a name="az-availability-scenario-actions-zonal-autoshift"></a>

Cinco minutos após o início da interrupção de alimentação do AZ, a ação de recuperação desvia `aws:arc:start-zonal-autoshift` automaticamente o tráfego de recursos do AZ especificado pelos 25 minutos restantes da interrupção de energia. Após esse período, o tráfego volta para o AZ original. Observe que, durante uma interrupção de energia do AZ no mundo real, AWS detectará a deficiência e mudará o tráfego de recursos se a mudança automática estiver ativada. Embora o tempo dessa mudança varie, estima-se que ocorra cinco minutos após o início da deficiência.

Essa ação tem como alvo os recursos habilitados para o deslocamento automático do Amazon Application Recovery Controller (ARC). Por padrão, ele segmenta recursos com a chave `AzImpairmentPower` e o valor da tag`RecoverAutoshiftResources`. Você pode adicionar essa tag aos seus recursos ou substituir a tag padrão pela sua própria tag no modelo do experimento. Por exemplo, talvez você queira usar uma tag específica do aplicativo. Por padrão, se nenhum recurso válido for encontrado, essa ação será ignorada.

### Pausar E/S do EBS
<a name="az-availability-scenario-actions-pause-ebs-io"></a>

Quando a energia da AZ é restaurada após uma interrupção, uma porcentagem muito pequena de instâncias pode apresentar volumes do EBS sem resposta. AZ Availability: Power Interruption inclui [aws:ebs:pause-io](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ebs-actions-reference) para deixar um volume do EBS em um estado sem resposta.

Por padrão, somente os volumes definidos para persistir após o encerramento da instância são direcionados. Essa ação se destina a volumes com uma tag chamada `AzImpairmentPower` com um valor de `APIPauseVolume`. Você pode adicionar essa tag aos volumes ou substituir a tag padrão pela sua própria tag no modelo do experimento. Por padrão, se nenhum volume válido for encontrado, essa ação será ignorada.

### Interrompa a conectividade com buckets de diretório S3 Express One Zone
<a name="az-availability-scenario-actions-pause-network-connectivity-s3-express"></a>

Durante uma interrupção de alimentação do AZ, os dados armazenados nos buckets do diretório S3 Express One Zone no AZ não estão acessíveis. Disponibilidade do AZ: o Power Interruption inclui [aws:network:disrupt-connectivity para interromper a conectividade](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) entre sub-redes e buckets de diretório de uma zona na AZ afetada durante o experimento, resultando em tempos limite para as operações da API do plano de dados do endpoint zonal. Use essa ação para testar a interrupção quando a computação está co-localizada com o armazenamento em uma AZ.

Essa ação é voltada para sub-redes. Por padrão, ele tem como alvo sub-redes com uma tag nomeada `AzImpairmentPower` com um valor de. `DisruptSubnet` Você pode adicionar essa tag às sub-redes ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma sub-rede válida for encontrada, essa ação será ignorada.

## Limitações
<a name="az-availability-scenario-limitations"></a>
+ Esse cenário não inclui [condições de interrupção](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). As condições de interrupção corretas para a aplicação devem ser adicionadas ao modelo de experimento.
+  Na AZ de destino, os pods do Amazon EKS em execução no EC2 serão encerrados com nós de processamento do EC2 e o início de novos nós do EC2 será bloqueado. No entanto, os pods do Amazon EKS executados no AWS Fargate não são compatíveis. 
+  Na AZ de destino, as tarefas do Amazon ECS em execução no EC2 serão encerradas com nós de processamento do EC2 e o início de novos nós do EC2 será bloqueado. No entanto, as tarefas do Amazon ECS executadas no AWS Fargate não são compatíveis. 
+ [Multi-AZ do Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html#multi-az-db-clusters-migrating-to-with-read-replica) com duas instâncias de banco de dados em espera legíveis não é compatível. Nesse caso, as instâncias serão encerradas, o RDS fará um failover e a capacidade será imediatamente provisionada de volta na AZ afetada. O modo de espera legível na AZ afetada permanecerá disponível.

## Requisitos
<a name="az-availability-scenario-requirements"></a>
+ Adicione a permissão necessária à [função do AWS FIS experimento](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).
+ As tags de recursos devem ser aplicadas aos recursos que serão alvo do experimento. Eles podem usar sua própria convenção de marcação ou as tags-padrão definidas no cenário.

## Permissões
<a name="az-availability-scenario-permissions"></a>

O deslocamento automático zonal do ARC usa uma função vinculada ao serviço IAM `AWSServiceRoleForZonalAutoshiftPracticeRun` para realizar o deslocamento zonal em seu nome. Essa função usa a política gerenciada do IAM [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSZonalAutoshiftPracticeRunSLRPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSZonalAutoshiftPracticeRunSLRPolicy.html). Você não precisa criar a função manualmente. Quando você cria um modelo de experimento a partir do cenário de interrupção de energia AZ no Console de gerenciamento da AWS, no ou em um AWS SDK AWS CLI, o ARC cria a função vinculada ao serviço para você. Para obter mais informações, consulte [Usando a função vinculada ao serviço para o deslocamento automático zonal](https://docs.aws.amazon.com/r53recovery/latest/dg/using-service-linked-roles-zonal-autoshift.html) no ARC.

A política a seguir concede ao AWS FIS as permissões necessárias para executar um experimento com o cenário AZ Availability: Power Interruption. Essa política deve ser anexada ao [perfil do experimento](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowFISExperimentLoggingActionsCloudwatch",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:network-acl/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateNetworkAcl",
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkAcl",
            "Resource": "arn:aws:ec2:*:*:network-acl/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkAclEntry",
                "ec2:DeleteNetworkAcl"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:network-acl/*",
                "arn:aws:ec2:*:*:vpc/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkAcl",
            "Resource": "arn:aws:ec2:*:*:vpc/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcs",
                "ec2:DescribeManagedPrefixLists",
                "ec2:DescribeSubnets",
                "ec2:DescribeNetworkAcls"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:ReplaceNetworkAclAssociation",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:network-acl/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "rds:FailoverDBCluster"
            ],
            "Resource": [
                "arn:aws:rds:*:*:cluster:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "rds:RebootDBInstance"
            ],
            "Resource": [
                "arn:aws:rds:*:*:db:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticache:DescribeReplicationGroups",
                "elasticache:InterruptClusterAzPower"
            ],
            "Resource": [
                "arn:aws:elasticache:*:*:replicationgroup:*"
            ]
        },
        {
            "Sid": "TargetResolutionByTags",
            "Effect": "Allow",
            "Action": [
                "tag:GetResources"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": [
                "arn:aws:kms:*:*:key/*"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": "ec2.*.amazonaws.com"
                },
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVolumes"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:PauseVolumeIO"
            ],
            "Resource": "arn:aws:ec2:*:*:volume/*"
        },
        {
            "Sid": "AllowInjectAPI",
            "Effect": "Allow",
            "Action": [
                "ec2:InjectApiError"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "ec2:FisActionId": [
                        "aws:ec2:api-insufficient-instance-capacity-error",
                        "aws:ec2:asg-insufficient-instance-capacity-error"
                    ]
                }
            }
        },
        {
            "Sid": "DescribeAsg",
            "Effect": "Allow",
            "Action": [
                "autoscaling:DescribeAutoScalingGroups"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## Conteúdo do cenário
<a name="az-availability-scenario-content"></a>

O conteúdo a seguir define o cenário. Esse JSON pode ser salvo e usado para criar um [modelo de experimento](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) usando o [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)comando da AWS Command Line Interface (AWS CLI). A versão mais recente do cenário está disponível na biblioteca de cenários no console do FIS.

```
{
    "targets": {
        "IAM-role": {
            "resourceType": "aws:iam:role",
            "resourceArns": [],
            "selectionMode": "ALL"
        },
        "EBS-Volumes": {
            "resourceType": "aws:ec2:ebs-volume",
            "resourceTags": {
                "AzImpairmentPower": "ApiPauseVolume"
            },
            "selectionMode": "COUNT(1)",
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a"
            },
            "filters": [
                {
                    "path": "Attachments.DeleteOnTermination",
                    "values": [
                        "false"
                    ]
                }
            ]
        },
        "EC2-Instances": {
            "resourceType": "aws:ec2:instance",
            "resourceTags": {
                "AzImpairmentPower": "StopInstances"
            },
            "filters": [
                {
                    "path": "State.Name",
                    "values": [
                        "running"
                    ]
                },
                {
                    "path": "Placement.AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "selectionMode": "ALL"
        },
        "ASG": {
            "resourceType": "aws:ec2:autoscaling-group",
            "resourceTags": {
                "AzImpairmentPower": "IceAsg"
            },
            "selectionMode": "ALL"
        },
        "ASG-EC2-Instances": {
            "resourceType": "aws:ec2:instance",
            "resourceTags": {
                "AzImpairmentPower": "IceAsg"
            },
            "filters": [
                {
                    "path": "State.Name",
                    "values": [
                        "running"
                    ]
                },
                {
                    "path": "Placement.AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "selectionMode": "ALL"
        },
        "Subnet": {
            "resourceType": "aws:ec2:subnet",
            "resourceTags": {
                "AzImpairmentPower": "DisruptSubnet"
            },
            "filters": [
                {
                    "path": "AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "selectionMode": "ALL",
            "parameters": {}
        },
        "RDS-Cluster": {
            "resourceType": "aws:rds:cluster",
            "resourceTags": {
                "AzImpairmentPower": "DisruptRds"
            },
            "selectionMode": "ALL",
            "parameters": {
                "writerAvailabilityZoneIdentifiers": "us-east-1a"
            }
        },
        "ElastiCache-Cluster": {
            "resourceType": "aws:elasticache:replicationgroup",
            "resourceTags": {
                "AzImpairmentPower": "DisruptElasticache"
            },
            "selectionMode": "ALL",
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a"
            }
        }
    },
    "actions": {
        "Pause-Instance-Launches": {
            "actionId": "aws:ec2:api-insufficient-instance-capacity-error",
            "parameters": {
                "availabilityZoneIdentifiers": "us-east-1a",
                "duration": "PT30M",
                "percentage": "100"
            },
            "targets": {
                "Roles": "IAM-role"
            }
        },
        "Pause-EBS-IO": {
            "actionId": "aws:ebs:pause-volume-io",
            "parameters": {
                "duration": "PT30M"
            },
            "targets": {
                "Volumes": "EBS-Volumes"
            },
            "startAfter": [
                "Stop-Instances",
                "Stop-ASG-Instances"
            ]
        },
        "Stop-Instances": {
            "actionId": "aws:ec2:stop-instances",
            "parameters": {
                "completeIfInstancesTerminated": "true",
                "startInstancesAfterDuration": "PT30M"
            },
            "targets": {
                "Instances": "EC2-Instances"
            }
        },
        "Pause-ASG-Scaling": {
            "actionId": "aws:ec2:asg-insufficient-instance-capacity-error",
            "parameters": {
                "availabilityZoneIdentifiers": "us-east-1a",
                "duration": "PT30M",
                "percentage": "100"
            },
            "targets": {
                "AutoScalingGroups": "ASG"
            }
        },
        "Stop-ASG-Instances": {
            "actionId": "aws:ec2:stop-instances",
            "parameters": {
                "completeIfInstancesTerminated": "true",
                "startInstancesAfterDuration": "PT30M"
            },
            "targets": {
                "Instances": "ASG-EC2-Instances"
            }
        },
        "Pause-network-connectivity": {
            "actionId": "aws:network:disrupt-connectivity",
            "parameters": {
                "duration": "PT2M",
                "scope": "all"
            },
            "targets": {
                "Subnets": "Subnet"
            }
        },
        "Failover-RDS": {
            "actionId": "aws:rds:failover-db-cluster",
            "parameters": {},
            "targets": {
                "Clusters": "RDS-Cluster"
            }
        },
        "Pause-ElastiCache": {
            "actionId": "aws:elasticache:replicationgroup-interrupt-az-power",
            "parameters": {
                "duration": "PT30M"
            },
            "targets": {
                "ReplicationGroups": "ElastiCache-Cluster"
            }
        }
    },
    "stopConditions": [
        {
            "source": "aws:cloudwatch:alarm",
            "value": ""
        }
    ],
    "roleArn": "",
    "tags": {
        "Name": "AZ Impairment: Power Interruption"
    },
    "logConfiguration": {
        "logSchemaVersion": 2
    },
    "experimentOptions": {
        "accountTargeting": "single-account",
        "emptyTargetResolutionMode": "skip"
    },
    "description": "Affect multiple resource types in a single AZ, targeting by tags and explicit ARNs, to approximate power interruption in one AZ."
}
```

# AZ: Application Slowdown
<a name="az-application-slowdown-scenario"></a>

 Você pode usar o cenário AZ: Desaceleração do aplicativo para introduzir latência adicional entre os recursos em uma única zona de disponibilidade (AZ). Essa latência cria muitos dos sintomas de lentidão do aplicativo, uma interrupção parcial, às vezes conhecida como falha cinza. Ele adiciona latência aos fluxos de rede entre os recursos de destino. Os fluxos de rede representam o tráfego entre os recursos de computação — os pacotes de dados que transportam solicitações, respostas e outras comunicações entre seus servidores, contêineres e serviços. O cenário pode ajudar a validar as configurações de observabilidade, ajustar os limites de alarme, descobrir a sensibilidade do aplicativo à lentidão e praticar decisões operacionais críticas, como a evacuação de AZ. 

 Por padrão, o cenário adiciona 200 ms de latência a 100% dos fluxos de rede entre os recursos de destino na AZ selecionada por um período de 30 minutos. Você pode usar a caixa de diálogo **Editar parâmetros compartilhados** no console do AWS FIS para ajustar os seguintes parâmetros no nível do cenário, que então se aplicam às ações subjacentes: 
+  Zona de disponibilidade - você pode selecionar a AZ a ser prejudicada no cenário. 
+  Milissegundos (ms) de latência - ajuste isso com base na sensibilidade e nas necessidades do seu aplicativo. Você pode definir uma latência mais baixa para aplicativos mais sensíveis ou maior para testar o tratamento do tempo limite, por exemplo. Considere usar múltiplos da latência atual do seu aplicativo como base. 
+  Porcentagem de fluxos - reduza para prejudicar um subconjunto do tráfego. Por exemplo, você pode adicionar uma latência de 200 ms afetando 25% dos fluxos de rede para testes ainda mais sutis. 
+  Duração - defina por quanto tempo o experimento será executado. Você pode encurtar para testes mais rápidos ou executar testes prolongados mais longos. Por exemplo, defina a duração para 2 horas para testar seus mecanismos de recuperação em condições precárias. 
+  Direcionamento de recursos — você pode definir recursos de destino para o cenário geral usando tags (para instâncias do EC2 ou tarefas do ECS no EC2 ou Fargate) ou rótulos (para pods do EKS no EC2). Você pode especificar suas próprias tags e rótulos ou usar os padrões fornecidos no cenário. Se você não quiser usar tags ou rótulos, poderá editar a ação para direcionar recursos especificando outros parâmetros. 
+  Personalização - Se você não quiser direcionar os recursos do EC2 ou do ECS, você pode deixar as ações com as tags padrão. O experimento não encontrará nenhum recurso para direcionar e a ação será ignorada. No entanto, se você não quiser direcionar os recursos do EKS, remova completamente a ação e o destino do EKS do cenário, pois isso exige que um identificador de cluster do EKS seja fornecido. Para uma personalização ainda mais granular, você pode modificar ações individuais diretamente no modelo do experimento. 

## Ações
<a name="az-application-slowdown-scenario-actions"></a>

 Juntas, as ações a seguir ajudam a criar muitos dos sintomas de lentidão de um aplicativo em uma única AZ, introduzindo latência adicional nos fluxos de rede, que então se propagam pelo aplicativo. Essas ações são executadas paralelamente, cada uma adicionando latência de 200 ms por 30 minutos por padrão. Após esse período, a latência retorna aos níveis normais. O cenário precisa de pelo menos um dos seguintes tipos de recursos para ser executado: instância EC2, tarefa ECS ou pod EKS. 

### Latência da rede ECS
<a name="az-application-slowdown-scenario-actions-ecs-network-latency"></a>

 AZ: A desaceleração do aplicativo inclui [aws:ecs: task-network-latency](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#task-network-latency) para introduzir latência nas tarefas do ECS. A ação tem como alvo tarefas na AZ selecionada. Por padrão, ele direciona tarefas com uma [tag](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) nomeada `AZApplicationSlowdown` com um valor de`LatencyForECS`. Você pode substituir a tag padrão pela sua própria ou adicionar a tag de cenário às suas tarefas. Se nenhuma tarefa válida for encontrada, essa ação será ignorada. Antes de executar um experimento no ECS, você deve seguir as [etapas de configuração das ações de tarefas do ECS.](https://docs.aws.amazon.com/fis/latest/userguide/ecs-task-actions.html) 

### Latência da rede EKS
<a name="az-application-slowdown-scenario-actions-eks-network-latency"></a>

 AZ: A desaceleração do aplicativo inclui [aws:eks: pod-network-latency](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#pod-network-latency) para introduzir latência nos pods EKS. A ação tem como alvo pods na AZ selecionada. Por padrão, ele tem como alvo pods dentro de um cluster que têm rótulos com o formato key=value. O rótulo padrão fornecido é`AZApplicationSlowdown=LatencyForEKS`. Você pode substituir o rótulo padrão pelo seu próprio ou adicionar esse rótulo aos seus pods. Se nenhum pod válido for encontrado, essa ação será ignorada. Antes de realizar um experimento no EKS, você deve seguir as [etapas de configuração das ações do pod EKS](https://docs.aws.amazon.com/fis/latest/userguide/eks-pod-actions.html). 

### Latência de rede EC2
<a name="az-application-slowdown-scenario-actions-ec2-network-latency"></a>

 [AZ: O Application Slowdown usa a ação [aws:ssm:send-command para executar o documento -Network-Latency-Sources](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ssm-send-command) para introduzir a latência nas instâncias do EC2AWSFIS-Run.](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html#awsfis-run-network-latency-sources) A ação tem como alvo instâncias na AZ selecionada. Por padrão, ele tem como alvo instâncias com uma [tag](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nomeada `AZApplicationSlowdown` com um valor de`LatencyForEC2`. Você pode substituir a tag padrão pela sua própria ou adicionar essa tag às suas instâncias. Se nenhuma instância válida for encontrada, essa ação será ignorada. Antes de executar um experimento no EC2 usando SSM, você deve [configurar o agente do AWS Systems Manager](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html). 

## Limitações
<a name="az-application-slowdown-scenario-limitations"></a>
+  Esse cenário não inclui [condições de interrupção](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). As condições de interrupção corretas para a aplicação devem ser adicionadas ao modelo de experimento. 

## Requisitos
<a name="az-application-slowdown-scenario-requirements"></a>
+  Adicione as permissões necessárias à [função experimental](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) do AWS FIS. 
+  Você precisa direcionar um ou mais recursos de qualquer um dos três tipos a seguir na AZ selecionada: instâncias do EC2, tarefas do ECS ou pods do EKS. 
+  Todos os alvos do cenário devem estar na mesma VPC. 

## Permissões
<a name="az-application-slowdown-scenario-permissions"></a>

 Para executar esse cenário, você precisa de uma função do IAM com uma política de confiança que permita ao FIS assumir a função e as políticas gerenciadas para os tipos de recursos que você almeja no experimento: EC2, ECS e EKS. Quando você cria um modelo de experimento a partir do cenário AZ: Desaceleração do aplicativo, o FIS cria a função para você com a política de confiança e as seguintes políticas gerenciadas pela AWS: 
+  [AWSFaultInjectionSimulatorEC2Acesso](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorEC2Access) 
+  [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorECSAccess) 
+  [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorEKSAccess) 

 Se você estiver usando uma [função do IAM](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) existente para executar o cenário AZ: Desaceleração do aplicativo, você pode anexar a seguinte política para conceder ao AWS FIS as permissões necessárias: 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeTasks",
            "Effect": "Allow",
            "Action": "ecs:DescribeTasks",
            "Resource": "*"
        },
        {
            "Sid": "DescribeContainerInstances",
            "Effect": "Allow",
            "Action": "ecs:DescribeContainerInstances",
            "Resource": "arn:aws:ecs:*:*:container-instance/*/*"
        },
        {
            "Sid": "DescribeInstances",
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        },
        {
            "Sid": "DescribeSubnets",
            "Effect": "Allow",
            "Action": "ec2:DescribeSubnets",
            "Resource": "*"
        },
        {
            "Sid": "DescribeCluster",
            "Effect": "Allow",
            "Action": "eks:DescribeCluster",
            "Resource": "arn:aws:eks:*:*:cluster/*"
        },
        {
            "Sid": "TargetResolutionByTags",
            "Effect": "Allow",
            "Action": "tag:GetResources",
            "Resource": "*"
        },
        {
            "Sid": "SendCommand",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ssm:*:*:managed-instance/*",
                "arn:aws:ssm:*:*:document/*"
            ]
        },
        {
            "Sid": "ListCommands",
            "Effect": "Allow",
            "Action": [
                "ssm:ListCommands"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CancelCommand",
            "Effect": "Allow",
            "Action": [
                "ssm:CancelCommand"
            ],
            "Resource": "*"
        }
    ]
}
```

## Conteúdo do cenário
<a name="az-application-slowdown-scenario-content"></a>

 O conteúdo a seguir define o cenário. Esse JSON pode ser salvo e usado para criar um [modelo de experimento](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) usando o [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)comando da AWS Command Line Interface (AWS CLI). Para obter a versão mais recente do cenário, visite a biblioteca de cenários no console FIS e acesse a guia **Conteúdo**. 

```
{
    "tags": {
        "Name": "AZ: Application Slowdown"
    },
    "description": "Add latency between resources within a single AZ.",
    "actions": {
        "LatencyForEKS": {
            "actionId": "aws:eks:pod-network-latency",
            "parameters": {
                "delayMilliseconds": "200",
                "duration": "PT30M",
                "flowsPercent": "100",
                "interface": "DEFAULT",
                "kubernetesServiceAccount": "fis-service-account",
                "sources": "us-east-1a"
            },
            "targets": {
                "Pods": "TargetsForEKS"
            }
        },
        "LatencyForEC2": {
            "actionId": "aws:ssm:send-command",
            "parameters": {
                "duration": "PT30M",
                "documentArn": "arn:aws:ssm:us-east-1::document/AWSFIS-Run-Network-Latency-Sources",
                "documentParameters": "{\"DelayMilliseconds\":\"200\",\"Sources\":\"us-east-1a\",\"Interface\":\"DEFAULT\",\"TrafficType\":\"egress\",\"DurationSeconds\":\"1800\",\"FlowsPercent\":\"100\",\"InstallDependencies\":\"True\"}"
            },
            "targets": {
                "Instances": "TargetsForEC2"
            }
        },
        "LatencyForECS": {
            "actionId": "aws:ecs:task-network-latency",
            "parameters": {
                "delayMilliseconds": "200",
                "duration": "PT30M",
                "flowsPercent": "100",
                "installDependencies": "true",
                "sources": "us-east-1a",
                "useEcsFaultInjectionEndpoints": "true"
            },
            "targets": {
                "Tasks": "TargetsForECS"
            },
            "startAfter": []
        }
    },
    "targets": {
        "TargetsForEKS": {
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a",
                "clusterIdentifier": "",
                "namespace": "default",
                "selectorType": "labelSelector",
                "selectorValue": "AZApplicationSlowdown=LatencyForEKS"
            },
            "resourceType": "aws:eks:pod",
            "selectionMode": "ALL"
        },
        "TargetsForEC2": {
            "filters": [
                {
                    "path": "Placement.AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "resourceTags": {
                "AZApplicationSlowdown": "LatencyForEC2"
            },
            "resourceType": "aws:ec2:instance",
            "selectionMode": "ALL"
        },
        "TargetsForECS": {
            "filters": [
                {
                    "path": "AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "resourceTags": {
                "AZApplicationSlowdown": "LatencyForECS"
            },
            "resourceType": "aws:ecs:task",
            "selectionMode": "ALL"
        }
    },
    "experimentOptions": {
        "accountTargeting": "single-account",
        "emptyTargetResolutionMode": "skip"
    },
    "stopConditions": [
        {
            "source": "none"
        }
    ]
}
```

# Cross-AZ: Traffic Slowdown
<a name="cross-az-traffic-slowdown-scenario"></a>

 Você pode usar o cenário Cross-AZ: Traffic Slowdown para injetar perda de pacotes para interromper e diminuir a velocidade do tráfego entre as zonas de disponibilidade (). AZs A perda de pacotes prejudica a comunicação entre AZ, uma interrupção parcial, às vezes conhecida como falha cinza. Ele injeta perda de pacotes nos fluxos de rede entre os recursos de destino. Os fluxos de rede representam o tráfego entre os recursos de computação — os pacotes de dados que transportam solicitações, respostas e outras comunicações entre seus servidores, contêineres e serviços. O cenário pode ajudar a validar as configurações de observabilidade, ajustar os limites de alarme, descobrir a sensibilidade e as dependências do aplicativo na comunicação entre AZ e praticar decisões operacionais críticas, como a evacuação de AZ. 

 Por padrão, o cenário injeta 15% de perda de pacotes em 100% dos fluxos de rede de saída para os recursos de destino da AZ selecionada por um período de 30 minutos. Você pode usar a caixa de diálogo **Editar parâmetros compartilhados** no console do AWS FIS para ajustar os seguintes parâmetros no nível do cenário, que então se aplicam às ações subjacentes: 
+  Zona de disponibilidade - você pode selecionar a AZ a ser prejudicada, e a perda de pacotes será injetada dessa AZ para outra AZs dentro da região. 
+  Perda de pacotes - ajuste a perda de pacotes para testes sutis de interrupção, como 5%, ou mais, para testar mecanismos graves de degradação e recuperação da comunicação, como 50% ou até 100%, para verificar o impacto total da conectividade. 
+  Porcentagem de fluxos - reduza para prejudicar um subconjunto do tráfego. Por exemplo, você pode injetar 15% de perda de pacotes afetando 25% dos fluxos de rede para testes ainda mais sutis. 
+  Duração - defina por quanto tempo o experimento será executado. Você pode encurtar para testes mais rápidos ou executar testes prolongados mais longos. Por exemplo, defina a duração para 2 horas para ajudar a testar os mecanismos de recuperação em condições precárias. 
+  Direcionamento de recursos — você pode definir recursos de destino para o cenário geral usando tags (para instâncias do EC2 ou tarefas do ECS no EC2 ou Fargate) ou rótulos (para pods do EKS no EC2). Você pode especificar suas próprias tags e rótulos ou usar os padrões fornecidos no cenário. Se você não quiser usar tags ou rótulos, poderá editar a ação para direcionar recursos especificando outros parâmetros. 
+  Personalização - Se você não quiser direcionar os recursos do EC2 ou do ECS, você pode deixar as ações com as tags padrão. O experimento não encontrará nenhum recurso para direcionar e a ação será ignorada. No entanto, se você não quiser direcionar os recursos do EKS, remova completamente a ação e o destino do EKS do cenário, pois isso exige que um identificador de cluster do EKS seja fornecido. Para uma personalização ainda mais granular, você pode modificar ações individuais diretamente no modelo do experimento. 

## Ações
<a name="cross-az-traffic-slowdown-scenario-actions"></a>

 Juntas, as ações a seguir ajudam a criar os sintomas de uma desaceleração do tráfego entre as AZs, introduzindo a perda de pacotes na comunicação de saída da AZ de destino para outras AZs na região na camada de rede. Essas ações são executadas paralelamente, cada uma injetando 15% de perda de pacotes por 30 minutos por padrão. Após esse período, a comunicação volta ao normal. O cenário precisa de pelo menos um dos seguintes tipos de recursos na AZ selecionada para ser executado: instância EC2, tarefa ECS ou pod EKS. 

### Perda de pacotes de rede ECS
<a name="cross-az-traffic-slowdown-scenario-actions-ecs-network-packet-loss"></a>

 Cross-AZ: A desaceleração do tráfego inclui [aws:ecs: task-network-packet-loss para injetar perda de pacotes](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#task-network-packet-loss) para tarefas do ECS. A ação visa tarefas na AZ selecionada e prejudica sua comunicação externa com todas as outras AZs na região. Você pode personalizar ainda mais o escopo do impacto editando a ação e adicionando ou removendo AZs do `Sources` campo. Por padrão, ele direciona tarefas com uma [tag](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) nomeada `CrossAZTrafficSlowdown` com um valor de`PacketLossForECS`. Você pode substituir a tag padrão pela sua própria ou adicionar a tag de cenário às suas tarefas. Se nenhuma tarefa válida for encontrada, essa ação será ignorada. Antes de executar um experimento no ECS, você deve seguir as [etapas de configuração das ações de tarefas do ECS.](https://docs.aws.amazon.com/fis/latest/userguide/ecs-task-actions.html) 

### Perda de pacotes de rede EKS
<a name="cross-az-traffic-slowdown-scenario-actions-eks-network-packet-loss"></a>

 Cross-AZ: A desaceleração do tráfego inclui [aws:eks: pod-network-packet-loss](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#pod-network-packet-loss) para injetar perda de pacotes em pods EKS. A ação tem como alvo os pods na AZ selecionada e prejudica sua comunicação de saída com todas as outras AZs na região. Você pode personalizar ainda mais o escopo do impacto editando a ação e adicionando ou removendo AZs do `Sources` campo. Por padrão, ele tem como alvo pods dentro de um cluster que têm rótulos com o formato key=value. O rótulo padrão fornecido é`CrossAZTraffic=PacketLossForEKS`. Você pode substituir o rótulo padrão pelo seu próprio ou adicionar esse rótulo aos seus pods. Se nenhum pod válido for encontrado, essa ação será ignorada. Antes de realizar um experimento no EKS, você deve seguir as [etapas de configuração das ações do pod EKS](https://docs.aws.amazon.com/fis/latest/userguide/eks-pod-actions.html). 

### Perda de pacotes de rede EC2
<a name="cross-az-traffic-slowdown-scenario-actions-ec2-network-packet-loss"></a>

 Cross-AZ: Traffic Slowdown usa a ação [aws:ssm:send-command para executar o documento AWSFIS-Run -Network-Packet-Loss-Sources](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ssm-send-command) [para injetar perda de pacotes](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html#awsfis-run-network-packet-loss-sources) para instâncias do EC2 e prejudica sua comunicação de saída com todas as outras na região. AZs Você pode personalizar ainda mais o escopo do impacto editando a ação e adicionando ou removendo AZs do `Sources` campo. A ação tem como alvo instâncias na AZ selecionada. Por padrão, ele tem como alvo instâncias com uma [tag](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nomeada `CrossAZTrafficSlowdown` com um valor de`PacketLossForEC2`. Você pode substituir a tag padrão pela sua própria ou adicionar essa tag às suas instâncias. Se nenhuma instância válida for encontrada, essa ação será ignorada. Antes de executar um experimento no EC2 usando SSM, você deve [configurar o agente do AWS Systems Manager](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html). 

## Limitações
<a name="cross-az-traffic-slowdown-scenario-limitations"></a>
+  Esse cenário não inclui [condições de interrupção](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). As condições de interrupção corretas para a aplicação devem ser adicionadas ao modelo de experimento. 

## Requisitos
<a name="cross-az-traffic-slowdown-scenario-requirements"></a>
+  Adicione as permissões necessárias à [função experimental](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) do AWS FIS. 
+  Você precisa direcionar um ou mais recursos de qualquer um dos três tipos a seguir na AZ selecionada: instâncias do EC2, tarefas do ECS ou pods do EKS. 
+  Todos os alvos do cenário devem estar na mesma VPC. 

## Permissões
<a name="cross-az-traffic-slowdown-scenario-permissions"></a>

 Para executar esse cenário, você precisa de uma função do IAM com uma política de confiança que permita ao FIS assumir a função e as políticas gerenciadas para os tipos de recursos que você almeja no experimento: EC2, ECS e EKS. Quando você cria um modelo de experimento a partir do cenário Cross-AZ: Traffic Slowdown, a FIS cria a função para você com a política de confiança e as seguintes políticas gerenciadas pela AWS: 
+  [AWSFaultInjectionSimulatorEC2Acesso](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorEC2Access) 
+  [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorECSAccess) 
+  [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/fis/latest/userguide/security-iam-awsmanpol.html#AWSFaultInjectionSimulatorEKSAccess) 

 Se você estiver usando uma [função do IAM](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) existente para executar o cenário Cross-AZ: Traffic Slowdown, você pode anexar a seguinte política para conceder ao AWS FIS as permissões necessárias: 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DescribeTasks",
            "Effect": "Allow",
            "Action": "ecs:DescribeTasks",
            "Resource": "*"
        },
        {
            "Sid": "DescribeContainerInstances",
            "Effect": "Allow",
            "Action": "ecs:DescribeContainerInstances",
            "Resource": "arn:aws:ecs:*:*:container-instance/*/*"
        },
        {
            "Sid": "DescribeInstances",
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        },
        {
            "Sid": "DescribeSubnets",
            "Effect": "Allow",
            "Action": "ec2:DescribeSubnets",
            "Resource": "*"
        },
        {
            "Sid": "DescribeCluster",
            "Effect": "Allow",
            "Action": "eks:DescribeCluster",
            "Resource": "arn:aws:eks:*:*:cluster/*"
        },
        {
            "Sid": "TargetResolutionByTags",
            "Effect": "Allow",
            "Action": "tag:GetResources",
            "Resource": "*"
        },
        {
            "Sid": "SendCommand",
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ssm:*:*:managed-instance/*",
                "arn:aws:ssm:*:*:document/*"
            ]
        },
        {
            "Sid": "ListCommands",
            "Effect": "Allow",
            "Action": [
                "ssm:ListCommands"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CancelCommand",
            "Effect": "Allow",
            "Action": [
                "ssm:CancelCommand"
            ],
            "Resource": "*"
        }
    ]
}
```

## Conteúdo do cenário
<a name="cross-az-traffic-slowdown-scenario-content"></a>

 O conteúdo a seguir define o cenário. Esse JSON pode ser salvo e usado para criar um [modelo de experimento](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) usando o [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)comando da AWS Command Line Interface (AWS CLI). Para obter a versão mais recente do cenário, visite a biblioteca de cenários no console FIS e acesse a guia **Conteúdo**. 

```
{
    "tags": {
        "Name": "Cross-AZ: Traffic Slowdown"
    },
    "description": "Inject packet loss to disrupt and slow down traffic between AZs.",
    "actions": {
        "PacketLossForEC2": {
            "actionId": "aws:ssm:send-command",
            "parameters": {
                "duration": "PT30M",
                "documentArn": "arn:aws:ssm:us-east-1::document/AWSFIS-Run-Network-Packet-Loss-Sources",
                "documentParameters": "{\"Sources\":\"us-east-1b,us-east-1c,us-east-1d,us-east-1e,us-east-1f\",\"LossPercent\":\"15\",\"Interface\":\"DEFAULT\",\"TrafficType\":\"egress\",\"DurationSeconds\":\"1800\",\"FlowsPercent\":\"100\",\"InstallDependencies\":\"True\"}"
            },
            "targets": {
                "Instances": "TargetsForEC2"
            }
        },
        "PacketLossForECS": {
            "actionId": "aws:ecs:task-network-packet-loss",
            "parameters": {
                "sources": "us-east-1b,us-east-1c,us-east-1d,us-east-1e,us-east-1f",
                "lossPercent": "15",
                "duration": "PT30M",
                "flowsPercent": "100",
                "installDependencies": "true",
                "useEcsFaultInjectionEndpoints": "true"
            },
            "targets": {
                "Tasks": "TargetsForECS"
            }
        },
        "PacketLossForEKS": {
            "actionId": "aws:eks:pod-network-packet-loss",
            "parameters": {
                "sources": "us-east-1b,us-east-1c,us-east-1d,us-east-1e,us-east-1f",
                "lossPercent": "15",
                "duration": "PT30M",
                "flowsPercent": "100",
                "interface": "DEFAULT",
                "kubernetesServiceAccount": "fis-service-account"
            },
            "targets": {
                "Pods": "TargetsForEKS"
            }
        }
    },
    "targets": {
        "TargetsForEC2": {
            "filters": [
                {
                    "path": "Placement.AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "resourceTags": {
                "CrossAZTrafficSlowdown": "PacketLossForEC2"
            },
            "resourceType": "aws:ec2:instance",
            "selectionMode": "ALL"
        },
        "TargetsForECS": {
            "filters": [
                {
                    "path": "AvailabilityZone",
                    "values": [
                        "us-east-1a"
                    ]
                }
            ],
            "resourceTags": {
                "CrossAZTrafficSlowdown": "PacketLossForECS"
            },
            "resourceType": "aws:ecs:task",
            "selectionMode": "ALL"
        },
        "TargetsForEKS": {
            "parameters": {
                "availabilityZoneIdentifier": "us-east-1a",
                "clusterIdentifier": "",
                "namespace": "default",
                "selectorType": "labelSelector",
                "selectorValue": "CrossAZTrafficSlowdown=PacketLossForEKS"
            },
            "resourceType": "aws:eks:pod",
            "selectionMode": "ALL"
        }
    },
    "experimentOptions": {
        "accountTargeting": "single-account",
        "emptyTargetResolutionMode": "skip"
    },
    "stopConditions": [
        {
            "source": "none"
        }
    ]
}
```

# Cross-Region: Connectivity
<a name="cross-region-scenario"></a>

Você pode usar o Cross-Region: Connectivity cenário para bloquear o tráfego de rede de aplicativos da região do experimento para a região de destino e pausar a replicação entre regiões para tabelas globais multirregionais do Amazon S3 e do Amazon DynamoDB. Região cruzada: a conectividade afeta o tráfego de saída da aplicação da região na qual você executa o experimento (*região do experimento*). O tráfego de entrada sem estado da região que você deseja isolar da *região do experimento* (*região de destino*) pode não estar bloqueado. O tráfego dos serviços gerenciados da AWS pode não estar bloqueado.

Esse cenário pode ser usado para demonstrar que as aplicações multirregionais operam conforme o esperado quando os recursos na região de destino não estão acessíveis pela região do experimento. Isso inclui bloquear o tráfego de rede da região do experimento para a região de destino, visando gateways de trânsito e tabelas de rotas. Ele também pausa a replicação entre regiões para tabelas globais do S3 e do DynamoDB. Por padrão, as ações para as quais nenhum destino foi encontrado serão ignoradas.

## Ações
<a name="cross-region-scenario-actions"></a>

Juntas, as ações a seguir bloqueiam a conectividade entre regiões para os serviços da AWS incluídos. As ações são executadas em paralelo. Por padrão, o cenário bloqueia o tráfego por três horas, o que você pode aumentar até uma duração máxima de 12 horas.

### Interrupção da conectividade do gateway de trânsito
<a name="cross-region-scenario-actions-disrupt-transit-gateway-connectivity"></a>

Cross Region: Connectivityinclui [aws:network: transit-gateway-disrupt-cross -region-connectivity](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) para bloquear o tráfego de rede entre regiões da região do *experimento até VPCs a VPCs região* de *destino* conectada por um gateway de trânsito. Isso não afeta o acesso aos endpoints da VPC na *região do experimento*, mas bloqueará o tráfego da *região do experimento* destinado a um endpoint da VPC na *região de destino*.

Essa ação é voltada aos gateways de trânsito que conectam a *região do experimento* e a *região de destino*. Por padrão, ela é voltada para gateways de trânsito com uma [tag](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#tgw-tagging) chamada `DisruptTransitGateway` com um valor de `Allowed`. Você pode adicionar essa tag aos gateways de trânsito ou substituir a tag padrão pela sua própria tag no modelo do experimento. Por padrão, se nenhum gateway de trânsito válido for encontrado, essa ação será ignorada.

### Interromper a conectividade da sub-rede
<a name="cross-region-scenario-actions-disrupt-subnet-connectivity"></a>

Cross Region: Connectivity*inclui [aws:network: route-table-disrupt-cross -region-connectivity](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) para bloquear o tráfego de rede entre regiões da região do experimento *para blocos IP públicos da AWS VPCs na região* de destino.* Esses blocos de IP público incluem endpoints de serviço da AWS na *região de destino*, por exemplo, o endpoint regional do S3, e blocos de IP da AWS para serviços gerenciados, por exemplo, os endereços IP usados para balanceadores de carga e o Amazon API Gateway. Essa ação também bloqueia a conectividade de rede em conexões de emparelhamento de VPC entre regiões da *região do experimento* até a *região de destino*. Isso não afeta o acesso aos endpoints da VPC na *região do experimento*, mas bloqueará o tráfego da *região do experimento* destinado a um endpoint da VPC na *região de destino*.

Essa ação é voltada para sub-redes na região do experimento. Por padrão, ela é voltada para sub-redes com uma [tag](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) chamada `DisruptSubnet` com um valor de `Allowed`. Você pode adicionar essa tag às sub-redes ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma sub-rede válida for encontrada, essa ação será ignorada.

### Interrompa a conectividade do VPC Endpoint
<a name="cross-region-scenario-actions-disrupt-vpc-endpoint-connectivity"></a>

Cross Region: Connectivityinclui [aws:network: disrupt-vpc-endpoint](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) interrompa a conectividade com um serviço associado aos endpoints VPC de destino. Por exemplo, se um VPC endpoint criar um link privado para com.amazonaws.us-east-1.ec2, a conectividade com esse serviço será interrompida.

Essa ação tem como alvo os endpoints do VPC na região do experimento. Por padrão, ele tem como alvo os endpoints VPC da interface com uma [tag](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nomeada DisruptVpcEndpoint com um valor. `Allowed` Você pode adicionar essa tag aos seus VPC endpoints ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhum VPC endpoint válido for encontrado, essa ação será ignorada.

### Pausar a replicação do S3
<a name="cross-region-scenario-actions-pause-s3-replication"></a>

Cross Region: Connectivityinclui [aws:s3: bucket-pause-replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#s3-actions-reference-fis) para pausar a replicação do S3 da região do *experimento para a região* de destino dos buckets de *destino*. A replicação da *região de destino* para a *região do experimento* não será afetada. Depois que o cenário terminar, a replicação do bucket será retomada a partir do ponto em que foi pausada. Observe que o tempo necessário para a replicação manter todos os objetos sincronizados variará com base na duração do experimento e na taxa de upload do objeto para o bucket.

Essa ação é voltada para os buckets do S3 na região do experimento com a [replicação entre regiões](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) (CRR) habilitada para um bucket do S3 na região de destino. Por padrão, ela é voltada para buckets com uma [tag](https://docs.aws.amazon.com/AmazonS3/latest/userguide/view-bucket-properties.html) chamada `DisruptS3` com um valor de `Allowed`. Você pode adicionar essa tag aos buckets ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhum bucket válido for encontrado, essa ação será ignorada.

### Pausar a replicação do DynamoDB
<a name="cross-region-scenario-actions-pause-dynamodb-replication"></a>

Cross-Region: Connectivityinclui [aws:dynamodb: global-table-pause-replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#dynamodb-actions-reference) para pausar a replicação entre a região do experimento e todas as outras regiões, incluindo a região de destino. Isso evita a replicação para dentro e para fora da *região do experimento*, mas não afeta a replicação entre outras regiões. Depois que o cenário terminar, a replicação da tabela será retomada a partir do ponto em que foi pausada. Observe que o tempo necessário para a replicação manter todos os dados sincronizados variará com base na duração do experimento e na taxa de alterações na tabela.

Essa ação tem como alvo tanto o DynamoDB Multi-region quanto, eventualmente, tabelas globais consistentes na região do experimento. Por padrão, ela é voltada para tabelas com uma [tag](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) chamada `DisruptDynamoDb` com um valor de `Allowed`. Você pode adicionar essa tag às tabelas ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhuma tabela global válida for encontrada, essa ação será ignorada.

### Pausar a replicação multirregional do MemoryDB
<a name="cross-region-scenario-actions-pause-memorydb-multi-region-replication"></a>

Cross-Region: Connectivityinclui [aws:memorydb: multi-region-cluster-pause -replication para pausar a replicação](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#memorydb-actions-reference) do cluster membro regional na região do experimento para o resto dos clusters no cluster multirregional de destino. A replicação entre outros clusters de membros regionais não será afetada. Depois que o cenário terminar, a replicação será retomada a partir do ponto em que foi pausada. Observe que o tempo de replicação para sincronizar dados entre os clusters membros variará com base na duração do experimento e na taxa de dados gravados nos clusters.

Essa ação tem como alvo clusters multirregionais do MemoryDB com um membro regional na região do experimento. Por padrão, ele tem como alvo clusters multirregionais com uma [tag](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) nomeada `DisruptMemoryDB` com um valor de`Allowed`. Você pode adicionar essa tag aos seus clusters multirregionais ou substituir a tag padrão pela sua própria tag no modelo de experimento. Por padrão, se nenhum cluster válido for encontrado, essa ação será ignorada.

## Limitações
<a name="cross-region-scenario-limitations"></a>
+ Esse cenário não inclui [condições de interrupção](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). As condições de interrupção corretas para a aplicação devem ser adicionadas ao modelo de experimento.

## Requisitos
<a name="cross-region-scenario-requirements"></a>
+ Adicione a permissão necessária ao [perfil do experimento](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) do AWS FIS.
+ As tags de recursos devem ser aplicadas aos recursos que serão alvo do experimento. Eles podem usar sua própria convenção de marcação ou as tags-padrão definidas no cenário.

## Permissões
<a name="cross-region-scenario-permissions"></a>

A política a seguir concede ao AWS FIS as permissões necessárias para executar um experimento com o cenário Cross-Region: Connectivity. Essa política deve ser anexada ao [perfil do experimento](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RouteTableDisruptConnectivity1",
            "Effect": "Allow",
            "Action": "ec2:CreateRouteTable",
            "Resource": "arn:aws:ec2:*:*:route-table/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity2",
            "Effect": "Allow",
            "Action": "ec2:CreateRouteTable",
            "Resource": "arn:aws:ec2:*:*:vpc/*"
        },
        {
            "Sid": "RouteTableDisruptConnectivity21",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:route-table/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateRouteTable",
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity3",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateNetworkInterface",
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity4",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:prefix-list/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateManagedPrefixList",
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity5",
            "Effect": "Allow",
            "Action": "ec2:DeleteRouteTable",
            "Resource": [
                "arn:aws:ec2:*:*:route-table/*",
                "arn:aws:ec2:*:*:vpc/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity6",
            "Effect": "Allow",
            "Action": "ec2:CreateRoute",
            "Resource": "arn:aws:ec2:*:*:route-table/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity7",
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkInterface",
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity8",
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkInterface",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        },
        {
            "Sid": "RouteTableDisruptConnectivity9",
            "Effect": "Allow",
            "Action": "ec2:DeleteNetworkInterface",
            "Resource": "arn:aws:ec2:*:*:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity10",
            "Effect": "Allow",
            "Action": "ec2:CreateManagedPrefixList",
            "Resource": "arn:aws:ec2:*:*:prefix-list/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity11",
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteManagedPrefixList",
                "ec2:ModifyManagedPrefixList"
            ],
            "Resource": "arn:aws:ec2:*:*:prefix-list/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "EC2DescribeResources",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpcPeeringConnections",
                "ec2:DescribeManagedPrefixLists",
                "ec2:DescribeSubnets",
                "ec2:DescribeRouteTables",
                "ec2:DescribeVpcEndpoints",
                "ec2:DescribeTransitGatewayPeeringAttachments",
                "ec2:DescribeTransitGatewayAttachments",
                "ec2:DescribeTransitGateways",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RouteTableDisruptConnectivity14",
            "Effect": "Allow",
            "Action": "ec2:ReplaceRouteTableAssociation",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:route-table/*"
            ]
        },
        {
            "Sid": "RouteTableDisruptConnectivity15",
            "Effect": "Allow",
            "Action": "ec2:GetManagedPrefixListEntries",
            "Resource": "arn:aws:ec2:*:*:prefix-list/*"
        },
        {
            "Sid": "RouteTableDisruptConnectivity16",
            "Effect": "Allow",
            "Action": "ec2:AssociateRouteTable",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:route-table/*"
            ]
        },
        {
            "Sid": "RouteTableDisruptConnectivity17",
            "Effect": "Allow",
            "Action": "ec2:DisassociateRouteTable",
            "Resource": "arn:aws:ec2:*:*:route-table/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "RouteTableDisruptConnectivity18",
            "Effect": "Allow",
            "Action": "ec2:DisassociateRouteTable",
            "Resource": "arn:aws:ec2:*:*:subnet/*"
        },
        {
            "Sid": "RouteTableDisruptConnectivity19",
            "Effect": "Allow",
            "Action": "ec2:ModifyVpcEndpoint",
            "Resource": "arn:aws:ec2:*:*:route-table/*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "TransitGatewayDisruptConnectivity1",
            "Effect": "Allow",
            "Action": [
                "ec2:DisassociateTransitGatewayRouteTable",
                "ec2:AssociateTransitGatewayRouteTable"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:transit-gateway-route-table/*",
                "arn:aws:ec2:*:*:transit-gateway-attachment/*"
            ]
        },
        {
            "Sid": "S3CrossRegion1",
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        },
        {
            "Sid": "S3CrossRegion3",
            "Effect": "Allow",
            "Action": "s3:PauseReplication",
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "StringLike": {
                    "s3:DestinationRegion": "*"
                }
            }
        },
        {
            "Sid": "S3CrossRegion4",
            "Effect": "Allow",
            "Action": [
                "s3:GetReplicationConfiguration",
                "s3:PutReplicationConfiguration"
            ],
            "Resource": "arn:aws:s3:::*",
            "Condition": {
                "BoolIfExists": {
                    "s3:isReplicationPauseRequest": "true"
                }
            }
        },
        {
            "Sid": "DynamoDbPauseReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:DescribeTable",
                "dynamodb:PutResourcePolicy",
                "dynamodb:GetResourcePolicy",
                "dynamodb:DeleteResourcePolicy"
            ],
            "Resource": [
                "arn:aws:dynamodb:*:*:table/*"
            ]
        },
        {
            "Sid": "DynamoDbMrscPauseReplication",
            "Effect": "Allow",
            "Action": [
                "dynamodb:InjectError"
            ],
            "Resource": ["*"]
        },
        {
            "Sid": "ResolveResourcesViaTags",
            "Effect": "Allow",
            "Action": "tag:GetResources",
            "Resource": "*"
        },
        {
            "Sid": "MemDbCrossRegion",
            "Effect": "Allow",
            "Action": [
                "memorydb:DescribeMultiRegionClusters",
                "memorydb:PauseMultiRegionClusterReplication"
            ],
            "Resource": [
                "arn:aws:memorydb::*:multiregioncluster/*"
            ]
        },
        {
            "Sid": "DisruptVPCE1",
            "Effect": "Allow",
            "Action": "ec2:CreateSecurityGroup",
            "Resource": [
                "arn:aws:ec2:*:*:vpc/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        },
        {
            "Sid": "DisruptVPCE2",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "arn:aws:ec2:*:*:security-group/*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateSecurityGroup",
                    "aws:RequestTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "DisruptVPCE3",
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteSecurityGroup",
                "ec2:RevokeSecurityGroupEgress"
            ],
            "Resource": "arn:aws:ec2:*:*:security-group/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/managedByFIS": "true"
                }
            }
        },
        {
            "Sid": "DisruptVPCE4",
            "Effect": "Allow",
            "Action": "vpce:AllowMultiRegion",
            "Resource": "arn:aws:ec2:*:*:vpc-endpoint/*"
        },
        {
            "Sid": "ModifyVPCE",
            "Effect": "Allow",
            "Action": "ec2:ModifyVpcEndpoint",
            "Resource": [
                "arn:aws:ec2:*:*:vpc-endpoint/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

## Conteúdo do cenário
<a name="cross-region-scenario-content"></a>

O conteúdo a seguir define o cenário. Esse JSON pode ser salvo e usado para criar um [modelo de experimento](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) usando o [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)comando da AWS Command Line Interface (AWS CLI). A versão mais recente do cenário está disponível na biblioteca de cenários no console do FIS.

```
{
        "targets": {
                "Transit-Gateway": {
                        "resourceType": "aws:ec2:transit-gateway",
                        "resourceTags": {
                                "TgwTag": "TgwValue"
                        },
                        "selectionMode": "ALL"
                },
                "Subnet": {
                        "resourceType": "aws:ec2:subnet",
                        "resourceTags": {
                                "SubnetKey": "SubnetValue"
                        },
                        "selectionMode": "ALL",
                        "parameters": {}
                },
                "VPC-Endpoint": {
                    "resourceType": "aws:ec2:vpc-endpoint",
                    "resourceTags": {
                        "DisruptPrivateLink": "Allowed"
                    },
                    "selectionMode": "ALL"
                },
                "S3-Bucket": {
                        "resourceType": "aws:s3:bucket",
                        "resourceTags": {
                                "S3Impact": "Allowed"
                        },
                        "selectionMode": "ALL"
                },
                "DynamoDB-Global-Table": {
                        "resourceType": "aws:dynamodb:global-table",
                        "resourceTags": {
                                "DisruptDynamoDb": "Allowed"
                        },
                        "selectionMode": "ALL"
                },
                "MemoryDB-Multi-Region-Cluster": {
                    "resourceType": "aws:memorydb:multi-region-cluster",
                    "resourceTags": {
                        "DisruptMemoryDb": "Allowed"
                    },
                    "selectionMode": "ALL"
                }
        },
        "actions": {
                "Disrupt-Transit-Gateway-Connectivity": {
                        "actionId": "aws:network:transit-gateway-disrupt-cross-region-connectivity",
                        "parameters": {
                                "duration": "PT3H",
                                "region": "eu-west-1"
                        },
                        "targets": {
                                "TransitGateways": "Transit-Gateway"
                        }
                },
                "Disrupt-Subnet-Connectivity": {
                        "actionId": "aws:network:route-table-disrupt-cross-region-connectivity",
                        "parameters": {
                                "duration": "PT3H",
                                "region": "eu-west-1"
                        },
                        "targets": {
                                "Subnets": "Subnet"
                        }
                },
                "Disrupt-Vpc-Endpoint": {
                        "actionId": "aws:network:disrupt-vpc-endpoint",
                        "parameters": {
                                "duration": "PT3H"
                        },
                        "targets": {
                                "VPCEndpoints": "VPC-Endpoint"
                        }
                },
                "Pause-S3-Replication": {
                        "actionId": "aws:s3:bucket-pause-replication",
                        "parameters": {
                                "duration": "PT3H",
                                "region": "eu-west-1"
                        },
                        "targets": {
                                "Buckets": "S3-Bucket"
                        }
                },
                "Pause-DynamoDB-Replication": {
                        "actionId": "aws:dynamodb:global-table-pause-replication",
                        "parameters": {
                                "duration": "PT3H"
                        },
                        "targets": {
                                "Tables": "DynamoDB-Global-Table"
                        }
                },
                "Pause-MemoryDB-Multi-Region-Cluster-Replication": {
                    "actionId": "aws:memorydb:multi-region-cluster-pause-replication",
                    "parameters": {
                        "duration": "PT3H",
                        "region": "eu-west-1"
                    },
                    "targets": {
                        "MultiRegionClusters": "MemoryDB-Multi-Region-Cluster"
                    }
                }
        },
        "stopConditions": [
                {
                        "source": "none"
                }
        ],
        "roleArn": "",
        "logConfiguration": {
                "logSchemaVersion": 2
        },
        "tags": {
                "Name": "Cross-Region: Connectivity"
        },
        "experimentOptions": {
                "accountTargeting": "single-account",
                "emptyTargetResolutionMode": "skip"
        },
        "description": "Block application network traffic from experiment Region to target Region and pause cross-Region replication"
}
```