본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #22

by Pacloud 2024. 9. 30.
반응형

안녕하세요! 넥스트클라우드의 SA 백종훈입니다. 😊

 

문제는  가지 단계를 거치며 풀어 나갈 거예요.

1. 문제의 요구사항 분석하기

2. 관련 AWS 서비스 생각하기

3. 선택지 분석하기

 


문제1

한 전자상거래 회사에서 사용자 트래픽이 증가하고 있습니다. 회사의 스토어는 웹 계층과 별도의 데이터베이스 계층으로 구성된 2계층 웹 애플리케이션으로 Amazon EC2 인스턴스에 배포 됩니다. 트래픽이 증가함에 따라 회사는 아키텍처로 인해 사용자에게 적시에 마케팅 및 주문 확인 이메일을 보내는 데 상당한 지연이 발생하고 있음을 알게 되었습니다. 이 회사는 복잡한 이메일 전송 문제를 해결하는 데 소요되는 시간을 줄이고 운영 오버헤드를 최소화하기를 원합니다.

솔루션 설계자는 이러한 요구 사항을 충족하기 위해 무엇을 해야 합니까?

 

선택지

A. 이메일 처리 전용 EC2 인스턴스를 사용하여 별도의 애플리케이션 계층을 만듭니다.

B. Amazon Simple Email Service(Amazon SES)를 통해 이메일을 보내도록 웹 인스턴스를 구성합니다.

C. Amazon Simple Notification Service(Amazon SNS)를 통해 이메일을 보내도록 웹 인스턴스를 구성합니다.

D. 이메일 처리 전용 EC2 인스턴스를 사용하여 별도의 애플리케이션 계층을 생성합니다. Auto Scaling 그룹에 인스턴스를 배치합니다.

 


풀이

Amazon SES는 확장성이 높고 관리가 쉬운 이메일 서비스로, 회사의 이메일 지연 문제를 해결하면서 운영 오버헤드를 최소화할 수 있습니다. 복잡한 이메일 인프라 구축 없이 효율적인 이메일 전송이 가능합니다.

정답 : B

 

▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.

더보기

1. 문제의 요구사항 분석하기

  • 증가하는 사용자 트래픽에 대응
  • 마케팅 및 주문 확인 이메일 발송 지연 문제 해결
  • 이메일 전송 문제 해결에 소요되는 시간 감소
  • 운영 오버헤드 최소화

 

2. 관련 AWS 서비스 생각하기

  • 증가하는 사용자 트래픽에 대응
    • Amazon EC2 Auto Scaling: 트래픽 증가에 따라 EC2 인스턴스를 자동으로 확장하거나 축소할 수 있습니다.
    • Elastic Load Balancing (ELB): 여러 EC2 인스턴스에 트래픽을 분산시켜 부하를 관리합니다.
  • 마케팅 및 주문 확인 이메일 발송 지연 문제 해결
    • Amazon Simple Email Service (Amazon SES): 대량의 이메일을 효율적으로 처리하고 발송할 수 있는 관리형 서비스입니다.
    • Amazon Simple Queue Service (Amazon SQS): 이메일 발송 작업을 큐에 넣어 비동기적으로 처리할 수 있게 해줍니다.
  • 이메일 전송 문제 해결에 소요되는 시간 감소
    • Amazon CloudWatch: 이메일 발송 과정을 모니터링하고 문제를 신속하게 감지할 수 있습니다.
    • AWS X-Ray: 애플리케이션의 성능을 분석하고 병목 현상을 식별하는 데 도움을 줄 수 있습니다.
  • 운영 오버헤드 최소화
    • Amazon SES: 이메일 인프라를 직접 관리할 필요 없이 확장 가능한 이메일 서비스를 제공합니다.
    • AWS Lambda: 서버리스 컴퓨팅을 통해 이메일 처리 로직을 실행할 수 있어, 인프라 관리 부담을 줄일 수 있습니다.

 

3. 선택지 분석하기

A. 이메일 처리 전용 EC2 인스턴스를 사용하여 별도의 애플리케이션 계층을 만듭니다.

→ 새로운 계층을 추가하면 복잡성이 증가하고 운영 오버헤드가 늘어날 수 있음. 요구사항인 운영 오버헤드 최소화에 부합하지 않음.

 

B. Amazon Simple Email Service(Amazon SES)를 통해 이메일을 보내도록 웹 인스턴스를 구성합니다.

→ SES는 대량 이메일 발송에 최적화된 관리형 서비스로, 운영 오버헤드를 최소화하면서 효율적인 이메일 발송이 가능함. 요구사항을 모두 충족함.

 

C. Amazon Simple Notification Service(Amazon SNS)를 통해 이메일을 보내도록 웹 인스턴스를 구성합니다.

→ SNS는 주로 푸시 알림에 사용되며, 대량의 이메일 발송에는 적합하지 않음. 요구사항을 충분히 충족하지 못함.

 

D. 이메일 처리 전용 EC2 인스턴스를 사용하여 별도의 애플리케이션 계층을 생성합니다. Auto Scaling 그룹에 인스턴스를 배치합니다.

→ Auto Scaling을 사용하면 트래픽 증가에 대응할 수 있지만, 여전히 복잡성이 증가하고 운영 오버헤드가 늘어남. 요구사항인 운영 오버헤드 최소화에 부합하지 않음.

 

이어서 다음 문제입니다.


문제2

전자상거래 회사는 AWS에서 다중 계층 애플리케이션을 실행하고 있습니다. 프런트 엔드 및 백엔드 계층은 모두 Amazon EC2에서 실행되고 데이터베이스는 Amazon RDS for MySQL에서 실행됩니다. 백엔드 계층은 RDS 인스턴스와 통신합니다. 성능 저하를 일으키는 데이터베이스에서 동일한 데이터 세트를 반환하라는 호출이 자주 있습니다.

백엔드의 성능을 개선하려면 어떤 조치를 취해야 합니까?

 

선택지

A. Amazon SNS를 구현하여 데이터베이스 호출을 저장합니다.

B. Amazon ElastiCache를 구현하여 대규모 데이터 세트를 캐싱합니다.

C. 데이터베이스 호출을 캐시하기 위해 RDS for MySQL 읽기 전용 복제본을 구현합니다.

D. Amazon Kinesis Data Firehose를 구현하여 호출을 데이터베이스로 스트리밍합니다.


풀이

Amazon ElastiCache를 구현하여 대규모 데이터 세트를 캐싱하는 것(B)이 정답인 이유는 자주 요청되는 동일한 데이터를 메모리에 저장함으로써 데이터베이스 쿼리 횟수를 줄이고, 응답 시간을 크게 단축시켜 백엔드 성능을 효과적으로 개선할 수 있기 때문입니다.

 

정답 : B

 

▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.

더보기

1. 문제의 요구사항 분석하기

 

  • 다중 계층 애플리케이션의 백엔드 성능 개선
  • 데이터베이스에서 동일한 데이터 세트를 반복적으로 요청하는 문제 해결
  • RDS for MySQL과 백엔드 계층 간의 통신 최적화

 

2. 관련 AWS 서비스 생각하기

 

  • 다중 계층 애플리케이션의 백엔드 성능 개선
    • Amazon EC2 Auto Scaling: 트래픽 증가에 따라 백엔드 서버를 자동으로 확장하여 성능을 유지할 수 있습니다.
    • Elastic Load Balancing (ELB): 여러 EC2 인스턴스에 트래픽을 분산시켜 백엔드의 부하를 관리합니다.
    • Amazon CloudWatch: 백엔드 성능을 모니터링하고 문제를 신속하게 감지할 수 있습니다.
  • 데이터베이스에서 동일한 데이터 세트를 반복적으로 요청하는 문제 해결
    • Amazon ElastiCache: 자주 요청되는 데이터를 메모리에 캐싱하여 데이터베이스 쿼리를 줄이고 응답 시간을 개선합니다.
    • Amazon DynamoDB Accelerator (DAX): DynamoDB를 사용하는 경우, 인메모리 캐싱을 제공하여 읽기 성능을 향상시킵니다.
    • Amazon CloudFront: 정적 콘텐츠나 API 응답을 캐싱하여 데이터베이스 부하를 줄일 수 있습니다.
  • RDS for MySQL과 백엔드 계층 간의 통신 최적화
    • Amazon RDS Proxy: 데이터베이스 연결을 효율적으로 관리하고 연결 풀링을 제공하여 성능을 개선합니다.
    • Amazon RDS Read Replicas: 읽기 작업을 여러 복제본에 분산시켜 주 데이터베이스의 부하를 줄일 수 있습니다.
    • Amazon Aurora: RDS for MySQL과 호환되면서도 더 나은 성능과 확장성을 제공하는 관리형 데이터베이스 서비스입니다.

 

 

3. 선택지 분석하기

A. Amazon SNS를 구현하여 데이터베이스 호출을 저장합니다.

→ SNS는 메시징 서비스로, 데이터베이스 호출 저장에 적합하지 않음. 요구사항을 충족하지 못함.

 

B. Amazon ElastiCache를 구현하여 대규모 데이터 세트를 캐싱합니다.

→ 자주 요청되는 동일한 데이터를 메모리에 캐싱하여 데이터베이스 쿼리를 줄이고 응답 시간을 크게 개선할 수 있음. 요구사항을 가장 잘 충족함.

 

C. 데이터베이스 호출을 캐시하기 위해 RDS for MySQL 읽기 전용 복제본을 구현합니다.

→ 읽기 작업을 분산시켜 주 데이터베이스의 부하를 줄일 수 있지만, 반복적인 동일 데이터 요청 문제를 직접적으로 해결하지는 못함.

 

D. Amazon Kinesis Data Firehose를 구현하여 호출을 데이터베이스로 스트리밍합니다.

→ 실시간 데이터 스트리밍 서비스로, 이 상황에서의 성능 문제 해결에 적합하지 않음.

 

 

마지막 문제 살펴볼게요.


문제3

회사에서 데이터 관리 애플리케이션을 AWS로 이전하고 있습니다. 회사는 이벤트 기반 아키텍처로 전환하려고 합니다. 아키텍처는 워크플로의 다양한 측면을 수행하면서 더 많이 분산되고 서 버리스 개념을 사용해야 합니다. 회사는 또한 운영 오버헤드를 최소화하기를 원합니다.

이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

 

선택지

A. AWS Glue에서 워크플로를 구축합니다. AWS Glue를 사용하여 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다.

B. AWS Step Functions에서 워크플로를 구축합니다. Amazon EC2 인스턴스에 애플리케이션을 배포합니다. Step Functions를 사용하여 EC2 인스턴스에서 워크플로 단계를 호출 합니다.

C. Amazon EventBridge에서 워크플로를 구축합니다. EventBridge를 사용하여 일정에 따라 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다.

D. AWS Step Functions에서 워크플로를 구축합니다. Step Functions를 사용하여 상태 머신을 생성합니다. 상태 시스템을 사용하여 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다.

 

풀이

AWS Step Functions를 사용하여 워크플로를 구축하고 Lambda 함수를 호출하는 방식(D)이 정답인 이유는 이 방법이 이벤트 기반 아키텍처를 구현하면서도 서버리스 개념을 완전히 활용하고, 복잡한 워크플로를 쉽게 관리할 수 있게 해주기 때문입니다. 또한 Step Functions의 관리형 특성으로 인해 운영 오버헤드를 최소화할 수 있어, 문제의 모든 요구사항을 가장 잘 충족시킵니다.

정답 : D

 

▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.

더보기

1. 문제의 요구사항 분석하기

 

  • 데이터 관리 애플리케이션을 AWS로 이전
  • 이벤트 기반 아키텍처로 전환
  • 워크플로의 다양한 측면을 수행하는 분산 아키텍처
  • 서버리스 개념 사용
  • 운영 오버헤드 최소화

 

2. 관련 AWS 서비스 생각하기

  • 데이터 관리 애플리케이션을 AWS로 이전
    • AWS Database Migration Service (DMS): 기존 데이터베이스를 AWS로 마이그레이션하는 데 사용됩니다.
    • Amazon S3: 대용량 데이터 저장소로 사용될 수 있습니다.
    • Amazon RDS 또는 Amazon Aurora: 관계형 데이터베이스 관리에 사용될 수 있습니다.
    • Amazon DynamoDB: 대규모, 분산 NoSQL 데이터베이스 서비스입니다.
  • 이벤트 기반 아키텍처로 전환
    • Amazon EventBridge: 이벤트를 생성하고 라우팅하는 서버리스 이벤트 버스 서비스입니다.
    • Amazon SNS: 메시지 게시/구독 서비스로 이벤트 알림에 사용될 수 있습니다.
    • Amazon SQS: 분산 시스템 간의 메시지 큐잉 서비스입니다.
  • 워크플로의 다양한 측면을 수행하는 분산 아키텍처
    • AWS Step Functions: 복잡한 워크플로를 관리하고 조율하는 서버리스 서비스입니다.
    • AWS Lambda: 개별 작업을 수행하는 서버리스 컴퓨팅 서비스입니다.
  • 서버리스 개념 사용
    • AWS Lambda: 코드 실행을 위한 서버리스 컴퓨팅 플랫폼입니다.
    • Amazon API Gateway: 서버리스 API 관리 서비스입니다.
    • AWS Fargate: 서버리스 컨테이너 실행 환경을 제공합니다.
  • 운영 오버헤드 최소화
    • AWS CloudFormation: 인프라를 코드로 관리하여 운영 오버헤드를 줄입니다.
    • AWS Systems Manager: 애플리케이션과 인프라를 더 쉽게 관리할 수 있게 해줍니다.
    • Amazon CloudWatch: 모니터링 및 관찰 가능성을 제공하여 운영을 간소화합니다.

 


3. 선택지 분석하기

A. AWS Glue에서 워크플로를 구축합니다. AWS Glue를 사용하여 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다. → Glue는 주로 ETL 작업에 특화되어 있어, 일반적인 워크플로 관리에는 최적화되어 있지 않음

 

B. AWS Step Functions에서 워크플로를 구축합니다. Amazon EC2 인스턴스에 애플리케이션을 배포합니다. Step Functions를 사용하여 EC2 인스턴스에서 워크플로 단계를 호출 합니다.

→ EC2 인스턴스 사용은 서버리스 요구사항에 부합하지 않으며 운영 오버헤드가 증가함

 

C. Amazon EventBridge에서 워크플로를 구축합니다. EventBridge를 사용하여 일정에 따라 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다.

→ EventBridge는 이벤트 라우팅에 적합하지만, 복잡한 워크플로 관리에는 최적화되어 있지 않음

 

D. AWS Step Functions에서 워크플로를 구축합니다. Step Functions를 사용하여 상태 머신을 생성합니다. 상태 시스템을 사용하여 AWS Lambda 함수를 호출하여 워크플로 단계를 처리합니다.

→ Step Functions와 Lambda의 조합은 서버리스, 이벤트 기반, 분산 아키텍처의 요구사항을 모두 충족하며 운영 오버헤드를 최소화함

 

 

 

"성공은 한 번의 행동이 아니라 습관이다." - 아리스토텔레스, 그리스 철학자

 

'AWS > SAA 준비' 카테고리의 다른 글

AWS SAA 합격으로 가는 길 #24  (0) 2024.10.07
AWS SAA 합격으로 가는 길 #23  (0) 2024.10.04
AWS SAA 합격으로 가는 길 #21  (0) 2024.09.27
AWS SAA 합격으로 가는 길 #20  (1) 2024.09.23
AWS SAA 합격으로 가는 길 #19  (1) 2024.09.20