A company runs an online marketplace web application on AWS. The application serves hundreds of thousands of users during peak hours. The company needs a scalable, near-real-time solution to share the details of millions of financial transactions with several other internal applications. Transactions also need to be processed to remove sensitive data before being stored in a document database for low-latency retrieval.
What should a solutions architect recommend to meet these requirements?
- A. Store the transactions data into Amazon DynamoDB. Set up a rule in DynamoDB to remove sensitive data from every transaction upon write. Use DynamoDB Streams to share the transactions data with other applications.
- B. Stream the transactions data into Amazon Kinesis Data Firehose to store data in Amazon DynamoDB and Amazon S3. Use AWS Lambda integration with Kinesis Data Firehose to remove sensitive data. Other applications can consume the data stored in Amazon S3.
- C. Stream the transactions data into Amazon Kinesis Data Streams. Use AWS Lambda integration to remove sensitive data from every transaction and then store the transactions data in Amazon DynamoDB. Other applications can consume the transactions data off the Kinesis data stream.
- D. Store the batched transactions data in Amazon S3 as files. Use AWS Lambda to process every file and remove sensitive data before updating the files in Amazon S3. The Lambda function then stores the data in Amazon DynamoDB. Other applications can consume transaction files stored in Amazon S3.
회사는 AWS에서 온라인 마켓플레이스 웹 애플리케이션을 실행합니다. 이 응용 프로그램은 피크 시간 동안 수십만 명의 사용자에게 서비스를 제공합니다. 이 회사는 수백만 건의 금융 거래 세부 정보를 다른 여러 내부 애플리케이션과 공유하기 위해 확장 가능한 실시간에 가까운 솔루션이 필요합니다. 짧은 대기 시간 검색을 위해 문서 데이터베이스에 저장되기 전에 민감한 데이터를 제거하기 위해 트랜잭션을 처리해야 합니다.
이러한 요구 사항을 충족하기 위해 솔루션 설계자는 무엇을 권장해야 합니까?
- A. 트랜잭션 데이터를 Amazon DynamoDB에 저장합니다. 쓰기 시 모든 트랜잭션에서 중요한 데이터를 제거하도록 DynamoDB에서 규칙을 설정합니다. DynamoDB Streams를 사용하여 트랜잭션 데이터를 다른 애플리케이션과 공유합니다.
- B. 트랜잭션 데이터를 Amazon Kinesis Data Firehose로 스트리밍하여 Amazon DynamoDB 및 Amazon S3에 데이터를 저장합니다. Kinesis Data Firehose와 AWS Lambda 통합을 사용하여 민감한 데이터를 제거합니다. 다른 애플리케이션은 Amazon S3에 저장된 데이터를 사용할 수 있습니다.
- C. 트랜잭션 데이터를 Amazon Kinesis Data Streams로 스트리밍합니다. AWS Lambda 통합을 사용하여 모든 트랜잭션에서 민감한 데이터를 제거한 다음 트랜잭션 데이터를 Amazon DynamoDB에 저장합니다. 다른 애플리케이션은 Kinesis 데이터 스트림 외부에서 트랜잭션 데이터를 사용할 수 있습니다.
- D. 배치 트랜잭션 데이터를 Amazon S3에 파일로 저장합니다. Amazon S3에서 파일을 업데이트하기 전에 AWS Lambda를 사용하여 모든 파일을 처리하고 민감한 데이터를 제거하십시오. 그런 다음 Lambda 함수는 Amazon DynamoDB에 데이터를 저장합니다. 다른 애플리케이션은 Amazon S3에 저장된 트랜잭션 파일을 사용할 수 있습니다.
온라인 마켓 플레이스 웹 애플리케이션을 실행한다. 피크 시간 동안 수십만 명의 사용자에게 서비스를 제공하는데, 수백만 건의 금융 거래 세부 정보를 다른 여러 내부 애플리케이션과 공유하기 위해 확장 가능한 실시간에 가까운 솔루션이 필요하다. 짧은 대기 시간 검색을 위해 문서 데이터베이스에 저장되기 전에 민감한 데이터를 제거하기 위해 트랜잭션을 처리해야한다.
우선 민감한 정보를 삭제하는 트랜잭션은, Lambda를 통해서 제거하는것이 옳다고 생각이 든다.
Firehouse를 가리키는 "실시간에 가까운 솔루션"이지만 DynamoDB로 데이터를 보낼 수 없으므로 정답은 C이다.
또한 Kinesis Firehose가 DynamoDB에 데이터를 직접 저장할 수 없다.
정답 C "트랜잭션 데이터를 Amazon Kinesis Data Streams로 스트리밍합니다. AWS Lambda 통합을 사용하여 모든 트랜잭션에서 민감한 데이터를 제거한 다음 트랜잭션 데이터를 Amazon DynamoDB에 저장합니다. 다른 애플리케이션은 Kinesis 데이터 스트림 외부에서 트랜잭션 데이터를 사용할 수 있습니다."
자습서: AWS Lambda Kinesis Data Streams 사용
이 자습서에서는 Kinesis 데이터 스트림의 이벤트를 처리하는 Lambda 함수를 생성합니다. 이 예제 시나리오에서 사용자 지정 애플리케이션은 Kinesis 데이터 스트림에 레코드를 씁니다. 그런 다음 AWS Lambda는 이 데이터 스트림을 폴링하고 새 데이터 레코드를 감지하면 Lambda 함수를 호출합니다. 그런 다음 AWS는 Lambda 함수를 생성할 때 지정한 실행 역할을 가정하여 Lambda 함수를 실행합니다.
https://docs.aws.amazon.com/zh_cn/streams/latest/dev/tutorial-stock-data-lambda.html
'[AWSEXAM] > [AWS] SAA-C03' 카테고리의 다른 글
[AWS][SAA][EXAMTOPICS][C03] Question 35 (0) | 2022.11.24 |
---|---|
[AWS][SAA][EXAMTOPICS][C03] Question 34 (0) | 2022.11.24 |
[AWS][SAA][EXAMTOPICS][C03] Question 32 (0) | 2022.11.24 |
[AWS][SAA][EXAMTOPICS][C03] Question 28 (0) | 2022.11.24 |
[AWS][SAA][EXAMTOPICS][C03] Question 27 (0) | 2022.11.24 |