¿Cómo puedo administrar mi configuración de AWS Backup con plantillas de CloudFormation?

5 minutos de lectura
0

Quiero usar AWS Backup para hacer copias de seguridad de mis datos de otros recursos de AWS. Además, quiero usar una plantilla de AWS CloudFormation para administrar mis configuraciones de AWS Backup.

Resolución

Para crear plantillas de CloudFormation, use los tipos de recursos de AWS Backup compatibles. Por ejemplo, puede usar una plantilla de CloudFormation para crear un plan de copia de seguridad y asignar un recurso a dicho plan. También puede usar una plantilla para crear un plan de copia de seguridad, crear un almacén de copias de seguridad y asignar un recurso al plan de copia de seguridad.

Importante: El plan de copia de seguridad debe especificar la etiqueta que asigna los recursos al plan de copia de seguridad. Antes de configurar el plan de copia de seguridad, elija la etiqueta. A continuación, compruebe que la etiqueta esté asignada a los recursos correctos y que esté escrita correctamente en el plan de copia de seguridad.

Plantilla para crear un plan de copia de seguridad y asignar un recurso a dicho plan

El siguiente ejemplo de plantilla de CloudFormation en YAML realiza estas tareas:

  • Crea un plan de copia de seguridad denominado BackupPlanWithThinBackups.
  • Establece las copias de seguridad para que se almacenen en el almacén denominado Default.
  • Crea una regla de copia de seguridad denominada RuleForDailyBackups que está programada para ejecutar una copia de seguridad diaria a las 11:25 h.
  • Activa Windows VSS.
  • Establece el ciclo de vida para eliminar las copias de seguridad siete días después de su creación.
  • Establece la CopyAction para copiar las copias de seguridad a la región de AWS us-west-2 para la recuperación de desastres.
  • Utiliza el rol de AWS Identity and Access Management (IAM) denominadoAWSBackupDefaultServiceRole para ejecutar el trabajo de copias de seguridad.
  • Asigna el plan de copia de seguridad a todos los recursos que están etiquetados con la clave backupplan y el valor 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

Plantilla para crear un plan de copia de seguridad, crear un almacén de copias de seguridad y asignar un recurso al plan de copia de seguridad

El siguiente ejemplo de plantilla de CloudFormation en YAML realiza estas tareas:

  • Crea un almacén de copias de seguridad denominado Default.
  • Crea un plan de copia de seguridad denominado BackupPlanWithThinBackups.
  • Establece las copias de seguridad para que se almacenen en el almacén denominado BackupVaultWithThinBackups.
  • Crea una regla de copia de seguridad denominada RuleForDailyBackups que está programada para ejecutar una copia de seguridad diaria. Estas copias de seguridad se eliminan siete días después de su creación.
  • Activa Windows VSS.
  • Establece la CopyAction para copiar las copias de seguridad a la región de AWS us-west-2 para la recuperación de desastres. Estas copias de seguridad se eliminan 14 días después de su creación.
  • Crea una regla de copia de seguridad denominada RuleForWeeklyBackups que está programada para ejecutar una copia de seguridad semanal todos los lunes a las 11:00 h. Estas copias de seguridad se eliminan 28 días después de su creación.
  • Crea una regla de copia de seguridad denominada RuleForMonthlyBackups que está programada para ejecutar una copia de seguridad el primer día de cada mes a las 11:00 h. Estas copias de seguridad se eliminan 90 días después de su creación.
  • Usa el rol de IAM denominado AWSBackupDefaultServiceRole para ejecutar el trabajo de copia de seguridad.
  • Asigna el plan de copia de seguridad a todos los recursos que están etiquetados con la clave backup y el valor 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

Información relacionada

Solucionar problemas de AWS Backup

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses