Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.
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 fermeture d'EC2instances Amazon dans le AWS CLI
Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour lancer, répertorier et mettre fin à des instances Amazon Elastic Compute Cloud (AmazonEC2). 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
Prérequis
Pour exécuter les ec2
commandes décrites dans cette rubrique, vous devez :
Installation et configuration de l' AWS CLI. Pour plus d’informations, consultez Installation, mise à jour et désinstallation du AWS CLI et Authentification et informations d'accès pour AWS CLI.
-
Définissez vos IAM autorisations pour autoriser l'EC2accès à Amazon. Pour plus d'informations sur IAM les autorisations accordées à AmazonEC2, consultez IAMles politiques d'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 AMI ID. Pour plus d'informations, consultez la section Trouver un produit adapté AMI dans le guide de EC2 l'utilisateur Amazon.
Lancer votre instance
Pour lancer une EC2 instance Amazon à l'aide de celle 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 t2.micro
instance dans le sous-réseau spécifié d'unVPC. Remplacez le italicized
valeurs de paramètres avec les vôtres.
$
aws ec2 run-instances --image-id
ami-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 } ] }
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 (AmazonEBS) 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 EBS volume Amazon 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 EBS volume Amazon, 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 la section Block Device Mapping dans le guide de EC2 l'utilisateur Amazon.
Ajouter 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'EC2utilisateur Amazon.
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 EC2 l'utilisateur Amazon.
Répertorier 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 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 répertorie les instances qui ont été lancées à l'aide de l'une des AMIs méthodes suivantes : ami-x0123456
ami-y0123456
, etami-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 EC2 l'utilisateur Amazon.
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 CLI référence :
Autre référence :
-
Pour consulter des exemples de AWS CLI code, y contribuer AWS SDK et y contribuer, consultez le référentiel d'exemples de AWS code
sur GitHub.