AWS CLI를 사용하여 AWS Backup 플랜을 생성하거나 온디맨드 작업을 실행하려면 어떻게 해야 하나요?

3분 분량
0

AWS 명령줄 인터페이스(AWS CLI)를 사용하여 AWS Backup 플랜을 생성하려고 합니다. 또는 AWS CLI를 사용하여 AWS Backup에서 온디맨드 작업을 실행하려고 합니다.

해결 방법

AWS Backup 플랜 생성

참고: 다음의 예제 AWS Backup 플랜은 백업 규칙에서 복사 작업 구성을 사용하여 설정됩니다. 이 구성으로 소스 AWS 리전에 기본 백업 볼트를 생성합니다. 기본 볼트는 소스 복구 시점을 호스팅합니다. 그런 다음 대상 리전에 보조 볼트를 생성합니다. 보조 볼트는 백업 플랜에 복사 구성의 일부로 AWS Backup이 생성하는 복구 시점을 저장합니다.

1.    create-backup-vault 명령을 실행하여 소스 리전에 기본 볼트를 생성합니다. 그런 다음 명령을 다시 실행하여 대상 리전에 보조 볼트를 생성합니다. 다음 예제 명령에서 EU-west-1은 소스 리전이고 EU-west-2는 대상 리전입니다.

aws backup create-backup-vault --backup-vault-name primary --region eu-west-1

aws backup create-backup-vault --backup-vault-name secondary --region eu-west-2

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

2.    다음과 유사한 백업 플랜에 대한 옵션 및 파라미터를 사용하여 JSON 파일을 생성합니다. 예:

{
    "BackupPlanName": "testplan",
    "Rules": [{
        "RuleName": "HalfDayBackups",
        "TargetBackupVaultName": "primary",
        "ScheduleExpression": "cron(0 5/12 ? * * *)",
        "StartWindowMinutes": 480,
        "CompletionWindowMinutes": 10080,
        "Lifecycle": {
            "DeleteAfterDays": 30
        },
        "CopyActions": [{
            "DestinationBackupVaultArn": "arn:aws:backup:eu-west-2:123456789:backup-vault:secondary",
            "Lifecycle": {
                "DeleteAfterDays": 30
            }
        }]
    }]
}

참고: ScheduleExpression 필드에 조직의 복구 시점 목표에 따라 값을 설정합니다. 선택 사항인 수명 주기 필드에 백업 전략의 보존 정책에 따라 값을 입력할 수 있습니다.

3.    JSON 파일을 생성한 후 create-backup-plan 명령을 실행합니다. 그런 다음 JSON 파일을 입력 파라미터로 전달합니다.

aws backup create-backup-plan --backup-plan file://

4.    명령 출력에서 BackupPlanId 값을 기록합니다.

5.    다음과 유사한 백업 플랜에 리소스 할당에 대한 파라미터를 설정하는 JSON 파일을 생성합니다.

참고: Amazon 리소스 이름(ARN), 태그 또는 둘 다 모두 사용하여 백업 플랜에 대한 리소스를 지정할 수 있습니다. 다음 예제에서는 ARN과 태그를 모두 사용합니다.

{
    "SelectionName": "Myselection",
    "IamRoleArn": "arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole",
    "Resources": ["arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234"],
    "ListOfTags": [{
        "ConditionType": "STRINGEQUALS",
        "ConditionKey": "backup",
        "ConditionValue": "yes"
    }]
}

6.    JSON 파일을 생성한 후 create-backup-selection 명령을 실행합니다. 그런 다음 JSON 파일을 입력 파라미터로 전달합니다.

참고: --backup-plan-id 값으로 4단계에서 받은 BackupPlanId를 입력합니다.

aws backup create-backup-selection --backup-plan-id abcd-efgh-ijkl-mnop --backup-selection file://

AWS Backup에서 온디맨드 작업 실행

온디맨드 백업 작업을 실행하려면 start-backup-job 명령을 실행합니다. 다음 예제 명령은 리소스 vol-0abcdef1234에 대한 백업 작업을 실행합니다.

aws backup start-backup-job --backup-vault-name primary --resource-arn arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234 --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 623f13d2-78d2-11ea-bc55-0242ac130003 --start-window-minutes 60 --complete-window-minutes 10080 --lifecycle DeleteAfterDays=30 --region eu-west-1

참고: 선행하는 명령에는 --idempotency-token 값이 포함되어 있습니다. 이 값은 StartBackupJob 호출을 구별하기 위해 제공하는 고유 문자열입니다. Linux 운영 체제에서는 uuid 명령을 실행하여 고유 식별자를 생성할 수 있습니다.

uuid -r

온디맨드 복사 작업을 실행하려면 start-copy-job 명령을 실행합니다. 다음 예제 명령은 snap-0abcdaf2247b33dbc에 대한 복구 시점을 기본으로 이름을 지정한 소스 볼트에서 보조라는 이름의 대상 볼트로 복사하는 작업을 실행합니다.

aws backup start-copy-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc --source-backup-vault-name primary --destination-backup-vault-arn arn:aws:backup:eu-west-2:123456789:backup-vault:secondary --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 5aac8974-78d2-11ea-bc55-0242ac130003 --lifecycle DeleteAfterDays=30 --region eu-west-1

복원 작업을 시작하려면 start-restore-job 명령을 실행합니다. Amazon Elastic Block Store(Amazon EBS) 볼륨에 대한 복원 작업을 시작하려면 다음 단계를 따르십시오.

1.    복원하려는 복구 시점에서 get-recovery-point-restore-metadata 명령을 실행합니다.

aws backup get-recovery-point-restore-metadata --backup-vault-name primary --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc

2.    명령의 출력에서 볼륨 ID암호화 값을 기록합니다.

3.    필수 --metadata option of the start-restore-job 명령에 대한 파라미터를 설정하는 JSON 파일을 생성합니다. 암호화볼륨 ID에 2단계에서 구한 값을 입력합니다.

{
   "availabilityZone":"eu-west-1a",
   "encrypted":"false",
   "volumeId":"vol-0ck270d4c0b2e44c9",
   "volumeSize":"100",
   "volumeType":"gp2"
}

4.    JSON 파일을 생성한 후 start-restore-job 명령을 실행합니다. 그런 다음 JSON 파일을 입력 파라미터로 전달합니다.

aws backup start-restore-job --recovery-point-arn arn:aws:ec2:eu-west-1::snapshot/snap-0abcdaf2247b33dbc  --metadata file:// --iam-role-arn arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole --idempotency-token 52e602ce-78d2-11ea-bc55-0242ac130003 --resource-type EBS --region eu-west-1

Amazon Elastic File System(Amazon EFS)의 복원을 시작하려면 AWS CLI를 사용하여 AWS Backup 복구 시점에서 Amazon EFS 파일 시스템을 복원하려면 어떻게 해야 하나요?를 참조하세요.


AWS 공식
AWS 공식업데이트됨 2년 전