Tutoriel : arrêt et démarrage de l'instance de test à l'aide AWS de FIS - AWS Service d'injection de défauts

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.

Tutoriel : arrêt et démarrage de l'instance de test à l'aide AWS de FIS

Vous pouvez utiliser le service d'injection de AWS défauts (AWSFIS) pour tester la façon dont vos applications gèrent l'arrêt et le démarrage des instances. Utilisez ce didacticiel pour créer un modèle d'expérience qui utilise l'aws:ec2:stop-instancesaction AWS FIS pour arrêter une instance, puis une seconde instance.

Prérequis

Pour terminer ce didacticiel, assurez-vous de suivre les étapes suivantes :

  • Lancez deux instances de test EC2 dans votre compte. Après avoir lancé vos instances, notez les ID des deux instances.

  • Créez un rôle IAM qui permet au service AWS FIS d'effectuer l'aws:ec2:stop-instancesaction en votre nom. Pour plus d’informations, consultez Rôles IAM pour les expériences AWS FIS.

  • Assurez-vous d'avoir accès au AWS FIS. Pour plus d'informations, consultez les exemples de politiques AWS FIS.

Étape 1 : Création d'un modèle d'expérience

Créez le modèle d'expérience à l'aide de la console AWS FIS. Dans le modèle, vous spécifiez deux actions qui s'exécuteront de manière séquentielle pendant trois minutes chacune. La première action arrête l'une des instances de test, que le AWS FIS choisit de manière aléatoire. La deuxième action arrête les deux instances de test.

Pour créer un modèle d'expérience
  1. Ouvrez la console AWS FIS à l'adresse https://console.aws.amazon.com/fis/.

  2. Dans le volet de navigation, sélectionnez Modèles d'expériences.

  3. Choisissez Créer un modèle d'expérience.

  4. Dans Description et nom, entrez une description et un nom pour le modèle.

  5. Pour Actions, procédez comme suit :

    1. Choisissez Add action.

    2. Entrez le nom de l'action. Par exemple, saisissez stopOneInstance.

    3. Pour Type d'action, choisissez aws:ec2:stop-instances.

    4. Pour Target, conservez la cible créée par AWS le FIS pour vous.

    5. Pour Paramètres d'action, Démarrer les instances après la durée, spécifiez 3 minutes (PT3M).

    6. Choisissez Enregistrer.

  6. Pour Targets (Cibles), procédez comme suit :

    1. Choisissez Modifier pour la cible que AWS FIS a automatiquement créée pour vous à l'étape précédente.

    2. Remplacez le nom par défaut par un nom plus descriptif. Par exemple, saisissez oneRandomInstance.

    3. Vérifiez que le type de ressource est aws:ec2:instance.

    4. Pour la méthode cible, choisissez Resource IDs, puis choisissez les ID des deux instances de test.

    5. Pour le mode de sélection, choisissez Count. Dans le champ Nombre de ressources, entrez1.

    6. Choisissez Enregistrer.

  7. Choisissez Ajouter une cible et procédez comme suit :

    1. Entrez le nom de la cible. Par exemple, saisissez bothInstances.

    2. Pour Type de ressource, choisissez aws:ec2:instance.

    3. Pour la méthode cible, choisissez Resource IDs, puis choisissez les ID des deux instances de test.

    4. Pour le mode de sélection, choisissez Tout.

    5. Choisissez Enregistrer.

  8. Dans la section Actions, choisissez Ajouter une action. Procédez comme suit :

    1. Dans Nom, entrez le nom de l'action. Par exemple, saisissez stopBothInstances.

    2. Pour Type d'action, choisissez aws:ec2:stop-instances.

    3. Pour Commencer après, choisissez la première action que vous avez ajoutée (stopOneInstance).

    4. Pour Target, choisissez la deuxième cible que vous avez ajoutée (bothInstances).

    5. Pour Paramètres d'action, Démarrer les instances après la durée, spécifiez 3 minutes (PT3M).

    6. Choisissez Enregistrer.

  9. Pour l'accès aux services, choisissez Utiliser un rôle IAM existant, puis choisissez le rôle IAM que vous avez créé, comme décrit dans les conditions préalables de ce didacticiel. Si votre rôle n'est pas affiché, vérifiez qu'il possède la relation de confiance requise. Pour plus d’informations, consultez Rôles IAM pour les expériences AWS FIS.

  10. (Facultatif) Pour les balises, choisissez Ajouter une nouvelle balise et spécifiez une clé de balise et une valeur de balise. Les balises que vous ajoutez sont appliquées à votre modèle d'expérience, et non aux expériences exécutées à l'aide du modèle.

  11. Choisissez Créer un modèle d'expérience. Lorsque vous êtes invité à confirmer, entrez create puis choisissez Créer un modèle d'expérience.

(Facultatif) Pour afficher le modèle d'expérience JSON

Cliquez sur l'onglet Export (Exporter). Voici un exemple du JSON créé par la procédure de console précédente.

{ "description": "Test instance stop and start", "targets": { "bothInstances": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "ALL" }, "oneRandomInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "COUNT(1)" } }, "actions": { "stopBothInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "bothInstances" }, "startAfter": [ "stopOneInstance" ] }, "stopOneInstance": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "oneRandomInstance" } } }, "stopConditions": [ { "source": "none" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISEC2Actions", "tags": {} }

Étape 2 : démarrer l'expérience

Lorsque vous avez fini de créer votre modèle de test, vous pouvez l'utiliser pour démarrer un test.

Pour démarrer une expérience
  1. Vous devriez être sur la page de détails du modèle d'expérience que vous venez de créer. Sinon, choisissez Modèles d'expérience, puis sélectionnez l'ID du modèle d'expérience pour ouvrir la page de détails.

  2. Sélectionnez Start experiment (Démarrer une expérience).

  3. (Facultatif) Pour ajouter une balise à votre expérience, choisissez Ajouter une nouvelle balise et entrez une clé de balise et une valeur de balise.

  4. Sélectionnez Start experiment (Démarrer une expérience). Lorsque vous êtes invité à confirmer, entrez start et choisissez Démarrer l'expérience.

Étape 3 : suivre la progression de l'expérience

Vous pouvez suivre la progression d'une expérience en cours jusqu'à ce qu'elle soit terminée, arrêtée ou échouée.

Pour suivre la progression d'une expérience
  1. Vous devriez être sur la page de détails de l'expérience que vous venez de commencer. Sinon, choisissez Expériences, puis sélectionnez l'ID de l'expérience pour ouvrir la page de détails.

  2. Pour voir l'état de l'expérience, cochez la case État dans le volet Détails. Pour plus d'informations, consultez la section États de l'expérience.

  3. Lorsque l'état de l'expérience est en cours d'exécution, passez à l'étape suivante.

Étape 4 : vérifier le résultat de l'expérience

Vous pouvez vérifier que les instances ont été arrêtées et démarrées par l'expérience comme prévu.

Pour vérifier le résultat de l'expérience
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ dans un nouvel onglet ou une nouvelle fenêtre de navigateur. Cela vous permet de continuer à suivre la progression de l'expérience dans la console AWS FIS tout en visualisant le résultat de l'expérience dans la console Amazon EC2.

  2. Dans le panneau de navigation, sélectionnez Instances.

  3. Lorsque l'état de la première action passe de En attente à Exécution (console AWS FIS), l'état de l'une des instances cibles passe de Exécution à Arrêté (console Amazon EC2).

  4. Au bout de trois minutes, l'état de la première action passe à Terminé, l'état de la deuxième action passe à Exécuter et l'état de l'autre instance cible passe à Arrêté.

  5. Au bout de trois minutes, l'état de la deuxième action passe à Terminé, l'état des instances cibles passe à Exécution et l'état de l'expérience passe à Terminé.

Étape 5 : nettoyer

Si vous n'avez plus besoin des instances EC2 de test que vous avez créées pour cette expérience, vous pouvez les mettre hors service.

Pour résilier les instances
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sélectionnez Instances.

  3. Sélectionnez les deux instances de test, choisissez Instance state) (État de l'instance, Terminate instance (Résilier l'instance).

  4. Lorsque vous êtes invité à confirmer, choisissez Terminate (Mettre fin).

Si vous n'avez plus besoin du modèle d'expérience, vous pouvez le supprimer.

Pour supprimer un modèle d'expérience à l'aide de la AWS console FIS
  1. Ouvrez la console AWS FIS à l'adresse https://console.aws.amazon.com/fis/.

  2. Dans le volet de navigation, sélectionnez Modèles d'expériences.

  3. Sélectionnez le modèle d'expérience, puis choisissez Actions, Supprimer le modèle d'expérience.

  4. Lorsque vous êtes invité à confirmer, entrez delete puis choisissez Supprimer le modèle d'expérience.