Comment puis-je gérer mes paramètres AWS Backup avec les modèles CloudFormation ?

Lecture de 4 minute(s)
0

Je voudrais utiliser AWS Backup pour sauvegarder mes données à partir d'autres ressources AWS. Je voudrais également utiliser un modèle AWS CloudFormation pour gérer mes configurations AWS Backup.

Résolution

Pour créer des modèles CloudFormation, utilisez les types de ressources AWS Backup pris en charge. Par exemple, vous pouvez utiliser un modèle CloudFormation pour créer un plan de sauvegarde et attribuer une ressource au plan de sauvegarde. Vous pouvez également utiliser un modèle pour créer un plan de sauvegarde, créer un coffre-fort de sauvegarde et affecter une ressource au plan de sauvegarde.

Important : Votre plan de sauvegarde doit spécifier l'étiquette qui affecte les ressources au plan de sauvegarde. Avant de mettre en place le plan de secours, choisissez l'étiquette. Vérifiez ensuite que l'étiquette est attribué aux bonnes ressources et qu'il est correctement écrit dans le plan de sauvegarde.

Modèle pour créer un plan de sauvegarde et attribuer une ressource au plan de sauvegarde

L'exemple de modèle CloudFormation suivant en YAML exécute les tâches suivantes :

  • Crée un plan de sauvegarde nommé BackupPlanWithThinBackups.
  • Définit les sauvegardes à stocker dans le coffre-fort nommé Par défaut.
  • Crée une règle de sauvegarde nommée RuleForDailyBackups qui est planifiée pour exécuter une sauvegarde quotidienne à 11h25.
  • Active Windows VSS.
  • Définit le cycle de vie pour supprimer les sauvegardes sept jours après leur création.
  • Définit le CopyAction pour copier les sauvegardes vers la Région AWS us-west-2 à des fins de reprise après sinistre.
  • Utilise le rôle AWS Identity and Access Management (IAM) nommé AWSBackupDefaultServiceRole pour exécuter la tâche de sauvegarde.
  • Affecte le plan de sauvegarde à toutes les ressources étiqueté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 pour créer un plan de sauvegarde, créer un coffre-fort de sauvegarde et attribuer une ressource au plan de sauvegarde

L'exemple de modèle CloudFormation suivant en YAML exécute les tâches suivantes :

  • Crée un coffre de sauvegarde nommé Par défaut.
  • Crée un plan de sauvegarde nommé BackupPlanWithThinBackups.
  • Définit les sauvegardes à stocker dans le coffre-fort nommé BackupVaultWithThinBackups.
  • Crée une règle de sauvegarde nommée RuleForDailyBackups qui est planifiée pour exécuter une sauvegarde quotidienne. Ces sauvegardes sont supprimées sept jours après leur création.
  • Active Windows VSS.
  • Définit le CopyAction pour copier les sauvegardes vers la Région AWS us-west-2 à des fins de reprise après sinistre. Ces sauvegardes sont supprimées 14 jours après leur création.
  • Crée une règle de sauvegarde nommée RuleForWeeklyBackups qui est planifiée pour exécuter une sauvegarde hebdomadaire tous les lundis à 11h00. Ces sauvegardes sont supprimées 28 jours après leur création.
  • Crée une règle de sauvegarde nommée RuleForMonthlyBackups qui est planifiée pour exécuter une sauvegarde le premier jour de chaque mois à 11 h 00. Ces sauvegardes sont supprimées 90 jours après leur création.
  • Utilise le rôle IAM nommé AWSBackupDefaultServiceRole pour exécuter la tâche de sauvegarde.
  • Assigne le plan de sauvegarde à toutes les ressources étiquetées avec la clé de sauvegarde 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

Informations connexes

Résolution des problèmes avec AWS Backup

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