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의 주요 특징과 이점은 다음과 같습니다:
-
다중 AZ 지원: EFS는 여러 가용 영역에서 동시에 액세스할 수 있어, 다중 AZ 아키텍처에 이상적입니다.
-
공유 파일 시스템: 여러 EC2 인스턴스가 동일한 EFS 파일 시스템에 동시에 액세스할 수 있어 데이터 일관성을 보장합니다.
-
확장성: EFS는 자동으로 확장되므로 용량 관리에 대한 걱정 없이 데이터를 저장할 수 있습니다.
-
고가용성: EFS는 여러 AZ에 데이터를 복제하여 고가용성을 제공합니다.
-
NFS 프로토콜 지원: EFS는 NFS v4.1 프로토콜을 지원하여 Linux 기반 EC2 인스턴스와 쉽게 통합됩니다.
이 솔루션을 구현하려면 다음 단계를 따르면 됩니다:
- Amazon EFS 파일 시스템을 생성합니다.
- 기존 EBS 볼륨의 데이터를 EFS로 마이그레이션합니다.
- 애플리케이션 코드를 수정하여 새 문서를 EFS에 저장하도록 합니다.
- 두 EC2 인스턴스에 EFS를 마운트합니다.
이렇게 하면 두 EC2 인스턴스가 동일한 데이터에 액세스할 수 있어 사용자가 항상 모든 문서를 볼 수 있게 됩니다.
오답 설명
A. EBS 볼륨 간 데이터 복사: 이 방법은 일시적인 해결책일 뿐이며, 지속적인 데이터 동기화 문제를 해결하지 못합니다.
B. ALB 구성 변경: 이 방법은 문서의 위치를 추적해야 하는 복잡성을 증가시키며, 확장성 문제를 해결하지 못합니다.
D. ALB를 통한 요청 분배: 이 방법 역시 데이터 일관성 문제를 해결하지 못하며, 애플리케이션 로직을 복잡하게 만듭니다.
결론
이 문제는 다중 AZ 환경에서 데이터 일관성을 유지하는 것의 중요성을 강조합니다. Amazon EFS를 사용하면 여러 EC2 인스턴스 간에 데이터를 쉽게 공유하고 동기화할 수 있어, 확장성과 가용성을 개선하면서도 데이터 일관성을 유지할 수 있습니다. AWS 솔루션 아키텍트로서 이러한 시나리오를 이해하고 적절한 서비스를 선택하는 능력은 매우 중요합니다.
댓글
댓글 쓰기