Como posso gerenciar minhas configurações do AWS Backup com modelos do CloudFormation?

4 minuto de leitura
0

Quero usar o AWS Backup para fazer backup dos meus dados de outros recursos da AWS. Além disso, quero usar um modelo do AWS CloudFormation para gerenciar minhas configurações do AWS Backup.

Resolução

Para criar modelos do CloudFormation, use os tipos de recursos do AWS Backup compatíveis. Por exemplo, você pode usar um modelo do CloudFormation para criar um plano de backup e atribuir um recurso a esse plano de backup. Você também pode usar um modelo para criar um plano de backup, criar um cofre de backup e atribuir um recurso ao plano de backup.

Importante: seu plano de backup deve especificar a tag que atribui recursos ao plano de backup. Antes de definir o plano de backup, escolha a tag. Em seguida, verifique se a tag está atribuída aos recursos corretos e se está gravada corretamente no plano de backup.

Modelo para criar um plano de backup e atribuir um recurso ao plano de backup

O exemplo a seguir do modelo do CloudFormation em YAML executa estas tarefas:

  • Cria um plano de backup denominado BackupPlanWithThinBackups.
  • Define os backups para armazenar no cofre denominado Default.
  • Cria uma regra de backup denominada RuleForDailyBackups, programada para executar um backup diário às 11:25 AM.
  • Ativa o Windows VSS.
  • Define o ciclo de vida para excluir os backups sete dias após sua criação.
  • Define CopyAction para copiar backups para a região da AWS us-west-2 para recuperação de desastres.
  • Usa o perfil do AWS Identity and Access Management (IAM) chamado AWSBackupDefaultServiceRole para executar o trabalho de backup.
  • Atribui o plano de backup a todos os recursos marcados com a chave backupplan e o 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

Modelo para criar um plano de backup, criar um cofre de backup e atribuir um recurso ao plano de backup

O exemplo a seguir do modelo do CloudFormation em YAML executa estas tarefas:

  • Cria um cofre de backup chamado ** Default**.
  • Cria um plano de backup chamado BackupPlanWithThinBackups.
  • Define backups para armazenar em um cofre denominado BackupVaultWithThinBackups.
  • Cria uma regra de backup denominada RuleForDailyBackups que está programada para executar um backup diário. Esses backups serão excluídos sete dias depois de serem criados.
  • Ativa o Windows VSS.
  • Define CopyAction para copiar backups para a região da AWS us-west-2 para recuperação de desastres. Esses backups serão excluídos 14 dias depois de serem criados.
  • Cria uma regra de backup denominada RuleForWeeklyBackups, programada para executar um backup semanal toda as segundas-feiras às 11:00 AM. Esses backups serão excluídos 28 dias depois de serem criados.
  • Cria uma regra de backup denominada RuleForMonthlyBackups, programada para executar um backup no primeiro dia de cada mês às 11:00 AM. Esses backups serão excluídos 90 dias depois de serem criados.
  • Usa o perfil do IAM denominado AWSBackupDefaultServiceRole para executar o trabalho de backup.
  • Atribui o plano de backup a todos os recursos marcados com a chave backup e o 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

Informações relacionadas

Solução de problemas com o AWS Backup

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses