Cette documentation concerne AWS CLI uniquement la version 1 du.
Nous avons annoncé la sortie end-of-support de la AWS CLI version 1. Nous vous recommandons de migrer vers la AWS CLI version 2. Pour les dates, les détails supplémentaires et les informations sur la façon de migrer, consultez l'annonce
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' EC2instances Amazon dans le AWS CLI
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 AWS CLI guide AWS CLI .
Rubriques
Conditions préalables
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, mise à jour et désinstallation de l’ AWS CLI et Authentification et informations d’identification d’accès pour l’ AWS CLI.
-
Définissez vos autorisations IAM pour autoriser l' EC2 accès à Amazon. Pour plus d'informations sur les autorisations IAM pour Amazon EC2, consultez les politiques IAM pour Amazon EC2 dans le guide de EC2 l'utilisateur Amazon.
-
Créez une paire de clés et un groupe de sécurité.
-
Sélectionnez une Amazon Machine Image (AMI) et notez son ID AMI. Pour plus d'informations, consultez la section Trouver une AMI appropriée dans le guide de EC2 l'utilisateur Amazon.
Lancement de votre instance
Pour lancer une EC2 instance Amazon à 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 à 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-idami-xxxxxxxx--count 1 --instance-type t2.micro --key-nameMyKeyPair--security-group-idssg-903004f8--subnet-idsubnet-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
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 la section Block Device Mapping dans le guide de EC2 l'utilisateur Amazon.
Ajout d’une balise à votre instance
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 la section Marquage de vos ressources dans le guide de l' EC2 utilisateur Amazon.
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.
$aws ec2 create-tags --resourcesi-5203422c--tags Key=Name,Value=MyInstance
Connexion à 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 EC2 l'utilisateur Amazon.
Affichage de la liste de vos instances
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.
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-x0123456ami-y0123456, etami-z0123456.
$aws ec2 describe-instances --filters "Name=image-id,Values=ami-x0123456,ami-y0123456,ami-z0123456"
Suppression de votre instance
Vous pouvez utiliser le AWS CLI pour mettre fin (supprimer) à une EC2 instance Amazon 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.
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 au lieu de terminate-instances. Pour plus d'informations, consultez Résilier votre instance dans le guide de EC2 l'utilisateur Amazon.
L'exemple suivant montre comment supprimer une instance à l'aide de la aws ec2
terminate-instances commande.
$aws ec2 terminate-instances --instance-idsi-5203422c{ "TerminatingInstances": [ { "InstanceId": "i-5203422c", "CurrentState": { "Code": 32, "Name": "shutting-down" }, "PreviousState": { "Code": 16, "Name": "running" } } ] }
Références
AWS CLI référence :
Autre référence :
-
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
sur GitHub.