En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment puis-je utiliser les commandes de l’interface de la ligne de commande AWS pour gérer mon instance Lightsail ?

Lecture de 8 minute(s)
0

Je souhaite utiliser les commandes de l’interface de la ligne de commande AWS (AWS CLI) pour gérer mes instances Amazon Lightsail.

Brève description

Les scénarios courants d’utilisation des commandes de l’AWS CLI sur vos instances Lightsail sont les suivants :

  • Pour répertorier tous les plans (offres groupées) et les plans Lightsail disponibles dans une région AWS
  • Pour utiliser une offre groupée et un plan spécifiques pour créer une instance Lightsail
  • Pour répertorier toutes les instances Lightsail d’une région donnée
  • Pour allouer une adresse IP statique, puis l’associer à l’instance et la vérifier

Remarque :

macOS

Supprimez la virgule de l’horodatage et tous les chiffres à droite de la virgule. Exécutez ensuite la commande suivante :

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

Linux

Exécutez la commande suivante :

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

Windows

À l’aide d’un convertisseur comme epochconverter.com, convertissez l’horodatage.

Résolution

Répertorier les offres groupées et les plans Lightsail disponibles dans une région

Exécutez la commande get-bundles pour répertorier les offres groupées disponibles à l’achat dans votre région. Vous trouverez ci-dessous un exemple de sortie :

# 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             |
+-----------------+-----------+---------------+---------------+--------+---------------+----------------------+

Remarque : remplacez eu-west-1 par votre région.

Exécutez la commande get-blueprints pour répertorier toutes les images ou tous les plans de votre région. Vous trouverez ci-dessous un exemple de sortie :

# 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   |
+--------------------------------------+-----------------------+--------------------------------+-------------+-----------------------------------------------------+

Remarque : remplacez eu-west-1 par votre région.

Filtrez les plans de la plateforme dont vous avez besoin. Par exemple, les filtres de commande suivants pour les plans qui utilisent le système d’exploitation de la plateforme 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             |
+-----------------+------------------------+

Utilisez une offre groupée et un plan spécifiques pour créer une instance Lightsail

  1. Exécutez la commande get-blueprint. L’exemple suivant obtient un plan 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   |
    Remarque : remplacez eu-west-1 par votre région et les informations WordPress par les informations de votre plan.
  2. Exécutez la commande create-instances pour créer des instances Amazon Lightsail. L’exemple suivant utilise un plan WordPress et l’offre groupée micro_2_o pour créer une instance Amazon Lightsail dans la région eu-west-1.
    # 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
        }
      ]
    }
    Remarque : remplacez instance-names, blueprint-id, bundle-id et region par vos valeurs. Pour utiliser un seul appel d’API afin de créer plusieurs instances, spécifiez les paramètres avec --instance-names comme LightsailInstance1 et LightsailInstance2. L’exemple suivant utilise un plan WordPress et l’offre groupée micro_2_0 pour créer deux instances Lightsail dans la région eu-west-1.
    # 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
        }
      ]
    }

Répertorier toutes les instances Lightsail d’une région

Exécutez la commande get-instances pour afficher les instances de Lightsail dans une région spécifique. L’exemple suivant montre les instances de Lightsail dans la région 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 |
+-----------------+----------------+-----------------+------------------------------------------+-------------------+

Remarque : remplacez la valeur de region par le nom de votre région.

Allouez une adresse IP statique et associez-la à l’instance Lightsail créée

Remarque : la commande create-instances crée une instance Lightsail avec une adresse IP publique. Si vous n’avez pas créé d’adresse IP statique pour votre instance, Lightsail attribue une nouvelle adresse IP publique chaque fois que vous arrêtez ou redémarrez l’instance.

  1. Exécutez la commande allocate-static-ip pour allouer une adresse publique fixe. L’exemple suivant montre l’allocation d’une adresse IP statique nommée **StaticIPForTestLightsailInstance1 ** dans la région 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
        }
      ]
    }
    Remarque : remplacez static-ip-name et region par vos valeurs.
  2. Exécutez la commande get-static-ip pour voir la valeur des adresses IP statiques allouées. L’exemple suivant montre l’allocation d’une adresse IP statique 52.210.xx.xx nommée StaticIpForTestLightsailInstance1 dans la région 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
      }
    }
    Remarque : remplacez static-ip-name et region par vos valeurs.
  3. Exécutez la commande attach-static-ip. L’exemple suivant montre l’allocation d’une adresse IP statique 52.210.xx.xx nommée StaticIPForTestLightsailInstance1 à l’instance nommée TestLightsailInstance1 dans la région 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
        }
      ]
    }
    Remarque : remplacez static-ip-name, instance-name, et region par vos valeurs.
  4. Exécutez la commande get-instances pour vérifier que l’adresse IP statique est correctement associée à votre instance 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    |
    +----------------------------------+------------------+----------------+-----------------+------------------------------------------+-------------------+

Informations connexes

Comment puis-je utiliser les commandes de l’interface de la ligne de commande AWS pour gérer des instantanés et créer des sauvegardes d’instances Lightsail ?

Comment puis-je gérer les adresses IP statiques sur mes instances Lightsail à l’aide des commandes de l’AWS CLI ?

Activer ou désactiver les instantanés automatiques pour les instances ou les disques dans Amazon Lightsail

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois