Comment gérer les adresses IP statiques sur mes instances Lightsail à l'aide des commandes AWS CLI ?

Dernière mise à jour : 11-01-2021

Je souhaite dissocier mon adresse IP statique de mon instance Amazon Lightsail et l'associer à une nouvelle instance Lightsail. Comment dois-je procéder avec les commandes de l'interface AWS CLI (AWS Command Line Interface) ?

Brève description

Pour obtenir la liste des commandes AWS CLI pour Amazon Lightsail, consultez Document de référence sur les commandes AWS CLI et Document de référence sur l'API Amazon Lightsail.

Important : gardez ce qui suit à l'esprit lorsque vous utilisez les commandes AWS CLI :

macOS :

Supprimez le point décimal de l'horodatage et tous les chiffres situés à droite du point décimal, puis exécutez la commande suivante :

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

Linux :

Exécutez la commande suivante :

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

Windows :

Convertissez l'horodatage à l'aide d'un convertisseur comme epochconverter.com.

Solution

Dissociation de l'adresse IP statique d'une instance Lightsail existante

Pour dissocier l'adresse IP statique de l'instance, exécutez la commande detach-static-ip. L'exemple suivant illustre la dissociation de l'adresse IP statique d'une instance dans la région eu-west-1. Remplacez les valeurs --static-ip-name et --region par les valeurs correspondant à votre requête.

# aws lightsail detach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --region eu-west-1
{
    "operations": [
        {
            "id": "c86e552e-c21a-4cdf-aa68-05fb20574e8b",
            "resourceName": "StaticIpForTestLightsailInstance1",
            "resourceType": "StaticIp",
            "createdAt": 1602182597.168,
            "location": {
                "availabilityZone": "all",
                "regionName": "eu-west-1"
            },
            "isTerminal": true,
            "operationDetails": "TestLightsailInstance1",
            "operationType": "DetachStaticIp",
            "status": "Succeeded",
            "statusChangedAt": 1602182597.168
        },
        {
            "id": "4b9dcaa7-be3a-4dfd-8ac0-32f0238c0833",
            "resourceName": "TestLightsailInstance1",
            "resourceType": "Instance",
            "createdAt": 1602182597.17,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": true,
            "operationDetails": "StaticIpForTestLightsailInstance1",
            "operationType": "DetachStaticIp",
            "status": "Succeeded",
            "statusChangedAt": 1602182597.17
        }
    ]
}

Associer l'adresse IP statique à une nouvelle instance de Lightsail

1.    Pour associer une adresse IP statique à une nouvelle instance à partir de la sauvegarde, exécutez la commande attach-static-ip. Remplacez les valeurs --static-ip-name, --instance-name et --region par les valeurs correspondant à votre requête.

# aws lightsail attach-static-ip --static-ip-name StaticIpForTestLightsailInstance1 --instance-name RestoredTestLightsailInstance1-New  --region eu-west-1
{
    "operations": [
        {
            "id": "192c4917-c332-49c8-88ab-60484a42c98f",
            "resourceName": "StaticIpForTestLightsailInstance1",
            "resourceType": "StaticIp",
            "createdAt": 1602182686.46,
            "location": {
                "availabilityZone": "all",
                "regionName": "eu-west-1"
            },
            "isTerminal": true,
            "operationDetails": "RestoredTestLightsailInstance1-New",
            "operationType": "AttachStaticIp",
            "status": "Succeeded",
            "statusChangedAt": 1602182686.46
        },
        {
            "id": "fb93c012-e3a2-4908-8746-01a4ae018440",
            "resourceName": "RestoredTestLightsailInstance1-New",
            "resourceType": "Instance",
            "createdAt": 1602182686.463,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": true,
            "operationDetails": "StaticIpForTestLightsailInstance1",
            "operationType": "AttachStaticIp",
            "status": "Succeeded",
            "statusChangedAt": 1602182686.463
        }
    ]
}

2.    Exécutez la commande get-instances pour vérifier que l'adresse IP statique est attribuée à votre instance.

# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,bundleid:bundleId,blueprintName:blueprintName,publicIpAddress:publicIpAddress,InstanceID:supportCode}' --output table
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                            GetInstances                                                                            |
+----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+
|            InstanceID            |   blueprintId    | blueprintName  | bundleid   |    createdAt    |                  name                    |  publicIpAddress  |
+----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+
|  11178xxxxxxx/i-09f6xxxx|  wordpress       |  WordPress     |  large_2_0 |  1602182374.625 |  RestoredTestLightsailInstance1-New      |  52.210.xx.xx     |
+----------------------------------+------------------+----------------+------------+-----------------+------------------------------------------+-------------------+