Exécutez l'EC2Rescueoutil sur des instances inaccessibles - AWS Systems Manager

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.

Exécutez l'EC2Rescueoutil sur des instances inaccessibles

EC2Rescuepeut vous aider à diagnostiquer et à résoudre les problèmes sur les instances Amazon Elastic Compute Cloud (AmazonEC2) pour Linux etWindows Server. Vous pouvez exécuter l'outil manuellement, comme décrit dans Utilisation EC2Rescue pour Linux Server et Utilisation EC2Rescue pour Windows Server. Vous pouvez aussi exécuter l'outil automatiquement en utilisant Systems Manager Automation et le runbook AWSSupport-ExecuteEC2Rescue. L'automatisation est une capacité de AWS Systems Manager. Le AWSSupport-ExecuteEC2Rescuerunbook est conçu pour exécuter une combinaison d'actions de Systems Manager, AWS CloudFormation d'actions et de fonctions Lambda qui automatisent les étapes normalement requises pour être utilisées. EC2Rescue

Vous pouvez utiliser le runbook AWSSupport-ExecuteEC2Rescue pour dépanner et potentiellement corriger différents types de problèmes liés aux systèmes d'exploitation (SE). Les instances avec des volumes racines chiffrés ne sont pas prises en charge. Pour obtenir une liste complète, consultez les rubriques suivantes :

Windows : voir Action de sauvetage dans Utilisation EC2Rescue de Windows Server avec la ligne de commande.

Linux et macOS: certains modules EC2Rescue pour Linux détectent les problèmes et tentent de les résoudre. Pour plus d'informations, consultez la aws-ec2rescue-linuxdocumentation de chaque module surGitHub.

Comment ça marche

Le dépannage d'une instance avec Automation et le runbook AWSSupport-ExecuteEC2Rescue fonctionne le la façon suivante :

  • Vous spécifiez l'ID de l'instance inaccessible et lancez le runbook.

  • Le système crée une fonction temporaireVPC, puis exécute une série de fonctions Lambda pour configurer le. VPC

  • Le système identifie un sous-réseau pour votre instance temporaire VPC dans la même zone de disponibilité que votre instance d'origine.

  • Le système lance une instance d'assistance temporaire SSM activée.

  • Le système arrête l'instance originale et crée une sauvegarde. Ensuite, il rattache le volume racine original à l'instance d'assistant.

  • Le système Run Command s'exécute EC2Rescue sur l'instance d'assistance. EC2Rescueidentifie et tente de résoudre les problèmes sur le volume racine d'origine connecté. Lorsque vous avez terminé, EC2Rescue rattache le volume racine à l'instance d'origine.

  • Le système redémarre votre instance originale et met fin à l'instance temporaire. Le système met également fin aux fonctions temporaires VPC et Lambda créées au début de l'automatisation.

Avant de commencer

Avant d'exécuter l'automatisation suivante, veillez à exécuter les actions suivantes :

  • Copiez l'ID de l'instance de l'instance inaccessible. Vous spécifierez cet ID au cours de la procédure.

  • Vous pouvez également recueillir l'ID d'un sous-réseau dans la même zone de disponibilité que votre instance inaccessible. L'EC2Rescueinstance sera créée dans ce sous-réseau. Si vous ne spécifiez aucun sous-réseau, Automation crée un nouveau temporaire VPC dans votre Compte AWS. Vérifiez que vous en Compte AWS avez au moins un VPC disponible. Par défaut, vous pouvez en créer cinq VPCs dans une région. Si vous en avez déjà créé cinq VPCs dans la région, l'automatisation échoue sans apporter de modifications à votre instance. Pour plus d'informations sur les VPC quotas Amazon, consultez la section VPCet les sous-réseaux dans le guide de l'VPCutilisateur Amazon.

  • Vous pouvez éventuellement créer et spécifier un rôle AWS Identity and Access Management (IAM) pour Automation. Si vous ne spécifiez pas ce rôle, Automation s'exécute dans le contexte de l'utilisateur qui a exécuté l'automatisation.

Attribution d'autorisations AWSSupport-EC2Rescue pour exécuter des actions sur vos instances

EC2Rescuea besoin d'une autorisation pour effectuer une série d'actions sur vos instances pendant l'automatisation. Ces actions font appel aux EC2 services AWS Lambda IAM,, et Amazon pour tenter de résoudre en toute sécurité les problèmes liés à vos instances. Si vous disposez d'autorisations de niveau administrateur dans votre Compte AWS et/ouVPC, vous pourrez peut-être exécuter l'automatisation sans configurer les autorisations, comme décrit dans cette section. Si vous ne possédez pas les autorisations niveau administrateur, donc vous, ou un administrateur, devez configurer les autorisations en utilisant l'une des options suivantes.

Attribution des autorisations en utilisant les stratégies IAM

Vous pouvez soit associer la IAM politique suivante à votre utilisateur, groupe ou rôle en tant que stratégie intégrée, soit créer une nouvelle stratégie IAM gérée et l'associer à votre utilisateur, groupe ou rôle. Pour plus d'informations au sujet de l'ajout d'une politique en ligne à votre compte utilisateur, groupe ou rôle, consultez la page Utilisation de politiques en ligne. Pour plus d'informations sur la création d'une nouvelle politique gérée, consultez la page Utilisation de politiques gérées.

Note

Si vous créez une nouvelle politique IAM gérée, vous devez également y associer la politique gérée A mazonSSMAutomation Role afin que vos instances puissent communiquer avec le Systems ManagerAPI.

IAMPolitique pour AWSSupport - EC2Rescue

Remplacez account ID avec vos propres informations.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:account ID:function:AWSSupport-EC2Rescue-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::awssupport-ssm.*/*.template", "arn:aws:s3:::awssupport-ssm.*/*.zip" ], "Effect": "Allow" }, { "Action": [ "iam:CreateRole", "iam:CreateInstanceProfile", "iam:GetRole", "iam:GetInstanceProfile", "iam:PutRolePolicy", "iam:DetachRolePolicy", "iam:AttachRolePolicy", "iam:PassRole", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:DeleteInstanceProfile" ], "Resource": [ "arn:aws:iam::account ID:role/AWSSupport-EC2Rescue-*", "arn:aws:iam::account ID:instance-profile/AWSSupport-EC2Rescue-*" ], "Effect": "Allow" }, { "Action": [ "lambda:CreateFunction", "ec2:CreateVpc", "ec2:ModifyVpcAttribute", "ec2:DeleteVpc", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:CreateSubnet", "ec2:DeleteSubnet", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:CreateRouteTable", "ec2:AssociateRouteTable", "ec2:DisassociateRouteTable", "ec2:DeleteRouteTable", "ec2:CreateVpcEndpoint", "ec2:DeleteVpcEndpoints", "ec2:ModifyVpcEndpoint", "ec2:Describe*" ], "Resource": "*", "Effect": "Allow" } ] }

Octroi d'autorisations à l'aide d'un AWS CloudFormation modèle

AWS CloudFormation automatise le processus de création de IAM rôles et de politiques à l'aide d'un modèle préconfiguré. Utilisez la procédure suivante pour créer les IAM rôles et les politiques requis pour l'EC2Rescueautomatisation à l'aide de AWS CloudFormation.

Pour créer les IAM rôles et les politiques requis pour EC2Rescue
  1. Téléchargez AWSSupport-EC2RescueRole.zip et extrayez le fichier AWSSupport-EC2RescueRole.json pour l'enregistrer dans un répertoire de votre machine locale.

  2. Si vous Compte AWS vous trouvez dans une partition spéciale, modifiez le modèle pour remplacer les ARN valeurs par celles de votre partition.

    Par exemple, pour les régions de Chine, remplacez toutes les occurrences de arn:aws par arn:aws-cn.

  3. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  4. Sélectionnez Créer une pile, Avec de nouvelles ressources (standard).

  5. Sur la page Créer une pile, pour Prérequis - Préparer le modèle, sélectionnez Le modèle est prêt.

  6. Dans Spécifier le modèle, sélectionnez Charger un modèle de fichier.

  7. Sélectionnez Choisir le fichier, puis recherchez et sélectionnez le fichier AWSSupport-EC2RescueRole.json dans le répertoire où vous l'avez extrait.

  8. Sélectionnez Suivant.

  9. Dans la page Spécifier les détails de la pile, pour le champ Nom de la pile, entrez un nom pour identifier cette pile, puis sélectionnez Suivant.

  10. (Facultatif) Dans la zone Balises, appliquez une ou plusieurs paires nom/valeur de clé de balise à la pile.

    Les balises sont des métadonnées facultatives que vous affectez à une ressource. Les balises vous permettent de classer une ressource de différentes façons, par exemple, par objectif, par propriétaire ou par environnement. Par exemple, vous pouvez baliser une pile pour identifier le type de tâches qu'elle exécute, les types de cibles ou d'autres ressources concernées, et l'environnement dans lequel elle est exécutée.

  11. Choisissez Next (Suivant)

  12. Sur la page Révision, passez en revue les détails de la pile, puis faites défiler la page vers le bas et choisissez l'option Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.

  13. Sélectionnez Créer la pile.

    AWS CloudFormation affiche le PROGRESS statut CREATE_IN_ pendant quelques minutes. Le statut passe à CREATE_ une COMPLETE fois la pile créée. Vous pouvez également choisir l'icône d'actualisation pour vérifier le statut du processus de création.

  14. Dans la liste Piles, sélectionnez l'option à côté de la pile que vous venez de créer, puis sélectionnez l'onglet Sorties.

  15. Notez la Valeur. C'est ARN le AssumeRole. Vous le spécifiez ARN lorsque vous exécutez l'automatisation dans la procédure suivante,Exécution d'Automation.

Exécution d'Automation

Important

L'automatisation suivante arrête l'instance inaccessible. L'arrêt de l'instance peut entraîner la perte de données sur des volumes de stockage d'instance attachés (le cas échéant). L'arrêt de l'instance peut aussi causer le changement de l'adresse IP publique, si aucune adresse IP Elastic n'est associée.

Pour exécuter l'automatisation AWSSupport-ExecuteEC2Rescue
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation de gauche, sélectionnez Automation (Automatisation).

  3. Sélectionnez Execute automation (Exécuter l'automatisation).

  4. Dans la section Document d'automatisation, sélectionnez M'appartenant ou appartenant à Amazon dans la liste.

  5. Dans la liste des runbooks, sélectionnez le bouton de la carte pour AWSSupport-ExecuteEC2Rescue, puis sélectionnez Next (Suivant).

  6. Sur la page Exécuter le document d'automatisation, sélectionnez Exécution simple.

  7. Dans la section Détails du document, vérifiez que l'option Version du document est définie sur la version par défaut la plus importante. Par exemple, $ DEFAULT ou 3 (par défaut).

  8. Dans la section Paramètres d'entrée, spécifiez les paramètres suivants :

    1. Pour UnreachableInstanceId, spécifiez l'ID de l'instance inaccessible.

    2. (Facultatif) Pour EC2RescueInstanceType, spécifiez un type d'instance pour l'EC2Rescueinstance. Le type d'instance par défaut est t2.medium.

    3. En AutomationAssumeRoleeffet, si vous avez créé des rôles pour cette automatisation en utilisant la AWS CloudFormation procédure décrite précédemment dans cette rubrique, choisissez ARN celui AssumeRole que vous avez créé dans la AWS CloudFormation console.

    4. (Facultatif) Pour LogDestination, spécifiez un compartiment S3 si vous souhaitez collecter des journaux au niveau du système d'exploitation lors du dépannage de votre instance. Les journaux sont chargés automatiquement dans le compartiment spécifié.

    5. Pour SubnetId, spécifiez un sous-réseau dans un sous-réseau existant VPC dans la même zone de disponibilité que l'instance inaccessible. Par défaut, Systems Manager en crée un nouveauVPC, mais vous pouvez spécifier un sous-réseau dans un sous-réseau existant VPC si vous le souhaitez.

      Note

      Si vous ne voyez pas l'option permettant de spécifier un compartiment ou un ID de sous-réseau, vérifiez que vous utilisez la version Default (Par défaut) la plus récente du runbook.

  9. (Facultatif) Dans la section Tags (Balises), appliquez une ou plusieurs paires nom/valeur de clé de balise pour aider à identifier l'automatisation, par exemple, Key=Purpose,Value=EC2Rescue.

  10. Sélectionnez Execute (Exécuter).

Le runbook crée une AMI de sauvegarde dans le cadre de l'automatisation. Toutes les autres ressources créées par l'automatisation sont automatiquement supprimées, mais elles AMI restent dans votre compte. L'AMI est nommée selon la convention suivante :

Sauvegarde AMI : AWSSupport - EC2Rescue :UnreachableInstanceId

Vous pouvez le trouver AMI dans la EC2 console Amazon en effectuant une recherche sur l'ID d'exécution d'Automation.