Lancer, répertorier et résilier des instances Amazon EC2 - AWS Command Line Interface

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.

Lancer, répertorier et résilier des instances Amazon EC2

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour lancer, répertorier et mettre fin à des instances Amazon Elastic Compute Cloud (Amazon EC2). Si vous lancez une instance non comprise dans l'offre gratuite AWS, vous êtes facturé dès le lancement de l'instance et pendant toute la durée d'exécution de l'instance, même si elle demeure inactive.

Note

Pour des exemples de commandes supplémentaires, consultez le de référence.

Prérequis

Pour exécuter les ec2 commandes décrites dans cette rubrique, vous devez :

Lancer votre instance

Pour lancer une instance Amazon EC2 à l'aide de l'AMI que vous avez sélectionnée, utilisez la aws ec2 run-instances commande. Vous pouvez lancer l'instance dans un cloud privé virtuel (VPC).

Au départ, votre instance apparait dans 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 en italique 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 } ] }

Ajouter un périphérique de stockage en mode bloc à votre instance

Un volume de périphérique racine est associé à chaque instance que vous lancez. Vous pouvez utiliser le mappage des périphériques en mode bloc pour spécifier des volumes Amazon Elastic Block Store (Amazon EBS) supplémentaires ou des volumes de stockage d'instance à associer à une instance lors de son lancement.

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

L'exemple de paramètre suivant fournit un volume Amazon EBS standard d'une taille 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é vers/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 dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

Ajouter une balise à votre instance

Une balise est une étiquette que vous affectez à une ressource AWS. Elle vous permet d'ajouter des métadonnées à vos ressources que vous pouvez utiliser à des fins diverses. Pour plus d'informations, consultez la section Marquage de vos ressources dans le guide de l'utilisateur Amazon EC2 pour les instances Linux.

L'exemple suivant montre comment ajouter une balise portant le nom de clé « Name » et la valeur « MyInstance » à l'instance spécifiée, à l'aide de la aws ec2 create-tags commande.

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

Se connecter à votre instance

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 Connect to your Amazon EC2 instance dans le guide de l'utilisateur Amazon EC2 pour les instances Linux.

Répertorier vos instances

Vous pouvez utiliser l'AWS CLI pour afficher la liste de vos instances et des informations sur ces dernières. 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 aws ec2 describe-instances commande.

La commande suivante répertorie 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 liste vos instances qui ont été lancées à l'aide des images AMI suivantes : ami-x0123456, ami-y0123456 et ami-z0123456.

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

Résilier une instance

Mettre fin à une instance la supprime. Vous ne pouvez pas vous y reconnecter une fois que vous l'avez résiliée.

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 au lieu de terminate-instances. Pour plus d'informations, consultez Résilier votre instance dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

Pour supprimer une instance, vous devez utiliser la commande aws ec2 terminate-instances pour la supprimer.

$ 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

AWS CLIréférence :

Autre référence :