Uso de Amazon Lightsail con AWS CLI - Amazon Lightsail

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.

Uso de Amazon Lightsail con AWS CLI

Este tutorial le guiará por las operaciones habituales de Amazon Lightsail con AWS Command Line Interface ().AWS CLI Aprenderá a crear y gestionar los recursos de Lightsail, incluidos los pares de claves, las instancias, el almacenamiento y las instantáneas.

Requisitos previos

Antes de comenzar este tutorial, asegúrese de tener lo siguiente.

  1. El AWS CLI. Si necesita instalarlo, siga la guía AWS CLI de instalación. También puede usar AWS CloudShell, que incluye el AWS CLI.

  2. Lo configuró AWS CLI con las credenciales adecuadas. Ejecute aws configure si aún no ha configurado sus credenciales.

  3. Familiaridad básica con las interfaces de línea de comandos y los conceptos de SSH.

  4. Permisos suficientes para crear y administrar los recursos de Lightsail en su cuenta. AWS

Antes de empezar, defina la variable de AWS_REGION entorno en la misma región que configuró AWS CLI para usarla, si aún no está configurada. Esta variable de entorno se utiliza en comandos de ejemplo para especificar una zona de disponibilidad para los recursos de Lightsail.

$ [ -z "${AWS_REGION}" ] && export AWS_REGION=$(aws configure get region)

Empecemos por crear y gestionar los recursos de Amazon Lightsail mediante la CLI.

Genere pares de claves SSH

Los pares de claves SSH le permiten conectarse de forma segura a sus instancias de Lightsail sin usar contraseñas. En esta sección, creará un nuevo key pair y recuperará su información.

ejemplo — Crear un nuevo key pair

El siguiente comando crea un nuevo par de claves SSH denominado cli-tutorial-keys "» y guarda la clave privada en su 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

Tras ejecutar este comando, la clave privada se guarda en el ~/.ssh directorio con los permisos adecuados. El chmod comando garantiza que solo usted pueda leer el archivo de clave privada, lo cual es un requisito de seguridad para SSH.

ejemplo — Recuperar información sobre el par de claves

Puede comprobar que el par de claves se creó correctamente recuperando su información.

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

El resultado muestra detalles sobre el key pair, incluidos su nombre, ARN, hora de creación, región y huella digital. Esta huella digital se puede usar para verificar la autenticidad de la clave al conectarse a instancias.

Cree y administre instancias

Las instancias de Lightsail son servidores privados virtuales que ejecutan aplicaciones o sitios web. En esta sección, creará una WordPress instancia y recuperará sus detalles.

ejemplo — Crea una WordPress instancia

El siguiente comando crea una nueva WordPress instancia con el nano_3_0 paquete (el tamaño de instancia de Lightsail más pequeño) y la asocia a su par de claves. El comando usa la variable de AWS_REGION entorno para crear la instancia en una zona de disponibilidad de la región 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 } ] }

La respuesta indica que se ha iniciado la operación de creación de la instancia. La instancia puede tardar unos minutos en estar disponible.

ejemplo — Obtenga los detalles de la instancia

Una vez creada la instancia, puede recuperar sus detalles mediante el siguiente comando.

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

El resultado proporciona información completa sobre la instancia, incluidas sus direcciones IP, las especificaciones de hardware, la configuración de la red y el estado. Anote la dirección IP pública y el nombre de usuario, ya que los necesitará para conectarse a la instancia.

Conéctese a su instancia

Después de crear la instancia, puedes conectarte a ella mediante SSH con el key pair que creaste anteriormente. En esta sección, se muestra cómo establecer una conexión SSH y administrar la configuración de seguridad.

ejemplo — SSH en tu instancia

Usa el siguiente comando para conectarte a tu instancia mediante SSH y reemplaza la dirección IP por la IP pública de la instancia.

$ ssh -i ~/.ssh/cli-tutorial-keys.pem bitnami@203.0.113.75 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/1000

Una vez conectado, puedes administrar WordPress la instalación, configurar el servidor o instalar software adicional. En el ejemplo anterior, se muestra el uso del disco en la instancia mediante el df comando.

ejemplo — Cerrar los puertos públicos

Cuando no utilice SSH, puede cerrar los puertos públicos de la instancia. Esto ayuda a proteger la instancia de los intentos de acceso no autorizados.

$ 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

El cierre del puerto 22 impide todas las conexiones SSH, incluidas las iniciadas desde la consola Lightsail. Para obtener más información, consulte los siguientes temas.

La respuesta confirma que el puerto 22 se ha cerrado correctamente. Cuando necesite volver a conectarse mediante SSH, puede volver a abrir el puerto mediante el comando. open-instance-public-ports

Añada almacenamiento a su instancia

A medida que la aplicación crezca, es posible que necesite espacio de almacenamiento adicional. Lightsail le permite crear discos adicionales y adjuntarlos a sus instancias. En esta sección se muestra cómo añadir almacenamiento adicional.

ejemplo — Crear un disco

El siguiente comando crea un nuevo 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 } ] }

La respuesta indica que se ha iniciado la operación de creación del disco. Es posible que el disco tarde unos instantes en estar disponible.

ejemplo — Adjunte el disco a la instancia

Una vez creado el disco, puedes adjuntarlo a la instancia mediante el siguiente comando.

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

El parámetro disk-path especifica dónde se conectará el disco en el sistema de archivos de Linux. Después de conectar el disco, tendrás que formatearlo y montarlo desde la instancia.

ejemplo — Verifica la conexión del disco

Puede confirmar que el disco está correctamente conectado recuperando sus detalles.

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

El resultado confirma que el disco está conectado a la instancia. El campo «estado» muestra «en uso» y «isAttached» tiene el valor true, lo que indica que la conexión se ha realizado correctamente.

Crea y usa instantáneas

Las instantáneas proporcionan una forma de hacer una copia de seguridad de la instancia y crear nuevas instancias a partir de la copia de seguridad. Esto resulta útil para la recuperación ante desastres, las pruebas o la creación de entornos duplicados.

ejemplo — Crea una instantánea de la instancia

El siguiente comando crea una instantánea de la instancia.

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

La respuesta indica que se ha iniciado el proceso de instantáneas. Hay una operación asíncrona para la instancia que obtiene la instantánea y otra para la instantánea que se está creando. La instantánea incluye todos los discos conectados a la instancia.

ejemplo — Crea una nueva instancia a partir de una instantánea

Una vez completada la instantánea, puede usarla para crear una nueva instancia.

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

Este comando crea una nueva instancia denominada cli-tutorial-bup en la zona de disponibilidad us-east-2b utilizando el tamaño del small_3_0 paquete. Ten en cuenta que puedes elegir un tamaño de paquete diferente para la nueva instancia, lo que puede resultar útil para escalar hacia arriba o hacia abajo.

Eliminar recursos

Cuando termines de usar tus recursos de Lightsail, debes eliminarlos para evitar incurrir en cargos adicionales. En esta sección, se muestra cómo limpiar todos los recursos creados en este tutorial.

ejemplo — Eliminar una instantánea de la instancia

Para eliminar una instantánea que ya no necesites, usa el siguiente comando.

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

La respuesta confirma que la operación de eliminación de la instantánea se ha realizado correctamente.

ejemplo — Eliminar una instancia

Para eliminar una instancia, usa el siguiente comando.

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

Recuerde eliminar todas las instancias que haya creado, incluidas las instancias creadas a partir de instantáneas.

ejemplo — Eliminar un disco

Para eliminar un disco que ya no se necesita, usa el siguiente comando.

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

Si el disco está conectado a una instancia, primero tendrás que separarlo mediante el detach-disk comando.

ejemplo — Eliminar un key pair

Por último, elimine el key pair que creó al principio de este 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 } }

Este comando solo elimina el key pair de AWS. Ahora también puede eliminar la copia local.

$ rm ~/.ssh/cli-tutorial-keys.pem

Pasos a seguir a continuación

Ahora que ha aprendido los aspectos básicos de la administración de los recursos de Lightsail mediante AWS CLI el, explore otras funciones de Lightsail.

  1. Dominios: asigne un nombre de dominio a su aplicación.

  2. Equilibradores de carga: dirija el tráfico a varias instancias para aumentar la capacidad y la resiliencia.

  3. Instantáneas automáticas: haga copias de seguridad de los datos de su aplicación automáticamente.

  4. Métricas: supervise el estado de sus recursos, reciba notificaciones y configure alarmas.

  5. Bases de datos: conecte su aplicación a una base de datos relacional.

Para obtener más información sobre AWS CLI los comandos disponibles, consulte la Referencia de AWS CLI comandos de Lightsail.