Comment puis-je gérer mes paramètres AWS Backup à l'aide des modèles AWS CloudFormation ?

Date de la dernière mise à jour : 28/10/2019

Je souhaite utiliser AWS Backup pour sauvegarder mes données à partir d'autres ressources AWS. En outre, je souhaite utiliser un modèle AWS CloudFormation pour gérer mes configurations AWS Backup. Comment procéder ?

Brève description

Vous pouvez créer des modèles CloudFormation à l'aide des types de ressources AWS Backup pris en charge. Voici quelques exemples de modèles CloudFormation que vous pouvez créer pour AWS Backup :

  • Modèle permettant de créer un plan de sauvegarde et d'attribuer une ressource au plan de sauvegarde.
  • Modèle permettant de créer un plan de sauvegarde, de créer un coffre de sauvegarde et d'attribuer une ressource au plan de sauvegarde.

Solution

Important : votre plan de sauvegarde doit spécifier la balise qui attribue des ressources au plan de sauvegarde. Avant de définir le plan de sauvegarde, choisissez la balise. Ensuite, vérifiez que la balise est attribuée aux bonnes ressources et qu'elle est correctement écrite dans le plan de sauvegarde.

Modèle permettant de créer un plan de sauvegarde et d'attribuer une ressource au plan de sauvegarde

L'exemple suivant de modèle CloudFormation dans YAML effectue les opérations suivantes :

  • crée un plan de sauvegarde nommé BackupPlanWithThinBackups ;
  • définit les sauvegardes à stocker dans le coffre nommé Default ;
  • crée une règle de sauvegarde nommée RuleForDailyBackups, planifiée pour exécuter une sauvegarde quotidienne à 11 h 25 (cron (25 11 ? * * *)) ;
  • définit le cycle de vie des sauvegardes à supprimer sept jours après leur création ;
  • utilise le rôle AWS Identity and Access Management (IAM) nommé AWSBackupDefaultServiceRole pour exécuter la tâche de sauvegarde ;
  • attribue le plan de sauvegarde à toutes les ressources balisées avec le plan de sauvegarde clé et la valeur dsi-sandbox-daily.
AWSTemplateFormatVersion: 2010-09-09
Description: >-
  Backup Plan template to back up all resources tagged with backupplan=dsi-sandbox-daily at 11:25am
  UTC.
Resources:
  BackupPlanWithThinBackups:
    Type: "AWS::Backup::BackupPlan"
    Properties:
      BackupPlan:
        BackupPlanName: "BackupPlanWithThinBackups"
        BackupPlanRule:
          -
            RuleName: "RuleForDailyBackups"
            TargetBackupVault: Default
            ScheduleExpression: "cron(25 11 ? * * *)"
            Lifecycle:
              DeleteAfterDays: 7
  TagBasedBackupSelection:
    Type: "AWS::Backup::BackupSelection"
    Properties:
      BackupSelection:
        SelectionName: "TagBasedBackupSelection"
        IamRoleArn: !Sub "arn:aws:iam::111122223333:role/service-role/AWSBackupDefaultServiceRole"
        ListOfTags:
         -
           ConditionType: "STRINGEQUALS"
           ConditionKey: "backupplan"
           ConditionValue: "dsi-sandbox-daily"
      BackupPlanId: !Ref BackupPlanWithThinBackups
    DependsOn: BackupPlanWithThinBackups

Modèle permettant de créer un plan de sauvegarde, de créer un coffre de sauvegarde et d'attribuer une ressource au plan de sauvegarde

L'exemple suivant de modèle CloudFormation dans YAML effectue les opérations suivantes :

  • crée un coffre de sauvegarde nommé BackupVaultWithThinBackups ;
  • crée un plan de sauvegarde nommé BackupPlanWithThinBackups ;
  • définit les sauvegardes à stocker dans le coffre BackupVaultWithThinBackups ;
  • crée une règle de sauvegarde nommée RuleForDailyBackups, planifiée pour exécuter une sauvegarde quotidienne à 11 h 25 (cron (25 11 ? * * *)) ; Ces sauvegardes sont définies pour être supprimées sept jours après leur création ;
  • Crée une règle de sauvegarde nommée RuleForWeeklyBackups, planifiée pour exécuter une sauvegarde hebdomadaire tous les lundis à 11 h 00 (cron (0 11 ?* 2*)). Ces sauvegardes sont définies pour être supprimées 28 jours après leur création.
  • crée une règle de sauvegarde nommée RuleForMonthlyBackups planifiée pour exécuter une sauvegarde le premier jour de chaque mois à 11 h 00 (cron (0 11 1* ?*)). Ces sauvegardes sont définies pour être supprimées 90 jours après leur création.
  • utilise le rôle IAM nommé AWSBackupDefaultServiceRole pour exécuter la tâche de sauvegarde ;
  • attribue le plan de sauvegarde à toutes les ressources balisées avec la sauvegarde clé et la valeur thinbackup ;

AWSTemplateFormatVersion: "2010-09-09"
Description: "Backup Plan template for thin backups"
Resources:
  BackupVaultWithThinBackups:
    Type: "AWS::Backup::BackupVault"
    Properties:
      BackupVaultName: "BackupVaultWithThinBackups"

  BackupPlanWithThinBackups:
    Type: "AWS::Backup::BackupPlan"
    Properties:
      BackupPlan:
        BackupPlanName: "BackupPlanWithThinBackups"
        BackupPlanRule:
          -
            RuleName: "RuleForDailyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(25 11 ? * * *)"
            Lifecycle:
              DeleteAfterDays: 7
          -
            RuleName: "RuleForWeeklyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(0 11 ? * 2 *)"
            Lifecycle:
              DeleteAfterDays: 28
          -
            RuleName: "RuleForMonthlyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(0 11 1 * ? *)"
            Lifecycle:
              DeleteAfterDays: 90
    DependsOn: BackupVaultWithThinBackups

  TagBasedBackupSelection:
    Type: "AWS::Backup::BackupSelection"
    Properties:
      BackupSelection:
        SelectionName: "TagBasedBackupSelection"
        IamRoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/service-role/AWSBackupDefaultServiceRole"
        ListOfTags:
         -
           ConditionType: "STRINGEQUALS"
           ConditionKey: "backup"
           ConditionValue: "thinbackup"
      BackupPlanId: !Ref BackupPlanWithThinBackups
    DependsOn: BackupPlanWithThinBackups 

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

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


Vous avez besoin d’aide ?