

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Référence de scénarios
<a name="scenario-library-scenarios"></a>

Les scénarios inclus dans la bibliothèque de scénarios sont conçus pour utiliser des [balises](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html) dans la mesure du possible et chaque scénario décrit les balises requises dans **les sections Prérequis** et **Fonctionnement** de la description du scénario. Vous pouvez étiqueter vos ressources avec ces balises prédéfinies ou définir vos propres balises à l'aide de l'expérience d'édition de paramètres partagée (voir[Utilisation d'un scénario](scenario-library.md#using-a-scenario)).

Cette référence décrit les scénarios courants de la bibliothèque de scénarios AWS FIS. Vous pouvez également répertorier les scénarios pris en charge à l'aide de la console AWS FIS.

Pour de plus amples informations, veuillez consulter [Utilisation de la bibliothèque de AWS FIS scénarios](scenario-library.md).

AWS FIS prend en charge les scénarios Amazon EC2 suivants. Ces scénarios ciblent les instances à l'aide de [balises](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/what-are-tags.html). Vous pouvez utiliser vos propres balises ou utiliser les balises par défaut incluses dans le scénario. Certains de ces scénarios [utilisent des documents SSM](https://docs.aws.amazon.com//fis/latest/userguide/actions-ssm-agent.html).
+ **Stress EC2 : défaillance d'instance :** explorez l'effet d'une défaillance d'instance en arrêtant une ou plusieurs instances EC2.

  Ciblez les instances de la région actuelle auxquelles une balise spécifique est attachée. Dans ce scénario, nous arrêterons ces instances et les redémarrerons à la fin de la durée de l'action, par défaut 5 minutes.
+ **Stress lié à l'EC2 : disque** - Découvrez l'impact d'une utilisation accrue du disque sur votre application basée sur EC2.

  Dans ce scénario, nous ciblerons les instances EC2 de la région actuelle auxquelles une balise spécifique est attachée. Dans ce scénario, vous pouvez personnaliser une quantité croissante d'utilisation du disque injectée sur des instances EC2 ciblées pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress sur le disque.
+ **Stress lié à l'EC2 : processeur** - Découvrez l'impact d'une augmentation du processeur sur votre application basée sur EC2.

  Dans ce scénario, nous ciblerons les instances EC2 de la région actuelle auxquelles une balise spécifique est attachée. Dans ce scénario, vous pouvez personnaliser une quantité croissante de stress du processeur injectée sur des instances EC2 ciblées pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress du processeur.
+ **Stress lié à l'EC2 : mémoire** - Découvrez l'impact d'une utilisation accrue de la mémoire sur votre application basée sur EC2.

  Dans ce scénario, nous ciblerons les instances EC2 de la région actuelle auxquelles une balise spécifique est attachée. Dans ce scénario, vous pouvez personnaliser une quantité croissante de stress mnésique injecté sur des instances EC2 ciblées pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress mnésique.
+ **Stress lié à l'EC2 : latence du réseau** - Découvrez l'impact de l'augmentation de la latence du réseau sur votre application basée sur EC2.

  Dans ce scénario, nous ciblerons les instances EC2 de la région actuelle auxquelles une balise spécifique est attachée. Dans ce scénario, vous pouvez personnaliser une quantité croissante de latence réseau injectée sur des instances EC2 ciblées pendant la durée de l'action, par défaut 5 minutes pour chaque action de latence.

AWS FIS prend en charge les scénarios Amazon EKS suivants. Ces scénarios ciblent les pods EKS à l'aide d'étiquettes d'application Kubernetes. Vous pouvez utiliser vos propres étiquettes ou utiliser les étiquettes par défaut incluses dans le scénario. Pour plus d'informations sur EKS avec FIS, consultez[Actions du EKS Pod](eks-pod-actions.md).
+ **Stress lié à l'EKS : suppression du module** - Découvrez l'effet d'une défaillance du module EKS en supprimant un ou plusieurs modules.

  Dans ce scénario, nous ciblerons les pods de la région actuelle associés à une étiquette d'application. Dans ce scénario, nous mettrons fin à tous les pods correspondants. La recréation des pods sera contrôlée par la configuration de Kubernetes.
+ **Stress lié à l'EKS : processeur** - Découvrez l'impact d'une augmentation du processeur sur votre application basée sur EKS.

  Dans ce scénario, nous ciblerons les pods de la région actuelle associés à une étiquette d'application. Dans ce scénario, vous pouvez personnaliser une quantité croissante de stress du processeur injectée sur les pods EKS ciblés pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress du processeur.
+ **Stress lié à l'EKS : disque** - Découvrez l'impact d'une utilisation accrue du disque sur votre application basée sur EKS.

  Dans ce scénario, nous ciblerons les pods de la région actuelle associés à une étiquette d'application. Dans ce scénario, vous pouvez personnaliser une quantité croissante de stress du disque injectée sur les pods EKS ciblés pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress du processeur.
+ **Stress lié à l'EKS : mémoire** - Découvrez l'impact d'une utilisation accrue de la mémoire sur votre application basée sur EKS.

  Dans ce scénario, nous ciblerons les pods de la région actuelle associés à une étiquette d'application. Dans ce scénario, vous pouvez personnaliser une quantité croissante de stress mnésique injecté sur les pods EKS ciblés pendant la durée de l'action, par défaut 5 minutes pour chaque action de stress mnésique.
+ **Stress lié à l'EKS : latence du réseau** - Découvrez l'impact de l'augmentation de la latence du réseau sur votre application basée sur EKS.

  Dans ce scénario, nous ciblerons les pods de la région actuelle associés à une étiquette d'application. Dans ce scénario, vous pouvez personnaliser une quantité croissante de latence réseau injectée sur les pods EKS ciblés pendant la durée de l'action, par défaut 5 minutes pour chaque action de latence.

AWS FIS prend en charge les scénarios suivants pour les applications mono-AZ, multi-AZ et multirégionales. Ces scénarios ciblent plusieurs types de ressources.
+ **AZ Availability: Power Interruption**- Injectez les symptômes attendus d'une interruption complète de l'alimentation dans une zone de disponibilité (AZ). En savoir plus sur [AZ Availability: Power Interruption](az-availability-scenario.md).
+ **AZ: Application Slowdown**- Ajoutez de la latence entre les ressources au sein d'une même zone de disponibilité (AZ) pour ralentir une application. En savoir plus sur [AZ: Application Slowdown](az-application-slowdown-scenario.md).
+ **Cross-AZ: Traffic Slowdown**- Injectez la perte de paquets pour perturber et ralentir le trafic entre les zones de disponibilité (AZs). En savoir plus sur [Cross-AZ: Traffic Slowdown](cross-az-traffic-slowdown-scenario.md).
+ **Cross-Region: Connectivity**- Bloquez le trafic réseau de l'application entre la région d'essai et la région de destination et interrompez la réplication des données entre régions. Apprenez-en davantage sur l'utilisation[Cross-Region: Connectivity](cross-region-scenario.md).

AWS FIS prend en charge les scénarios suivants pour les volumes Amazon EBS. Ces scénarios ciblent les volumes à l'aide de balises. Vous pouvez utiliser vos propres balises ou utiliser les balises par défaut incluses dans le scénario. Les volumes cibles doivent se trouver dans la même zone de disponibilité. Pour plus d'informations, consultez la [section Tests d'erreur sur Amazon EBS.](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fis.html)
+ **EBS: Sustained Latency**— Explorez l'impact de la I/O latence persistante sur votre application.

  Dans ce scénario, nous ciblerons les volumes de la zone de disponibilité actuelle auxquels une balise spécifique est attachée. Ce scénario injecte une latence constante de 500 ms sur 50 % des opérations de lecture et 100 % des opérations d'écriture d'un volume, en utilisant une seule action de latence sur une période de 15 minutes. Dans ce scénario, vous pouvez personnaliser la quantité de latence injectée, le pourcentage de latence I/O injectée et la durée de l'action.
+ **EBS: Increasing Latency**— Explorez l'impact de l'augmentation de la I/O latence sur votre application.

  Dans ce scénario, nous ciblerons les volumes de la zone de disponibilité actuelle auxquels une balise spécifique est attachée. Ce scénario injecte une latence croissante de 50 ms, 200 ms, 700 ms, 1 seconde et 15 secondes sur 10 % des opérations de lecture et 25 % des opérations d'écriture d'un volume en utilisant cinq actions de latence sur une période de 15 minutes. Dans ce scénario, vous pouvez personnaliser la quantité de latence injectée, le pourcentage de latence I/O injectée et la durée de l'action pour chaque action de latence.
+ **EBS: Intermittent Latency**— Explorez l'impact des pics de I/O latence intermittents sur votre application.

  Dans ce scénario, nous ciblerons les volumes de la zone de disponibilité actuelle auxquels une balise spécifique est attachée. Ce scénario injecte trois pics de latence intermittents brusques de 30 secondes, 10 secondes et 20 secondes sur 0,1 % des I/O opérations de lecture et d'écriture d'un volume, en utilisant trois actions de latence, avec des intervalles de récupération entre chaque pic sur une période de 15 minutes. Dans ce scénario, vous pouvez personnaliser la quantité de latence injectée, le pourcentage de latence I/O injectée et la durée de l'action pour chaque action de latence.
+ **EBS: Decreasing Latency**— Explorez l'impact de la réduction de la I/O latence sur votre application.

  Dans ce scénario, nous ciblerons les volumes de la zone de disponibilité actuelle auxquels une balise spécifique est attachée. Ce scénario injecte une latence décroissante de 20 secondes, 5 secondes, 900 ms, 300 ms et 40 ms sur 10 % des opérations de lecture et d'écriture d'un volume, en utilisant cinq actions de latence sur une période de 15 minutes. Dans ce scénario, vous pouvez personnaliser la quantité de latence injectée, le pourcentage de latence I/O injectée et la durée de l'action pour chaque action de latence.

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

 Vous pouvez utiliser le AZ Availability: Power Interruption scénario pour induire les symptômes attendus d'une interruption complète de l'alimentation dans une zone de disponibilité (AZ).

Ce scénario peut être utilisé pour démontrer que les applications multi-AZ fonctionnent comme prévu lors d'une seule coupure de courant AZ complète. Cela inclut la perte de calcul zonal (Amazon EC2, EKS et ECS), l'absence de redimensionnement du calcul dans l'AZ, la perte de connectivité des sous-réseaux, le basculement sur RDS, le basculement ElastiCache sur incident, l'accès restreint aux compartiments de répertoire S3 Express One Zone et les volumes EBS qui ne répondent pas. Par défaut, les actions pour lesquelles aucune cible n'a été trouvée seront ignorées.

## Actions
<a name="az-availability-scenario-actions"></a>

Ensemble, les actions suivantes créent bon nombre des symptômes attendus d'une coupure de courant complète dans une seule AZ. Disponibilité de la zone AZ : L'interruption de courant n'affecte que les services qui devraient subir un impact lors d'une seule interruption de courant de la zone AZ. Par défaut, le scénario injecte les symptômes de coupure de courant pendant 30 minutes, puis, pendant 30 minutes supplémentaires, les symptômes susceptibles de survenir pendant le rétablissement.

### Arrêter les instances
<a name="az-availability-scenario-actions-stop-instances"></a>

Lors d'une coupure de courant de la zone AZ, les instances EC2 de la zone AZ affectée s'arrêteront. Une fois l'alimentation rétablie, les instances redémarrent. AZ Availability: Power Interruptioninclut [aws:ec2:stop-instances pour arrêter toutes les instances](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#stop-instances) de l'AZ affectée pendant la durée de l'interruption. Après cette durée, les instances sont redémarrées. L'arrêt des instances EC2 gérées par Amazon EKS entraîne la suppression des pods EKS dépendants. L'arrêt des instances EC2 gérées par Amazon ECS entraîne l'arrêt des tâches ECS dépendantes.

Cette action cible les instances EC2 exécutées dans l'AZ affectée. Par défaut, il cible les instances dotées d'une balise nommée `AzImpairmentPower` avec une valeur de`StopInstances`. Vous pouvez ajouter cette balise à vos instances ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucune instance valide n'est trouvée, cette action sera ignorée.

### Arrêtez les instances ASG
<a name="az-availability-scenario-actions-stop-asg-instances"></a>

Lors d'une coupure de courant de la zone AZ, les instances EC2 gérées par un groupe Auto Scaling dans la zone de distribution affectée s'arrêteront. Une fois l'alimentation rétablie, les instances redémarrent. AZ Availability: Power Interruptioninclut [aws:ec2:stop-instances pour arrêter toutes les instances](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#stop-instances), y compris celles gérées par Auto Scaling, dans l'AZ concernée pendant la durée de l'interruption. Après cette durée, les instances sont redémarrées.

Cette action cible les instances EC2 exécutées dans l'AZ affectée. Par défaut, il cible les instances dotées d'une balise nommée `AzImpairmentPower` avec une valeur de`IceAsg`. Vous pouvez ajouter cette balise à vos instances ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucune instance valide n'est trouvée, cette action sera ignorée.

### Interrompre les lancements d'instances
<a name="az-availability-scenario-actions-pause-instance-launches"></a>

Lors d'une coupure de courant AZ, les appels d'API EC2 pour fournir de la capacité dans l'AZ échoueront. En particulier, les éléments suivants APIs seront affectés : `ec2:StartInstances``ec2:CreateFleet`, et`ec2:RunInstances`. AZ Availability: Power Interruption includesinclut [aws:ec2 : api-insufficient-instance-capacity -error](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#api-ice) pour empêcher le provisionnement de nouvelles instances dans l'AZ concernée.

Cette action cible les rôles IAM utilisés pour approvisionner des instances. Ils doivent être ciblés à l'aide d'un ARN. Par défaut, si aucun rôle IAM valide n'est trouvé, cette action sera ignorée.

### Suspendre le dimensionnement ASG
<a name="az-availability-scenario-actions-pause-asg-scaling"></a>

 Lors d'une coupure de courant de l'AZ, les appels d'API EC2 effectués par le plan de contrôle Auto Scaling pour récupérer la capacité perdue dans l'AZ échoueront. En particulier, les éléments suivants APIs seront affectés : `ec2:StartInstances``ec2:CreateFleet`, et`ec2:RunInstances`. AZ Availability: Power Interruptioninclut [aws:ec2 : asg-insufficient-instance-capacity -error](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#asg-ice) pour empêcher le provisionnement de nouvelles instances dans l'AZ concernée. Cela empêche également Amazon EKS et Amazon ECS de s'adapter à l'AZ concernée.

Cette action cible les groupes Auto Scaling. Par défaut, il cible les groupes Auto Scaling dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`IceAsg`. Vous pouvez ajouter cette balise à vos groupes Auto Scaling ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun groupe Auto Scaling valide n'est trouvé, cette action sera ignorée.

### Suspendre la connectivité réseau
<a name="az-availability-scenario-actions-pause-network-connectivity"></a>

Lors d'une coupure de courant de l'AZ, le réseau de l'AZ ne sera pas disponible. Dans ce cas, la mise à jour du DNS de certains services AWS peut prendre jusqu'à quelques minutes afin de tenir compte du fait que les points de terminaison privés de l'AZ concernée ne sont pas disponibles. Pendant ce temps, les recherches DNS peuvent renvoyer des adresses IP inaccessibles. AZ Availability: Power Interruptioninclut [aws:network:disrupt-connectivity pour bloquer toute connectivité](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) réseau pour tous les sous-réseaux de l'AZ affectée pendant 2 minutes. Cela forcera les délais d'expiration et les actualisations du DNS pour la plupart des applications. L'arrêt de l'action au bout de 2 minutes permet la restauration ultérieure du DNS du service régional alors que l'AZ continue d'être indisponible.

Cette action cible les sous-réseaux. Par défaut, il cible les clusters dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`DisruptSubnet`. Vous pouvez ajouter cette balise à vos sous-réseaux ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun sous-réseau valide n'est trouvé, cette action sera ignorée.

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

Lors d'une coupure de courant de la zone AZ, les nœuds RDS de la zone AZ affectée s'arrêteront. Les nœuds AZ RDS individuels de l'AZ affectée seront totalement indisponibles. Pour les clusters multi-AZ, le nœud d'écriture basculera vers une zone de zone non affectée et les nœuds de lecture de la zone de référence affectée ne seront pas disponibles. Pour les clusters multi-AZ, AZ Availability: Power Interruption inclut [aws:rds : failover-db-cluster](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#failover-db-cluster) pour basculer si le rédacteur se trouve dans l'AZ concerné.

Cette action cible les clusters RDS. Par défaut, il cible les clusters dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`DisruptRds`. Vous pouvez ajouter cette balise à vos clusters ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun cluster valide n'est trouvé, cette action sera ignorée.

### Suspendre le groupe ElastiCache de réplication
<a name="az-availability-scenario-actions-pause-elasticache"></a>

Lors d'une coupure de courant AZ, ElastiCache les nœuds de l'AZ ne sont pas disponibles. AZ Availability: Power Interruptioninclut [aws:elasticache : replicationgroup-interrupt-az-power](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#interrupt-elasticache) pour terminer les ElastiCache nœuds de l'AZ affectée. Pendant toute la durée de l'interruption, les nouvelles instances ne seront pas mises en service dans l'AZ concernée, de sorte que le groupe de réplication conservera sa capacité réduite.

Cette action cible les groupes ElastiCache de réplication. Par défaut, il cible les groupes de réplication dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`ElasticacheImpact`. Vous pouvez ajouter cette balise à vos groupes de réplication ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun groupe de réplication valide n'est trouvé, cette action sera ignorée. Notez que seuls les groupes de réplication dont les nœuds se trouvent dans l'AZ affectée seront considérés comme des cibles valides.

### Démarrez ARC Zonal Autoshift
<a name="az-availability-scenario-actions-zonal-autoshift"></a>

Cinq minutes après le début de la coupure de courant de l'AZ, l'action de restauration déplace `aws:arc:start-zonal-autoshift` automatiquement le trafic des ressources hors de l'AZ spécifié pendant les 25 minutes restantes de l'interruption de courant. Passé ce délai, le trafic revient à l'AZ d'origine. Notez que lors d'une panne de courant réelle en mode AZ, la panne AWS de courant est détectée et le trafic des ressources est décalé si le changement automatique est activé. Bien que le moment de ce changement varie, on estime qu'il se produira cinq minutes après le début de la déficience.

Cette action cible les ressources activées par le système Autoshift d'Amazon Application Recovery Controller (ARC). Par défaut, il cible les ressources avec la clé `AzImpairmentPower` et la valeur du tag`RecoverAutoshiftResources`. Vous pouvez ajouter cette balise à vos ressources ou remplacer la balise par défaut par la vôtre dans le modèle d'expérience. Par exemple, vous souhaiterez peut-être utiliser une balise spécifique à l'application. Par défaut, si aucune ressource valide n'est trouvée, cette action sera ignorée.

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

Après une coupure de courant AZ, une fois l'alimentation rétablie, un très faible pourcentage d'instances peut rencontrer des volumes EBS qui ne répondent pas. AZ Availability: Power Interruptioninclut [aws:ebs:pause-io](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ebs-actions-reference) pour laisser 1 volume EBS sans réponse.

Par défaut, seuls les volumes définis pour persister après la fermeture de l'instance sont ciblés. Cette action cible les volumes dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`APIPauseVolume`. Vous pouvez ajouter cette balise à vos volumes ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun volume valide n'est trouvé, cette action sera ignorée.

### Interrompez la connectivité aux compartiments de répertoire S3 Express One Zone
<a name="az-availability-scenario-actions-pause-network-connectivity-s3-express"></a>

Lors d'une coupure de courant AZ, les données stockées dans les compartiments de répertoire S3 Express One Zone de l'AZ ne sont pas accessibles. Disponibilité de l'AZ : L'interruption de courant inclut [aws:network:disrupt-connectivity pour perturber la connectivité](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) entre les sous-réseaux et les compartiments d'annuaire One Zone dans l'AZ affectée pendant la durée de l'expérience, ce qui entraîne des délais d'attente pour les opérations de l'API du plan de données des points de terminaison zonaux. Utilisez cette action pour tester les perturbations lorsque le calcul est colocalisé avec le stockage dans une zone de zone de disponibilité.

Cette action cible les sous-réseaux. Par défaut, il cible les sous-réseaux dotés d'une balise nommée `AzImpairmentPower` avec une valeur de`DisruptSubnet`. Vous pouvez ajouter cette balise à vos sous-réseaux ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun sous-réseau valide n'est trouvé, cette action sera ignorée.

## Limitations
<a name="az-availability-scenario-limitations"></a>
+ Ce scénario n'inclut pas les [conditions d'arrêt](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). Les conditions d'arrêt correctes pour votre application doivent être ajoutées au modèle d'expérience.
+  Dans l'AZ cible, les Amazon EKS Pods exécutés sur EC2 seront interrompus par des nœuds de travail EC2 et le démarrage de nouveaux nœuds EC2 sera bloqué. Toutefois, les Amazon EKS Pods exécutés sur AWS Fargate ne sont pas pris en charge. 
+  Dans l'AZ cible, les tâches Amazon ECS exécutées sur EC2 seront interrompues avec des nœuds de travail EC2 et le démarrage de nouveaux nœuds EC2 sera bloqué. Toutefois, les tâches Amazon ECS exécutées sur AWS Fargate ne sont pas prises en charge. 
+ [Amazon RDS Multi-AZ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html#multi-az-db-clusters-migrating-to-with-read-replica) avec deux instances de base de données de secours lisibles n'est pas pris en charge. Dans ce cas, les instances seront résiliées, le RDS basculera et la capacité sera immédiatement rétablie dans l'AZ concernée. Le mode veille lisible dans l'AZ concerné restera disponible.

## Exigences
<a name="az-availability-scenario-requirements"></a>
+ Ajoutez l'autorisation requise au [rôle AWS FIS d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html).
+ Les balises de ressources doivent être appliquées aux ressources qui doivent être ciblées par l'expérience. Ils peuvent utiliser votre propre convention de balisage ou les balises par défaut définies dans le scénario.

## Permissions
<a name="az-availability-scenario-permissions"></a>

L'autoshift de zone ARC utilise un rôle lié au service IAM `AWSServiceRoleForZonalAutoshiftPracticeRun` pour effectuer le changement de zone en votre nom. Ce rôle utilise la politique [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSZonalAutoshiftPracticeRunSLRPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSZonalAutoshiftPracticeRunSLRPolicy.html)gérée par IAM. Il n'est pas nécessaire de créer le rôle manuellement. Lorsque vous créez un modèle d'expérience à partir du scénario AZ Power Interruption dans le AWS Management Console AWS CLI, le ou un AWS SDK, ARC crée le rôle lié au service pour vous. Pour plus d'informations, voir [Utilisation du rôle lié au service pour le changement automatique de zone dans ARC](https://docs.aws.amazon.com/r53recovery/latest/dg/using-service-linked-roles-zonal-autoshift.html).

La politique suivante accorde à AWS FIS les autorisations nécessaires pour exécuter un test avec le AZ Availability: Power Interruption scénario. Cette politique doit être associée au [rôle d'expérimentation](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": [
                "*"
            ]
        }
    ]
}
```

------

## Contenu du scénario
<a name="az-availability-scenario-content"></a>

Le contenu suivant définit le scénario. Ce JSON peut être enregistré et utilisé pour créer un [modèle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) à l'aide de la [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)commande de l'AWS Command Line Interface (AWS CLI). Pour obtenir la version la plus récente du scénario, consultez la bibliothèque de scénarios de la console 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>

 Vous pouvez utiliser le scénario AZ : ralentissement des applications pour introduire une latence supplémentaire entre les ressources au sein d'une même zone de disponibilité (AZ). Cette latence est à l'origine de nombreux symptômes d'un ralentissement d'une application, d'une interruption partielle, parfois appelée panne grise. Il ajoute de la latence aux flux réseau entre les ressources cibles. Les flux réseau représentent le trafic entre les ressources informatiques, c'est-à-dire les paquets de données transportant les demandes, les réponses et les autres communications entre vos serveurs, conteneurs et services. Le scénario peut aider à valider les configurations d'observabilité, à ajuster les seuils d'alarme, à découvrir la sensibilité des applications aux ralentissements et à prendre des décisions opérationnelles critiques telles que l'évacuation des zones d'urgence. 

 Par défaut, le scénario ajoute 200 ms de latence à 100 % des flux réseau entre les ressources cibles au sein de l'AZ sélectionnée pendant une durée de 30 minutes. Vous pouvez utiliser la boîte de dialogue **Modifier les paramètres partagés** de la console AWS FIS pour ajuster les paramètres suivants au niveau du scénario, qui s'appliquent ensuite aux actions sous-jacentes : 
+  Zone de disponibilité : vous pouvez sélectionner l'AZ à altérer dans le scénario. 
+  Millisecondes (ms) de latence : ajustez cette latence en fonction de la sensibilité et des besoins de votre application. Vous pouvez définir une latence plus faible pour les applications plus sensibles ou une latence plus élevée pour tester la gestion des délais d'attente, par exemple. Envisagez d'utiliser des multiples de la latence actuelle de votre application comme référence. 
+  Pourcentage de flux : réduisez pour altérer un sous-ensemble du trafic. Par exemple, vous pouvez ajouter une latence de 200 ms affectant 25 % des flux réseau pour des tests encore plus subtils. 
+  Durée : définissez la durée de l'expérience. Vous pouvez raccourcir pour accélérer les tests ou exécuter des tests prolongés plus longs. Par exemple, réglez la durée sur 2 heures pour tester vos mécanismes de récupération dans des conditions altérées. 
+  Ciblage des ressources : vous pouvez définir des ressources cibles pour le scénario global à l'aide de balises (pour les instances EC2 ou les tâches ECS sur EC2 ou Fargate) ou d'étiquettes (pour les pods EKS sur EC2). Vous pouvez spécifier vos propres balises et étiquettes, ou utiliser les valeurs par défaut fournies dans le scénario. Si vous ne souhaitez pas utiliser de balises ou d'étiquettes, vous pouvez modifier l'action pour cibler les ressources en spécifiant d'autres paramètres. 
+  Personnalisation : si vous ne souhaitez pas cibler les ressources EC2 ou ECS, vous pouvez laisser les actions avec les balises par défaut. L'expérience ne trouvera aucune ressource à cibler et l'action sera ignorée. Toutefois, si vous ne souhaitez pas cibler les ressources EKS, vous devez supprimer complètement l'action et la cible EKS du scénario, car un identifiant de cluster EKS doit être fourni. Pour une personnalisation encore plus précise, vous pouvez modifier les actions individuelles directement dans le modèle d'expérience. 

## Actions
<a name="az-application-slowdown-scenario-actions"></a>

 Ensemble, les actions suivantes contribuent à créer bon nombre des symptômes d'un ralentissement d'une application dans une seule zone de zone de développement en introduisant une latence supplémentaire sur les flux réseau, qui se propage ensuite dans l'application. Ces actions s'exécutent en parallèle, chacune ajoutant une latence de 200 ms pendant 30 minutes par défaut. Après cette période, le temps de latence revient à des niveaux normaux. Le scénario nécessite au moins l'un des types de ressources suivants pour s'exécuter : instance EC2, tâche ECS ou pod EKS. 

### Latence du réseau ECS
<a name="az-application-slowdown-scenario-actions-ecs-network-latency"></a>

 AZ : Application Slowdown inclut [aws:ecs : task-network-latency](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#task-network-latency) pour introduire de la latence dans les tâches ECS. L'action cible les tâches de l'AZ sélectionnée. Par défaut, il cible les tâches dotées d'une [balise](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) nommée `AZApplicationSlowdown` avec une valeur de`LatencyForECS`. Vous pouvez remplacer le tag par défaut par le vôtre ou ajouter le tag scenario à vos tâches. Si aucune tâche valide n'est trouvée, cette action sera ignorée. Avant d'exécuter une expérience sur ECS, vous devez suivre les [étapes de configuration des actions des tâches ECS](https://docs.aws.amazon.com/fis/latest/userguide/ecs-task-actions.html). 

### Latence du réseau EKS
<a name="az-application-slowdown-scenario-actions-eks-network-latency"></a>

 AZ : Application Slowdown inclut [aws:eks : pod-network-latency](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#pod-network-latency) pour introduire la latence pour les pods EKS. L'action cible les pods situés dans la zone AZ sélectionnée. Par défaut, il cible les pods d'un cluster dont les étiquettes sont au format key=value. L'étiquette par défaut fournie est`AZApplicationSlowdown=LatencyForEKS`. Vous pouvez remplacer l'étiquette par défaut par la vôtre ou ajouter cette étiquette à vos capsules. Si aucun module valide n'est trouvé, cette action sera ignorée. Avant de lancer une expérience sur EKS, vous devez suivre les [étapes de configuration relatives aux actions du pod EKS](https://docs.aws.amazon.com/fis/latest/userguide/eks-pod-actions.html). 

### Latence du réseau EC2
<a name="az-application-slowdown-scenario-actions-ec2-network-latency"></a>

 AZ : Application Slowdown utilise l'action [aws:ssm:send-command](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ssm-send-command) pour exécuter le document [AWSFIS-Run-Network-Latency-Sources afin d'introduire la latence pour les instances EC2](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html#awsfis-run-network-latency-sources). L'action cible les instances de l'AZ sélectionnée. Par défaut, il cible les instances dotées d'une [balise](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nommée `AZApplicationSlowdown` avec une valeur de`LatencyForEC2`. Vous pouvez remplacer la balise par défaut par la vôtre ou ajouter cette balise à vos instances. Si aucune instance valide n'est trouvée, cette action sera ignorée. Avant de lancer une expérience sur EC2 à l'aide de SSM, vous devez [configurer l'agent AWS Systems Manager](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html). 

## Limitations
<a name="az-application-slowdown-scenario-limitations"></a>
+  Ce scénario n'inclut pas les [conditions d'arrêt](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). Les conditions d'arrêt correctes pour votre application doivent être ajoutées au modèle d'expérience. 

## Exigences
<a name="az-application-slowdown-scenario-requirements"></a>
+  Ajoutez les autorisations requises au [rôle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) AWS FIS. 
+  Vous devez cibler une ou plusieurs ressources provenant de l'un des 3 types suivants au sein de l'AZ sélectionnée : instances EC2, tâches ECS ou pods EKS. 
+  Toutes les cibles du scénario doivent se trouver dans le même VPC. 

## Permissions
<a name="az-application-slowdown-scenario-permissions"></a>

 Pour exécuter ce scénario, vous avez besoin d'un rôle IAM avec une politique de confiance qui permet à FIS d'assumer le rôle et les politiques gérées pour les types de ressources que vous ciblez dans l'expérience : EC2, ECS et EKS. Lorsque vous créez un modèle d'expérience à partir du scénario AZ : Application Slowdown, FIS crée le rôle correspondant à la politique de confiance et aux politiques gérées par AWS suivantes : 
+  [AWSFaultInjectionSimulatorEC2Accès](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) 

 Si vous utilisez un [rôle IAM](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) existant pour exécuter le scénario AZ : Application Slowdown, vous pouvez joindre la politique suivante pour accorder à AWS FIS les autorisations nécessaires : 

```
{
    "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": "*"
        }
    ]
}
```

## Contenu du scénario
<a name="az-application-slowdown-scenario-content"></a>

 Le contenu suivant définit le scénario. Ce JSON peut être enregistré et utilisé pour créer un [modèle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) à l'aide de la [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)commande de l'AWS Command Line Interface (AWS CLI). Pour obtenir la version la plus récente du scénario, consultez la bibliothèque de scénarios de la console FIS et accédez à l'onglet **Contenu**. 

```
{
    "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>

 Vous pouvez utiliser le scénario Cross-AZ : Traffic Slowdown pour injecter des pertes de paquets afin de perturber et de ralentir le trafic entre les zones de disponibilité (AZs). La perte de paquets nuit à la communication inter-AZ, une interruption partielle, parfois connue sous le nom de panne grise. Il injecte des pertes de paquets sur les flux réseau entre les ressources cibles. Les flux réseau représentent le trafic entre les ressources informatiques, c'est-à-dire les paquets de données transportant les demandes, les réponses et les autres communications entre vos serveurs, conteneurs et services. Le scénario peut aider à valider les configurations d'observabilité, à ajuster les seuils d'alarme, à découvrir la sensibilité et les dépendances des applications dans les communications inter-zones, et à prendre des décisions opérationnelles critiques telles que l'évacuation des zones de zone de sécurité. 

 Par défaut, le scénario injecte 15 % de perte de paquets dans 100 % des flux réseau sortants pour les ressources cibles depuis l'AZ sélectionnée pendant une durée de 30 minutes. Vous pouvez utiliser la boîte de dialogue **Modifier les paramètres partagés** de la console AWS FIS pour ajuster les paramètres suivants au niveau du scénario, qui s'appliquent ensuite aux actions sous-jacentes : 
+  Zone de disponibilité : vous pouvez sélectionner l'AZ à altérer, et la perte de paquets sera injectée de cette zone à l'autre AZs au sein de la région. 
+  Perte de paquets : réduisez la perte de paquets pour des tests d'interruption subtils, tels que 5 %, ou plus, pour tester des mécanismes de dégradation grave des communications et de restauration, tels que 50 %, voire 100 %, pour un impact total sur la connectivité. 
+  Pourcentage de flux : réduisez pour altérer un sous-ensemble du trafic. Par exemple, vous pouvez injecter 15 % de perte de paquets affectant 25 % des flux réseau pour des tests encore plus subtils. 
+  Durée : définissez la durée de l'expérience. Vous pouvez raccourcir pour accélérer les tests ou exécuter des tests prolongés plus longs. Par exemple, définissez la durée sur 2 heures pour aider à tester les mécanismes de rétablissement dans des conditions altérées. 
+  Ciblage des ressources : vous pouvez définir des ressources cibles pour le scénario global à l'aide de balises (pour les instances EC2 ou les tâches ECS sur EC2 ou Fargate) ou d'étiquettes (pour les pods EKS sur EC2). Vous pouvez spécifier vos propres balises et étiquettes, ou utiliser les valeurs par défaut fournies dans le scénario. Si vous ne souhaitez pas utiliser de balises ou d'étiquettes, vous pouvez modifier l'action pour cibler les ressources en spécifiant d'autres paramètres. 
+  Personnalisation : si vous ne souhaitez pas cibler les ressources EC2 ou ECS, vous pouvez laisser les actions avec les balises par défaut. L'expérience ne trouvera aucune ressource à cibler et l'action sera ignorée. Toutefois, si vous ne souhaitez pas cibler les ressources EKS, vous devez supprimer complètement l'action et la cible EKS du scénario, car un identifiant de cluster EKS doit être fourni. Pour une personnalisation encore plus précise, vous pouvez modifier les actions individuelles directement dans le modèle d'expérience. 

## Actions
<a name="cross-az-traffic-slowdown-scenario-actions"></a>

 Ensemble, les actions suivantes contribuent à créer les symptômes d'un ralentissement du trafic entre les zones de disponibilité en introduisant une perte de paquets lors des communications sortantes entre la zone de zone de disponibilité cible et les autres zones de disponibilité de la région au niveau de la couche réseau. Ces actions s'exécutent en parallèle, chacune entraînant par défaut une perte de paquets de 15 % pendant 30 minutes. Après cette période, la communication redevient normale. Le scénario nécessite au moins l'un des types de ressources suivants dans l'AZ sélectionnée pour s'exécuter : instance EC2, tâche ECS ou pod EKS. 

### Perte de paquets réseau ECS
<a name="cross-az-traffic-slowdown-scenario-actions-ecs-network-packet-loss"></a>

 Cross-AZ : Traffic Slowdown inclut [aws:ecs : task-network-packet-loss](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#task-network-packet-loss) pour injecter des pertes de paquets pour les tâches ECS. L'action cible les tâches de l'AZ sélectionnée et entrave leur communication sortante avec toutes les autres tâches de la AZs région. Vous pouvez personnaliser davantage l'étendue de l'impact en modifiant l'action et en l'ajoutant ou en la supprimant AZs du `Sources` champ. Par défaut, il cible les tâches dotées d'une [balise](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) nommée `CrossAZTrafficSlowdown` avec une valeur de`PacketLossForECS`. Vous pouvez remplacer le tag par défaut par le vôtre ou ajouter le tag scenario à vos tâches. Si aucune tâche valide n'est trouvée, cette action sera ignorée. Avant d'exécuter une expérience sur ECS, vous devez suivre les [étapes de configuration des actions des tâches ECS](https://docs.aws.amazon.com/fis/latest/userguide/ecs-task-actions.html). 

### Perte de paquets réseau EKS
<a name="cross-az-traffic-slowdown-scenario-actions-eks-network-packet-loss"></a>

 Cross-AZ : Traffic Slowdown inclut [aws:eks : pod-network-packet-loss](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#pod-network-packet-loss) pour injecter des pertes de paquets dans les pods EKS. L'action cible les pods de l'AZ sélectionnée et altère leurs communications sortantes avec tous les autres groupes de la AZs région. Vous pouvez personnaliser davantage l'étendue de l'impact en modifiant l'action et en l'ajoutant ou en la supprimant AZs du `Sources` champ. Par défaut, il cible les pods d'un cluster dont les étiquettes sont au format key=value. L'étiquette par défaut fournie est`CrossAZTraffic=PacketLossForEKS`. Vous pouvez remplacer l'étiquette par défaut par la vôtre ou ajouter cette étiquette à vos capsules. Si aucun module valide n'est trouvé, cette action sera ignorée. Avant de lancer une expérience sur EKS, vous devez suivre les [étapes de configuration relatives aux actions du pod EKS](https://docs.aws.amazon.com/fis/latest/userguide/eks-pod-actions.html). 

### Perte de paquets réseau EC2
<a name="cross-az-traffic-slowdown-scenario-actions-ec2-network-packet-loss"></a>

 Cross-AZ : Traffic Slowdown utilise l'action [aws:ssm:send-command](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#ssm-send-command) pour exécuter le document [AWSFIS-Run-Network-Packet-Loss-Sources afin d'injecter des pertes de paquets pour les instances EC2 et de perturber leurs communications](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html#awsfis-run-network-packet-loss-sources) sortantes avec tous les autres acteurs de la région. AZs Vous pouvez personnaliser davantage l'étendue de l'impact en modifiant l'action et en l'ajoutant ou en la supprimant AZs du `Sources` champ. L'action cible les instances de l'AZ sélectionnée. Par défaut, il cible les instances dotées d'une [balise](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nommée `CrossAZTrafficSlowdown` avec une valeur de`PacketLossForEC2`. Vous pouvez remplacer la balise par défaut par la vôtre ou ajouter cette balise à vos instances. Si aucune instance valide n'est trouvée, cette action sera ignorée. Avant de lancer une expérience sur EC2 à l'aide de SSM, vous devez [configurer l'agent AWS Systems Manager](https://docs.aws.amazon.com/fis/latest/userguide/actions-ssm-agent.html). 

## Limitations
<a name="cross-az-traffic-slowdown-scenario-limitations"></a>
+  Ce scénario n'inclut pas les [conditions d'arrêt](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). Les conditions d'arrêt correctes pour votre application doivent être ajoutées au modèle d'expérience. 

## Exigences
<a name="cross-az-traffic-slowdown-scenario-requirements"></a>
+  Ajoutez les autorisations requises au [rôle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) AWS FIS. 
+  Vous devez cibler une ou plusieurs ressources provenant de l'un des 3 types suivants au sein de l'AZ sélectionnée : instances EC2, tâches ECS ou pods EKS. 
+  Toutes les cibles du scénario doivent se trouver dans le même VPC. 

## Permissions
<a name="cross-az-traffic-slowdown-scenario-permissions"></a>

 Pour exécuter ce scénario, vous avez besoin d'un rôle IAM avec une politique de confiance qui permet à FIS d'assumer le rôle et les politiques gérées pour les types de ressources que vous ciblez dans l'expérience : EC2, ECS et EKS. Lorsque vous créez un modèle de test à partir du scénario Cross-AZ : Traffic Slowdown, FIS crée le rôle correspondant à la politique de confiance et aux politiques gérées par AWS suivantes : 
+  [AWSFaultInjectionSimulatorEC2Accès](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) 

 Si vous utilisez un [rôle IAM](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) existant pour exécuter le scénario Cross-AZ : Traffic Slowdown, vous pouvez joindre la politique suivante pour accorder à AWS FIS les autorisations nécessaires : 

```
{
    "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": "*"
        }
    ]
}
```

## Contenu du scénario
<a name="cross-az-traffic-slowdown-scenario-content"></a>

 Le contenu suivant définit le scénario. Ce JSON peut être enregistré et utilisé pour créer un [modèle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) à l'aide de la [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)commande de l'AWS Command Line Interface (AWS CLI). Pour obtenir la version la plus récente du scénario, consultez la bibliothèque de scénarios de la console FIS et accédez à l'onglet **Contenu**. 

```
{
    "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>

Vous pouvez utiliser Cross-Region: Connectivity ce scénario pour bloquer le trafic réseau des applications entre la région d'essai et la région de destination et suspendre la réplication entre régions pour les tables globales multirégionales Amazon S3 et Amazon DynamoDB. Interrégional : la connectivité affecte le trafic applicatif sortant de la région dans laquelle vous exécutez le test (*région d'essai*). Le trafic entrant apatride en provenance de la région que vous souhaitez isoler de la région de *test (région* de *destination*) peut ne pas être bloqué. Le trafic provenant des services gérés AWS ne peut pas être bloqué.

Ce scénario peut être utilisé pour démontrer que les applications multirégionales fonctionnent comme prévu lorsque les ressources de la région de destination ne sont pas accessibles depuis la région d'expérimentation. Cela inclut le blocage du trafic réseau entre la région expérimentale et la région de destination en ciblant les passerelles de transit et les tables de routage. Il interrompt également la réplication entre régions pour les tables globales S3 et DynamoDB. Par défaut, les actions pour lesquelles aucune cible n'a été trouvée seront ignorées.

## Actions
<a name="cross-region-scenario-actions"></a>

Ensemble, les actions suivantes bloquent la connectivité entre régions pour les services AWS inclus. Les actions sont exécutées en parallèle. Par défaut, le scénario bloque le trafic pendant 3 heures, que vous pouvez augmenter jusqu'à une durée maximale de 12 heures.

### Perturber la connectivité de Transit Gateway
<a name="cross-region-scenario-actions-disrupt-transit-gateway-connectivity"></a>

Cross Region: Connectivityinclut [aws:network : transit-gateway-disrupt-cross -region-connectivity](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) pour bloquer le trafic réseau interrégional entre la région d' VPCs *essai et la région* de *destination connectée par une passerelle de transit*. VPCs *Cela n'affecte pas l'accès aux points de terminaison VPC au sein de la *région d'expérience*, mais bloquera le trafic en provenance de la *région d'expérience* destiné à un point de terminaison VPC dans la région de destination.*

Cette action cible les passerelles de transit reliant la *région expérimentale à la région* de *destination.* Par défaut, il cible les passerelles de transit avec une [balise](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-transit-gateways.html#tgw-tagging) nommée `DisruptTransitGateway` avec une valeur de`Allowed`. Vous pouvez ajouter cette balise à vos passerelles de transport en commun ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucune passerelle de transit valide n'est trouvée, cette action sera ignorée.

### Interrompre la connectivité des sous-réseaux
<a name="cross-region-scenario-actions-disrupt-subnet-connectivity"></a>

Cross Region: Connectivity*inclut [aws:network : route-table-disrupt-cross -region-connectivity](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) pour bloquer le trafic réseau interrégional depuis la région d'essai vers VPCs les blocs IP AWS publics *de la région* de destination.* Ces blocs IP publics incluent les points de terminaison des services AWS dans la *région de destination*, par exemple le point de terminaison régional S3, et les blocs IP AWS pour les services gérés, par exemple les adresses IP utilisées pour les équilibreurs de charge et Amazon API Gateway. *Cette action bloque également la connectivité réseau via les connexions d'appairage VPC interrégionales entre la région d'*essai et la* région de destination.* *Cela n'affecte pas l'accès aux points de terminaison VPC dans la région d'*expérimentation, mais bloque le trafic en provenance de la région* d'*expérience destiné à un point de terminaison VPC dans* la région de destination.*

Cette action cible les sous-réseaux de la région d'expérimentation. Par défaut, il cible les sous-réseaux dotés d'une [balise](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nommée `DisruptSubnet` avec une valeur de`Allowed`. Vous pouvez ajouter cette balise à vos sous-réseaux ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun sous-réseau valide n'est trouvé, cette action sera ignorée.

### Perturber la connectivité des points de terminaison VPC
<a name="cross-region-scenario-actions-disrupt-vpc-endpoint-connectivity"></a>

Cross Region: Connectivityinclut [aws:network : disrupt-vpc-endpoint disrupte](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#network-actions-reference) la connectivité à un service associé aux points de terminaison VPC cibles. Par exemple, si un point de terminaison VPC crée un lien privé vers com.amazonaws.us-east-1.ec2, la connectivité à ce service sera interrompue.

Cette action cible les points de terminaison VPC dans la région d'expérimentation. Par défaut, il cible les points de terminaison VPC de l'interface avec une [balise](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) nommée DisruptVpcEndpoint avec une valeur. `Allowed` Vous pouvez ajouter cette balise à vos points de terminaison VPC ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun point de terminaison VPC valide n'est trouvé, cette action sera ignorée.

### Suspendre la réplication S3
<a name="cross-region-scenario-actions-pause-s3-replication"></a>

Cross Region: Connectivityinclut [aws:s3 : bucket-pause-replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#s3-actions-reference-fis) pour suspendre la réplication S3 de la région d'*expérience vers la région* de *destination* pour les buckets ciblés. La réplication de la *région de destination* vers la *région d'expérimentation* ne sera pas affectée. Une fois le scénario terminé, la réplication des compartiments reprendra à partir du point où elle avait été interrompue. Notez que le temps nécessaire à la réplication pour synchroniser tous les objets varie en fonction de la durée de l'expérience et du taux de chargement des objets vers le compartiment.

Cette action cible les compartiments S3 de la région d'expérience avec la [réplication entre régions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) (CRR) activée vers un compartiment S3 de la région de destination. Par défaut, il cible les compartiments dotés d'une [balise](https://docs.aws.amazon.com/AmazonS3/latest/userguide/view-bucket-properties.html) nommée `DisruptS3` avec une valeur de`Allowed`. Vous pouvez ajouter cette balise à vos compartiments ou remplacer la balise par défaut par la vôtre dans le modèle d'expérience. Par défaut, si aucun compartiment valide n'est trouvé, cette action sera ignorée.

### Suspendre la réplication DynamoDB
<a name="cross-region-scenario-actions-pause-dynamodb-replication"></a>

Cross-Region: Connectivityinclut [aws:dynamodb : global-table-pause-replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#dynamodb-actions-reference) pour suspendre la réplication entre la région expérimentale et toutes les autres régions, y compris la région de destination. Cela empêche la réplication vers et hors de la *région d'expérience*, mais n'affecte pas la réplication entre les autres régions. Une fois le scénario terminé, la réplication des tables reprendra à partir du point où elle avait été interrompue. Notez que le temps nécessaire à la réplication pour synchroniser toutes les données varie en fonction de la durée de l'expérience et du taux de modifications apportées à la table.

Cette action cible à la fois fortement DynamoDB multi-régions et, à terme, les tables globales cohérentes dans la région d'expérimentation. Par défaut, il cible les tables dotées d'une [balise](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) nommée `DisruptDynamoDb` avec une valeur de`Allowed`. Vous pouvez ajouter cette balise à vos tableaux ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucune table globale valide n'est trouvée, cette action sera ignorée.

### Suspendre la réplication multirégionale de MemoryDB
<a name="cross-region-scenario-actions-pause-memorydb-multi-region-replication"></a>

Cross-Region: Connectivityinclut [aws:memorydb : multi-region-cluster-pause -replication](https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#memorydb-actions-reference) pour suspendre la réplication du cluster membre régional de la région d'expérience vers le reste des clusters du cluster multirégional ciblé. La réplication entre les autres clusters membres régionaux ne sera pas affectée. Une fois le scénario terminé, la réplication reprendra à partir du point où elle avait été interrompue. Notez que le temps nécessaire à la réplication pour synchroniser les données entre les clusters membres varie en fonction de la durée de l'expérience et du taux de données écrites dans les clusters.

Cette action cible les clusters multirégionaux MemoryDB dont un membre régional se trouve dans la région d'expérimentation. Par défaut, il cible les clusters multirégionaux dotés d'une [balise](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Tagging.html) nommée `DisruptMemoryDB` avec une valeur de`Allowed`. Vous pouvez ajouter cette balise à vos clusters multirégionaux ou remplacer la balise par défaut par votre propre balise dans le modèle d'expérience. Par défaut, si aucun cluster valide n'est trouvé, cette action sera ignorée.

## Limitations
<a name="cross-region-scenario-limitations"></a>
+ Ce scénario n'inclut pas les [conditions d'arrêt](https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html). Les conditions d'arrêt correctes pour votre application doivent être ajoutées au modèle d'expérience.

## Exigences
<a name="cross-region-scenario-requirements"></a>
+ Ajoutez l'autorisation requise au [rôle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html) AWS FIS.
+ Les balises de ressources doivent être appliquées aux ressources qui doivent être ciblées par l'expérience. Ils peuvent utiliser votre propre convention de balisage ou les balises par défaut définies dans le scénario.

## Permissions
<a name="cross-region-scenario-permissions"></a>

La politique suivante accorde à AWS FIS les autorisations nécessaires pour exécuter un test avec le Cross-Region: Connectivity scénario. Cette politique doit être associée au [rôle d'expérimentation](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/*"
            ]
        }
    ]
}
```

## Contenu du scénario
<a name="cross-region-scenario-content"></a>

Le contenu suivant définit le scénario. Ce JSON peut être enregistré et utilisé pour créer un [modèle d'expérience](https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html) à l'aide de la [create-experiment-template](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/fis/create-experiment-template.html)commande de l'AWS Command Line Interface (AWS CLI). Pour obtenir la version la plus récente du scénario, consultez la bibliothèque de scénarios de la console 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"
}
```