Mettre votre instance Linux en veille prolongée
Lorsque vous mettez une instance en veille prolongée, Amazon EC2 indique au système d'exploitation de procéder à la mise en veille prolongée (suspend-to-disk). La mise en veille prolongée enregistre le contenu de la mémoire d'instance (RAM) sur votre volume racine Amazon Elastic Block Store (Amazon EBS). Amazon EC2 conserve le volume racine EBS de l'instance et les volumes de données EBS attachés. Lorsque vous démarrez votre instance :
-
Le volume racine EBS est restauré à l'état précédent.
-
Le contenu de la mémoire RAM est chargé à nouveau.
-
Les processus qui s'exécutaient précédemment sur l'instance reprennent.
-
Les volumes de données précédemment attachés sont attachés à nouveau et l'instance conserve son ID d'instance.
Vous pouvez mettre une instance en veille prolongée uniquement si celle-ci est activée pour la mise en veille prolongée et si elle répond aux prérequis de mise en veille prolongée.
Si les actions d'amorçage d'une instance et de création d'une empreinte mémoire afin de devenir complètement productive prennent du temps, vous pouvez utiliser la mise en veille prolongée pour préchauffer l'instance. Pour préchauffer l'instance, vous :
-
La lancez avec la mise en veille prolongée activée.
-
La placez dans l'état souhaité.
-
La mettez en veille prolongée, prête à reprendre dans le même état selon les besoins.
L'utilisation d'une instance mise en veille prolongée lorsqu'elle est à l'état stopped
n'entraîne pas de facturation. Vous recevez une facture correspondant à l'utilisation
de l'instance pendant que cette dernière est à l'état stopping
, quand le contenu de la mémoire RAM est transféré vers le volume racine EBS. (Ce
n'est pas comme lorsque vous arrêtez une instance sans la mettre en veille prolongée.) Le transfert de données n'est pas facturé. Cependant,
vous recevez une facture correspondant au stockage de tout volume EBS, y compris le
stockage du contenu de la mémoire RAM.
Si vous n'avez plus besoin d'une instance, vous pouvez la résilier à tout moment,
y compris quand elle est à un état stopped
(en veille prolongée). Pour plus d'informations, consultez Résilier une instance.
Pour de plus amples informations sur l'utilisation de la mise en veille prolongée sur des instances Windows, veuillez consulter Mettre votre instance Windows en veille prolongée dans le Amazon EC2 Guide de l'utilisateur pour les instances Windows.
Sommaire
- Présentation de la mise en veille prolongée
- Prérequis de la mise en veille prolongée
- Limites
- Configurer une AMI existante pour prendre en charge la mise en veille prolongée
- Activer la mise en veille prolongée pour une instance
- Désactiver KASLR sur une instance (Ubuntu uniquement)
- Mettre une instance en veille prolongée
- Démarrer une instance mise en veille prolongée
- Résoudre les problèmes liés à la mise en veille prolongée
Présentation de la mise en veille prolongée
Le diagramme suivant fournit une présentation de base du processus de mise en veille prolongée.

Lorsque vous mettez en veille prolongée une instance en cours d'exécution, voici ce qui se produit :
-
Lorsque vous lancez la mise en veille prolongée, l'instance passe à l'état
stopping
. Amazon EC2 indique au système d'exploitation de procéder à la mise en veille prolongée (suspend-to-disk). La mise en veille prolongée fige tous les processus, enregistre le contenu de la mémoire RAM sur le volume racine EBS, puis exécute un arrêt normal. -
Lorsque l'arrêt est terminé, l'instance passe à l'état
stopped
. -
Les volumes EBS restent attachés à l'instance et leurs données persistent, y compris le contenu enregistré de la mémoire RAM.
-
Tous les volumes de stockage d'instance Amazon EC2 restent attachés à l'instance, mais les données des volumes de stockage d'instance sont perdues.
-
L'instance est généralement migrée vers un nouvel ordinateur hôte sous-jacent lorsqu'elle démarre. Cela se produit également lorsque vous arrêtez et démarrez une instance.
-
Lorsque vous démarrez l'instance, celle-ci démarre et le système d'exploitation lit le contenu de la mémoire RAM depuis le volume racine EBS avant de « défiger » les processus pour qu'ils reprennent leur état.
-
L'instance conserve ses adresses IPv4 privées, ainsi que les adresses IPv6. Lorsque vous démarrez l'instance, elle continue de conserver ses adresses IPv4 privées et toutes les adresses IPv6.
-
Amazon EC2 publie l'adresse IPv4 publique. Lorsque vous démarrez l'instance, Amazon EC2 attribue une nouvelle adresse IPv4 publique à l'instance.
-
L'instance conserve les adresses IP Elastic qui lui sont associées. Les adresses IP Elastic qui sont associées à une instance mise en veille prolongée vous sont facturées. Avec EC2-Classic, une adresse IP Elastic est dissociée de votre instance lorsque vous la mettez en veille prolongée. Pour plus d'informations, consultez EC2-Classic.
-
Lorsque vous mettez une instance ClassicLink en veille prolongée, celle-ci est détachée du VPC auquel elle était liée. Vous devez lier à nouveau l'instance au VPC après l'avoir démarrée. Pour plus d'informations, consultez ClassicLink.
Pour plus d'informations sur les différences entre la mise en veille prolongée, et le redémarrage, l'arrêt et la résiliation, consultez Différences entre redémarrage, arrêt, mise en veille prolongée et résiliation.
Prérequis de la mise en veille prolongée
Pour qu'une instance puisse être mise en veille prolongée, les prérequis suivants doivent être réunis :
-
Familles d'instances prises en charge
-
C3, C4, C5
-
I3
-
M3, M4, M5, M5a, M5ad
-
R3, R4, R5, R5a, R5ad
-
T2, T3, T3a
-
-
Taille de la mémoire RAM de l'instance - doit être inférieure à 150 Go.
-
Taille de l'instance - non prise en charge pour les instances nues.
-
AMI prises en charge (doit être une AMI HVM prenant en charge la mise en veille prolongée) :
-
AMI Amazon Linux 2 publiée le 29 août 2019 ou version ultérieure
-
AMI Amazon Linux de mars 2018 publiée le 16 novembre 2018 ou version ultérieure
-
AMI Ubuntu 18.04 LTS - Bionic publiée avec le numéro de série 20190722.1 ou version ultérieure.*
-
Ubuntu 16.04 LTS - Xenial AMI.* (Configuration supplémentaire est requis.)
* Nous recommandons de désactiver KASLR sur les instances avec Ubuntu 18.04 LTS - Bionic et Ubuntu 16.04 LTS - Xenial. Pour plus d'informations, consultez Désactiver KASLR sur une instance (Ubuntu uniquement).
Pour configurer votre propre AMI afin de prendre en charge la mise en veille prolongée, consultez Configurer une AMI existante pour prendre en charge la mise en veille prolongée.
La prise en charge d'autres versions d'Ubuntu et d'autres systèmes d'exploitation sera bientôt disponible.
Pour de plus amples informations sur les AMI prises en charge pour Windows, veuillez consulter Conditions préalables à la mise en veille prolongée dans le Amazon EC2 Guide de l'utilisateur pour les instances Windows.
-
-
Type de volume racine - doit être un volume EBS, et non un volume de stockage d'instance.
-
Types de volumes EBS pris en charge - SSD à usage général (
gp2
andgp3
) ou IOPS provisionnés SSD (gp2
andgp3
). Si vous choisissez un type de volume IOPS provisionnés SSD, pour obtenir des performances optimales pour la mise en veille prolongée, vous devez provisionner le volume EBS avec les IOPS appropriées. Pour de plus amples informations, veuillez consulter Types de volume Amazon EBS. -
Taille du volume racine EBS : Doit être suffisamment grand pour stocker le contenu de la mémoire RAM et prendre en compte l'utilisation que vous prévoyez, par exemple, le système d'exploitation ou des applications. Si vous activez la mise en veille prolongée, un espace est alloué sur le volume racine au lancement pour stocker la mémoire RAM.
-
Chiffrement du volume racine EBS : Pour que vous puissiez utiliser la mise en veille prolongée, le volume racine doit être chiffré afin d'assurer la protection du contenu sensible qui se trouve en mémoire au moment de la mise en veille prolongée. Lorsque les données de la mémoire RAM sont transférées vers le volume racine EBS, celui-ci est toujours chiffré. Le chiffrement du volume racine est appliqué au lancement de l'instance. L'une des trois options suivantes permet de s'assurer que le volume racine est une volume EBS chiffré :
-
Chiffrement EBS « en une étape » : vous pouvez lancer des instances EC2 chiffrées basées sur EBS depuis une AMI non chiffrée et activer la mise en veille prolongée en même temps. Pour plus d'informations, consultez Utiliser le chiffrement avec des AMI basées sur EBS.
-
Chiffrement EBS par défaut : vous pouvez activer le chiffrement EBS par défaut afin de vous assurer que tous les nouveaux volumes EBS de votre compte AWS sont chiffrés. De cette façon, vous pouvez activer l'hibernation pour vos instances sans spécifier d'intention de chiffrement au moment du lancement de l'instance. Pour plus d'information, consultez la section Chiffrement par défaut.
-
AMI chiffrée : vous pouvez activer le chiffrement EBS en utilisant une AMI chiffrée pour lancer votre instance. Si votre AMI ne dispose d'aucun volume racine chiffré, vous pouvez le copier sur le nouvel AMI et demander son chiffrement. Pour de plus amples informations, veuillez consulter Chiffrement d'une image non chiffrée pendant la copie et Copier une AMI.
-
-
Activer la mise en veille prolongée au lancement - Vous ne pouvez pas activer la mise en veille prolongée sur une instance existante (en cours d'exécution ou arrêtée). Pour de plus amples informations, veuillez consulter Activer la mise en veille prolongée pour une instance.
-
Options d'achat - Cette fonction est disponible pour les Instances à la demande et les Instances réservées. Elle n'est pas disponible pour les Instances Spot. Pour de plus amples informations, veuillez consulter Mettre l'Instances Spot interrompue en veille prolongée.
Limites
-
Lorsque vous mettez en veille une instance, les données contenues sur les volumes de stockage d'instance sont perdues.
-
Vous ne pouvez pas mettre en veille prolongée une instance qui dispose de moins de 150 Go de mémoire RAM.
-
Si vous créez un instantané ou une AMI à partir d'une instance qui est mise en veille prolongée ou dont la mise en veille prolongée est activée, il se peut que vous ne puissiez pas vous connecter à l'instance.
-
Vous ne pouvez pas modifier le type ou la taille d'une instance dont la mise en veille prolongée est activée.
-
Vous ne pouvez pas mettre en veille prolongée une instance faisant partie d'un groupe Auto Scaling ou utilisée par Amazon ECS. Si votre instance est dans un groupe Auto Scaling et que vous essayez de la mettre en veille prolongée, le service Amazon EC2 Auto Scaling marque l'instance arrêtée comme étant non saine, et peut la résilier et lancer une instance de remplacement. Pour de plus amples informations, veuillez consulter Vérification de l'état des instances Auto Scaling dans le Amazon EC2 Auto Scaling Guide de l'utilisateur.
-
Nous ne prenons pas en charge la conservation d'une instance mise en veille prolongée au-delà de 60 jours. Pour conserver l'instance mise en veille prolongée au-delà de 60 jours, vous devez la démarrer, l'arrêter, puis la démarrer.
-
Nous mettons à jour en permanence notre plateforme avec des mises à niveau et des correctifs de sécurité qui peuvent être en conflit avec des instances mises en veille prolongée existantes. Nous vous avertissons des mises à niveau critiques qui nécessitent un démarrage des instances mises en veille prolongée pour que nous puissions effectuer un arrêt ou un redémarrage afin d'appliquer les mises à niveau et les correctifs de sécurité requis.
Configurer une AMI existante pour prendre en charge la mise en veille prolongée
Pour mettre en veille prolongée une instance qui avait été lancée à l'aide de votre propre AMI, vous devez d'abord configurer votre AMI pour prendre en charge la mise en veille prolongée. Pour de plus amples informations, veuillez consulter Mettre à jour le logiciel d'instance sur votre instance Amazon Linux.
Si vous utilisez l'une des AMI prises en charge (à l’exception d’Ubuntu 16.04 LTS), ou si vous créez une AMI basée sur l'une des AMI prises en charge, vous n'avez pas besoin de configurer celle-ci pour prendre en charge la mise en veille prolongée. Ces AMI sont préconfigurées pour prendre en charge la mise en veille prolongée. Pour configurer Ubuntu 16.04 LTS pour la prise en charge la mise en veille prolongée, vous devez installer le paquet du noyau linux-aws-hwe version 4.15.0-1058-aws ou ultérieure et ec2-hibinit-agent. Pour les étapes de configuration, choisissez l'onglet Ubuntu 16.04 - Xenial ci-dessous.
Activer la mise en veille prolongée pour une instance
Pour que vous puissiez mettre une instance en veille prolongée, celle-ci doit d'abord être activée pour la mise en veille prolongée. L'activation de la mise en veille prolongée doit être effectuée lors du lancement de l'instance.
Vous ne pouvez pas activer ou désactiver la mise en veille prolongée pour une instance après son lancement.
Désactiver KASLR sur une instance (Ubuntu uniquement)
Pour exécuter une mise en veille prolongée sur une instance récemment lancée avec Ubuntu 16.04 LTS - Xenial ou Ubuntu 18.04 LTS - Bionic publiée avec le numéro de série 20190722.1 ou ultérieur, il est recommandé de désactiver KASLR (Kernel Address Space Layout Randomization). Sur Ubuntu 16.04 LTS ou Ubuntu 18.04 LTS, KASLR est activé par défaut. KASLR est une fonction de sécurité du noyau Linux standard qui permet d'atténuer l'exposition aux vulnérabilités d'accès à la mémoire pas encore découvertes, et leurs ramifications, en randomisant la valeur de l'adresse de base du noyau. En activant KASLR, il est possible que l'instance ne reprenne pas son exécution après sa mise en veille prolongée.
Pour en savoir plus sur KASLR, veuillez consulter la page relative aux fonctionnalités d'Ubuntu
Pour désactiver KASLR sur une instance lancée avec Ubuntu
-
Connectez-vous à votre instance à l'aide de SSH. Pour de plus amples informations, veuillez consulter Se connecter à votre instance Linux à l'aide de SSH.
-
Ouvrez le fichier
/etc/default/grub.d/50-cloudimg-settings.cfg
dans l'éditeur de votre choix. Éditez la ligneGRUB_CMDLINE_LINUX_DEFAULT
de sorte à ajouter l'optionnokaslr
à la fin de la ligne, comme illustré dans l'exemple suivant.GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0 nvme_core.io_timeout=4294967295 nokaslr"
-
Enregistrez le fichier et quittez votre éditeur.
-
Exécutez la commande suivante pour recréer la configuration Grub.
[ec2-user ~]$
sudo update-grub
-
Redémarrez l'instance.
[ec2-user ~]$
sudo reboot
-
Confirmez que l'option
nokaslr
a été ajoutée lors de l'exécution de la commande suivante.[ec2-user ~]$
cat /proc/cmdline
Le résultat de la commande doit inclure l'option
nokaslr
.
Mettre une instance en veille prolongée
Vous pouvez mettre une instance en veille prolongée uniquement si celle-ci est activée pour la mise en veille prolongée et si elle répond aux conditions préalables à la mise en veille prolongée. Si une instance ne peut pas être mise en veille prolongée, un arrêt normal a lieu.
Démarrer une instance mise en veille prolongée
Démarrez une instance mise en veille prolongée comme vous le feriez pour une instance arrêtée.
Résoudre les problèmes liés à la mise en veille prolongée
Utilisez ces informations pour diagnostiquer et résoudre les problèmes courants que vous pourriez rencontrer lors de la mise en veille prolongée d'une instance.
Impossible d'effectuer une mise en veille prolongée immédiatement après le lancement
Si vous essayez de mettre en veille prolongée une instance trop rapidement après l'avoir lancée, vous obtiendrez une erreur.
Vous devez patienter environ deux minutes après le lancement avant de la mettre en veille prolongée.
Le passage de stopping
à stopped
prend du temps et l'état de la mémoire n'est pas restauré après le démarrage
Si votre instance mise en veille prolongée prend du temps pour passer de l'état stopping
à stopped
, et si l'état de la mémoire n'est pas restauré après que vous avez démarré, cela
peut indiquer que la mise en veille prolongée n'a pas été configurée correctement.
Consultez le journal système de l'instance et recherchez les messages liés à la mise
en veille prolongée. Pour accéder au journal système, connectez-vous à l'instance ou utilisez la commande get-console-output. Recherchez les lignes de journal de l'agent hibinit-agent
. Si les lignes de journal indiquent un échec ou si les lignes de journal sont manquantes,
il est probable qu'un échec de la configuration de la mise en veille prolongée au
lancement ait eu lieu.
Par exemple, le message suivant indique que le volume racine de l'instance n'est pas
suffisamment grand : hibinit-agent: Insufficient disk space.
Cannot create setup for hibernation. Please allocate a larger root
device.
Si la dernière ligne de journal de l'agent hibinit-agent
est hibinit-agent: Running: swapoff /swap
, la mise en veille prolongée a été configurée avec succès.
Si vous ne voyez aucun journal issu de ces processus, votre AMI ne prend pas en charge la mise en veille prolongée. Pour plus d'informations sur les AMI supportées, consultez Prérequis de la mise en veille prolongée. Si vous avez utilisé votre propre AMI, vérifiez que vous avez suivi les instructions pour Configurer une AMI existante pour prendre en charge la mise en veille prolongée.
Instance « bloquée » dans l'état d'arrêt
Si vous avez mis votre instance en veille prolongée que celle-ci semble « bloquée »
à l'état stopping
, vous pouvez forcer son arrêt. Pour de plus amples informations, veuillez consulter
Résoudre les problèmes d'arrêt de votre instance.