[문제 18]
질문: 애플리케이션 개발 팀은 큰 이미지를 더 작은 압축 이미지로 변환하는 마이크로서비스를 설계하고 있습니다. 사용자가 웹 인터페이스를 통해 이미지를 업로드하면 마이크로서비스는 이미지를 Amazon S3 버킷에 저장하고, AWS Lambda 함수로 이미지를 처리 및 압축하고, 다른 S3 버킷에 압축된 형태로 이미지를 저장해야 합니다. 솔루션 설계자는 내구성이 있는 상태 비저장 구성 요소를 사용하여 이미지를 자동으로 처리하는 솔루션을 설계해야 합니다. 이러한 요구 사항을 충족하는 작업 조합은 무엇입니까? (2개를 선택하세요.)
A. Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 이미지가 S3 버킷에 업로드될 때 SQS 대기열에 알림을 보내도록 S3 버킷을 구성합니다.
B. Amazon Simple Queue Service(Amazon SQS) 대기열을 호출 소스로 사용하도록 Lambda 함수를 구성합니다. SQS 메시지가 성공적으로 처리되면 대기열에서 메시지를 삭제합니다.
C. 새 업로드에 대해 S3 버킷을 모니터링하도록 Lambda 함수를 구성합니다. 업로드된 이미지가 감지되면 메모리의 텍스트 파일에 파일 이름을 쓰고 텍스트 파일을 사용하여 처리된 이미지를 추적합니다.
D. Amazon EC2 인스턴스를 시작하여 Amazon Simple Queue Service(Amazon SQS) 대기열을 모니터링합니다. 항목이 대기열에 추가되면 EC2 인스턴스의 텍스트 파일에 파일 이름을 기록하고 Lambda 함수를 호출합니다.
E. Amazon EventBridge(Amazon CloudWatch Events) 이벤트를 구성하여 S3 버킷을 모니터링합니다. 이미지가 업로드되면 추가 처리를 위해 애플리케이션 소유자의 이메일 주소와 함께 Amazon Simple Notification Service(Amazon SNS) 주제에 알림을 보냅니다.
[정답 분석]
정답: A, B
[각 보기 분석]
A: SQS 대기열 생성 및 S3 버킷 알림 구성
- 설명: Amazon S3 버킷에 이미지가 업로드될 때마다 SQS 대기열에 알림을 보내도록 설정하면, Lambda 함수가 이 알림을 받아 이미지를 처리할 수 있습니다.
- 적합성: 이 방식은 내구성을 제공하며 상태 비저장 방식으로 이미지를 자동으로 처리할 수 있습니다.
B: SQS 대기열을 호출 소스로 사용하는 Lambda 함수 구성
- 설명: Lambda 함수를 SQS 대기열의 메시지를 처리하도록 설정하고, 메시지를 성공적으로 처리한 후 삭제하면, 상태 비저장 방식으로 이미지 처리가 가능합니다.
- 적합성: 이 접근 방식은 내구성과 신뢰성을 보장합니다.
C: S3 버킷을 모니터링하는 Lambda 함수 구성
- 설명: Lambda 함수가 업로드된 이미지를 감지하고 텍스트 파일에 파일 이름을 기록하는 것은 상태 비저장 처리 방식이 아니며, 메모리에 저장되는 데이터는 내구성이 없습니다.
- 부적합: 내구성 있는 상태 비저장 구성 요소의 요건을 충족하지 못합니다.
D: EC2 인스턴스 사용
- 설명: EC2 인스턴스를 사용하여 SQS 대기열을 모니터링하는 것은 복잡성을 증가시키고 내구성을 보장하지 못합니다.
- 부적합: 서버리스 아키텍처의 장점을 활용하지 못하며, 관리 오버헤드가 발생합니다.
E: EventBridge 및 SNS 구성
- 설명: EventBridge를 사용하여 S3 버킷을 모니터링하고 SNS 주제에 알림을 보내는 것은 가능하지만, 이는 이미지 처리를 위한 직접적인 경로가 아니므로 최적의 선택이 아닙니다.
- 부적합: SQS를 사용하는 방법이 운영 및 비용 효율성이 높습니다.
[결론]
A와 B 조합은 내구성이 있는 상태 비저장 구성 요소를 사용하여 이미지 처리를 자동화하는 최선의 선택입니다. S3와 SQS, 그리고 Lambda를 결합함으로써, 이미지 처리의 효율성과 신뢰성을 보장할 수 있습니다.
문제 18번에서 상태 비저장 구성 요소와 상태 저장 구성 요소의 개념을 이해하기 위해, 애플리케이션의 요구 사항과 설계 방식에 초점을 맞춰야 합니다. 다음은 문제의 맥락에서 두 개념이 어떻게 적용되는지를 설명합니다.
문제 맥락
1. 애플리케이션 흐름:
- 사용자가 이미지를 업로드하면, 마이크로서비스가 이를 처리하고 압축된 이미지를 다른 S3 버킷에 저장하는 구조입니다.
- 이 과정에서 이미지 업로드, 처리, 저장의 각 단계가 자동으로 이루어져야 합니다.
2. 요구 사항:
- 내구성이 있는 상태 비저장 구성 요소를 사용하여 자동으로 이미지를 처리해야 한다는 요구가 있습니다.
상태 비저장 구성 요소의 적용
- S3 버킷:
- 사용자가 이미지를 S3 버킷에 업로드하면, S3는 상태 비저장 시스템입니다. 각 업로드 요청은 독립적이며, S3는 이전 상태를 기억하지 않습니다.
- Amazon SQS:
- SQS 대기열도 상태 비저장 구성 요소로 작동합니다. 이미지가 S3에 업로드될 때 알림을 보내고, Lambda 함수가 SQS에서 메시지를 가져와 이미지를 처리합니다. 이 과정은 이전 요청의 상태와 무관하게 독립적으로 이루어집니다.
- AWS Lambda:
- Lambda 함수는 요청을 수신하여 이미지를 처리하고 압축합니다. 이 함수는 상태 비저장 방식으로 설계되어, 이미지 처리 후 결과를 S3에 저장하는 데 필요한 정보만을 가지고 있습니다.
상태 저장 구성 요소의 비적합성
- 만약 상태 저장 구성 요소를 사용하게 된다면, 사용자가 업로드한 이미지나 처리 상태를 관리하기 위한 추가적인 로직이 필요하게 됩니다. 이는 시스템의 복잡성을 증가시키고, 성능 저하나 관리의 어려움을 초래할 수 있습니다.
결론
문제 18번에서의 설계 요구 사항은 상태 비저장 구성 요소를 활용하는 것이며, 이는 다음과 같은 이점을 제공합니다:
- 내구성: 요청 처리 시 상태를 기억할 필요가 없기 때문에, 시스템의 복원력과 확장성이 뛰어납니다.
- 운영 효율성: 요청 간에 상태를 유지하지 않기 때문에, 시스템 운영이 간편하고 비용 효율적입니다.
이러한 관점에서 문제를 분석하면, 설계 요구 사항을 충족하는 방식으로 상태 비저장 구성 요소를 선택하는 것이 적절하다는 것을 이해할 수 있습니다.
'스케쥴 > 시험' 카테고리의 다른 글
AWS-SAA-V18.35 - 17번 (0) | 2024.10.22 |
---|---|
AWS-SAA-V18.35 - 16번 (0) | 2024.10.22 |
AWS-SAA-V18.35 - 15번 (0) | 2024.10.22 |
AWS-SAA-V18.35 - 14번 (3) | 2024.10.21 |
AWS-SAA-V18.35 - 13번 (0) | 2024.10.21 |