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 ti guida attraverso le operazioni più comuni di Amazon Lightsail utilizzando AWS Command Line Interface ().AWS CLI Imparerai a 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.
-
La AWS CLI. Se devi installarlo, segui la guida all'AWS CLI installazione. Puoi anche usare AWS CloudShell, che include il AWS CLI.
-
Hai configurato il tuo AWS CLI con le credenziali appropriate. Esegui
aws configure
se non hai ancora impostato le tue 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
Prima di iniziare, imposta la variabile di AWS_REGION
ambiente sulla stessa regione che hai configurato AWS CLI per l'uso, se non è già impostata 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)
Cominciamo con la creazione e la gestione delle risorse Amazon Lightsail utilizzando la CLI.
Genera coppie di chiavi SSH
Le coppie di chiavi SSH ti consentono di connetterti in modo sicuro alle tue istanze Lightsail senza utilizzare password. In questa sezione, creerai una nuova key pair e recupererai le relative informazioni.
Esempio — Crea una nuova key pair
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 ~/.ssh
nella directory con le autorizzazioni appropriate. Il chmod
comando garantisce che solo l'utente possa leggere il file della chiave privata, che è un requisito di sicurezza per SSH.
Esempio — Recupera le informazioni sulle key pair
Puoi verificare che la tua key pair 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 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 tua key pair. 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": "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" } } }
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 e il nome utente pubblici, poiché ti serviranno per connetterti all'istanza.
Connessione all'istanza
Dopo aver creato l'istanza, puoi connetterti ad essa tramite SSH con la coppia di chiavi che hai creato 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 dell'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/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
Una volta connesso, puoi gestire WordPress l'installazione, configurare il server o installare software aggiuntivo. L'esempio precedente mostra l'utilizzo del disco sull'istanza che utilizza il df
comando.
Esempio — Chiudere le porte pubbliche
Quando non si utilizza SSH, è possibile chiudere le porte pubbliche dell'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, incluse quelle avviate dalla console Lightsail. Per ulteriori informazioni, consulta i seguenti argomenti.
La risposta conferma che la porta 22 è stata chiusa correttamente. 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 mostra come aggiungere spazio di archiviazione aggiuntivo.
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 all'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, dovrai formattarlo e montarlo dall'interno dell'istanza.
Esempio — Verifica il collegamento al disco
È possibile verificare che il disco sia 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» mostra «in uso» e «isAttached» è impostato su true, a indicare che l'allegato è riuscito.
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, i 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 creazione di istantanee è iniziato. Esiste un'operazione asincrona per l'istanza che ottiene l'istantanea e una per l'istantanea che viene creata. L'istantanea include tutti i dischi collegati all'istanza.
Esempio — Crea 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 la scalabilità verso l'alto o verso il basso.
Pulizia delle risorse
Quando hai finito di utilizzare le 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 è più necessaria, utilizzare 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, utilizzate 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 } ] }
Ricordatevi di eliminare tutte le istanze che avete creato, incluse quelle 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 key pair
Infine, elimina la key pair 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 key pair da AWS. Ora puoi eliminare anche la copia locale.
$
rm ~/.ssh/cli-tutorial-keys.pem
Passaggi successivi
Ora che hai appreso le nozioni di base sulla gestione delle risorse di Lightsail utilizzando AWS CLI, esplora le altre funzionalità di Lightsail.
-
Domini: assegna un nome di dominio alla tua applicazione.
-
Load balancer: indirizzate il traffico verso più istanze per aumentare la capacità e la resilienza.
-
Istantanee automatiche: esegui automaticamente il backup dei dati dell'applicazione.
-
Metriche: monitora lo stato delle risorse, ricevi notifiche e imposta allarmi.
Per ulteriori informazioni sui AWS CLI comandi disponibili, consulta il AWS CLI Command Reference for Lightsail.