Arrêt et démarrage de votre instance - Amazon Elastic Compute Cloud

Arrêt et démarrage de votre instance

Vous pouvez arrêter et démarrer votre instance si elle comporte un volume Amazon EBS comme périphérique racine. L'instance conserve son ID d'instance, mais vous pouvez le modifier comme expliqué dans la section Présentation.

Lorsque vous arrêtez une instance, nous la fermons. Nous ne vous facturons pas l'utilisation d'une instance arrêtée, ni les frais de transfert de données. Par contre, nous facturons le stockage des volumes Amazon EBS. Chaque fois que vous démarrez une instance arrêtée, nous facturons au minimum une minute d'utilisation. Après une minute, seules les secondes que vous utilisez vous sont facturées. Si, par exemple, vous exécutez une instance pendant 20 secondes, puis que vous l'arrêtez, nous vous facturons une minute complète. Si vous exécutez une instance pendant 3 minutes et 40 secondes, nous vous facturons exactement 3 minutes et 40 secondes d'utilisation.

Pendant que l'instance est arrêtée, vous pouvez traiter son volume racine comme tout autre volume et le modifier (par exemple, résoudre des problèmes de système de fichiers ou mettre à jour le logiciel). Il suffit de détacher le volume de l'instance arrêtée, l'attacher à une instance en cours d'exécution, effectuer vos modifications, détacher le volume de l'instance en cours d'exécution, puis le ré-attacher à l'instance arrêtée. Veillez à le ré-attacher à l'aide du nom de périphérique de stockage que vous avez spécifié comme périphérique racine dans le mappage de périphérique de stockage en mode bloc pour l'instance.

Si vous jugez que vous n'avez plus besoin d'une instance, vous pouvez y mettre fin. Dès que l'état d'une instance passe à shutting-down ou terminated, nous arrêtons de facturer cette instance. Pour plus d'informations, consultez Résilier une instance. Si vous préférez mettre l'instance en veille prolongée, consultez Mettre en veille prolongée votre instance Linux à la demande. Pour plus d'informations, consultez Différences entre redémarrage, arrêt, mise en veille prolongée et résiliation.

Présentation

Vous pouvez uniquement arrêter une instance basée sur Amazon EBS. Pour vérifier le type de périphérique racine de votre instance, décrivez l'instance et déterminez si le type de périphérique de son volume racine est ebs (instance basée sur Amazon EBS) ou instance store (instance basée sur le stockage d'instances). Pour plus d'informations, consultez Déterminer le type de périphérique racine de votre AMI.

Vous pouvez modifier les attributs suivants d'une instance uniquement quand celle-ci est arrêtée :

  • Type d'instance

  • Données utilisateur

  • Kernel

  • Disque RAM

Si vous essayez de modifier ces attributs lorsque l'instance est en cours d'exécution, Amazon EC2 renvoie le code IncorrectInstanceState.

Ce qui se passe lorsque vous arrêtez une instance

Lorsque vous arrêtez une instance EC2 à l'aide de l'API StopInstances (par exemple, en choisissant Instance state (État de l'instance), Stop instance (Arrêter l'instance) dans la console Amazon EC2 ou à l'aide de la commande AWS CLI stop-instances), les éléments suivants sont enregistrés au niveau du système d'exploitation :

  • La demande d'API envoie un événement d'appui sur un bouton à l'invité.

  • Divers services système sont arrêtés à la suite de l'événement d'appui sur le bouton. L'arrêt normal est déclenché par l'événement d'appui sur un bouton d'arrêt ACPI à partir de l'hyperviseur.

  • L'arrêt ACPI est lancé.

  • L'instance s'arrête lorsque le processus d'arrêt normal se termine. L'heure d'arrêt du système d'exploitation n'est pas configurable.

  • Si le système d'exploitation d'instance ne s'arrête pas proprement en quelques minutes, un arrêt dur est effectué.

  • L'instance cesse de s'exécuter.

  • L'état de l'instance devient stopping, puis stopped.

  • (Groupe Auto Scaling) Si votre instance est dans un groupe Auto Scaling, 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 plus d'informations, consultez Vérifications de l'état pour les instances Auto Scaling dans le Guide de l'utilisateur Amazon EC2 Auto Scaling.

  • (Windows) Lorsque vous arrêtez et démarrez une instance Windows, le service EC2Config exécute des tâches sur l'instance, telles que la modification des lettres de lecteur pour les volumes Amazon EBS attachés. Pour plus d'informations sur ces comportements par défaut et pour savoir comment les modifier, consultez Configurer une instance Windows à l'aide du service EC2Config dans le Guide de l'utilisateur Amazon EC2 pour les instances Windows.

  • (ClassicLink) Lorsque vous arrêtez une instance ClassicLink, 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 sur ClassicLink, consultez ClassicLink.

Par défaut, lorsque vous initiez une fermeture à partir d'une instance basée sur Amazon EBS (par exemple, à l'aide de la commande shutdown ou poweroff), l'instance s'arrête. Vous pouvez modifier ce comportement pour que l'instance prenne fin. Pour plus d'informations, consultez Modifier le comportement d'arrêt lancé de l'instance.

L'utilisation de la commande halt d'une instance ne déclenche pas un arrêt. Si elle est utilisée, l'instance n'est pas résiliée. Au lieu de cela, elle place l'UC à l'état HLT et l'instance continue de s'exécuter.

Lorsque vous arrêtez une instance, ce qui suit est perdu :

  • Les données stockées dans la RAM.

  • Les données stockées sur les volumes de stockage d'instances.

  • L'adresse IPv4 publique qu'Amazon EC2 a automatiquement attribuée à l'instance au lancement ou au démarrage. (Pour retenir une adresse IPv4 publique qui ne change jamais, vous pouvez associer une adresse IP élastique à votre instance.)

  • (EC2-Classic) Avec EC2-Classic, les adresses IP élastiques sont dissociées de votre instance. Pour plus d'informations, consultez EC2-Classic.

Lorsque vous arrêtez une instance, les éléments suivants persistent :

Pour plus d'informations, consultez Différences entre redémarrage, arrêt, mise en veille prolongée et résiliation.

Ce qui se passe lorsque vous lancer une instance

Lorsque vous lancer une instance EC2 à l'aide de l'API StartInstances (par exemple, en choisissant Instance state (État de l'instance), Start instance (lancer l'instance) dans la console Amazon EC2 ou à l'aide de la commande AWS CLI start-instances), les éléments suivants sont enregistrés au niveau du système d'exploitation :

  • L'instance est généralement migrée vers un nouvel ordinateur hôte sous-jacent (même si, dans certains cas, elle reste sur l'hôte actuel).

  • Amazon EC2 attribue une nouvelle adresse IPv4 publique à l'instance si l'instance est configurée pour recevoir une adresse IPv4 publique. (Pour retenir une adresse IPv4 publique qui ne change jamais, vous pouvez associer une adresse IP élastique à votre instance.)

Pour plus d'informations, consultez Différences entre redémarrage, arrêt, mise en veille prolongée et résiliation.

Arrêter et démarrer vos instances

Vous pouvez arrêter et démarrer votre instance basée sur Amazon EBS à l'aide de la console ou de la ligne de commande.

New console

Pour arrêter et démarrer une instance basée sur Amazon EBS à l'aide de la console

  1. Lorsque vous arrêtez une instance, les données contenues sur les volumes de stockage d'instances sont effacées. Avant d'arrêter une instance, vérifiez que vous avez copié toutes les données dont vous avez besoin à partir de vos volumes de stockage d'instances vers un stockage persistant, tel que Amazon EBS ou Amazon S3.

  2. Dans le panneau de navigation, sélectionnez Instances, puis choisissez l'instance.

  3. Choisissez État de l'instance, Arrêter l'instance. Si cette option est désactivée, l'instance est déjà arrêtée ou son périphérique racine est un volume de stockage d'instances.

  4. Lorsque vous êtes invité à confirmer l'opération, choisissez Arrêter. L'arrêt de l'instance peut prendre quelques minutes.

  5. (Facultatif) Pendant que l'instance est en cours d'arrêt, vous pouvez modifier certains de ses attributs. Pour plus d'informations, veuillez consulter modify-stopped-instance.

  6. Pour démarrer l'instance arrêtée, sélectionnez l'instance et choisissez État de l'instance, Démarrer l'instance.

  7. Il peut s'écouler quelques minutes avant que l'instance ne passe à l'état running.

Old console

Pour arrêter et démarrer une instance basée sur Amazon EBS à l'aide de la console

  1. Lorsque vous arrêtez une instance, les données contenues sur les volumes de stockage d'instances sont effacées. Avant d'arrêter une instance, vérifiez que vous avez copié toutes les données dont vous avez besoin à partir de vos volumes de stockage d'instances vers un stockage persistant, tel que Amazon EBS ou Amazon S3.

  2. Dans le panneau de navigation, sélectionnez Instances, puis choisissez l'instance.

  3. Choisissez Actions, Instance State, Stop. Si cette option est désactivée, l'instance est déjà arrêtée ou son périphérique racine est un volume de stockage d'instances.

  4. Lorsque vous êtes invité à confirmer, choisissez Oui, arrêter. L'arrêt de l'instance peut prendre quelques minutes.

  5. (Facultatif) Pendant que l'instance est en cours d'arrêt, vous pouvez modifier certains de ses attributs. Pour plus d'informations, veuillez consulter modify-stopped-instance.

  6. Pour démarrer l'instance arrêtée, sélectionnez l'instance et choisissez Actions, Instance State (État de l'instance) et Start (Démarrer).

  7. Dans la boîte de dialogue de confirmation, sélectionnez Oui, démarrer. Il peut s'écouler quelques minutes avant que l'instance ne passe à l'état running.

Pour arrêter et démarrer une instance basée sur Amazon EBS à l'aide de la ligne de commande

Vous pouvez utiliser l'une des commandes suivantes. Pour obtenir plus d'informations sur les CLI (interface ligne de commande), consultez le didacticiel Accès à Amazon EC2.

Pour exécuter une expérience d'injection de défauts contrôlés

Vous pouvez utiliser AWS Fault Injection Simulator pour tester comment votre application réagit lorsque votre instance est arrêtée et démarrée. Pour en savoir plus, veuillez consulter le Guide de l'utilisateur AWS Fault Injection Simulator.

Arrêter et démarrer vos instances selon un calendrier

Vous pouvez planifier l'arrêt et le démarrage de vos instances EC2. Les deux options suivantes permettent de configurer ce processus.

Utiliser Instance Scheduler sur AWS

Vous pouvez utiliser Instance Scheduler sur AWS pour automatiser le démarrage et l'arrêt des instances EC2. Pour plus d'informations, consultez Comment utiliser Instance Scheduler avec CloudFormation pour planifier des instances EC2 ? Notez que des frais supplémentaires sont facturés.

Utiliser AWS Lambda et une règle Amazon EventBridge

Vous pouvez utiliser Lambda et une règle EventBridge pour arrêter et démarrer vos instances selon un calendrier. Pour plus d'informations, consultez Comment arrêter et démarrer des instances Amazon EC2 à intervalles réguliers à l'aide de Lambda ?

Activer la protection contre l'arrêt

Par défaut, vous pouvez arrêter votre instance à l'aide de la console Amazon EC2, de l'interface ligne de commande ou de l'API. Pour éviter que votre instance ne soit arrêtée accidentellement, vous pouvez activer la protection contre l'arrêt de l'instance. La protection contre l'arrêt protège également votre instance contre la résiliation accidentelle.

L'attribut DisableApiStop permet de vérifier si l'instance peut être arrêtée à l'aide de la console Amazon EC2, de la AWS CLI ou de l'API. Vous pouvez définir la valeur de cet attribut lorsque vous lancez l'instance, pendant l'exécution de l'instance ou une fois l'instance arrêtée.

L'attribut DisableApiStop ne vous empêche pas d'arrêter une instance en initiant l'arrêt depuis l'instance (à l'aide d'une commande du système d'exploitation pour l'arrêt système).

Considérations

  • L'activation de la protection contre l'arrêt n'empêche pas AWS d'arrêter l'instance lorsque celle-ci a un événement planifié d'arrêt de l'instance.

  • La protection contre l'arrêt ne protège pas seulement votre instance contre les arrêts accidentels, mais aussi contre les résiliations accidentelles à l'aide de la console, de la AWS CLI ou de l'API. Cependant, elle ne modifie pas automatiquement l'attribut DisableApiTermination. Notez que lorsque l'attribut DisableApiStop est défini sur False, l'attribut DisableApiTermination permet de déterminer si l'instance peut être résiliée à l'aide de la console, de la AWS CLI ou de l'API.

  • L'activation de la protection contre l'arrêt n'empêche pas Amazon EC2 Auto Scaling de résilier une instance lorsque celle-ci n'est pas saine ou pendant des événements de mise à l'échelle horizontale.

  • Vous ne pouvez pas activer la protection contre l'arrêt pour les instances basées sur le stockage d'instances.

  • Vous ne pouvez pas activer la protection contre l'arrêt pour les instances Spot.

  • L'API Amazon EC2 suit un modèle de cohérence éventuel lorsque vous activez ou désactivez la protection contre l'arrêt. Pour plus d'informations, consultez la section Garantir l'idempotence dans la Référence d'API Amazon EC2.

Activer la protection contre l'arrêt d'une instance lors du lancement

Vous pouvez activer la protection contre l'arrêt d'une instance lors du lancement d'instance à l'aide d'une des méthodes suivantes.

New console

Pour activer la protection contre l'arrêt d'une instance lors du lancement

  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Sur le tableau de bord, choisissez Lancer une instance.

  3. Configurez votre instance dans le nouvel assistant de lancement d'instance.

    Pour activer la protection contre l'arrêt, sous Advanced details (Détails avancés), pour Stop protection (Protection contre l'arrêt), choisissez Enable (Activer).

Old console

Pour activer la protection contre l'arrêt d'une instance lors du lancement

  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Sur le tableau de bord, choisissez Lancer une instance.

  3. Configurer votre instance dans l'ancien assistant de lancement d'instance.

    Pour désactiver la protection contre l'arrêt, sur la page Configurer les détails d'instance, pour Activer la protection d'arrêt, cochez la case Protection contre les arrêts accidentels.

AWS CLI

Pour activer la protection contre l'arrêt d'une instance lors du lancement

Utilisez la commande AWS CLI run-instances pour lancer l'instance, et spécifiez le paramètre disable-api-stop.

aws ec2 run-instances \ --image-id ami-a1b2c3d4e5example \ --instance-type t3.micro \ --key-name MyKeyPair \ --disable-api-stop \ ...

Activer la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

Vous pouvez activer la protection contre l'arrêt d'une instance lorsque l'instance est en cours d'exécution ou est arrêtée à l'aide d'une des méthodes suivantes. Notez que la console des anciennes Instances ne prend pas en charge l'activation de la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée.

New console

Pour activer la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Instances.

  3. Sélectionnez l'instance, puis cliquez sur Actions, Instance Settings (Paramètres de l'instance) et Change stop protection (Modifier la protection contre l'arrêt).

  4. Cochez la case Enable (Activer), puis choisissez Save (Enregistrer).

AWS CLI

Pour activer la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

Utilisez la commande AWS CLI modify-instance-attribute et spécifiez le paramètre disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --disable-api-stop

Désactivez la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

Vous pouvez désactiver la protection contre l'arrêt d'une instance pour une instance en cours d'exécution ou arrêtée à l'aide d'une des méthodes suivantes. Notez que la console des anciennes Instances ne prend pas en charge la désactivation de la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée.

New console

Pour désactiver la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Instances.

  3. Sélectionnez l'instance, puis cliquez sur Actions, Instance Settings (Paramètres de l'instance) et Change stop protection (Modifier la protection contre l'arrêt).

  4. Décochez la case Enable (Activer), puis choisissez Save (Enregistrer).

AWS CLI

Pour désactiver la protection contre l'arrêt d'une instance en cours d'exécution ou arrêtée

Utilisez la commande AWS CLI modify-instance-attribute et spécifiez le paramètre no-disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --no-disable-api-stop

Modifier une instance arrêtée

Vous pouvez modifier le type d'instance, les données utilisateur et les attributs d'optimisation EBS d'une instance arrêtée à l'aide d'AWS Management Console ou de la CLI. Vous ne pouvez pas utiliser AWS Management Console pour modifier les attributs DeleteOnTermination, de noyau ou de disque RAM.

Pour modifier un attribut d'instance

Pour modifier un attribut d'instance à l'aide de la ligne de commande

Vous pouvez utiliser l'une des commandes suivantes. Pour obtenir plus d'informations sur ces interfaces de ligne de commande, consultez la rubrique Accès à Amazon EC2.

Résoudre les problèmes d'arrêt de votre instance

Si vous avez arrêté votre instance basée sur Amazon EBS et que celle-ci semble « bloquée » à l'état stopping, vous pouvez forcer son arrêt. Pour plus d'informations, consultez Résoudre les problèmes d'arrêt de votre instance.