Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Amazon Lightsail con AWS CLI
Questo tutorial illustra le operazioni più comuni di Amazon Lightsail utilizzando (). AWS Command Line Interface AWS CLI Imparerai come creare e gestire le risorse Lightsail, tra cui coppie di chiavi, istanze, storage e istantanee.
Argomenti
Prerequisiti
Prima di iniziare questo tutorial, assicurati di avere quanto segue.
-
Il AWS CLI. Se devi installarla, segui la guida all’installazione della AWS CLI. Puoi anche usare AWS CloudShell, che include il AWS CLI.
-
Hai configurato il tuo AWS CLI con le credenziali appropriate. Esegui
aws configurese non hai ancora configurato le credenziali. -
Familiarità di base con le interfacce a riga di comando e i concetti SSH.
-
Autorizzazioni sufficienti per creare e gestire le risorse Lightsail nel tuo account. AWS
Se non l'hai già fatto, imposta la variabile di AWS_REGION ambiente sulla stessa regione per cui hai configurato l'uso prima AWS CLI di iniziare. Questa variabile di ambiente viene utilizzata nei comandi di esempio per specificare una zona di disponibilità per le risorse Lightsail.
$[ -z "${AWS_REGION}" ] && export AWS_REGION=$(aws configure get region)
Iniziamo con la creazione e la gestione delle risorse Amazon Lightsail utilizzando l'interfaccia a riga di comando.
Genera coppie di chiavi SSH
Le coppie di chiavi SSH consentono di connettersi in modo sicuro alle istanze Lightsail senza utilizzare password. In questa sezione, creerai una nuova coppia di chiavi e ne recupererai le informazioni.
Esempio— Crea una nuova coppia di chiavi
Il comando seguente crea una nuova coppia di chiavi SSH denominata «cli-tutorial-keys» e salva la chiave privata sul computer locale.
$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
Dopo aver eseguito questo comando, la chiave privata viene salvata nella directory con le autorizzazioni appropriate. ~/.ssh Il chmod comando garantisce che solo tu possa leggere il file della chiave privata, che è un requisito di sicurezza per SSH.
Esempio— Recupera le informazioni sulla coppia di chiavi
Puoi verificare che la tua coppia di chiavi sia stata creata correttamente recuperandone le informazioni.
$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" } }
L'output mostra i dettagli sulla coppia di chiavi, tra cui nome, ARN, ora di creazione, regione e impronta digitale. Questa impronta digitale può essere utilizzata per verificare l'autenticità della chiave durante la connessione alle istanze.
Crea e gestisci le istanze
Le istanze Lightsail sono server privati virtuali che eseguono applicazioni o siti Web. In questa sezione, creerai un' WordPress istanza e ne recupererai i dettagli.
Esempio— Creare un'istanza WordPress
Il comando seguente crea una nuova WordPress istanza utilizzando il nano_3_0 bundle (la dimensione più piccola dell'istanza Lightsail) e la associa alla coppia di chiavi. Il comando utilizza la variabile di AWS_REGION ambiente per creare l'istanza in una zona di disponibilità nella regione configurata.
$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 risposta indica che l'operazione di creazione dell'istanza è iniziata. Potrebbero essere necessari alcuni minuti prima che l'istanza diventi disponibile.
Esempio— Ottieni i dettagli dell'istanza
Una volta creata l'istanza, puoi recuperarne i dettagli utilizzando il seguente 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": "192.0.2.1", "ipv6Addresses": [ "2001:db8:85a3:0000:0000:8a2e:0370:7334" ], "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" } } }
L'output fornisce informazioni complete sull'istanza, inclusi gli indirizzi IP, le specifiche hardware, la configurazione di rete e lo stato. Annota l'indirizzo IP pubblico e il nome utente, poiché ti serviranno per connetterti alla tua istanza.
Connessione all’istanza
Dopo aver creato l'istanza, puoi connetterti ad essa tramite SSH con la coppia di chiavi creata in precedenza. Questa sezione mostra come stabilire una connessione SSH e gestire le impostazioni di sicurezza.
Esempio— SSH nella tua istanza
Usa il seguente comando per connetterti alla tua istanza tramite SSH, sostituendo l'indirizzo IP con l'IP pubblico della tua istanza.
$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/general/apps/wordpress/ *** *** https://docs.bitnami.com/general/ *** *** 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/1000192.0.2.1
Una volta effettuata la connessione, puoi gestire WordPress l'installazione, configurare il server o installare software aggiuntivo. L'esempio precedente mostra l'utilizzo del disco sull'istanza utilizzando il df comando.
Esempio— Chiudere le porte pubbliche
Quando non usi SSH, puoi chiudere le porte pubbliche della tua istanza. Questo aiuta a proteggere l'istanza da tentativi di accesso non autorizzati.
$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
La chiusura della porta 22 impedisce tutte le connessioni SSH, comprese quelle avviate dalla console Lightsail. Per ulteriori informazioni, consulta i seguenti argomenti.
La risposta conferma che la porta 22 è stata chiusa con successo. Quando è necessario riconnettersi tramite SSH, è possibile riaprire la porta utilizzando il comando. open-instance-public-ports
Aggiungi spazio di archiviazione alla tua istanza
Man mano che l'applicazione cresce, potresti aver bisogno di spazio di archiviazione aggiuntivo. Lightsail ti consente di creare e collegare dischi aggiuntivi alle tue istanze. Questa sezione illustra come aggiungere ulteriore spazio di archiviazione.
Esempio— Creare un disco
Il comando seguente crea un nuovo disco da 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 risposta indica che l'operazione di creazione del disco è iniziata. Potrebbero essere necessari alcuni istanti prima che il disco diventi disponibile.
Esempio— Collega il disco alla tua istanza
Una volta creato il disco, puoi collegarlo alla tua istanza utilizzando il seguente 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 } ] }
Il parametro disk-path specifica dove verrà collegato il disco nel file system Linux. Dopo aver collegato il disco, sarà necessario formattarlo e montarlo dall'interno dell'istanza.
Esempio— Verifica il collegamento al disco
È possibile confermare che il disco è collegato correttamente recuperandone i dettagli.
$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" } }
L'output conferma che il disco è collegato all'istanza. Il campo «state» indica «in uso» e «isAttached» è impostato su true, a indicare che l'allegato è andato a buon fine.
Crea e usa istantanee
Le istantanee forniscono un modo per eseguire il backup dell'istanza e creare nuove istanze dal backup. Ciò è utile per il disaster recovery, il test o la creazione di ambienti duplicati.
Esempio— Creare un'istantanea dell'istanza
Il comando seguente crea un'istantanea dell'istanza.
$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 risposta indica che il processo di istantanea è iniziato. Esiste un'operazione asincrona per l'istanza che riceve l'istantanea e una per l'istantanea in fase di creazione. L'istantanea include tutti i dischi collegati all'istanza.
Esempio— Creare una nuova istanza da un'istantanea
Una volta completata l'istantanea, è possibile utilizzarla per creare una nuova istanza.
$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 } ] }
Questo comando crea una nuova istanza denominata cli-tutorial-bup nella zona di disponibilità us-east-2b utilizzando la dimensione del small_3_0 pacchetto. Tieni presente che puoi scegliere una dimensione del pacchetto diversa per la nuova istanza, che può essere utile per aumentare o diminuire.
Eseguire la pulizia delle risorse
Quando hai finito con le tue risorse Lightsail, dovresti eliminarle per evitare di incorrere in costi aggiuntivi. Questa sezione mostra come ripulire tutte le risorse create in questo tutorial.
Esempio— Eliminare un'istantanea dell'istanza
Per eliminare un'istantanea che non ti serve più, usa il seguente 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 risposta conferma che l'operazione di eliminazione dell'istantanea è riuscita.
Esempio— Eliminare un'istanza
Per eliminare un'istanza, utilizzare il seguente 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 } ] }
Ricordati di eliminare tutte le istanze che hai creato, incluse le istanze create da istantanee.
Esempio— Eliminare un disco
Per eliminare un disco che non è più necessario, utilizzare il seguente 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 } ] }
Se il disco è collegato a un'istanza, dovrai prima scollegarlo utilizzando il detach-disk comando.
Esempio— Eliminare una coppia di chiavi
Infine, elimina la coppia di chiavi che hai creato all'inizio di questo 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 } }
Questo comando elimina solo la coppia di chiavi da AWS. Ora puoi eliminare anche la copia locale.
$rm ~/.ssh/cli-tutorial-keys.pem
Fasi successive
Ora che hai appreso le basi della gestione delle risorse Lightsail utilizzando il AWS CLI, esplora altre funzionalità di Lightsail.
-
Load balancer: indirizza il traffico verso più istanze per aumentare la capacità e la resilienza.
-
Istantanee automatiche: esegui automaticamente il backup dei dati delle applicazioni.
-
Metriche: monitora lo stato delle tue risorse, ricevi notifiche e imposta allarmi.
-
Database: collega la tua applicazione a un database relazionale.
Per ulteriori informazioni sui AWS CLI comandi disponibili, consulta il AWS CLI Command Reference for Lightsail.