하위 문제 풀이는 개인적 의견일 수 있습니다. AWS 공식 문서를 참조하는 것을 추천 드립니다.
[영문]
A company is designing an application. The application uses an AWS Lambda function to receive information through Amazon API Gateway and to store the information in an Amazon Aurora PostgreSQL database.
During the proof-of-concept stage, the company has to increase the Lambda quotas significantly to handle the high volumes of data that the company needs to load into the database. A solutions architect must recommend a new design to improve scalability and minimize the configuration effort.
Which solution will meet these requirements?
- A. Refactor the Lambda function code to Apache Tomcat code that runs on Amazon EC2 instances. Connect the database by using native Java Database Connectivity (JDBC) drivers.
- B. Change the platform from Aurora to Amazon DynamoDProvision a DynamoDB Accelerator (DAX) cluster. Use the DAX client SDK to point the existing DynamoDB API calls at the DAX cluster.
- C. Set up two Lambda functions. Configure one function to receive the information. Configure the other function to load the information into the database. Integrate the Lambda functions by using Amazon Simple Notification Service (Amazon SNS).
- D. Set up two Lambda functions. Configure one function to receive the information. Configure the other function to load the information into the database. Integrate the Lambda functions by using an Amazon Simple Queue Service (Amazon SQS) queue.
[한글] (번역기)
한 회사에서 애플리케이션을 설계하고 있습니다. 이 애플리케이션은 AWS Lambda 함수를 사용하여 Amazon API Gateway를 통해 정보를 수신하고 Amazon Aurora PostgreSQL 데이터베이스에 정보를 저장합니다.
개념 증명 단계에서 회사는 데이터베이스에 로드해야 하는 대량의 데이터를 처리하기 위해 Lambda 쿼터를 크게 늘려야 합니다. 솔루션 아키텍트는 확장성을 개선하고 구성 작업을 최소화할 수 있는 새로운 설계를 추천해야 합니다.
이러한 요구 사항을 충족하는 솔루션은 무엇일까요?
A. Lambda 함수 코드를 Amazon EC2 인스턴스에서 실행되는 Apache Tomcat 코드로 리팩터링합니다. 기본 JDBC(Java 데이터베이스 연결) 드라이버를 사용하여 데이터베이스를 연결합니다.
B. 플랫폼을 Aurora에서 Amazon Dynamo로 변경DynamoDB 가속기(DAX) 클러스터를 프로비저닝합니다. DAX 클라이언트 SDK를 사용하여 기존 DynamoDB API 호출을 DAX 클러스터를 가리키도록 합니다.
C. 두 개의 람다 함수를 설정합니다. 한 함수가 정보를 수신하도록 구성합니다. 다른 함수는 정보를 데이터베이스에 로드하도록 구성합니다. Amazon SNS(Amazon Simple Notification Service)를 사용하여 Lambda 함수를 통합합니다.
D. 두 개의 람다 함수를 설정합니다. 한 함수가 정보를 수신하도록 구성합니다. 다른 함수는 정보를 데이터베이스에 로드하도록 구성합니다. Amazon SQS(Amazon Simple Queue Service) 대기열을 사용하여 Lambda 함수를 통합합니다.
[풀이]
- Lambda 함수 -> API GW -> Aurora PstgreSQL 정보 저장, PoC 단계에서 대량의 데이터를 처리하기 위해서 Lambda 쿼터를 크게 늘려야 한다, 확장성 개선하고 구성 작업 최소화 어떻게?
- A의 경우 결국 대량의 데이터를 처리하기 위해서 EC2 오토스케일링을 해야 할 것 같고, 기존의 아키텍처를 무효화하게 되어 구성 작업이 커진다.
- B의 경우 DAX는 기존에 DynamoDB가 존재해야 사용이 가능하고 DB 마이그레이션 자체가 구성 작업이 커지게 된다.
DAX는 세 가지 주요 시나리오에 대응합니다.
DAX는 인 메모리 캐시로서 최종적 일관된 읽기 워크로드의 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 대폭 줄여줍니다.
DAX는 DynamoDB와 API 호환되는 관리형 서비스를 제공하여 운영 및 애플리케이션 복잡성을 줄여줍니다. 따라서 기존 애플리케이션에서 사용하기 위한 최소한의 기능 변경만 필요합니다.
읽기 중심적이거나 일정 시간에 사용량이 급증하는 워크로드의 경우 DAX는 읽기 용량 단위를 오버프로비저닝해야 하는 필요성을 줄여 높은 처리량을 제공하고 잠재적 운영 비용을 절감합니다. 이러한 이점은 특히 개별 키를 반복적으로 읽어야 하는 애플리케이션에 유용합니다. - https://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/DAX.html
- C의 경우 SNS를 사용하게 되면 데이터 안정성이 떨어질 것 같고 SNS + Lambda + DB 의 구조가 효율적인지 잘 모르겠다. 결과적으로 SNS는 데이터를 단순히 전송해주는 서비스여서 Lambda의 대량 데이터 부하를 해결해 주지 않을 것 같다.
- D의 경우 SQS를 사용해 데이터 안정성을 보장해주고 Lambda의 부하를 느슨하게 만들어 줄 수 있을 것 같다.
- https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-sqs.html#events-sqs-queueconfig
- https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/with-sqs.html
- 답은 D
[출처] : https://www.examtopics.com/exams/amazon/aws-certified-solutions-architect-associate-saa-c03/view/
위 문제에 대한 저작권은 상위 출처 링크에 있으며 해당 게시글로 문제 시 댓글 부탁 드리며 삭제 조치 진행 하겠습니다.
'자격증 > AWS SAA' 카테고리의 다른 글
[SAA-C03][문제 풀이] EC2 인스턴스 유형 비용 확인 문제 (1) | 2023.10.16 |
---|---|
[SAA-C03][문제 풀이] S3 데이터 장기 보관 문제 (0) | 2023.10.16 |
[SAA-C03][문제 풀이] S3 예측 불가 패턴 파일 문제 (0) | 2023.10.16 |
[SAA-C03][문제 풀이] 웹사이트 수백만 건의 요청을 처리하는 솔루션 문제 (1) | 2023.10.16 |
[SAA-C03][문제 풀이] EBS 데이터 안정적 복제 문제 (0) | 2023.10.16 |