Comment gérer mes instantanés et créer des sauvegardes pour mes instances Lightsail à l'aide des commandes CLI AWS ?
Dernière mise à jour : 11-01-2021
Je souhaite gérer mes instantanés et créer des sauvegardes pour mes instances Amazon Lightsail à l'aide des commandes de l'interface AWS CLI (AWS Command Line Interface). Comment dois-je procéder ?
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.
Vous trouverez ci-dessous des scénarios courants d'utilisation des commandes AWS CLI dans vos instances Lightsail pour gérer les instantanés et les sauvegardes :
- Gestion des sauvegardes manuelles :
Créer des sauvegardes manuelles pour votre instance
Dresser la liste des instantanés disponibles - Gestion des instantanés automatiques :
Vérifier si des instantanés automatiques sont activés sur vos instances
Activer les instantanés automatiques
Dresser la liste des instantanés automatiques et créer une nouvelle instance à partir d'une sauvegarde via une offre de plus grande taille ou un plan Lightsail supérieur
Important : gardez ce qui suit à l'esprit lorsque vous utilisez les commandes AWS CLI :
- Si des erreurs surviennent lors de l'exécution des commandes AWS CLI, vérifiez que vous utilisez la version la plus récente d'AWS CLI.
- JSON est la sortie par défaut de l'AWS CLI. Vous pouvez utiliser la valeur par défaut ou ajouter --output json aux commandes pour recevoir la sortie, comme illustré dans les exemples suivants. Pour plus d'informations, consultez Contrôle de la sortie de commande d'AWS CLI.
- Pour obtenir des informations générales sur la résolution des erreurs AWS CLI, consultez Pourquoi est-ce que je reçois des erreurs lors de l'exécution des commandes AWS CLI ?
- La sortie AWS CLI affiche les horodatages en heure Unix Epoch. Utilisez l'une des méthodes suivantes pour convertir l'horodatage en UTC :
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
Gestion des sauvegardes manuelles
Créer 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é de l'instance SnapshotTestLightsailInstance1 dans la région eu-west-1. Remplacez --instance-snapshot-name, --instance-name et --region par les valeurs correspondant à votre requête.
# 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
}
]
}
Dresser la liste des instantanés disponibles
Exécutez la commande get-instance-snapshots afin de dresser la liste de tous les instantanés pour vos instances Lightsail. L'exemple suivant illustre en détail les instantanés disponibles dans eu-west-1. Remplacez la valeur --region par la valeur correspondant à votre requête.
# 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 |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+
Gestion des instantanés automatiques
Vérifier si des instantanés automatiques sont activés sur vos instances
Exécutez la commande suivante pour vérifier si des instantanés automatiques sont activés sur votre instance et pour consulter le calendrier défini. Remplacez TestLightsailInstance1 par le nom de votre instance et --region par la région qui convient.
# 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
Activer les instantanés automatiques
Exécutez la commande enable-add-on afin d'activer les instantanés automatiques pour vos instances Lightsail. L'exemple suivant crée des instantanés automatiques quotidiens définis sur un incrément horaire en UTC (08PM UTC). Remplacez --resource-name, snapshotTimeOfDay et --region par les valeurs correspondant à votre requête.
# 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"
}
]
}
Dresser la liste des instantanés automatiques et créer une nouvelle instance à partir de la sauvegarde via une offre de plus grande taille ou un plan Lightsail supérieur
1. Exécutez la commande get-auto-snapshots afin de dresser la liste des instantanés automatiques disponibles pour votre disque ou vos instances Lightsail. L'exemple suivant illustre en détail les instantanés disponibles pour l'instance TestLightsailInstance1. Remplacez les valeurs --resource-name et --region par les valeurs correspondant à votre requête.
# 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": []
}
]
}
2. Exécutez la commande create-instances-from-snapshot pour créer une ou plusieurs instances Lightsail à partir d'une sauvegarde manuelle ou automatique. L'exemple suivant crée une instance dans la région eu-west-1 avec une sauvegarde spécifique et une offre de plus grande taille. Remplacez les valeurs --instance-snapshot-name, --instance-names, bundle-id et --region par les valeurs correspondant à votre requête.
# 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
}
]
}
L'exemple suivant crée une nouvelle instance basée sur la sauvegarde spécifiée et sur une offre de plus grande taille :
# 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
Cet article vous a-t-il été utile ?
Besoin d'aide pour une question technique ou de facturation ?