AWS CloudFormation 템플릿을 사용하여 AWS Backup 설정을 관리하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 3월 1일

AWS Backup을 사용하여 다른 AWS 리소스에서 내 데이터를 백업하려고 합니다. 또한 AWS CloudFormation 템플릿을 사용하여 AWS Backup 구성을 관리하려고 합니다. 어떻게 해야 하나요?

간략한 설명

지원되는 AWS Backup 리소스 유형을 사용하여 CloudFormation 템플릿을 생성할 수 있습니다. AWS Backup용으로 생성할 수 있는 CloudFormation 템플릿의 예는 다음과 같습니다.

  • 백업 계획을 생성하고 백업 계획에 리소스를 할당하기 위한 템플릿입니다.
  • 백업 계획을 생성하고, 백업 볼트를 생성하고, 백업 계획에 리소스를 할당하기 위한 템플릿입니다.

해결 방법

중요: 백업 계획은 백업 계획에 리소스를 할당하는 태그를 지정해야 합니다. 백업 계획을 설정하기 전에 태그를 결정합니다. 그런 다음 태그가 올바른 리소스에 할당되었으며 백업 계획에 올바르게 작성되었는지 확인합니다.

백업 계획을 생성하고 백업 계획에 리소스를 할당하기 위한 템플릿

YAML의 다음 예제 CloudFormation 템플릿은 다음을 수행합니다.

  • BackupPlanWithThinBackups라는 백업 계획을 생성합니다.
  • Default라는 이름의 저장소에 저장되도록 백업을 설정합니다.
  • 매일 오전 11시 25분에 백업을 실행하도록 예약된 RuleForDailyBackups라는 백업 규칙을 생성합니다.
  • 윈도우 VSS를 활성화합니다.
  • 백업의 수명 주기를 생성 후 7일이 지나면 삭제되도록 설정합니다.
  • 재해 복구를 위해 백업을 us-west-2 AWS 리전으로 복사하도록 CopyAction을 설정합니다.
  • AWSBackupDefaultServiceRole이라는 AWS Identity and Access Management(IAM) 역할을 사용하여 백업 작업을 실행합니다.
  • backupplan 및 값 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

백업 계획을 생성하고, 백업 볼트를 생성하고, 백업 계획에 리소스를 할당하기 위한 템플릿

YAML의 다음 예제 CloudFormation 템플릿은 다음을 수행합니다.

  • Default라는 백업 저장소를 생성합니다.
  • BackupPlanWithThinBackups라는 백업 계획을 생성합니다.
  • 백업이 저장소 BackupVaultWithThinBackup에 저장되도록 설정합니다.
  • 일일 백업을 실행하도록 예약된 RuleForDailyBackups라는 백업 규칙을 생성합니다. 이러한 백업은 생성 후 7일이 지나면 삭제되도록 설정됩니다.
  • 윈도우 VSS를 활성화합니다.
  • 재해 복구를 위해 백업을 us-west-2 AWS 리전으로 복사하도록 CopyAction을 설정합니다. 이러한 백업은 생성 후 14일이 지나면 삭제되도록 설정됩니다.
  • 매주 월요일 오전 11시에 주간 백업을 실행하도록 예약된 RuleForWeeklyBackups라는 백업 규칙을 생성합니다. 이러한 백업은 생성 후 28일이 지나면 삭제되도록 설정됩니다.
  • 매월 첫째 날 오전 11시에 백업을 실행하도록 예약된 RuleForMonthlyBackups라는 백업 규칙을 생성합니다. 이러한 백업은 생성 후 90일이 지나면 삭제되도록 설정됩니다.
  • AWSBackupDefaultServiceRole이라는 IAM 역할을 사용하여 백업 작업을 실행합니다.
  • backup 및 값 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

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?