¿Cómo puedo gestionar mi instancia de Lightsail usando los comandos de la AWS CLI?

11 minutos de lectura
0

¿Cómo puedo gestionar mis instancias de Amazon Lightsail mediante los comandos de la versión 1 de la interfaz de la línea de comandos de AWS (AWS CLI)?

Descripción breve

Para obtener una lista de los comandos de la AWS CLI de Amazon Lightsail, consulte la referencia de comandos de la AWS CLI y la referencia de la API de Amazon Lightsail.

A continuación se indican los escenarios habituales para usar los comandos de la AWS CLI en sus instancias de Lightsail:

  • Mostrar todos los planes Lightsail (paquetes) y esquemas disponibles en una región.
  • Crear una instancia de Lightsail mediante un paquete y un esquema específicos.
  • Lista de todas las instancias de Lightsail de una región determinada.
  • Asignar una dirección IP estática y, a continuación, adjuntarla a la instancia y verificarla.

**Nota:**Tenga en cuenta lo siguiente cuando utilice los comandos de la AWS CLI:

macOS:

Elimine el punto decimal de la marca de tiempo y cualquier dígito situado a la derecha del punto decimal y, a continuación, ejecute el siguiente comando:

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

Linux:

Ejecute el siguiente comando:

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

Windows:

Convierta la marca de tiempo mediante un convertidor, como epochconverter.com.

Resolución

Mostrar todos los paquetes y esquemas de Lightsail disponibles en una región

Ejecute el comando get-bundles para ver la lista de todos los paquetes que están disponibles para su compra en su región. En el siguiente comando, sustituya eu-west-1 por su región:

# 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          |
|  micro_2_0      |  1        |  40           |  micro        |  5.0   |  1.0          |  LINUX_UNIX          |
|  small_2_0      |  1        |  60           |  small        |  10.0  |  2.0          |  LINUX_UNIX          |
|  medium_2_0     |  2        |  80           |  medium       |  20.0  |  4.0          |  LINUX_UNIX          |
|  large_2_0      |  2        |  160          |  large        |  40.0  |  8.0          |  LINUX_UNIX          |
|  xlarge_2_0     |  4        |  320          |  xlarge       |  80.0  |  16.0         |  LINUX_UNIX          |
|  2xlarge_2_0    |  8        |  640          |  2xlarge      |  160.0 |  32.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             |
|  small_win_2_0  |  1        |  60           |  small        |  20.0  |  2.0          |  WINDOWS             |
|  medium_win_2_0 |  2        |  80           |  medium       |  40.0  |  4.0          |  WINDOWS             |
|  large_win_2_0  |  2        |  160          |  large        |  70.0  |  8.0          |  WINDOWS             |
|  xlarge_win_2_0 |  4        |  320          |  xlarge       |  120.0 |  16.0         |  WINDOWS             |
|  2xlarge_win_2_0|  8        |  640          |  2xlarge      |  240.0 |  32.0         |  WINDOWS             |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+

Ejecute el comando get-blueprints para ver la lista de todas las imágenes o esquemas de su región. A continuación, puede optar por crear una nueva instancia con las imágenes disponibles. En el siguiente comando, sustituya eu-west-1 por su región:

# 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   |
|  windows_server_2012                 |  windows_2012         |  Windows Server 2012 R2        |  WINDOWS    |  https://aws.amazon.com/marketplace/pp/B00KQOWCAQ   |
|  windows_server_2016_sql_2016_express|  windows_2016_sql_exp |  SQL Server 2016 Express       |  WINDOWS    |  https://aws.amazon.com/marketplace/pp/B01MAZHH98   |
|  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_20_04                        |  ubuntu_20            |  Ubuntu                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B087QQNGF1   |
|  ubuntu_18_04                        |  ubuntu_18            |  Ubuntu                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B07CQ33QKV   |
|  ubuntu_16_04_2                      |  ubuntu               |  Ubuntu                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B01JBL2M0O   |
|  debian_10                           |  debian_10            |  Debian                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B0859NK4HC   |
|  debian_9_5                          |  debian_9             |  Debian                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B073HW9SP3   |
|  debian_8_7                          |  debian               |  Debian                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00WUNJIEE   |
|  freebsd_12                          |  freebsd              |  FreeBSD                       |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B07L6QV354   |
|  opensuse_15_1                       |  opensuse             |  openSUSE                      |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B01N4R3GJI   |
|  centos_7_1901_01                    |  centos               |  CentOS                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00O7WM7QW   |
|  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   |
|  lamp_7                              |  lamp_7               |  LAMP (PHP 7)                  |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B072JNJZ5C   |
|  nodejs                              |  node                 |  Node.js                       |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZUAKO   |
|  joomla                              |  joomla               |  Joomla                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZUP54   |
|  magento                             |  magento              |  Magento                       |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZTA6Y   |
|  mean                                |  mean                 |  MEAN                          |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NO1HJ56   |
|  drupal                              |  drupal               |  Drupal                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZSUMO   |
|  gitlab                              |  gitlab               |  GitLab CE                     |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZU5PO   |
|  redmine                             |  redmine              |  Redmine                       |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZUVHQ   |
|  nginx                               |  nginx                |  Nginx                         |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NPHKI3Y   |
|  ghost_bitnami                       |  ghost_bitnami        |  Ghost                         |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NPHLY8W   |
|  django_bitnami                      |  django_bitnami       |  Django                        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B00NNZTDNO   |
|  plesk_ubuntu_18_0_28                |  plesk_ubuntu         |  Plesk Hosting Stack on Ubuntu |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B077MJL7Z2   |
|  cpanel_whm_linux                    |  cpanel_whm_linux     |  cPanel & WHM for Linux        |  LINUX_UNIX |  https://aws.amazon.com/marketplace/pp/B07RRX2TVV   |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+

Ejemplo:

Los siguientes comandos filtran los planos con el sistema operativo de la plataforma 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             |
|  Ubuntu         |  18.04 LTS             |
|  Ubuntu         |  16.04 LTS             |
|  Debian         |  10.5                  |
|  Debian         |  9.5                   |
|  Debian         |  8.7                   |
|  FreeBSD        |  12.1                  |
|  openSUSE       |  15.1                  |
|  CentOS         |  7 1901-01             |
+-----------------+------------------------+

Creación de una instancia de Lightsail mediante un paquete y un esquema específicos

  1. Ejecute el siguiente comando para obtener un esquema. El siguiente comando de ejemplo obtiene un esquema de WordPress. Sustituya eu-west-1 por su región y la información de WordPress por la información del esquema que prefiera.
# 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   |
  1. Ejecute el comando create-instances para crear instancias de Amazon Lightsail. El siguiente ejemplo crea una instancia de Amazon Lightsail en la región eu-west-1 mediante un esquema de WordPress y el paquete micro_2_0. Sustituya --instance-names, blueprint-id, bundle-id, y --region por los valores adecuados para su solicitud.
# 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
        }
    ]
}

Para crear varias instancias mediante una sola llamada a la API, especifique los parámetros con **--instance-names {«LightsailInstance1», «LightsailInstance2»}.**El siguiente ejemplo crea dos instancias de Lightsail en la región eu-west-1 mediante un esquema de WordPress y el paquete 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
        }
    ]
}

Enumerar todas las instancias de Lightsail en una región

Ejecute el comando get-instances para mostrar las instancias de Lightsail en una región específica. El siguiente ejemplo muestra todas las instancias de Lightsail de la región eu-west-1. Reemplace --region por los valores adecuados para su solicitud.

# 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 |
|  wordpress      |  WordPress     |  1602175452.334 |  MyNewInstance             |  54.195.xx.xx
+-----------------+----------------+-----------------+------------------------------------------+-------------------+

Asignar una IP estática y, a continuación, adjuntarla a la instancia de Lightsail creada y verificarla.

**Nota:**El comando create-instances crea una instancia de Lightsail con una dirección IP pública asignada. A diferencia de las direcciones IP públicas que puede asignar y reasignar a una instancia u otro recurso, las direcciones IP estáticas son fijas. Si no ha creado una dirección IP estática para la instancia, Lightsail asigna una nueva dirección IP pública cada vez que detiene o reinicia la instancia.

  1. Ejecute el comando allocate-static-ip para asignar una dirección pública fija. El siguiente ejemplo muestra la asignación de una IP estática denominada StaticIpForTestLightsailInstance1 en la región eu-west-1. Sustituya --static-ip-name y --region por los valores adecuados para su solicitud.
# 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
        }
    ]
}
  1. Ejecute el comando get-static-ip para mostrar el valor de las direcciones IP estáticas asignadas. El siguiente ejemplo muestra la asignación de una IP estática 52.210.xx.xx denominada StaticIpForTestLightsailInstance1 en la región eu-west-1. Sustituya --static-ip-name y --region por los valores adecuados para su solicitud.
# 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
    }
}
  1. Ejecute el comando attach-static-ip para adjuntar una dirección IP estática a su instancia de Lightsail. El siguiente ejemplo muestra la asignación de una IP estática 52.210.xx.xx denominada StaticIpForTestLightsailInstance1 a la instancia denominada TestLightsailInstance1 de la región eu-west-1. Sustituya --static-ip-name, --instance-name y --region por los valores adecuados para su solicitud.
# 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
        }
    ]
}
  1. Ejecute el comando get-instances para comprobar si la dirección IP estática está asociada correctamente a su instancia de 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    |
+----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+

Información relacionada

¿Cómo puedo administrar mis instantáneas y crear copias de seguridad para mis instancias de Lightsail mediante los comandos de la AWS CLI?

¿Cómo puedo administrar las direcciones IP estáticas en mis instancias de Lightsail mediante los comandos de la AWS CLI?

Referencia de comandos de la AWS CLI

Referencia de la API de Amazon Lightsail

Activar o desactivar las instantáneas automáticas para instancias o discos en Amazon Lightsail

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años