Inicializar, listar e encerrar instâncias do Amazon EC2 - AWS Command Line Interface

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Inicializar, listar e encerrar instâncias do Amazon EC2

Você pode usar o AWS Command Line Interface (AWS CLI) para iniciar, listar e encerrar instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Se você iniciar uma instância que não esteja dentro do nível AWS gratuito, você será cobrado após a execução da instância e cobrado pelo tempo em que a instância estiver em execução, mesmo que ela permaneça ociosa.

nota

Para obter exemplos adicionais de comandos, consulte o de AWS CLI referência.

Pré-requisitos

Para executar os comandos ec2 neste tópico, você precisa:

Executar sua instância

Para iniciar uma instância do Amazon EC2 usando a AMI selecionada, use o comando aws ec2 run-instances. É possível iniciar a instância em uma nuvem privada virtual (VPC).

Inicialmente, a instância será exibida no estado pending, mas mudará para o estado running depois de alguns minutos.

O exemplo a seguir mostra como iniciar uma instância t2.micro na sub-rede especificada de uma VPC. Substitua os valores dos parâmetros em itálico pelos seus próprios.

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

Adicionar um dispositivo de blocos à instância

Cada instância lançada tem um volume do dispositivo root associados. Use o mapeamento de dispositivos de blocos para especificar volumes adicionais do Amazon Elastic Block Store (Amazon EBS) ou volumes de armazenamento de instâncias para anexar a uma instância quando ela for iniciada.

Para adicionar um dispositivo de blocos em sua instância, especifique a opção --block-device-mappings ao usar run-instances.

O exemplo de parâmetro a seguir provisiona um volume do Amazon EBS padrão de 20 GB e o mapeia em sua instância usando o identificador /dev/sdf.

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

O exemplo a seguir adiciona um volume do Amazon EBS mapeado em /dev/sdf com base em um snapshot existente. Um snapshot representa uma imagem que é carregada no volume para você. Ao especificar um snapshot, não é necessário especificar um tamanho de volume; ele será grande o suficiente para armazenar sua imagem. No entanto, se você especificar um tamanho, ele deverá ser maior que ou igual ao tamanho do snapshot.

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

O exemplo a seguir adiciona dois volumes à sua instância. O número de volumes disponíveis para sua instância depende do seu tipo de instância.

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

O exemplo a seguir cria o mapeamento (/dev/sdj), mas não provisiona um volume para a instância.

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

Para obter mais informações, consulte Mapeamento de dispositivos de blocos no Guia do usuário do Amazon EC2.

Adicionar uma etiqueta à instância

Uma tag é um rótulo que você atribui a um AWS recurso. Permite adicionar metadados aos seus recursos que você pode usar para diversas finalidades. Para obter mais informações, consulte Como marcar seus recursos no Guia do usuário do Amazon EC2.

O exemplo a seguir mostra como adicionar uma etiqueta com o nome da chave “Name” e o valor “MyInstance” à instância especificada com o comando aws ec2 create-tags.

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

Conecte-se à sua instância

Durante a execução da instância, é possível se conectar a ela e usá-la da mesma forma que você usaria um computador. Para obter mais informações, consulte Connect to Your Amazon EC2 Instance no Guia do usuário do Amazon EC2.

Listar as instâncias

Você pode usar o AWS CLI para listar suas instâncias e visualizar informações sobre elas. Liste todas as suas instâncias, ou filtre os resultados de acordo com as instâncias de interesse.

Os exemplos a seguir mostram como usar o comando aws ec2 describe-instances.

O comando a seguir relaciona todas as suas instâncias.

$ aws ec2 describe-instances

O comando a seguir filtra a lista apenas para suas instâncias t2.micro e mostra apenas os valores InstanceId para cada correspondência.

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

O comando a seguir lista todas as suas instâncias que tem a etiqueta Name=MyInstance.

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

O comando a seguir relaciona as instâncias que foram executadas usando qualquer uma das seguintes AMIs: ami-x0123456, ami-y0123456 e ami-z0123456.

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

Encerrar a instância

O encerramento de uma instância significa excluí-la. Você não pode se reconectar com uma instância depois de tê-la encerrado.

Assim que o estado da instância de mudar para shutting-down ou para terminated, não há mais custos para essa instância. Se você desejar se reconectar a ela mais tarde, use stop-instances em vez de terminate-instances. Para obter mais informações, consulte Encerre sua instância no Guia do usuário do Amazon EC2.

Para excluir uma instância, use o comando aws ec2 terminate-instances.

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

Referências

AWS CLI referência:

Outra referência: