

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.

# Lancement, mise en vente et suppression d'instances Amazon EC2 dans AWS CLI
<a name="cli-services-ec2-instances"></a>

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour lancer, répertorier et supprimer des instances Amazon Elastic Compute Cloud (Amazon EC2). Si vous lancez une instance qui n'est pas incluse dans le niveau AWS gratuit, vous êtes facturé après le lancement de l'instance et vous êtes facturé pour la durée d'exécution de l'instance, même si elle reste inactive.

**Note**  
Pour des exemples de commandes supplémentaires, consultez le [de référence](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**Topics**
+ [Conditions préalables](#cli-services-ec2-instances-prereqs)
+ [Lancement de votre instance](#launching-instances)
+ [Ajout d’un périphérique de stockage en mode bloc à votre instance](#block-device-mapping)
+ [Ajout d’une balise à votre instance](#tagging-instances)
+ [Connexion à votre instance](#connecting-to-instances)
+ [Affichage de la liste de vos instances](#listing-instances)
+ [Suppression de votre instance](#terminating-instances)
+ [Références](#cli-services-ec2-instances-references)

## Conditions préalables
<a name="cli-services-ec2-instances-prereqs"></a>

Pour exécuter les commandes `ec2` de cette rubrique, vous devez respecter les conditions requises suivantes :
+ Installez et configurez l’ AWS CLI. Pour plus d’informations, consultez [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md) et [Authentification et informations d'accès pour AWS CLI](cli-chap-authentication.md).
+ Définissez vos autorisations IAM pour autoriser l’accès Amazon EC2. Pour plus d’informations sur les autorisations IAM pour Amazon EC2, consultez [Politiques IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) dans le *Guide de l’utilisateur Amazon EC2*.
+ Créez une [paire de clés](cli-services-ec2-keypairs.md) et un [groupe de sécurité](cli-services-ec2-sg.md).
+ Sélectionnez une Amazon Machine Image (AMI) et notez son ID AMI. Pour plus d’informations, consultez [Recherche d’une AMI appropriée](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Lancement de votre instance
<a name="launching-instances"></a>

Pour lancer une instance Amazon EC2 à l’aide de l’AMI que vous avez sélectionnée, utilisez la commande `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`. Vous pouvez lancer l’instance dans un cloud privé virtuel (VPC).

Au départ, votre instance apparait à l’état `pending`, mais passe à l’état `running` après quelques minutes.

L’exemple suivant montre comment lancer une instance `t2.micro` dans le sous-réseau spécifié d’un VPC. Remplacez les valeurs de paramètre *italicized* par vos propres valeurs.

```
$ aws ec2 run-instances --image-id ami-xxxxxxxx --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-903004f8 --subnet-id subnet-6e7f829e
{
    "OwnerId": "123456789012",
    "ReservationId": "r-5875ca20",
    "Groups": [
        {
            "GroupName": "my-sg",
            "GroupId": "sg-903004f8"
        }
    ],
    "Instances": [
        {
            "Monitoring": {
                "State": "disabled"
            },
            "PublicDnsName": null,
            "Platform": "windows",
            "State": {
                "Code": 0,
                "Name": "pending"
            },
            "EbsOptimized": false,
            "LaunchTime": "2013-07-19T02:42:39.000Z",
            "PrivateIpAddress": "10.0.1.114",
            "ProductCodes": [],
            "VpcId": "vpc-1a2b3c4d",
            "InstanceId": "i-5203422c",
            "ImageId": "ami-173d747e",
            "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
            "KeyName": "MyKeyPair",
            "SecurityGroups": [
                {
                    "GroupName": "my-sg",
                    "GroupId": "sg-903004f8"
                }
            ],
            "ClientToken": null,
            "SubnetId": "subnet-6e7f829e",
            "InstanceType": "t2.micro",
            "NetworkInterfaces": [
                {
                    "Status": "in-use",
                    "SourceDestCheck": true,
                    "VpcId": "vpc-1a2b3c4d",
                    "Description": "Primary network interface",
                    "NetworkInterfaceId": "eni-a7edb1c9",
                    "PrivateIpAddresses": [
                        {
                            "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                            "Primary": true,
                            "PrivateIpAddress": "10.0.1.114"
                        }
                    ],
                    "PrivateDnsName": "ip-10-0-1-114.ec2.internal",
                    "Attachment": {
                        "Status": "attached",
                        "DeviceIndex": 0,
                        "DeleteOnTermination": true,
                        "AttachmentId": "eni-attach-52193138",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    },
                    "Groups": [
                        {
                            "GroupName": "my-sg",
                            "GroupId": "sg-903004f8"
                        }
                    ],
                    "SubnetId": "subnet-6e7f829e",
                    "OwnerId": "123456789012",
                    "PrivateIpAddress": "10.0.1.114"
                }              
            ],
            "SourceDestCheck": true,
            "Placement": {
                "Tenancy": "default",
                "GroupName": null,
                "AvailabilityZone": "us-west-2b"
            },
            "Hypervisor": "xen",
            "BlockDeviceMappings": [
                {
                    "DeviceName": "/dev/sda1",
                    "Ebs": {
                        "Status": "attached",
                        "DeleteOnTermination": true,
                        "VolumeId": "vol-877166c8",
                        "AttachTime": "2013-07-19T02:42:39.000Z"
                    }
                }              
            ],
            "Architecture": "x86_64",
            "StateReason": {
                "Message": "pending",
                "Code": "pending"
            },
            "RootDeviceName": "/dev/sda1",
            "VirtualizationType": "hvm",
            "RootDeviceType": "ebs",
            "Tags": [
                {
                    "Value": "MyInstance",
                    "Key": "Name"
                }
            ],
            "AmiLaunchIndex": 0
        }
    ]
}
```

## Ajout d’un périphérique de stockage en mode bloc à votre instance
<a name="block-device-mapping"></a>

Un volume de périphérique racine est associé à chaque instance que vous lancez. Vous pouvez utiliser un mappage de périphérique de stockage en mode bloc pour spécifier des volumes Amazon Elastic Block Store (Amazon EBS) supplémentaires ou des volumes de stockage d’instances à attacher à une instance lorsqu’elle est lancée.

Pour ajouter un périphérique de stockage en mode bloc à votre instance, indiquez l’option `--block-device-mappings` lorsque vous utilisez `run-instances`.

Dans l’exemple suivant, le paramètre alloue un volume Amazon EBS standard de 20 Go, et le mappe à votre instance à l’aide de l’identifiant `/dev/sdf`.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"VolumeSize\":20,\"DeleteOnTermination\":false}}]"
```

L’exemple suivant ajoute un volume Amazon EBS, mappé à `/dev/sdf`, sur la base d’un instantané existant. Un instantané représente une image qui est chargée sur le volume pour vous. Lorsque vous spécifiez un instantané, vous n’avez pas besoin de spécifier de volume ; il sera suffisamment grand pour contenir votre image. Cependant, si vous spécifiez une taille, elle doit être supérieure ou égale à la taille de l’instantané.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"Ebs\":{\"SnapshotId\":\"snap-a1b2c3d4\"}}]"
```

L’exemple suivant permet d’ajouter deux volumes à votre instance. Le nombre de volumes disponibles pour votre instance varie en fonction de son type d’instance.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdf\",\"VirtualName\":\"ephemeral0\"},{\"DeviceName\":\"/dev/sdg\",\"VirtualName\":\"ephemeral1\"}]"
```

L’exemple suivant crée le mappage (`/dev/sdj`), mais n’alloue pas de volume à l’instance.

```
--block-device-mappings "[{\"DeviceName\":\"/dev/sdj\",\"NoDevice\":\"\"}]"
```

Pour plus d’informations, consultez [Exemple de mappage de périphérique de stockage en mode bloc](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Ajout d’une balise à votre instance
<a name="tagging-instances"></a>

Une étiquette est une étiquette que vous attribuez à une AWS ressource. Elle vous permet d’ajouter des métadonnées à vos ressources que vous pouvez utiliser à des fins diverses. Pour plus d’informations, consultez [Balisage de vos ressources](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) dans le Guide d’utilisateur *Amazon EC2*.

L’exemple suivant montre comment ajouter une balise avec le nom de clé « `Name` » et la valeur « `MyInstance` » pour l’instance spécifiée, en utilisant la commande `[aws ec2 create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)`.

```
$ aws ec2 create-tags --resources i-5203422c --tags Key=Name,Value=MyInstance
```

## Connexion à votre instance
<a name="connecting-to-instances"></a>

Lorsque votre instance est en cours d’exécution, vous pouvez vous y connecter et l’utiliser comme vous le feriez depuis un ordinateur devant lequel vous êtes assis. Pour plus d’informations, consultez [Connexion à votre instance Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) dans le *Guide de l’utilisateur Amazon EC2*.

## Affichage de la liste de vos instances
<a name="listing-instances"></a>

Vous pouvez utiliser le AWS CLI pour répertorier vos instances et consulter les informations les concernant. Vous pouvez afficher l’ensemble de vos instances, ou filtrer les résultats en fonction des instances qui vous intéressent.

Les exemples suivants montrent comment utiliser la commande `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)`.

La commande suivante affiche la liste de toutes vos instances.

```
$ aws ec2 describe-instances
```

La commande suivante filtre la liste uniquement pour vos instances `t2.micro` et fournit uniquement en sortie les valeurs `InstanceId` pour chaque correspondance.

```
$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"
[
    "i-05e998023d9c69f9a"
]
```

La commande suivante liste toutes vos instances ayant la balise `Name=MyInstance`.

```
$ aws ec2 describe-instances --filters "Name=tag:Name,Values=MyInstance"
```

La commande suivante répertorie les instances qui ont été lancées à l'aide de l'une des AMIs méthodes suivantes : `ami-x0123456``ami-y0123456`, et`ami-z0123456`.

```
$ aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"
```

## Suppression de votre instance
<a name="terminating-instances"></a>

Vous pouvez utiliser le AWS CLI pour mettre fin (supprimer) à une instance Amazon EC2 lorsque vous n'en avez plus besoin.

**Important**  
**La résiliation d’une instance est définitive et irréversible.**  
Une fois que vous avez résilié une instance, vous ne pouvez plus vous y connecter et elle ne peut pas être récupérée. Tous les volumes Amazon EBS attachés qui sont configurés pour être supprimés à la résiliation sont également supprimés de manière définitive et ne peuvent pas être récupérés. L’intégralité des données stockées sur les volumes de stockage d’instance est définitivement perdue. Pour plus d'informations, consultez [Comment fonctionne la résiliation d'une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html).  
Avant de résilier à une instance, assurez-vous d’avoir sauvegardé toutes les données que vous devez conserver après la résiliation dans un stockage persistant.

Dès que l’état de l’instance passe à `shutting-down` ou `terminated`, l’instance ne vous est plus facturée. Si vous souhaitez vous reconnecter à une instance ultérieurement, utilisez [stop-instances](https://docs.aws.amazon.com/cli/v1/reference/ec2/stop-instances.html) au lieu de `terminate-instances`. Pour plus d’informations, consultez [Résilier une instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) dans le *Guide de l’utilisateur Amazon EC2*.

L'exemple suivant montre comment supprimer une instance à l'aide de la `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)` commande.

```
$ aws ec2 terminate-instances --instance-ids i-5203422c
{
    "TerminatingInstances": [
        {
            "InstanceId": "i-5203422c",
            "CurrentState": {
                "Code": 32,
                "Name": "shutting-down"
            },
            "PreviousState": {
                "Code": 16,
                "Name": "running"
            }
        }
    ]
}
```

## Références
<a name="cli-services-ec2-instances-references"></a>

**AWS CLI référence :**
+ `[aws ec2](https://docs.aws.amazon.com/cli/latest/reference/ec2/index.html)`
+ `[aws ec2 create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html)`
+ `[aws ec2 describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html)`
+ `[aws ec2 run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)`
+ `[aws ec2 terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html)`

**Autre référence :**
+ [Documentation Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/ec2/)
+ Pour consulter le AWS SDK et les exemples de AWS CLI code et y contribuer, consultez le [référentiel d'exemples de AWS code](https://github.com/awsdocs/aws-doc-sdk-examples/) sur *GitHub*.