Lanzar, mostrar y terminar instancias de Amazon EC2 - AWS Command Line Interface

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Lanzar, mostrar y terminar instancias de Amazon EC2

Puede usar AWS Command Line Interface (AWS CLI) para lanzar, enumerar y finalizar instancias de Amazon Elastic Compute Cloud (Amazon EC2). Si lanza una instancia que no está incluida en la capa AWS gratuita, se le facturará después del lanzamiento de la instancia y se le cobrará por el tiempo que la instancia esté en ejecución, incluso si permanece inactiva.

nota

Para ver ejemplos de comandos adicionales, consulta la guía de de AWS CLI referencia.

Requisitos previos

Para ejecutar los comandos ec2 en este tema, debe hacer lo siguiente:

iniciar la instancia

Para lanzar una instancia de Amazon EC2 utilizando la AMI que ha seleccionado, utilice el comando aws ec2 run-instances. Puede lanzar la instancia en una nube privada virtual (VPC).

Al principio, la instancia aparece en el estado pending, pero cambia al estado running después de unos minutos.

En el siguiente ejemplo se muestra cómo lanzar una instancia t2.micro en la subred especificada de una VPC. Sustituya los valores del parámetro en cursiva por sus propios valores.

$ 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 } ] }

Agregar un dispositivo de bloques a la instancia

Cada instancia que lance tiene un volumen de dispositivo raíz asociado. Puede utilizar la asignación de dispositivos de bloques para especificar los volúmenes adicionales de Amazon Elastic Block Store (Amazon EBS) o los volúmenes de almacén de instancias que desea asociar a una instancia en el momento de lanzarla.

Para añadir un dispositivo de bloque a la instancia, especifique la opción --block-device-mappings cuando utilice run-instances.

El siguiente parámetro de ejemplo aprovisiona un volumen estándar de Amazon EBS con un tamaño de 20 GB y lo asigna a su instancia con el identificador /dev/sdf.

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

En el siguiente ejemplo se agrega un volumen de Amazon EBS, asignado a /dev/sdf, a partir de una instantánea existente. Una instantánea representa una imagen que se carga en el volumen por usted. Cuando se especifica una instantánea, no es necesario especificar un tamaño de volumen; será lo suficientemente grande como para almacenar la imagen. Sin embargo, si especifica un tamaño, este deberá ser igual o mayor que el tamaño de la instantánea.

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

En el siguiente ejemplo se añaden dos volúmenes a la instancia. El número de volúmenes disponibles para su instancia depende del tipo de instancia.

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

En el siguiente ejemplo se crea el mapeo (/dev/sdj), pero no se aprovisiona un volumen para la instancia.

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

Para obtener más información, consulte Block Device Mapping en la Guía del usuario de Amazon EC2.

Agregar una etiqueta a la instancia

Una etiqueta es una etiqueta que se asigna a un AWS recurso. Le permite añadir metadatos a los recursos que puede utilizar para distintos fines. Para obtener más información, consulte Cómo etiquetar sus recursos en la Guía del usuario de Amazon EC2.

En el siguiente ejemplo se muestra cómo añadir una etiqueta con el nombre de clave "Name" y el valor "MyInstance" a la instancia especificada, mediante el comando aws ec2 create-tags.

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

Conéctese a su instancia

Puede conectarse a su instancia mientras se esté ejecutando y utilizarla como si fuera un equipo que tiene delante. Para obtener más información, consulte Conectarse a su instancia de Amazon EC2 en la Guía del usuario de Amazon EC2.

Enumerar las instancias

Puede utilizarla AWS CLI para enumerar sus instancias y ver información sobre ellas. Puede incluir todas sus instancias en la lista o filtrar los resultados en función de las instancias que le interesen.

Los siguientes ejemplos muestran cómo utilizar el comando aws ec2 describe-instances.

El siguiente comando muestra todas sus instancias.

$ aws ec2 describe-instances

El siguiente comando filtra únicamente las instancias t2.micro de la lista y devuelve únicamente los valores InstanceId para cada coincidencia.

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

El siguiente comando muestra todas las instancias que tienen la etiqueta Name=MyInstance.

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

El siguiente comando muestra las instancias que tiene y que se iniciaron con cualquiera de las siguientes AMI: ami-x0123456, ami-y0123456y ami-z0123456.

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

Terminar una instancia

Al terminar una instancia, esta se elimina. Una vez se ha terminado la instancia, no es posible volver a conectarse a ella.

En cuanto el estado de la instancia cambie a shutting-down o a terminated, dejará de incurrir en costos por ella. Si desea volver a conectarse a una instancia más adelante, utilice stop-instances en lugar de terminate-instances. Para obtener más información, consulte Finalizar su instancia en la Guía del usuario de Amazon EC2.

Para eliminar una instancia, utilice el comando aws ec2 terminate-instances para eliminarla.

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

Referencias

AWS CLI referencia:

Otra referencia: