Q5. Amazon EFS를 활용한 다중 AZ 웹 애플리케이션의 일관된 데이터 관리

AWS 자격증을 준비하는 여러분, 안녕하세요. 오늘은 다중 가용 영역(AZ) 환경에서 웹 애플리케이션의 데이터 일관성을 유지하는 방법에 대해 알아보겠습니다. 이는 AWS Certified Solutions Architect - Associate 자격증 시험에서 자주 다루는 중요한 주제입니다.

문제 상황

Q5:
회사는 사용자 업로드 문서를 Amazon EBS 볼륨에 저장하는 단일 Amazon EC2 인스턴스를 사용하여 AWS에서 웹 애플리케이션을 호스팅하고 있습니다. 더 나은 확장성과 가용성을 위해 이 회사는 아키텍처를 복제하고 다른 가용 영역에 두 번째 EC2 인스턴스와 EBS 볼륨을 생성하여 Application Load Balancer 뒤에 배치했습니다. 이 변경을 완료한 후 사용자는 웹 사이트를 새로 고칠 때마다 문서의 일부 또는 다른 하위 집합을 볼 수 있지만 모든 문서를 동시에 볼 수는 없다고 보고했습니다.

솔루션 설계자는 사용자가 모든 문서를 한 번에 볼 수 있도록 무엇을 제안해야 합니까?

<small>A company is hosting a web application on AWS using a single Amazon EC2 instance with an Amazon EBS volume to store user-uploaded documents. For better scalability and availability, the company replicated the architecture and created a second EC2 instance and EBS volume in another Availability Zone, placing them behind an Application Load Balancer. After completing this change, users reported that they could see some or a different subset of the documents when refreshing the website, but never all documents at once.

What should a solutions architect propose to ensure users can see all documents at once?</small>

선택지

A. 두 EBS 볼륨에 모든 문서가 포함되도록 데이터를 복사합니다.
<small>Copy the data so that both EBS volumes contain all documents.</small>

B. 문서가 있는 서버로 사용자를 안내하도록 Application Load Balancer를 구성합니다.
<small>Configure the Application Load Balancer to direct users to the server that has the documents.</small>

C. 두 EBS 볼륨의 데이터를 Amazon EFS로 복사합니다. 새 문서를 Amazon EFS에 저장하도록 애플리케이션을 수정합니다.
<small>Copy the data from both EBS volumes to Amazon EFS. Modify the application to store new documents in Amazon EFS.</small>

D. 두 서버 모두에 요청을 보내도록 Application Load Balancer를 구성합니다. 올바른 서버에서 각 문서를 반환합니다.
<small>Configure the Application Load Balancer to send requests to both servers. Return each document from the correct server.</small>

정답 및 해설

정답은 C입니다.

Amazon EFS(Elastic File System)를 사용하는 것이 이 상황에서 가장 적합한 해결책입니다. EFS의 주요 특징과 이점은 다음과 같습니다:

  1. 다중 AZ 지원: EFS는 여러 가용 영역에서 동시에 액세스할 수 있어, 다중 AZ 아키텍처에 이상적입니다.

  2. 공유 파일 시스템: 여러 EC2 인스턴스가 동일한 EFS 파일 시스템에 동시에 액세스할 수 있어 데이터 일관성을 보장합니다.

  3. 확장성: EFS는 자동으로 확장되므로 용량 관리에 대한 걱정 없이 데이터를 저장할 수 있습니다.

  4. 고가용성: EFS는 여러 AZ에 데이터를 복제하여 고가용성을 제공합니다.

  5. NFS 프로토콜 지원: EFS는 NFS v4.1 프로토콜을 지원하여 Linux 기반 EC2 인스턴스와 쉽게 통합됩니다.

이 솔루션을 구현하려면 다음 단계를 따르면 됩니다:

  1. Amazon EFS 파일 시스템을 생성합니다.
  2. 기존 EBS 볼륨의 데이터를 EFS로 마이그레이션합니다.
  3. 애플리케이션 코드를 수정하여 새 문서를 EFS에 저장하도록 합니다.
  4. 두 EC2 인스턴스에 EFS를 마운트합니다.

이렇게 하면 두 EC2 인스턴스가 동일한 데이터에 액세스할 수 있어 사용자가 항상 모든 문서를 볼 수 있게 됩니다.

오답 설명

A. EBS 볼륨 간 데이터 복사: 이 방법은 일시적인 해결책일 뿐이며, 지속적인 데이터 동기화 문제를 해결하지 못합니다.

B. ALB 구성 변경: 이 방법은 문서의 위치를 추적해야 하는 복잡성을 증가시키며, 확장성 문제를 해결하지 못합니다.

D. ALB를 통한 요청 분배: 이 방법 역시 데이터 일관성 문제를 해결하지 못하며, 애플리케이션 로직을 복잡하게 만듭니다.

결론

이 문제는 다중 AZ 환경에서 데이터 일관성을 유지하는 것의 중요성을 강조합니다. Amazon EFS를 사용하면 여러 EC2 인스턴스 간에 데이터를 쉽게 공유하고 동기화할 수 있어, 확장성과 가용성을 개선하면서도 데이터 일관성을 유지할 수 있습니다. AWS 솔루션 아키텍트로서 이러한 시나리오를 이해하고 적절한 서비스를 선택하는 능력은 매우 중요합니다.

원본 문제 링크

댓글

이 블로그의 인기 게시물

Python 웹 크롤링 - Scrapy 활용 파워볼 번호 수집(파일)

Anaconda-Python 환경 VSCode에서 사용하기