Wie kann ich meine AWS-Backup-Einstellungen mithilfe von CloudFormation-Vorlagen verwalten?

Lesedauer: 4 Minute
0

Ich möchte AWS Backup verwenden, um meine Daten aus anderen AWS-Ressourcen zu sichern. Darüber hinaus möchte ich eine AWS-CloudFormation-Vorlage verwenden, um meine AWS-Backup-Konfigurationen zu verwalten.

Behebung

Verwenden Sie die unterstützten AWS-Backup-Ressourcentypen, um CloudFormation-Vorlagen zu erstellen. Zum Beispiel können Sie eine CloudFormation-Vorlage verwenden, um einen Backup-Plan zu erstellen und diesem eine Ressource zuzuweisen. Sie können eine Vorlage auch verwenden, um einen Backup-Plan zu erstellen, einen Backup-Tresor zu erstellen und dem Backup-Plan eine Ressource zuzuweisen.

Wichtig: Ihr Backup-Plan muss das Tag angeben, das dem Backup-Plan Ressourcen zuweist. Entscheiden Sie sich für ein Tag, bevor Sie den Backup-Plan einrichten. Stellen Sie dann sicher, dass das Tag den richtigen Ressourcen zugewiesen und im Backup-Plan korrekt geschrieben ist.

Vorlage zum Erstellen eines Backup-Plans und zur Zuweisung einer Ressource zum Backup-Plan

Folgendes Beispiel einer CloudFormation-Vorlage in YAML führt diese Aufgaben aus:

  • Erstellt einen Backup-Plan mit dem Namen BackupPlanWithThinBackups.
  • Legt fest, dass Backups im Tresor mit dem Namen Standard gespeichert werden.
  • Erstellt eine Backup-Regel mit dem Namen RuleForDailyBackups, die täglich um 11:25 Uhr ein Backup ausführt.
  • Schaltet Windows VSS ein.
  • Legt den Lebenszyklus so fest, dass Backups sieben Tage nach ihrer Erstellung gelöscht werden.
  • Legt die CopyAction so fest, dass Backups zur Notfallwiederherstellung in die AWS-Region us-west-2 kopiert werden.
  • Verwendet die AWS Identity and Access Management (IAM)-Rolle mit dem Namen AWSBackupDefaultServiceRole, um die Backup-Aufgabe auszuführen.
  • Weist den Backup-Plan allen Ressourcen zu, die mit dem Schlüssel backupplan und dem Wert dsi-sandbox-daily getaggt sind.
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

Vorlage zum Erstellen eines Backup-Plans, Erstellen eines Backup-Tresors und Zuweisen einer Ressource zum Backup-Plan

Folgendes Beispiel einer CloudFormation-Vorlage in YAML führt diese Aufgaben aus:

  • Erstellt einen Backup-Tresor mit dem Namen Default.
  • Erstellt einen Backup-Plan mit dem Namen BackupPlanWithThinBackups.
  • Legt fest, dass Backups im Tresor mit dem Namen BackupVaultWithThinBackups gespeichert werden.
  • Erstellt eine Backup-Regel mit dem Namen RuleForDailyBackups, die täglich ein Backup ausführt. Diese Backups werden sieben Tage nach ihrer Erstellung gelöscht.
  • Schaltet Windows VSS ein.
  • Legt die CopyAction so fest, dass Backups zur Notfallwiederherstellung in die AWS-Region us-west-2 kopiert werden. Diese Backups werden 14 Tage nach ihrer Erstellung gelöscht.
  • Erstellt eine Backup-Regel mit dem Namen RuleForWeeklyBackups, die wöchentlich jeden Montag um 11:00 Uhr ein Backup ausführt. Diese Backups werden 28 Tage nach ihrer Erstellung gelöscht.
  • Erstellt eine Backup-Regel mit dem Namen RuleForMonthlyBackups, die am ersten Tag jedes Monats um 11:00 Uhr ein Backup ausführt. Diese Backups werden 90 Tage nach ihrer Erstellung gelöscht.
  • Verwendet die IAM-Rolle mit dem Namen AWSBackupDefaultServiceRole, um die Backup-Aufgabe auszuführen.
  • Weist den Backup-Plan allen Ressourcen zu, die mit dem Schlüssel backup und dem Wert thinbackup getaggt sind.
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

Ähnliche Informationen

Fehlerbehebung bei AWS Backup

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 9 Monaten