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á.
Usando o Amazon Lightsail com o AWS CLI
Este tutorial orienta você pelas operações comuns do Amazon Lightsail usando AWS Command Line Interface o ().AWS CLI Você aprenderá a criar e gerenciar recursos do Lightsail, incluindo pares de chaves, instâncias, armazenamento e instantâneos.
Tópicos
Pré-requisitos
Antes de começar este tutorial, verifique se você tem o seguinte.
-
AWS CLI A. Se precisar instalá-lo, siga o guia AWS CLI de instalação. Você também pode usar AWS CloudShell, o que inclui AWS CLI o.
-
Configurei seu AWS CLI com as credenciais apropriadas. Execute
aws configure
se você ainda não configurou suas credenciais. -
Familiaridade básica com interfaces de linha de comando e conceitos de SSH.
-
Permissões suficientes para criar e gerenciar recursos do Lightsail em sua conta. AWS
Antes de começar, defina a variável de AWS_REGION
ambiente para a mesma região que você configurou AWS CLI para usar, se ainda não estiver definida. Essa variável de ambiente é usada em comandos de exemplo para especificar uma zona de disponibilidade para recursos do Lightsail.
$
[ -z "${AWS_REGION}" ] && export AWS_REGION=$(aws configure get region)
Vamos começar a criar e gerenciar recursos do Amazon Lightsail usando a CLI.
Gere pares de chaves SSH
Os pares de chaves SSH permitem que você se conecte com segurança às suas instâncias do Lightsail sem usar senhas. Nesta seção, você criará um novo par de chaves e recuperará suas informações.
exemplo — Crie um novo par de chaves
O comando a seguir cria um novo par de chaves SSH chamado "cli-tutorial-keys" e salva a chave privada em sua máquina local.
$
aws lightsail create-key-pair --key-pair-name cli-tutorial-keys \ --query privateKeyBase64 --output text > ~/.ssh/cli-tutorial-keys.pem
$chmod 400 ~/.ssh/cli-tutorial-keys.pem
Depois de executar esse comando, a chave privada é salva no seu ~/.ssh
diretório com as permissões apropriadas. O chmod
comando garante que somente você possa ler o arquivo de chave privada, que é um requisito de segurança para SSH.
exemplo — Recupere informações do par de chaves
Você pode verificar se seu par de chaves foi criado com sucesso recuperando suas informações.
$
aws lightsail get-key-pair --key-pair-name cli-tutorial-keys
{ "keyPair": { "name": "cli-tutorial-keys", "arn": "arn:aws:lightsail:us-east-2:123456789012:KeyPair/e00xmpl-6a6a-434a-bff1-87f2bb815e21", "supportCode": "123456789012/cli-tutorial-keys", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "resourceType": "KeyPair", "tags": [], "fingerprint": "d0:0d:30:db:5a:24:df:f6:17:f0:e2:15:45:77:3d:bb:d0:6d:fc:81" } }
A saída mostra detalhes sobre seu par de chaves, incluindo nome, ARN, hora de criação, região e impressão digital. Essa impressão digital pode ser usada para verificar a autenticidade da chave ao se conectar às instâncias.
Crie e gerencie instâncias
As instâncias do Lightsail são servidores virtuais privados que executam aplicativos ou sites. Nesta seção, você criará uma WordPress instância e recuperará seus detalhes.
exemplo — Crie uma WordPress instância
O comando a seguir cria uma nova WordPress instância usando o nano_3_0
pacote (o menor tamanho de instância do Lightsail) e a associa ao seu key pair. O comando usa a variável de AWS_REGION
ambiente para criar a instância em uma zona de disponibilidade na sua região configurada.
$
aws lightsail create-instances --instance-names cli-tutorial \ --availability-zone ${AWS_REGION}a --blueprint-id wordpress \ --bundle-id nano_3_0 --key-pair-name cli-tutorial-keys
{ "operations": [ { "id": "f30xmpl-3727-492a-9d42-5c94ad3ef9a8", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateInstance", "status": "Started", "statusChangedAt": 1673596800.000 } ] }
A resposta indica que a operação de criação da instância foi iniciada. Pode levar alguns minutos para que sua instância fique disponível.
exemplo — Obtenha detalhes da instância
Depois que sua instância for criada, você poderá recuperar seus detalhes usando o comando a seguir.
$
aws lightsail get-instance --instance-name cli-tutorial
{ "instance": { "name": "cli-tutorial", "arn": "arn:aws:lightsail:us-east-2:123456789012:Instance/7d3xmpl-ae2e-44d5-bbd9-22f9ec2abe1f", "supportCode": "123456789012/i-099cxmpl5dad5923c", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "resourceType": "Instance", "tags": [], "blueprintId": "wordpress", "blueprintName": "WordPress", "bundleId": "nano_3_0", "isStaticIp": false, "privateIpAddress": "172.26.6.136", "publicIpAddress": "203.0.113.75", "ipv6Addresses": [ "2600:1f14:ab4:3800:ceef:89e2:f57:f25" ], "ipAddressType": "dualstack", "hardware": { "cpuCount": 2, "disks": [ { "createdAt": 1673596800.000, "sizeInGb": 20, "isSystemDisk": true, "iops": 100, "path": "/dev/xvda", "attachedTo": "cli-tutorial", "attachmentState": "attached" } ], "ramSizeInGb": 0.5 }, "networking": { "monthlyTransfer": { "gbPerMonthAllocated": 1024 }, "ports": [ { "fromPort": 80, "toPort": 80, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] }, { "fromPort": 22, "toPort": 22, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] }, { "fromPort": 443, "toPort": 443, "protocol": "tcp", "accessFrom": "Anywhere (0.0.0.0/0 and ::/0)", "accessType": "public", "commonName": "", "accessDirection": "inbound", "cidrs": [ "0.0.0.0/0" ], "ipv6Cidrs": [ "::/0" ], "cidrListAliases": [] } ] }, "state": { "code": 16, "name": "running" }, "username": "bitnami", "sshKeyName": "cli-tutorial-keys", "metadataOptions": { "state": "applied", "httpTokens": "optional", "httpEndpoint": "enabled", "httpPutResponseHopLimit": 1, "httpProtocolIpv6": "disabled" } } }
O resultado fornece informações abrangentes sobre sua instância, incluindo endereços IP, especificações de hardware, configuração de rede e estado. Anote o endereço IP e o nome de usuário públicos, pois você precisará deles para se conectar à sua instância.
Conecte-se à sua instância
Depois de criar sua instância, você pode se conectar a ela usando SSH com o par de chaves que você criou anteriormente. Esta seção mostra como estabelecer uma conexão SSH e gerenciar as configurações de segurança.
exemplo — SSH em sua instância
Use o comando a seguir para se conectar à sua instância via SSH, substituindo o endereço IP pelo IP público da sua instância.
$
ssh -i ~/.ssh/cli-tutorial-keys.pem bitnami@
Linux ip-172-26-6-136 6.1.0-32-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. ___ _ _ _ | _ |_) |_ _ _ __ _ _ __ (_) | _ \ | _| ' \/ _` | ' \| | |___/_|\__|_|_|\__,_|_|_|_|_| *** Welcome to the Bitnami package for WordPress 6.7.2 *** *** Documentation: https://docs.bitnami.com/aws/apps/wordpress/ *** *** https://docs.bitnami.com/aws/ *** *** Bitnami Forums: https://github.com/bitnami/vms/ *** bitnami@ip-172-26-6-136:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 217920 0 217920 0% /dev tmpfs 45860 480 45380 2% /run /dev/nvme0n1p1 20403592 3328832 16142256 18% / tmpfs 229292 0 229292 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock /dev/nvme0n1p15 126678 11840 114838 10% /boot/efi tmpfs 45856 0 45856 0% /run/user/1000203.0.113.75
Depois de conectado, você pode gerenciar sua WordPress instalação, configurar seu servidor ou instalar software adicional. O exemplo acima mostra o uso do disco na instância usando o df
comando.
exemplo — Fechar portos públicos
Quando não estiver usando SSH, você pode fechar as portas públicas na sua instância. Isso ajuda a proteger sua instância contra tentativas de acesso não autorizado.
$
aws lightsail close-instance-public-ports --instance-name cli-tutorial \ --port-info fromPort=22,protocol=TCP,toPort=22
{ "operation": { "id": "6cdxmpl-9f39-4357-a66d-230096140b4f", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "22/tcp", "operationType": "CloseInstancePublicPorts", "status": "Succeeded", "statusChangedAt": 1673596800.000 } }
nota
Fechar a porta 22 impede todas as conexões SSH, inclusive aquelas iniciadas no console do Lightsail. Para obter mais informações, consulte os tópicos a seguir.
A resposta confirma que a porta 22 foi fechada com sucesso. Quando precisar se reconectar via SSH, você pode reabrir a porta usando o comando. open-instance-public-ports
Adicione armazenamento à sua instância
À medida que seu aplicativo cresce, você pode precisar de espaço de armazenamento adicional. O Lightsail permite que você crie e anexe discos adicionais às suas instâncias. Esta seção demonstra como adicionar armazenamento extra.
exemplo — Crie um disco
O comando a seguir cria um novo disco de 32 GB.
$
aws lightsail create-disk --disk-name cli-tutorial-disk \ --availability-zone ${AWS_REGION}a --size-in-gb 32
{ "operations": [ { "id": "070xmpl-3364-4aa2-bff2-3c589de832fc", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateDisk", "status": "Started", "statusChangedAt": 1673596800.000 } ] }
A resposta indica que a operação de criação do disco foi iniciada. Pode levar alguns instantes para que o disco fique disponível.
exemplo — Conecte o disco à sua instância
Depois que o disco for criado, você poderá anexá-lo à sua instância usando o comando a seguir.
$
aws lightsail attach-disk --disk-name cli-tutorial-disk \ --disk-path /dev/xvdf --instance-name cli-tutorial
{ "operations": [ { "id": "d17xmpl-2bdb-4292-ac63-ba5537522cea", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial", "operationType": "AttachDisk", "status": "Started", "statusChangedAt": 1673596800.000 }, { "id": "01exmpl-c04e-42d4-aa6b-45ce50562a54", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial-disk", "operationType": "AttachDisk", "status": "Started", "statusChangedAt": 1673596800.000 } ] }
O parâmetro disk-path especifica onde o disco será anexado no sistema de arquivos Linux. Depois de conectar o disco, você precisará formatá-lo e montá-lo de dentro da sua instância.
exemplo — Verifique a conexão do disco
Você pode confirmar se o disco está conectado corretamente recuperando seus detalhes.
$
aws lightsail get-disk --disk-name cli-tutorial-disk
{ "disk": { "name": "cli-tutorial-disk", "arn": "arn:aws:lightsail:us-east-2:123456789012:Disk/1a9xmpl-8a34-46a4-b87e-19184f0cca9c", "supportCode": "123456789012/vol-0dacxmplc1c3108e2", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "resourceType": "Disk", "tags": [], "sizeInGb": 32, "isSystemDisk": false, "iops": 100, "path": "/dev/xvdf", "state": "in-use", "attachedTo": "cli-tutorial", "isAttached": true, "attachmentState": "attached" } }
A saída confirma que o disco está conectado à sua instância. O campo “estado” mostra “em uso” e “IsAttached” está definido como verdadeiro, indicando um anexo bem-sucedido.
Crie e use instantâneos
Os instantâneos fornecem uma forma de fazer backup da sua instância e criar novas instâncias a partir do backup. Isso é útil para recuperação de desastres, testes ou criação de ambientes duplicados.
exemplo — Crie um instantâneo da instância
O comando a seguir cria um instantâneo da sua instância.
$
aws lightsail create-instance-snapshot --instance-name cli-tutorial \ --instance-snapshot-name cli-tutorial-snapshot
{ "operations": [ { "id": "41bxmpl-7824-4591-bfcc-1b1c341613a4", "resourceName": "cli-tutorial-snapshot", "resourceType": "InstanceSnapshot", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial", "operationType": "CreateInstanceSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 }, { "id": "725xmpl-158e-46f6-bd49-27b0e6805aa2", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": false, "operationDetails": "cli-tutorial-snapshot", "operationType": "CreateInstanceSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 } ] }
A resposta indica que o processo de captura instantânea foi iniciado. Há uma operação assíncrona para a instância que obtém o instantâneo e outra para o instantâneo que está sendo criado. O snapshot inclui todos os discos conectados à instância.
exemplo — Crie uma nova instância a partir de um instantâneo
Depois que o snapshot estiver concluído, você poderá usá-lo para criar uma nova instância.
$
aws lightsail create-instances-from-snapshot --availability-zone ${AWS_REGION}b \ --instance-snapshot-name cli-tutorial-snapshot --instance-name cli-tutorial-bup --bundle-id small_3_0
{ "operations": [ { "id": "a35xmpl-efa1-4d6c-958e-9d58fd258f5f", "resourceName": "cli-tutorial-bup", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2b", "regionName": "us-east-2" }, "isTerminal": false, "operationType": "CreateInstancesFromSnapshot", "status": "Started", "statusChangedAt": 1673596800.000 } ] }
Esse comando cria uma nova instância nomeada cli-tutorial-bup
na zona de disponibilidade us-east-2b
usando o tamanho do small_3_0
pacote. Observe que você pode escolher um tamanho de pacote diferente para a nova instância, o que pode ser útil para aumentar ou diminuir a escala.
Limpar recursos
Ao terminar de usar seus recursos do Lightsail, você deve excluí-los para evitar cobranças adicionais. Esta seção mostra como limpar todos os recursos criados neste tutorial.
exemplo — Excluir um instantâneo da instância
Para excluir um instantâneo que você não precisa mais, use o comando a seguir.
$
aws lightsail delete-instance-snapshot --instance-snapshot-name cli-tutorial-snapshot
{ "operations": [ { "id": "cf8xmpl-0ec7-43ec-9cbc-6dedd9d8eda8", "resourceName": "cli-tutorial-snapshot", "resourceType": "InstanceSnapshot", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteInstanceSnapshot", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }
A resposta confirma que a operação de exclusão do instantâneo foi bem-sucedida.
exemplo — Excluir uma instância
Para excluir uma instância, use o comando a seguir.
$
aws lightsail delete-instance --instance-name cli-tutorial
{ "operations": [ { "id": "f4bxmpl-2df1-4740-90d7-e30adaf7e3a1", "resourceName": "cli-tutorial", "resourceType": "Instance", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteInstance", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }
Lembre-se de excluir todas as instâncias que você criou, incluindo quaisquer instâncias criadas a partir de snapshots.
exemplo — Excluir um disco
Para excluir um disco que não é mais necessário, use o comando a seguir.
$
aws lightsail delete-disk --disk-name cli-tutorial-disk
{ "operations": [ { "id": "aacxmpl-8626-4edd-8b3b-bf108d6b279c", "resourceName": "cli-tutorial-disk", "resourceType": "Disk", "createdAt": 1673596800.000, "location": { "availabilityZone": "us-east-2a", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteDisk", "status": "Succeeded", "statusChangedAt": 1673596800.000 } ] }
Se o disco estiver conectado a uma instância, você precisará desconectá-lo primeiro usando o detach-disk
comando.
exemplo — Excluir um par de chaves
Por fim, exclua o par de chaves que você criou no início deste tutorial.
$
aws lightsail delete-key-pair --key-pair-name cli-tutorial-keys
{ "operation": { "id": "dbfxmpl-c954-4a45-93a4-ab3e627d2c23", "resourceName": "cli-tutorial-keys", "resourceType": "KeyPair", "createdAt": 1673596800.000, "location": { "availabilityZone": "all", "regionName": "us-east-2" }, "isTerminal": true, "operationDetails": "", "operationType": "DeleteKeyPair", "status": "Succeeded", "statusChangedAt": 1673596800.000 } }
Esse comando exclui somente o par de chaves de AWS. Agora você também pode excluir a cópia local.
$
rm ~/.ssh/cli-tutorial-keys.pem
Próximas etapas
Agora que você aprendeu os conceitos básicos do gerenciamento de recursos do Lightsail usando o AWS CLI, explore outros recursos do Lightsail.
-
Domínios — Atribua um nome de domínio ao seu aplicativo.
-
Balanceadores de carga — encaminhe o tráfego para várias instâncias para aumentar a capacidade e a resiliência.
-
Instantâneos automáticos — Faça backup automático dos dados do seu aplicativo.
-
Métricas — Monitore a saúde de seus recursos, receba notificações e configure alarmes.
-
Bancos de dados — Conecte seu aplicativo a um banco de dados relacional.
Para obter mais informações sobre AWS CLI os comandos disponíveis, consulte a Referência de AWS CLI comandos para o Lightsail.