Usando AWS re:Post, accetti AWS re:Post Termini di utilizzo

Come posso usare i comandi dell'interfaccia della linea di comando di AWS per gestire la mia istanza Lightsail?

8 minuti di lettura
0

Desidero utilizzare i comandi AWS Command Line Interface (AWS CLI) per gestire le mie istanze Amazon Lightsail.

Breve descrizione

Di seguito sono riportati gli scenari più comuni per l'utilizzo dei comandi AWS CLI sulle istanze Lightsail:

  • Elenco di tutti i piani (pacchetti) e schemi blueprints Lightsail disponibili in una regione AWS
  • Per utilizzare un pacchetto e un blueprint specifici per creare un'istanza Lightsail
  • Elenco di tutte le istanze Lightsail in una particolare regione
  • Per assegnare un indirizzo IP statico, quindi collegarlo all'istanza e verificarlo

Nota:

  • se visualizzi dei messaggi di errore quando esegui i comandi dell'interfaccia della linea di comando AWS CLI, consulta la sezione Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
  • JSON è l'output predefinito dell'interfaccia AWS CLI. Oppure, puoi aggiungere**--output json** ai comandi per ricevere l'output mostrato negli esempi seguenti. Per ulteriori informazioni, consulta Controlla l'output di comando da AWS CLI.
  • L'output dei comandi AWS CLI mostra i timestamp in tempo Unix Epoch. Utilizza uno dei seguenti metodi per convertire il timestamp in UTC.

macOS

Rimuovi il punto decimale dal timestamp e tutte le cifre a destra del separatore decimale. Quindi, esegui il seguente comando:

# date -r 1602175741 -uThu Oct  8 16:49:01 UTC 2020

Linux

Esegui il comando seguente:

# date -d @1602175741.603 -uThu Oct  8 16:49:01 UTC 2020

Windows

Utilizza un convertitore di terze parti per convertire il timestamp, ad esempio epochconverter.com.

Risoluzione

Elenco di tutti i pacchetti e gli schemi Lightsail disponibili in una regione

Esegui il comando get-bundles per visualizzare l'elenco di tutti i pacchetti disponibili per l'acquisto nella tua regione. Di seguito è riportato un esempio di output:

# aws lightsail get-bundles --region eu-west-1 --query 'bundles[].{price:price,cpuCount:cpuCount,ramSizeInGb:ramSizeInGb,diskSizeInGb:diskSizeInGb,bundleId:bundleId,instanceType:instanceType,supportedPlatforms:supportedPlatforms[0]}' --output table
---------------------------------------------------------------------------------------------------------------
|                                                 GetBundles                                                  |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+
|    bundleId     | cpuCount  | diskSizeInGb  | instanceType  | price  |  ramSizeInGb  | supportedPlatforms   |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+
|  nano_2_0       |  1        |  20           |  nano         |  3.5   |  0.5          |  LINUX_UNIX          |
|  small_2_0      |  1        |  60           |  small        |  10.0  |  2.0          |  LINUX_UNIX          |
|  nano_win_2_0   |  1        |  30           |  nano         |  8.0   |  0.5          |  WINDOWS             |
|  micro_win_2_0  |  1        |  40           |  micro        |  12.0  |  1.0          |  WINDOWS             |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+

Nota: sostituisci eu-west-1 con la tua regione.

Esegui il comando ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-blueprints.html)get-blueprints[ per visualizzare l'elenco di tutte le immagini o schemi nella tua regione. Di seguito è riportato un esempio di output:

# aws lightsail get-blueprints --region eu-west-1 --query 'blueprints[].{blueprintId:blueprintId,name:name,group:group,productUrl:productUrl,platform:platform}' --output table
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                           GetBlueprints                                                                           |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+
|              blueprintId             |         group         |             name               |  platform   |                     productUrl                      |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+
|  windows_server_2019                 |  windows_2019         |  Windows Server 2019           |  WINDOWS    |  https://aws.amazon.com/marketplace/pp/B07QZ4XZ8F   |
|  windows_server_2016                 |  windows_2016         |  Windows Server 2016           |  WINDOWS    |  https://aws.amazon.com/marketplace/pp/B01M7SJEU7   |
|  amazon_linux_2                      |  amazon_linux_2       |  Amazon Linux 2                |  LINUX_UNIX |  https://aws.amazon.com/amazon-linux-2/             |
|  amazon_linux                        |  amazon-linux         |  Amazon Linux                  |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00CIYTQTC   |
|  ubuntu_18_04                        |  ubuntu_18            |  Ubuntu                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B07CQ33QKV   |
|  debian_10                           |  debian_10            |  Debian                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B0859NK4HC   |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+

Nota: sostituisci eu-west-1 con la tua regione.

Filtra i progetti per la piattaforma di cui hai bisogno. il seguente comando filtra gli schemi su una piattaforma OS Linux/Unix:

# aws lightsail get-blueprints --query 'blueprints[?type==`os`&&platform==`LINUX_UNIX`].{name:name,version:version}'--output table
--------------------------------------------
|               GetBlueprints              |
+-----------------+------------------------+
|      name       |        version         |
+-----------------+------------------------+
|  Amazon Linux 2 |  2.0.20200917.0        |
|  Amazon Linux   |  2018.03.0.20200918.0  |
|  Ubuntu         |  20.04 LTS             |
|  Debian         |  10.5                  |
|  openSUSE       |  15.1                  |
|  CentOS         |  7 1901-01             |
+-----------------+------------------------+

Usa un pacchetto e un modello specifici per creare un'istanza Lightsail

  1. Esegui il comando get-blueprint. Il seguente comando di esempio consente di ottenere uno schema WordPress.
    # aws lightsail get-blueprints --region eu-west-1 --query 'blueprints[].{blueprintId:blueprintId,name:name,group:group,productUrl:productUrl,platform:platform}' --output table |grep -i wordpress
    |  wordpress                           |  wordpress            |  WordPress                     |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NN8Y43U   |
    |  wordpress_multisite                 |  wordpress_multisite  |  WordPress Multisite           |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NN8XE6S   |
    Nota: sostituisci eu-west-1 con la tua regione e le informazioni di WordPress con le informazioni dello scherma di tua scelta.
  2. Esegui il comando ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/create-instances.html)create-instances[ per creare istanze Amazon Lightsail. L'esempio seguente crea un'istanza Amazon Lightsail nella regione eu-west-1 utilizzando uno schema WordPress e il pacchetto micro_2_o.
    # aws lightsail create-instances --region eu-west-1 --instance-names MyNewInstance --availability-zone eu-west-1a --blueprint-id wordpress --bundle-id micro_2_0
    {
      "operations": [
        {
          "id": "003757e7-0880-4162-9912-211d4756081e",
          "resourceName": "MyNewInstance",
          "resourceType": "Instance",
          "createdAt": 1602175452.334,
          "location": {
            "availabilityZone": "eu-west-1a",
            "regionName": "eu-west-1"
          },
          "isTerminal": false,
          "operationType": "CreateInstance",
          "status": "Started",
          "statusChangedAt": 1602175452.334
        }
      ]
    }
    Nota: sostituisci instance-names, blueprint-id, bundle-id e region con i tuoi valori. Per utilizzare una singola chiamata API per creare più istanze, specifica i parametri con**--instance-names**, come LightsailInstance1 e LightsailInstance2. L'esempio seguente crea due istanze Lightsail nella regione eu-west-1 utilizzando uno schema WordPress e il pacchetto micro_2_0.
    # aws lightsail create-instances --region eu-west-1 --instance-names {"TestLightsailInstance1","TestLightsailInstance2"} --availability-zone eu-west-1a --blueprint-id wordpress --bundle-id micro_2_0
    {
      "operations": [
        {
          "id": "8a15b195-9a20-4d79-ad1d-6e85557ae94d",
          "resourceName": "TestLightsailInstance1",
          "resourceType": "Instance",
          "createdAt": 1602175741.602,
          "location": {
            "availabilityZone": "eu-west-1a",
            "regionName": "eu-west-1"
          },
          "isTerminal": false,
          "operationType": "CreateInstance",
          "status": "Started",
          "statusChangedAt": 1602175741.602
        },
        {
          "id": "a006513b-0e25-4802-ab33-671a40bf5a92",
          "resourceName": "TestLightsailInstance2",
          "resourceType": "Instance",
          "createdAt": 1602175741.603,
          "location": {
            "availabilityZone": "eu-west-1a",
            "regionName": "eu-west-1"
          },
          "isTerminal": false,
          "operationType": "CreateInstance",
          "status": "Started",
          "statusChangedAt": 1602175741.603
        }
      ]
    }

Elenco di tutte le istanze Lightsail in una regione

Esegui il comando ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-instances.html)get-instances[ per visualizzare le istanze Lightsail in una regione specifica. L'esempio seguente mostra le istanze Lightsail nella regione eu-west-1.

# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress}' --output table
---------------------------------------------------------------------------------------------------------------------
|                                                   GetInstances                                                    |
+-----------------+----------------+-----------------+------------------------------------------+-------------------+
|   blueprintId   | blueprintName  |    createdAt    |                  name                    |  publicIpAddress  |
+-----------------+----------------+-----------------+------------------------------------------+-------------------+
|  wordpress_4_9_8|  WordPress     |  1545700733.77  | WordPress-512MB-Ireland-1  |  63.33.xx.xx |
|  wordpress      |  WordPress     |  1602175741.603 |  TestLightsailInstance2    |  63.33.xx.xx |
|  wordpress      |  WordPress     |  1602175741.602 |  TestLightsailInstance1    |  54.7.xx.xx  |
|  wordpress      |  WordPress     |  1588098501.555 |  WordPress-1               |  3.250.xx.xx |
+-----------------+----------------+-----------------+------------------------------------------+-------------------+

Nota: sostituisci regione con la tua regione.

Assegna un IP statico e collegalo all'istanza Lightsail creata

Nota: il comando create-instances crea un'istanza Lightsail a cui è assegnato un indirizzo IP pubblico. Se non hai creato un indirizzo IP statico per la tua istanza, Lightsail assegna un nuovo indirizzo IP pubblico ogni volta che interrompi o riavvii l'istanza.

  1. Esegui il comando ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/allocate-static-ip.html)allocate-static-ip[ per assegnare un indirizzo pubblico fisso. L'esempio seguente mostra l'assegnazione di un IP statico denominato StaticIpForTestLightsailInstance1 nella regione eu-west-1:
    # aws lightsail allocate-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1
    {
      "operations": [
        {
          "id": "6471cedc-97f5-42d1-b35f-4f77c5f93242",
          "resourceName": "StaticIpForTestLightsailInstance1",
          "resourceType": "StaticIp",
          "createdAt": 1602180341.746,
          "location": {
            "availabilityZone": "all",
            "regionName": "eu-west-1"
          },
          "isTerminal": true,
          "operationType": "AllocateStaticIp",
          "status": "Succeeded",
          "statusChangedAt": 1602180342.011
        }
      ]
    }
    Nota: Sostituisci static-ip-name e regione con i tuoi valori.
  2. Esegui il comando ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lightsail/get-static-ip.html)get-static-ip[ per visualizzare il valore degli indirizzi IP statici assegnati. L'esempio seguente mostra l'assegnazione di un IP statico 52.210.xx.xx denominato StaticIpForTestLightsailInstance1 nella regione eu-west-1.
    # aws lightsail get-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1
    {
      "staticIp": {
        "name": "StaticIpForTestLightsailInstance1",
        "arn": "arn:aws:lightsail:eu-west-1:920893848407:StaticIp/16a97579-c51e-404c-96cc-5946528d12aa",
        "supportCode": "11178xxxxxxx/52.210.xx.xx",
        "createdAt": 1602180341.746,
        "location": {
          "availabilityZone": "all",
          "regionName": "eu-west-1"
        },
        "resourceType": "StaticIp",
        "ipAddress": "52.210.xx.xx",
        "isAttached": false
      }
    }
    Nota: Sostituisci static-ip-name e regione con i tuoi valori.
  3. Esegui il comando attach-static-ip. L'esempio seguente mostra l'assegnazione di un IP statico 52.210.xx.xx denominato StaticIpForTestLightsailInstance1 all'istanza denominata TestLightsailInstance1 nella regione eu-west-1.
    # aws lightsail attach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --instance-name TestLightsailInstance1  --region eu-west-1
    {
      "operations": [
        {
          "id": "d9d2372f-b4b7-4838-99ae-c15f8ffb8332",
          "resourceName": "StaticIpForTestLightsailInstance1",
          "resourceType": "StaticIp",
          "createdAt": 1602180562.026,
          "location": {
            "availabilityZone": "all",
            "regionName": "eu-west-1"
          },
          "isTerminal": true,
          "operationDetails": "TestLightsailInstance1",
          "operationType": "AttachStaticIp",
          "status": "Succeeded",
          "statusChangedAt": 1602180562.026
        },
        {
          "id": "131994d8-bd25-4b47-8d81-851224b168d1",
          "resourceName": "TestLightsailInstance1",
          "resourceType": "Instance",
          "createdAt": 1602180562.026,
          "location": {
            "availabilityZone": "eu-west-1a",
            "regionName": "eu-west-1"
          },
          "isTerminal": true,
          "operationDetails": "StaticIpForTestLightsailInstance1",
          "operationType": "AttachStaticIp",
          "status": "Succeeded",
          "statusChangedAt": 1602180562.026
        }
      ]
    }
    **Nota:**Sostituisci static-ip-name, instance-name e regione con i tuoi valori.
  4. Esegui il comando get-instances per verificare se l'indirizzo IP statico è associato correttamente alla tua istanza Lightsail.
    # aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress,InstanceID:supportCode}' --output table
    ---------------------------------------------------------------------------------------------------------------------------------------------------------
    |                                                                     GetInstances                                                                      |
    +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+
    |            InstanceID            |   blueprintId    | blueprintName  |    createdAt    |                  name                    |  publicIpAddress  |
    +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+
    |        11178xxxxxxx/i-09f6xxxx   |  wordpress       |  WordPress     |  1602175741.602 |  TestLightsailInstance1                  |   52.210.xx.xx    |
    +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+

Informazioni correlate

Come posso usare i comandi AWS CLI per gestire le mie istantanee e creare backup per le mie istanze Lightsail?

How can I manage static IP addresses on my Lightsail instances using AWS CLI commands?

Attiva o disattiva le istantanee automatiche per istanze o dischi in Amazon Lightsail

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa