Amazon Web Services 한국 블로그

AWS Backup 신규 기능 – CloudFormation 스택 보호 및 복원 기능 출시

애플리케이션의 데이터 보호 정책을 정의하려면 해당 구성 요소를 살펴보고 보호해야 하는 데이터가 저장된 구성 요소를 찾아야 합니다. 데이터베이스와 파일 시스템 등 애플리케이션의 stateful 구성 요소가 여기에 해당합니다. 문제 발생 시 데이터가 저장되어 있지 않은 다른 구성 요소도 복원해야 합니다. 컨테이너 구성과 해당 네트워크 구성 등 stateless 구성 요소가 여기에 해당합니다.

코드형 인프라(IaC)를 사용하여 애플리케이션을 관리하는 경우 이러한 모든 구성 요소가 설명되어 있는 단일 리포지토리가 있습니다. 애플리케이션 보호에 도움이 되도록 이 정보를 사용할 수 있습니까? 네. AWS Backup에서는 이제 데이터 보호 정책에 AWS CloudFormation 스택을 연결하는 것이 지원됩니다.

CloudFormation을 리소스로 사용하면 AWS Backup에서 지원하는 모든 stateful 구성 요소가 거의 같은 시간에 백업됩니다. 백업의 스택에는 AWS Identity and Access Management(IAM) 역할과 Amazon Virtual Private Cloud(Amazon VPC) 보안 그룹 등 stateless 리소스도 포함되어 있습니다. 따라서 애플리케이션 스택 또는 필요한 개별 리소스 복구에 사용할 수 있는 단일 복구 지점이 제공됩니다. 복구 시 전체 애플리케이션 스택을 복구하여 다시 통합하려고 사용자 지정 스크립트 및 수동 활동과 자동화된 도구를 혼합할 필요가 없습니다. CloudFormation으로 관리되는 애플리케이션을 현대화하고 업데이트하면 AWS Backup에서 자동으로 변경 사항을 추적하고 데이터 보호 정책을 업데이트합니다.

AWS Backup에 대한 CloudFormation 지원은 데이터 보호 정책의 규정 준수 증명에도 도움이 됩니다. 데이터 보호 정책의 규정 준수를 감사하고 보고할 수 있는 AWS Backup 기능인 AWS Backup Audit Manager에서 애플리케이션 리소스를 모니터링할 수 있습니다. AWS Backup Vault Lock을 사용하여 규정 준수 의무에 필요한 백업 불변성도 관리할 수 있습니다.

실제로 어떻게 작동하는지 알아보겠습니다.

CloudFormation Stacks에 대한 AWS Backup 지원 사용
먼저 AWS Backup용 CloudFormation 리소스 유형을 설정해야 합니다. AWS Backup 콘솔의 탐색 창에서 Settings(설정)를 선택한 다음에 Service opt-in(서비스 옵트인) 섹션에서 Configure resources(리소스 구성)를 선택합니다. 여기에서 CloudFormation 리소스 유형을 설정하고 Confirm(확인)을 선택합니다.

콘솔 스크린샷입니다.

이제 CloudFormation 지원이 활성화되었으므로 탐색 창에서 Dashboard(대시보드)와 Create backup plan(백업 계획 생성)을 순서대로 선택합니다. Start with a template(템플릿으로 시작) 옵션과 Daily-35day-Retention 템플릿 순서로 선택합니다. 이름에서 알 수 있듯이 이 템플릿에서는 자동으로 삭제되기 전에 35일 동안 보관되는 일일 백업을 생성합니다. 백업 계획의 이름을 입력하고 Create plan(계획 생성)을 선택합니다.

콘솔 스크린샷입니다.

이제 백업 계획에 리소스를 할당할 수 있습니다. 리소스 할당 이름을 입력하고 올바른 권한으로 자동으로 생성되는 기본 IAM 역할을 사용합니다.

콘솔 스크린샷입니다.

Resource selection(리소스 선택)에서 Include all resource types(모든 리소스 유형 포함)를 선택하여 계정에서 활성화된 모든 리소스 유형을 자동으로 보호할 수 있습니다. Select resource types(리소스 유형 선택) 드롭다운 메뉴에서 Include specific resource types(특정 리소스 유형 포함)와 CloudFormation을 차례로 선택하여 CloudFormation 지원의 작동 방식을 보여드리겠습니다. 모든 스택이 보호되도록 Choose resources(리소스 선택) 메뉴에서 All supported CloudFormation stacks(지원되는 모든 CloudFormation 스택) 옵션을 사용할 수 있습니다. 간단히 my-app 스택이라는 하나의 스택만 보호하도록 선택합니다.

콘솔 스크린샷입니다.

다른 옵션은 기본값으로 남겨두고 Assign resources(리소스 할당)를 선택합니다. 다 되었습니다. 이제 선택한 CloudFormation 스택이 매일 백업되어 35일 동안 보존됩니다. 어떤 의미일까요? CloudFormation 스택의 온디맨드 백업을 생성하면 어떻게 되는지 살펴 보겠습니다.

CloudFormation 스택에 대한 온디맨드 백업 생성
탐색 창에서 Protected resources(보호된 리소스)를 선택한 다음에 Create on-demand backup(온디맨드 백업 생성)을 선택합니다. 다음 단계는 앞에서 백업 계획에 리소스를 할당할 때 수행한 단계와 비슷합니다. CloudFormation 리소스 유형과 my-app 스택을 선택합니다. 1시간 이내에 백업이 시작되는 Create backup now(지금 백업 생성) 옵션을 사용합니다. 7일 보존과 Default(기본값) 백업 저장소를 선택합니다. 백업 저장소는 백업을 저장하고 구성하는 논리 컨테이너입니다. 기본 IAM 역할을 선택하고 Create on-demand backup(온디맨드 백업 생성)을 선택합니다.

콘솔 스크린샷입니다.

몇 분 이내에 백업 작업이 실행됩니다. Backup jobs(백업 작업) 목록에서 Backup job ID(백업 작업 ID)를 확장하여 백업 중인 리소스를 표시합니다. Stateful 리소스(예: Amazon DynamoDB 테이블과 Amazon Relational Database Service(RDS) 데이터베이스)가 백업 작업의 현재 상태와 함께 나열됩니다. 스택의 stateless 리소스(예: IAM 역할, AWS Lambda 함수 및 VPC 구성)는 작업에서 CloudFormation 리소스 유형으로 백업됩니다.

콘솔 스크린샷입니다.

백업 작업이 완료되면 Protected resources(보호된 리소스) 페이지로 돌아가서 이제 복원할 수 있는 리소스 목록을 참조합니다. 목록에는 stateful 리소스(이 경우에는 DynamoDB 테이블 2개와 Aurora 데이터베이스 1개)와 CloudFormation 스택의 ID가 표시됩니다. 각 stateful 리소스를 선택하면 해당 리소스가 백업된 다양한 시점에 해당하는 사용 가능한 복구 지점이 표시됩니다.

콘솔 스크린샷입니다.

CloudFormation 스택을 선택하면 복합 복구 지점 목록이 표시됩니다. 각 복합 복구 지점에는 스택의 모든 stateless 및 stateful 리소스가 포함됩니다. 구체적으로 설명하면 stateless 리소스는 CloudFormation 템플릿 복구 지점(다음 스크린샷의 마지막 지점)에 포함됩니다.

콘솔 스크린샷입니다.

CloudFormation 백업 복원
복합 복구 지점 안에서 CloudFormation 스택의 복구 지점을 선택하고 Restore(복원)를 선택합니다. CloudFormation 스택 백업을 복원하면 백업을 나타내는 변경 세트가 있는 새 스택이 생성됩니다. 새 스택을 입력하고 세트 이름을 변경하고 Restore backup(백업 복원)을 선택합니다. 몇 분 지나면 복원 작업이 완료됩니다.

CloudFormation 콘솔에서 새 스택을 검토하는 중입니다. 변경 세트를 적용해야 합니다.

콘솔 스크린샷입니다.

새 스택을 선택하고 복원 작업에서 생성된 변경 세트를 선택하여 변경 세트를 적용합니다.

콘솔 스크린샷입니다.

잠시 후 원래 스택의 리소스가 새 스택에서 다시 생성되었습니다. Stateful 리소스가 비어 있는 상태로 다시 생성되었습니다. Stateful 리소스를 복구하려면 복구 지점 목록으로 돌아가서 필요한 복구 지점을 선택하고 복원을 시작할 수 있습니다.

가용성 및 요금
현재 AWS Backup이 제공되는 모든 AWS 리전에서 콘솔, AWS Command Line Interface(AWS CLI)AWS SDK를 사용하여 CloudFormation 스택에 대한 AWS Backup 지원을 이용할 수 있습니다. AWS Backup으로 백업하고 복원한 stateless 리소스에 대한 추가 비용은 없습니다. 데이터베이스, 스토리지 볼륨 또는 파일 시스템과 같은 stateful 리소스에 대해서만 비용을 지불합니다. 자세한 내용은 AWS Backup 요금을 참조하세요.

이제 사용자 지정 스크립트를 관리할 필요 없이 간소화된 환경에서 애플리케이션을 생성하고 복원하는 자동화된 솔루션을 이용해 보세요.

Danilo