Je souhaiterais créer une alarme CloudWatch pour récupérer mon instance EC2 dans certaines circonstances. Je souhaiterais également que cette alarme envoie une notification aux destinataires désignés. J'ai suivi toutes les conditions requises décrites dans les sections Récupération de votre instance et Créer des alarmes qui arrêtent, finissent, redémarrent ou récupèrent une instance pour activer cette fonctionnalité. Lorsque j'essaie de créer une alarme CloudWatch à ces fins, les options de notification de l'alarme (nom de rubrique et destinataires), ainsi que l'option « Recover this instance » affichée sous « Take the action: », sont désactivées.

Actuellement, l'action de récupération n'est pas prise en charge pour les instances EC2 qui utilisent des volumes de stockage d'instance éphémères, y compris les instances lancées avec des block device mappings pour les volumes de stockage d'instance.

Déterminez si l'instance EC2 est configurée pour utiliser les volumes de stockage d'instance.

Utilisez l'une des méthodes ci-dessous pour déterminer si l'instance EC2 est configurée pour utiliser les volumes de stockage d'instance.

  • Si l'instance EC2 exécute Linux, connectez-vous à celle-ci et entrez la commande suivante à partir d'un shell de commande afin de déterminer si des volumes de stockage d'instance sont associés à l'instance EC2 :

curl http://169.254.169.254/latest/meta-data/block-device-mapping/

 

[ec2-user@ip-172.31.2.161 ~]$ curl http://169.254.169.254/latest/meta-data/block-device-mapping/

ami

ephemeral0

ephemeral2

root

Les volumes de stockage d'instance qui commencent par "ephemeral" sont les volumes de stockage d'instance associés à l'instance EC2.

Les volumes de stockage d'instance qui commencent par "ephemeral" sont les volumes de stockage d'instance associés à l'instance EC2.

  • Pour voir ces informations, vous pouvez également vérifier l'Amazon Machine Image (AMI) de votre instance EC2 dans la console EC2. Accédez à l'onglet Details de l'AMI dans la console EC2 et recherchez les volumes de stockage d'instance du Block Device accompagnés de la désignation "=ephemeral#", où # correspond à un chiffre entier compris entre 0 et 23.
  • Exécutez la commande suivante à partir de l'interface de ligne de commande AWS pour renvoyer les informations comprenant les Block Device Mappings de l'AMI en veillant à remplacer le paramètre --image-ids par la valeur appropriée :

aws ec2 describe-images --image-ids ami-11112222

   

"BlockDeviceMappings": [

   {

      "DeviceName": "/dev/xvda",

      "Ebs": {

         "DeleteOnTermination": true,

         "SnapshotId": "snap-        ",

         "VolumeSize": 8,

         "VolumeType": "gp2",

         "Encrypted": false

      }

   },

   {

      "DeviceName": "/dev/sdb",

      "VirtualName": "ep0hemeral0"

   },

   {

      "DeviceName": "/dev/sdc",

      "VirtualName": "ephemeral2"

   }

],

Pour rappel, les volumes de stockage d'instance comportent la désignation "ephemeral#", où # correspond à un nombre entier compris entre 0 et 23.

Le Block Device Mapping des volumes de stockage d'instance peut s'effectuer sur Linux ou Windows, même si le type d'instance ne prend pas officiellement en charge l'utilisation de ces volumes.

Cela peut se produire lorsque vous utilisez l'interface de ligne de commande AWS, un SDK ou un service comme CloudFormation pour lancer une instance EC2 basée sur une AMI dont le Block Device Mapping comprend des volumes de stockage d'instance. Si la console EC2 est employée pour lancer un type d'instance EC2 qui ne prend pas en charge les volumes de stockage d'instance (comme T2, M4 ou C4), les Block Device Mappings modifiés sont tout simplement ignorés.

Supprimez ou écrasez toute référence aux volumes de stockage d'instance dans l'AMI, puis relancez l'instance EC2.

Si vous confirmez que votre instance EC2 utilise un volume de stockage d'instance, vous devez la relancer, car il n'est pas possible d'ajouter ou de supprimer des volumes de stockage d'instance dans une instance EC2 existante. Vous pouvez supprimer les références aux volumes de stockage d'instance dans l'AMI et relancer l'instance, ou utiliser l'une des méthodes ci-dessous pour écraser ces références dans l'AMI lorsque vous relancerez l'instance EC2 :

  • Lancez l'instance EC2 à partir de la console EC2 pour écraser l'AMI correspondant aux types d'instances EC2 qui ne prennent pas en charge les volumes de stockage d'instance.
  • Lancez l'instance EC2 à partir de l'interface de ligne de commande AWS et écrasez manuellement chaque Block Device de l'AMI qui référence un volume de stockage d'instance. Dans l'exemple précédent illustrant une sortie d'interface de ligne de commande AWS, les Block Devices associés aux volumes de stockage d'instance sont '/dev/sdb' et '/dev/sdc'. Pour écraser le mapping de ces Block Devices avec les volumes de stockage d'instance, lancez l'instance EC2 à partir de l'interface de ligne de commande en utilisant la syntaxe suivante :

aws ec2 run-instances --image-id ami-11112222 --subnet-id subnet-11112222 --instance-type t2.medium --key-name my_key --associate-public-ip-address --block-device-mappings '[{"DeviceName": "/dev/sdb","NoDevice": ""},{"DeviceName": "/dev/sdc","NoDevice": ""}]'

Pour plus d'informations sur l'utilisation de l'interface de ligne de commande AWS pour exécuter des instances EC2, voir aws.ec2 run-instances.

  • Si l'instance EC2 est lancée via CloudFormation, créez un modèle Cloud Formation pour écraser le mapping des Block Devices avec les volumes de stockage d'instance.

{

  "AWSTemplateFormatVersion" : "2010-09-09",

  "Ressources": {

    "I4EY8I": {

      "Type" : "AWS::EC2::Instance",

      "Properties": {

        "ImageId" : "ami-11112222",

        "InstanceType" : "t2.medium",

        "SubnetId" : "subnet-11112222",

        "KeyName" : "my_key",

    "BlockDeviceMappings" : [

        {

             "DeviceName":"/dev/sdb",

            "NoDevice": {}

        },

        {

            "DeviceName":"/dev/sdc",

            "NoDevice": {}

        }

    ]

      }

    }

  }

}

  • Si l'instance EC2 est lancée via un SDK, reportez-vous à la documentation de ce SDK pour découvrir comment écraser le mapping des Block Devices avec les volumes de stockage d'instance.

CloudWatch, alarme, récupération, EC2, Linux, Windows, stockage d'instance, éphémère, block device mapping, désactivé


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 30/02/2016