Comment gérer mes paramètres AWS Backup avec des modèles AWS CloudFormation ?

Date de la dernière mise à jour : 01/03/2021

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.

Ré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 en 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.
  • Active Windows VSS.
  • Définit le cycle de vie des sauvegardes à supprimer sept jours après leur création.
  • Définit CopyAction pour copier les sauvegardes vers la région AWS us-west-2 pour la reprise après sinistre.
  • 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 la clé backupplan 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"
        AdvancedBackupSettings:
          -
            ResourceType: EC2
            BackupOptions:
              WindowsVSS: enabled
        BackupPlanRule:
          -
            RuleName: "RuleForDailyBackups"
            TargetBackupVault: Default
            ScheduleExpression: "cron(25 11 ? * * *)"
            Lifecycle:
              DeleteAfterDays: 7
            CopyActions:
              -
                  DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default
                  Lifecycle:
                   DeleteAfterDays: 14
  TagBasedBackupSelection:
    Type: "AWS::Backup::BackupSelection"
    Properties:
      BackupSelection:
        SelectionName: "TagBasedBackupSelection"
        IamRoleArn: !Sub "arn:aws:iam::111222333444: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 en YAML effectue les opérations suivantes :

  • Crée un coffre de sauvegarde nommé Default.
  • 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. Ces sauvegardes sont définies pour être supprimées sept jours après leur création.
  • Active Windows VSS.
  • Définit CopyAction pour copier les sauvegardes vers la région AWS us-west-2 pour la reprise après sinistre. Ces sauvegardes sont définies pour être supprimées 14 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. 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. 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 clé backup 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"
        AdvancedBackupSettings:
          -
            ResourceType: EC2
            BackupOptions:
              WindowsVSS: enabled
        BackupPlanRule:
          -
            RuleName: "RuleForDailyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(25 11 ? * * *)"
            Lifecycle:
              DeleteAfterDays: 7
            CopyActions:
              -
                  DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default
                  Lifecycle:
                   DeleteAfterDays: 14
          -
            RuleName: "RuleForWeeklyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(0 11 ? * 2 *)"
            Lifecycle:
              DeleteAfterDays: 28
            CopyActions:
              -
                  DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default
                  Lifecycle:
                   DeleteAfterDays: 14
          -
            RuleName: "RuleForMonthlyBackups"
            TargetBackupVault: !Ref BackupVaultWithThinBackups
            ScheduleExpression: "cron(0 11 1 * ? *)"
            Lifecycle:
              DeleteAfterDays: 90
            CopyActions:
              -
                  DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default
                  Lifecycle:
                   DeleteAfterDays: 14
    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 ?


Besoin d'aide pour une question technique ou de facturation ?