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

Lecture de 5 minute(s)
0

Je souhaite utiliser les commandes de l'interface de ligne de commande AWS (AWS CLI) pour gérer des instantanés et créer des sauvegardes d’instances Amazon Lightsail.

Résolution

Remarque :

Gestion des sauvegardes manuelles

Exécuter les commandes de l'interface de la ligne de commande AWS pour gérer les sauvegardes manuelles de l’instance et répertorier les instantanés disponibles.

Créez une sauvegarde manuelle pour une instance Lightsail

Exécutez la commande create-instance-snapshot pour créer un instantané de l'instance Lightsail. L'exemple suivant crée un instantané d'instance SnapshotTestLightsailInstance1 dans la Région AWS eu-west-1 :

# aws lightsail create-instance-snapshot --instance-name TestLightsailInstance1 --instance-snapshot-name SnapshotTestLightsailInstance1{
    "operations": [
        {
            "id": "d3196be7-3dc6-4508-b335-16ce45f11c90",
            "resourceName": "SnapshotTestLightsailInstance1",
            "resourceType": "InstanceSnapshot",
            "createdAt": 1602180831.638,
            "location": {
                "availabilityZone": "all",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "TestLightsailInstance1",
            "operationType": "CreateInstanceSnapshot",
            "status": "Started",
            "statusChangedAt": 1602180831.638
        },
        {
            "id": "df237a33-bca9-4fc3-8f46-ea5d12606f5c",
            "resourceName": "TestLightsailInstance1",
            "resourceType": "Instance",
            "createdAt": 1602180831.638,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "SnapshotTestLightsailInstance1",
            "operationType": "CreateInstanceSnapshot",
            "status": "Started",
            "statusChangedAt": 1602180831.638
        }
    ]
}

**Remarque :**Remplacez instance-snapshot-name, instance-name et region par vos valeurs.

Répertoriez les instantanés disponibles

Exécutez la commande get-instance-snapshots pour répertorier tous les instantanés des instances Lightsail. L'exemple suivant montre les détails des instantanés disponibles dans la région eu-west-1 :

# aws lightsail get-instance-snapshots --region eu-west-1 --query 'instanceSnapshots[].{name:name,createdAt:createdAt,resourceType:resourceType,state:state,fromInstanceName:fromInstanceName,sizeInGb:sizeInGb}' --output table
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                                                GetInstanceSnapshots                                                                                                 |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+
|    createdAt   |            fromInstanceName             |                                                   name                                                     |   resourceType    | sizeInGb  |    state    |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+
|  1602180831.638|  TestLightsailInstance1                 |  SnapshotTestLightsailInstance1                                                                            |  InstanceSnapshot |  40       |  available  |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+

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

Gérez les sauvegardes automatiques

Utilisez les commandes de l'interface de ligne de commande AWS pour vérifier si les instantanés automatiques sont activés pour vos instances et les activer le cas échéant. Vous pouvez également répertorier les instantanés automatiques et créer une instance à partir d'une sauvegarde avec une taille de groupe plus importante ou un forfait Lightsail plus élevé.

Vérifiez si les instantanés automatiques sont activés pour vos instances

Exécutez la commande suivante pour vérifier si les instantanés automatiques sont activés pour l’instance et pour afficher la planification définie :

# aws lightsail get-instances --region eu-west-1  --query 'instances[].{addOns:addOns,name:name,publicIpAddress:publicIpAddress,AutoMatciSnapshotStatus:(addOns[].status),Schedule:(addOns[].snapshotTimeOfDay)}' --output text| grep -w "TestLightsailInstance1"['Enabled']     ['20:00']       [{'name': 'AutoSnapshot', 'status': 'Enabled', 'snapshotTimeOfDay': '20:00'}]   TestLightsailInstance1  3.250.xx.xx

Remarque : remplacez TestLightsailInstance1 par le nom de l’instance et region par votre région.

Activez les instantanés automatiques

Exécutez la commande enable-add-on pour activer les instantanés automatiques pour les instances Lightsail. L'exemple suivant crée des instantanés automatiques quotidiens définis selon un incrément horaire en UTC (20 h UTC) :

# aws lightsail enable-add-on --region eu-west-1 --resource-name TestLightsailInstance1 --add-on-request addOnType=AutoSnapshot,autoSnapshotAddOnRequest={snapshotTimeOfDay=20:00}{
    "operations": [
        {
            "id": "823bb162-9848-4897-b845-8f41c375801a",
            "resourceName": "TestLightsailInstance1",
            "resourceType": "Instance",
            "createdAt": 1602181856.652,
            "location": {
                "availabilityZone": "eu-west-1",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "EnableAddOn - AutoSnapshot",
            "operationType": "EnableAddOn",
            "status": "Started"
        }
    ]
}

Remarque : remplacez resource-name, snapshotTimeOfDay et region par vos valeurs.

Répertoriez les instantanés automatiques et créez une instance à partir de la sauvegarde avec une taille de groupe plus importante ou un forfait Lightsail plus élevé

Exécutez la commande get-auto-snapshots pour répertorier tous les instantanés automatiques disponibles pour les instances Lightsail ou votre disque. L'exemple suivant montre les détails des instantanés disponibles pour l'instance TestLightsailInstance1 :

# aws lightsail get-auto-snapshots --region eu-west-1 --resource-name TestLightsailInstance1{
    "resourceName": "TestLightsailInstance1",
    "resourceType": "Instance",
    "autoSnapshots": [
        {
            "date": "2020-10-08",
            "createdAt": 1602188663.0,
            "status": "Success",
            "fromAttachedDisks": []
        }
    ]
}

Remarque : remplacez resource-name et region par vos valeurs.

Exécutez la commande create-instances-from-snapshot pour créer des instances Lightsail à partir d'une sauvegarde manuelle ou automatique. L'exemple suivant utilise une sauvegarde spécifique et un groupe de taille supérieure pour créer une instance dans la région eu-west-1 :

# aws lightsail create-instances-from-snapshot --region eu-west-1 --instance-snapshot-name SnapshotTestLightsailInstance1 --instance-names RestoredTestLightsailInstance1-New  --availability-zone eu-west-1a --bundle-id large_2_0{
    "operations": [
        {
            "id": "09f7d1bb-90f4-48dc-b304-543499e11208",
            "resourceName": "RestoredTestLightsailInstance1-New",
            "resourceType": "Instance",
            "createdAt": 1602182374.625,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationType": "CreateInstancesFromSnapshot",
            "status": "Started",
            "statusChangedAt": 1602182374.625
        }
    ]
}

Remarque : remplacez instance-snapshot-name, instance-names, bundle-id et region par vos valeurs.

Voici un exemple des détails relatifs à l'instance Lightsail RestoredTestLightsailInstance1-New que vous avez créée :

# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress}' --output table |grep -i RestoredTestLightsailInstance1-New
|  wordpress      |  WordPress     |  1602182374.625 |  RestoredTestLightsailInstance1-New      |  34.247.xx.xx    |

Informations connexes

Documentation de référence des commandes de l'interface de ligne de commande AWS pour Lightsail

Documentation de référence de l'API Lightsail

Comment puis-je gérer une instance Lightsail à l'aide des commandes de l'AWS CLI ?

Documents Lightsail

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