aws sap 문제 풀이 9주차 문제풀이 1번

aws, sap, April 23, 2023

질문 62: 건너뜀

An e-commerce company is running a three-tier application on AWS. The application includes a web tier as frontend, an application tier as backend, and the database tier that stores the transactions and users’ data. The database is currently hosted on an extra-large instance with 128 GB of memory. For the company’s business continuity and disaster recovery plan, the Solutions Architect must ensure a Recovery Time Objective (RTO) of 5 minutes and a Recovery Point Objective (RPO) of 1 hour on the backup site in the event that the application goes down. There is also a requirement for the backup site to be at least 250 miles away from the primary site.

전자 상거래 회사는 AWS에서 3계층 애플리케이션을 실행하고 있습니다. 애플리케이션에는 프런트엔드로서의 웹 계층, 백엔드로서의 애플리케이션 계층, 트랜잭션 및 사용자 데이터를 저장하는 데이터베이스 계층이 포함됩니다. 데이터베이스는 현재 128GB 메모리가 있는 초대형 인스턴스에서 호스팅됩니다. 회사의 비즈니스 연속성 및 재해 복구 계획을 위해 Solutions Architect는 애플리케이션이 다운되는 경우 백업 사이트에서 5분의 RTO(복구 시간 목표)와 1시간의 RPO(복구 지점 목표)를 보장해야 합니다. 백업 사이트는 기본 사이트에서 최소 250마일 떨어져 있어야 한다는 요구 사항도 있습니다.

Which of the following solutions must the Solutions Architect implement to meet the company’s disaster recovery requirements while keeping the cost at a minimum?

  1. Create a frequently scheduled backup of the application and database that will be stored on an Amazon S3 bucket. Configure Amazon S3 Cross-Region Replication (CRR) on the bucket to copy the backups to another region. In case of disaster, use an AWS CloudFormation template to quickly replicate the same resources to the backup region and restore the data from the S3 bucket.

Amazon S3 버킷에 저장될 응용 프로그램 및 데이터베이스의 자주 예약된 백업을 만듭니다. 백업을 다른 영역에 복사하도록 버킷에 CRR(Amazon S3 Cross-Region Replication)을 구성합니다. 재해가 발생한 경우 AWS CloudFormation 템플릿을 사용하여 동일한 리소스를 백업 영역에 신속하게 복제하고 S3 버킷에서 데이터를 복원합니다.

  1. Use a pilot light strategy for the backup region. Configure the primary database to replicate data to a large standby instance in the backup region. In case of a disaster, vertically resize the database instance to meet the full demand. Create an AWS CloudFormation template to quickly provision the same web servers, application servers, and load balancers on the backup region. Update the Amazon Route 53 records to point to the backup region.

백업 영역에 파일럿 조명 전략을 사용합니다. 백업 영역의 대규모 대기 인스턴스에 데이터를 복제하도록 주 데이터베이스를 구성합니다. 재해가 발생한 경우 데이터베이스 인스턴스의 크기를 전체 수요에 맞게 수직으로 조정합니다. AWS CloudFormation 템플릿을 생성하여 백업 영역에 동일한 웹 서버, 애플리케이션 서버 및 로드 밸런서를 신속하게 프로비저닝합니다. 백업 지역을 가리키도록 Amazon Route 53 레코드를 업데이트합니다.

  1. Use a multi-region strategy for the backup region to comply with the tight RTO and RPO requirements. Create a fully functional web, application, and database tier on the backup region with the same capacity as the primary region. Set the database on the backup region on standby mode. In case of disaster, update the Amazon Route 53 record to point to the backup region.

엄격한 RTO 및 RPO 요구 사항을 준수하기 위해 백업 영역에 대해 다중 지역 전략을 사용합니다. 기본 영역과 동일한 용량으로 백업 영역에 완벽하게 작동하는 웹, 애플리케이션 및 데이터베이스 계층을 생성합니다. 백업 영역의 데이터베이스를 대기 모드로 설정합니다. 재해 발생 시 백업 지역을 가리키도록 Amazon Route 53 레코드를 업데이트합니다.

  1. On the backup region, create a scaled-down version of the fully functional environment with one EC2 instance of the web server and application server in their own Auto Scaling groups behind Application Load Balancers. Create a standby database instance that replicates data from the primary database. In case of disaster, scale the instances to meet the demand and update the Amazon Route 53 record to point to the backup region.

백업 영역에서 Application Load Balancers 뒤에 있는 자체 자동 확장 그룹에서 웹 서버 및 애플리케이션 서버의 EC2 인스턴스 하나를 사용하여 완전하게 작동하는 환경의 축소 버전을 생성합니다. 주 데이터베이스의 데이터를 복제하는 대기 데이터베이스 인스턴스를 만듭니다. 재해가 발생하면 수요에 맞게 인스턴스를 확장하고 백업 영역을 가리키도록 Amazon Route 53 레코드를 업데이트합니다.

생각들 :

  • 1mile?????? 찾아보니 1.6km => 250 mile = 402.336 km = multi-AZ로는 안될듯. = region copy 필요할듯
  • 1번은 싼데, 5분에서 안될거가고
  • 2번은 될거같기도한데…. 비용도 괜찮고..
  • 3번은 비용이 듬
  • 4번도 … 되긴한데 2번보다 비용은 많이들고 .. 2번이랑 4번 고민

풀이 및 공부

문제 이해 RPO, RTO

다른 스터디원 분께서 저번 문제에서 설명을 잘 해주셔서 어느 정도 이해가 된 상태였는데 다시 한 번 리뷰

  • RPO(Recovery Point Objective) : Data 기준이라고 생각. Disaster 발생 시 Data Point라고 보면 된다.
  • RTO(Recovery Time Objective) : ‘복구 완료 시간’ 이라고 생각. RTO가 5분이라면, 복구 완료 시간까지 5분 내여야 한다는 것

RPO는 Data Loss, RTO는 Downtime과 관련이 있다.

1번

백업을 자주 만드므로 RPO는 준수하지만 CloudFormation Template을 사용하는 순간 5분의 RTO는 준수하지 못함

2번

DB는 백업 instance로 해두고, Application 쪽은 CloudFormation을 사용해서 띄우겠다는 건데 그럴싸하긴하다. 문제에서 RTO, RPO를 만족시키면서 가장 비용효율적인 솔루션은? 이라고 물어봐서… 선택하기 쉽지만, Cloudformation deploy + alb, ec2 provisioning + Route53 작업까지해서 5분이 넘어가기 때문에 답은 안된다. 사실 ec2 provisioning 만 따져도 ‘5분안에 띄워진다’ 라고 보장되지 않는다.

pilot light strategy

pilot light strategy 라는 말을 처음 들었는데, AWS 에서 쓰는 용어는 아니고, DR 의 기본적인 전략 중 하나인가 보다. AWS Document에서도 소개를 잘 해놨다.

왼쪽으로 갈수록 비용효율적이며 오른쪽으로 갈수록 비용이 비싸고 zero downtime, zero data loss에 가깝다.

pilot light strategy는 보다 비용 효율적인 것에 가까운데, pilot test(예비 검사), pilot program(정규 방송 전 시청자들 반응을 살피는 실험적인 프로그램) 이런 pilot 느낌을 연상하면 어느정도 말만 들어도 알 수 있는 것 같다. 즉 data backup 및 core infra는 어느 정도 provioning 해놓고 필요한 것은 나중에 provisioning 하자는 것

참고

  • https://docs.aws.amazon.com/ko_kr/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html

Comments