Arrêtez et démarrez les EC2 instances Amazon - Amazon Elastic Compute Cloud

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.

Arrêtez et démarrez les EC2 instances Amazon

Vous pouvez arrêter et démarrer votre instance si elle comporte un volume Amazon EBS comme périphérique racine. Lorsque vous arrêtez une instance, elle se ferme. Lorsque vous démarrez une instance, celle-ci est généralement migrée vers un nouvel ordinateur hôte sous-jacent et une nouvelle IPv4 adresse publique lui est attribuée.

Un arrêt d'instance peut être initié par l'utilisateur (où vous arrêtez manuellement l'instance) ou initié par AWS (en réponse à un événement d'arrêt planifié lorsqu'une défaillance irréparable de l'hôte sous-jacent de votre instance est AWS détectée).

Pour les arrêts initiés par l'utilisateur, nous recommandons d'utiliser la EC2 console, la CLI ou l'API Amazon au lieu d'exécuter la commande d'arrêt du système d'exploitation depuis votre instance. Lorsque vous utilisez Amazon EC2, si l'instance ne s'arrête pas correctement au bout de quelques minutes, Amazon EC2 effectue un arrêt définitif. En outre, AWS CloudTrail crée un enregistrement API indiquant le moment où votre instance a été arrêtée.

Cette rubrique décrit comment effectuer un arrêt initié par l'utilisateur. Pour plus d'informations sur un arrêt effectué par AWS, voirGérez les EC2 instances Amazon dont l'arrêt ou la mise hors service sont prévus.

Lorsque vous arrêtez une instance, elle n’est pas supprimée. Si vous jugez que vous n’avez plus besoin d’une instance, vous pouvez y mettre fin. Pour de plus amples informations, veuillez consulter Mettre fin aux EC2 instances Amazon. Si vous souhaitez mettre une instance en veille prolongée pour enregistrer le contenu de la mémoire de l’instance (RAM), consultez Hibernez votre instance Amazon EC2 . Pour connaître les différences entre les actions du cycle de vie des instances, consultez Différences entre les états d'instance.

Arrêtez et démarrez manuellement vos instances

Vous pouvez arrêter et démarrer vos instances basées sur Amazon EBS (instances dotées de volumes racine EBS). Vous ne pouvez pas arrêter et démarrer des instances avec un volume racine de stockage d'instance.

Lorsque vous utilisez la méthode par défaut pour arrêter une instance, un arrêt progressif du système d'exploitation (OS) est tenté. Vous pouvez contourner l'arrêt progressif du système d'exploitation, mais cela peut mettre en danger l'intégrité des données.

Avertissement

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

[Instances Linux] L’utilisation de la commande du système d’exploitation halt d’une instance ne déclenche pas un arrêt. Si vous utilisez la commande halt, l’instance n’est pas résiliée. Au lieu de cela, elle place le CPU à l’état HLT, ce qui suspend le fonctionnement du CPU. L’instance reste en cours d’exécution.

Vous pouvez lancer un arrêt à l'aide du système d'exploitation shutdown ou poweroff des commandes. Lorsque vous utilisez une commande du système d’exploitation, l’instance s’arrête par défaut. Vous pouvez modifier ce comportement. Pour de plus amples informations, veuillez consulter Modifier le comportement de l’arrêt initié par l’instance.

Note

Si vous avez arrêté une instance basée sur Amazon EBS et 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 des EC2 instances Amazon.

Arrêtez une instance avec un arrêt progressif du système d'exploitation

Vous pouvez arrêter une instance à l'aide de la méthode d'arrêt par défaut, qui inclut une tentative d'arrêt progressif du système d'exploitation. Pour de plus amples informations, veuillez consulter Arrêt par défaut.

Console
Pour arrêter une instance à l'aide de la méthode d'arrêt par défaut
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation de gauche, choisissez Instances, puis sélectionnez 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.

AWS CLI
Pour arrêter une instance à l'aide de la méthode d'arrêt par défaut

Utilisez la commande stop-instances.

aws ec2 stop-instances --instance-ids i-1234567890abcdef0
PowerShell
Pour arrêter une instance à l'aide de la méthode d'arrêt par défaut

Utiliser l'Stop-EC2Instanceapplet de commande

Stop-EC2Instance -InstanceId i-1234567890abcdef0

Arrêtez une instance et contournez l'arrêt progressif du système d'exploitation

Vous pouvez contourner l'arrêt progressif du système d'exploitation lors de l'arrêt d'une instance. Pour de plus amples informations, veuillez consulter Arrêtez en ignorant l'arrêt du système d'exploitation.

Avertissement

Le contournement de l'arrêt progressif du système d'exploitation peut entraîner une perte ou une corruption de données (par exemple, le contenu de la mémoire n'est pas transféré sur le disque ou une perte de mémoire en cours de vol IOs) ou l'omission de scripts d'arrêt.

Console
Pour arrêter une instance et contourner l'arrêt progressif du système d'exploitation
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

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

  3. Choisissez État de l'instance, Arrêter l'instance.

  4. Sous Ignorer l'arrêt du système d'exploitation, cochez la case Ignorer l'arrêt du système d'exploitation. Si cette option n'apparaît pas dans la console, cela signifie qu'elle n'est pas encore disponible dans la console de la région actuelle. Vous pouvez toutefois accéder à cette fonctionnalité à l'aide du SDK AWS CLI ou essayer une autre région dans la console.

  5. Choisissez Arrêter.

AWS CLI
Pour arrêter une instance et contourner l'arrêt progressif du système d'exploitation

Utilisez la commande stop-instances avec. --skip-os-shutdown

aws ec2 stop-instances \ --instance-ids i-1234567890abcdef0 \ --skip-os-shutdown
PowerShell
Pour arrêter une instance et contourner l'arrêt progressif du système d'exploitation

Utilisez l'Stop-EC2Instanceapplet de commande avec. -SkipOsShutdown $true

Stop-EC2Instance ` -InstanceId i-1234567890abcdef0 ` -SkipOsShutdown $true

Démarrer une instance

Vous pouvez démarrer une instance arrêtée.

Console
Pour démarrer une instance
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

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

  3. Sélectionnez l'instance, puis choisissez État de l'instance, Démarrer l'instance.

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

AWS CLI
Pour démarrer une instance

Utilisez la commande start-instances.

aws ec2 start-instances --instance-ids i-1234567890abcdef0
PowerShell
Pour démarrer une instance

Utilisez l'Start-EC2Instanceapplet de commande.

Start-EC2Instance -InstanceId i-1234567890abcdef0

Arrêter et démarrer automatiquement vos instances

Vous pouvez automatiser l’arrêt et le démarrage de vos instances à l’aide des services suivants :

Planificateur d'instance activé AWS

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

AWS Lambda et une EventBridge règle Amazon

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

Amazon EC2 Auto Scaling

Pour vous assurer de disposer du nombre correct d' EC2 instances Amazon disponibles pour gérer la charge d'une application, créez des groupes Auto Scaling. Amazon EC2 Auto Scaling garantit que votre application dispose toujours de la capacité nécessaire pour répondre à la demande de trafic et réduit les coûts en lançant des instances uniquement lorsqu'elles sont nécessaires. Veuillez noter que Amazon EC2 Auto Scaling résilie les instances inutiles plutôt que de les arrêter. Pour configurer des groupes Auto Scaling, consultez Get started with Amazon EC2 Auto Scaling.

Trouver toutes les instances en cours d’exécution et arrêtées

Vous pouvez trouver toutes vos instances en cours d'exécution et arrêtées Régions AWS sur une seule page à l'aide d'Amazon EC2 Global View. Cette capacité est particulièrement utile pour faire l’inventaire et rechercher les instances oubliées. Pour plus d’informations sur l’utilisation de Global View, consultez Afficher les ressources de différentes régions à l'aide d'Amazon EC2 Global View.

Vous pouvez également exécuter une commande ou une applet de commande dans chaque région où vous avez des instances.

AWS CLI
Pour obtenir le nombre d' EC2 instances dans une région

Utilisez la commande describe-instances suivante pour compter les instances dans la région actuelle. Vous devez exécuter cette commande dans chaque région où vous avez des instances.

aws ec2 describe-instances \ --region us-east-2 \ --query "length(Reservations[].Instances[])"

Voici un exemple de sortie.

27
Pour obtenir des informations récapitulatives sur vos EC2 instances dans une région

Utilisez la commande describe-instances suivante. Vous devez exécuter cette commande dans chaque région où vous avez des instances.

aws ec2 describe-instances \ --region us-east-2 \ --query "Reservations[].Instances[].[InstanceId,InstanceType,PrivateIpAddress]" \ --output table

Voici un exemple de sortie.

--------------------------------------------------------- | DescribeInstances | +---------------------+---------------+-----------------+ | i-0e3e777f4362f1bf7| t2.micro | 10.0.12.9 | | i-09453945dcf1529e9| t2.micro | 10.0.143.213 | | i-08fd74f3f1595fdbd| m7i.4xlarge | 10.0.1.103 | +---------------------+---------------+-----------------+
PowerShell
Pour obtenir le nombre d' EC2 instances dans une région

Utilisez l'Get-EC2Instanceapplet de commande.

(Get-EC2Instance -Region us-east-2).Instances.Length

Voici un exemple de sortie.

27
Pour obtenir des informations récapitulatives sur vos EC2 instances dans une région

Utilisez l'Get-EC2Instanceapplet de commande. Vous devez exécuter cette commande dans chaque région où vous avez des instances.

(Get-EC2Instance).Instances | Select InstanceId, InstanceType, PrivateIpAddress

Voici un exemple de sortie.

InstanceId InstanceType PrivateIpAddress ---------- ------------ ---------------- i-0e3e777f4362f1bf7 t2.micro 10.0.12.9 i-09453945dcf1529e9 t2.micro 10.0.143.213 i-08fd74f3f1595fdbd m7i.4xlarge 10.0.1.103

Identifiez les heures de lancement initiales et les plus récentes

Lorsque vous décrivez une instance, l'heure de lancement de l'instance est son heure de lancement la plus récente. Après avoir arrêté et démarré une instance, l'heure de lancement reflète l'heure de démarrage de la nouvelle instance. Pour connaître l'heure de lancement initial d'une instance, même après l'avoir arrêtée et démarrée, affichez l'heure à laquelle l'interface réseau principale a été attachée à l'instance.

Console
Pour connaître l'heure de lancement la plus récente

Sélectionnez l'instance et recherchez l'heure de lancement sous Détails de l'instance dans l'onglet Détails.

Pour connaître l'heure de lancement initiale

Sélectionnez l'instance et recherchez l'interface réseau principale (l'index du périphérique est 0) sous Interfaces réseau dans l'onglet Mise en réseau.

AWS CLI
Pour connaître les heures de lancement initiales et les plus récentes

Utilisez la commande describe-instances suivante pour afficher à la fois l'heure de lancement initiale et l'heure de lancement la plus récente pour l'instance spécifiée.

aws ec2 describe-instances \ --instance-id i-1234567890abcdef0 \ --query 'Reservations[].Instances[].{InstanceID:InstanceId,InitialLaunch:NetworkInterfaces[0].Attachment.AttachTime,LastLaunch:LaunchTime}'

Voici un exemple de sortie.

[ { "InstanceID": "i-1234567890abcdef0", "InitialLaunch": "2024-04-19T00:47:08+00:00", "LastLaunch": "2024-05-27T06:24:06+00:00" } ]
PowerShell
Pour connaître l'heure de lancement la plus récente

Utilisez l'Get-EC2Instanceapplet de commande.

(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.LaunchTime

Voici un exemple de sortie.

Monday, May 27, 2024 6:24:06 AM
Pour connaître l'heure de lancement initiale

Utilisez l'Get-EC2Instanceapplet de commande.

(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances.NetworkInterfaces.Attachment.AttachTime

Voici un exemple de sortie.

Friday, April 19, 2024 12:47:08 AM