Comment utiliser l'interface de ligne de commande AWS pour créer un plan de sauvegarde AWS Backup ou exécuter une tâche à la demande ?

Date de la dernière mise à jour : 19/05/2020

Je souhaite utiliser l'interface de ligne de commande AWS (AWS CLI) pour créer un plan de sauvegarde AWS Backup. Ou, je veux utiliser l'interface de ligne de commande AWS pour exécuter une tâche à la demande sur AWS Backup. Comment dois-je procéder ?

Résolution

Créer un plan de sauvegarde AWS Backup

Remarque : l'exemple de plan de sauvegarde AWS Backup suivant est configuré avec une configuration de tâche de copie dans la règle de sauvegarde. Avec cette configuration, vous créez un coffre-fort de sauvegarde principal dans la région AWS source. Le coffre-fort principal héberge les points de récupération source. Ensuite, vous créez un coffre-fort secondaire dans la région de destination. Le coffre-fort secondaire stocke les points de récupération créés par AWS Backup dans le cadre de la configuration de la copie du plan de sauvegarde.

1.    Exécutez la commande create-backup-vault pour créer un coffre-fort principal dans la région source. Exécutez ensuite à nouveau la commande pour créer un coffre-fort secondaire dans la région de destination :

Remarque : remplacez eu-west-1 par votre région source. Remplacez ensuite eu-west-2 par votre région de destination.

aws backup create-backup-vault --backup-vault-name primary --region eu-west-1

aws backup create-backup-vault --backup-vault-name secondary --region eu-west-2

2.    Créez un fichier JSON avec les options et les paramètres de votre plan de sauvegarde, comme suit :

{
    "BackupPlanName": "testplan",
    "Rules": [{
        "RuleName": "HalfDayBackups",
        "TargetBackupVaultName": "primary",
        "ScheduleExpression": "cron(0 5/12 ? * * *)",
        "StartWindowMinutes": 480,
        "CompletionWindowMinutes": 10080,
        "Lifecycle": {
            "DeleteAfterDays": 30
        },
        "CopyActions": [{
            "DestinationBackupVaultArn": "arn:aws:backup:eu-west-2:123456789:backup-vault:secondary",
            "Lifecycle": {
                "DeleteAfterDays": 30
            }
        }]
    }]
}

Remarque : pour le champ ScheduleExpression définissez la valeur en fonction de l'objectif du point de récupération de votre organisation. Pour le champ Lifecycle, qui est facultatif, vous pouvez entrer une valeur basée sur la stratégie de rétention de votre stratégie de sauvegarde.

3.    Une fois que vous avez créé le fichier JSON, exécutez la commande create-backup-plan. Ensuite, transmettez le fichier JSON en tant que paramètre d'entrée :

aws backup create-backup-plan --backup-plan file://

4.    Dans la sortie de la commande, notez la valeur de BackupPlanId.

5.    Créez un fichier JSON qui définit les paramètres d'attribution des ressources au plan de sauvegarde, comme suit :

Remarque : vous pouvez utiliser des Amazon Resource Names (ARN), des balises ou les deux, pour spécifier les ressources d'un plan de sauvegarde. L'exemple suivant utilise à la fois un ARN et des balises.

{
    "SelectionName": "Myselection",
    "IamRoleArn": "arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole",
    "Resources": ["arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234"],
    "ListOfTags": [{
        "ConditionType": "STRINGEQUALS",
        "ConditionKey": "backup",
        "ConditionValue": "yes"
    }]
}

6.    Une fois que vous avez créé le fichier JSON, exécutez la commande create-backup-selection. Ensuite, transmettez le fichier JSON en tant que paramètre d'entrée :

Remarque : pour la valeur de --backup-plan-id, entrez le BackupPlanId que vous avez obtenu à l'étape 4.

aws backup create-backup-selection --backup-plan-id abcd-efgh-ijkl-mnop --backup-selection file://

Exécuter une tâche à la demande sur AWS Backup

Pour exécuter une tâche de sauvegarde à la demande, exécutez la commande start-backup-job. L'exemple de commande suivant exécute une tâche de sauvegarde pour la ressource vol-0abcdef1234 :

aws backup start-backup-job --backup-vault-name primary --resource-arn arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234 --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 623f13d2-78d2-11ea-bc55-0242ac130003 --start-window-minutes 60 --complete-window-minutes 10080 --lifecycle DeleteAfterDays=30 --region eu-west-1

Remarque : la commande précédente inclut une valeur pour --idempotency -token. Cette valeur est une chaîne unique que vous fournissez pour faire la distinction entre les appels StartBackupJob. Sur un système d'exploitation Linux, vous pouvez exécuter la commande uuid pour générer un identifiant unique :

uuid -r

Pour exécuter une tâche de copie à la demande, exécutez la commande start-copy-job. L'exemple de commande suivant exécute une tâche qui copie le point de récupération pour snap-0abcdaf2247b33dbc à partir du coffre-fort source nommé primary vers un coffre-fort de destination appelé secondary :

aws backup start-copy-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc --source-backup-vault-name primary --destination-backup-vault-arn arn:aws:backup:eu-west-2:123456789:backup-vault:secondary --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 5aac8974-78d2-11ea-bc55-0242ac130003 --lifecycle DeleteAfterDays=30 --region eu-west-1

Pour lancer une tâche de restauration, exécutez la commande start-restore-job. Pour lancer une tâche de restauration pour un volume Amazon Elastic Block Store (Amazon EBS), procédez comme suit :

1.    Exécutez la commande get-recovery point-restore-metadata sur le point de récupération que vous souhaitez restaurer :

aws backup get-recovery-point-restore-metadata --backup-vault-name primary --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc 

2.    Dans la sortie de la commande, notez les valeurs pour volume ID et encryption.

3.    Créez un fichier JSON qui définit les paramètres pour l'option --metadata de la commande start-restore-job requise. Pour encrypted et volumeId, entrez les valeurs que vous avez obtenues à l'étape 2.

{
   "availabilityZone":"eu-west-1a",
   "encrypted":"false",
   "volumeId":"vol-0ck270d4c0b2e44c9",
   "volumeSize":"100",
   "volumeType":"gp2"
}

4.    Une fois que vous avez créé le fichier JSON, exécutez la commande start-restore-job. Ensuite, transmettez le fichier JSON en tant que paramètre d'entrée :

aws backup start-restore-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc  --metadata file:// --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 52e602ce-78d2-11ea-bc55-0242ac130003 --resource-type EBS --region eu-west-1

Pour lancer une restauration pour un système de fichiers Amazon Elastic File System (Amazon EFS), consultez la section Comment restaurer un système de fichiers Amazon EFS à partir d'un point de récupération AWS Backup à l'aide de l'interface de ligne de commande AWS ?


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?