본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #86

by Pacloud 2025. 5. 26.
반응형

안녕하세요, NxtCloud SA 김유림입니다. 오늘도 담백하게 AWS SAA 자격증 대비 실전 문제 풀이를 시작하겠습니다.

 

문제는  가지 단계를 거치며 풀어 나갈 겁니다.

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

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

3. 선택지 분석하기

 

바로 문제 풀이 해보겠습니다.


문제1

한 회사에서 AWS에서 호스팅되는 서비스 솔루션으로서 고성능 컴퓨팅(HPC) 회사에는 여러 모니터링 장치에서 실시간 데이터를 수신하는 API가 있습니다. API는 나중에 분석할 수 있도록 이 데이터를 Amazon RDS DB 인스턴스에 저장합니다. 모니터링 장치가 API로 보내는 데이터의 양은 변동합니다. 트래픽이 많은 기간 동안 API는 종종 시간 초과 오류를 반환합니다. 로그를 검사한 후 회사는 데이터베이스가 API에서 오는 쓰기 트래픽 볼륨을 처리할 수 없음을 확인합니다. 솔루션 설계자는 데이터베이스에 대한 연결 수를 최소화하고 트래픽이 많은 기간 동 안 데이터가 손실되지 않도록 해야 합니다. 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

 

선택지

A. 사용 가능한 메모리가 더 많은 인스턴스 유형으로 DB 인스턴스의 크기를 늘리십시오.

B. DB 인스턴스를 다중 AZ DB 인스턴스로 수정합니다. 모든 활성 RDS DB 인스턴스에 쓰도록 애플리케이션을 구성합니다.

C. 수신 데이터를 Amazon Simple Queue Service(Amazon SQS) 대기열에 쓰도록 API를 수정합니다. Amazon SQS가 호출하는 AWS Lambda 함수를 사용하여 대기열에서 데이터베이스로 데이터를 씁니다.

D. 수신 데이터를 Amazon Simple Notification Service(Amazon SNS) 주제에 쓰도록 API를 수정합니다. Amazon SNS가 호출하는 AWS Lambda 함수를 사용하여 주제에서 데이터베이스로 데이터를 씁니다.

 


풀이

회사에는 여러 모니터링 장치에서 실시간 데이터를 수신하는 API가 있습니다. 트래픽이 많은 기간 동안 API는 종종 RDS DB 인스턴스에 데이터를 쓰는 중 시간 초과 오류를 반환합니다. 데이터베이스가 API에서 오는 대량의 쓰기 트래픽을 처리할 수 없기 때문입니다. 데이터베이스 연결 수를 최소화하고 데이터 손실을 방지해야 합니다.

 

정답 : C

 

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

더보기

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

  • API에서 오는 대량의 쓰기 트래픽을 데이터베이스가 처리할 수 없음
  • 데이터베이스 연결 수 최소화
  • 데이터 손실 방지

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

  • Amazon SQS (Simple Queue Service): 분산 애플리케이션 간에 메시지를 안전하게 전송하는 완전관리형 메시지 큐 서비스입니다. SQS는 메시지를 저장하고 보존하며, 소비자가 메시지를 처리할 준비가 되면 메시지를 전달합니다. API에서 수신한 데이터를 SQS 대기열에 일시적으로 저장한 후, 별도의 소비자(예: AWS Lambda 함수)를 통해 데이터베이스에 데이터를 쓰면 데이터베이스 연결 수를 최소화할 수 있습니다. SQS는 메시지 중복 제거, 보존 기간 설정, 메시지 가시성 제어 등의 기능을 제공하여 데이터 손실을 방지할 수 있습니다.

3. 선택지 분석하기

A. 사용 가능한 메모리가 더 많은 인스턴스 유형으로 DB 인스턴스의 크기를 늘리십시오.

→ 데이터베이스 인스턴스 유형의 메모리를 늘리는 것만으로는 문제를 근본적으로 해결할 수 없습니다.

 

B. DB 인스턴스를 다중 AZ DB 인스턴스로 수정합니다. 모든 활성 RDS DB 인스턴스에 쓰도록 애플리케이션을 구성합니다.

→ 다중 AZ 구성으로 전환하면 가용성은 향상되지만 쓰기 트래픽 문제는 해결되지 않습니다.

 

C. 수신 데이터를 Amazon Simple Queue Service(Amazon SQS) 대기열에 쓰도록 API를 수정합니다. Amazon SQS가 호출하는 AWS Lambda 함수를 사용하여 대기열에서 데이터베이스로 데이터를 씁니다.

→ 이 선택지가 정답입니다. API에서 데이터를 SQS 대기열에 쓰고, 별도의 소비자를 통해 데이터베이스에 데이터를 전송하면 데이터베이스 연결 수를 최소화하고 데이터 손실을 방지할 수 있습니다.

 

D. 수신 데이터를 Amazon Simple Notification Service(Amazon SNS) 주제에 쓰도록 API를 수정합니다. Amazon SNS가 호출하는 AWS Lambda 함수를 사용하여 주제에서 데이터베이스로 데이터를 씁니다.

→ SNS 주제를 사용하면 주제-구독 모델로 인해 데이터 전달 보장이 어려워집니다.

 

 

이어서 다음 문제입니다.


문제2

회사의 웹 애플리케이션은 AWS Lambda 함수 앞의 Amazon API Gateway API와 Amazon DynamoDB 데이터베이스로 구성됩니다. Lambda 함수는 비즈니스 로직을 처리하고 DynamoDB 테이블은 데이터를 호스팅합니다. 애플리케이션은 Amazon Cognito 사용자 풀을 사용하여 애플리케이션의 개별 사용자를 식별합니다. 솔루션 설계자는 구독이 있는 사용자만 프리미엄 콘텐츠에 액세스할 수 있도록 애플리케이션을 업데이트해야 합니다. 최소한의 운영 오버헤드로 이 요구 사항을 충족하는 솔루션은 무엇입니까?

 

선택지

A. API Gateway API에서 API 캐싱 및 제한을 활성화합니다.

B. API Gateway API에서 AWS WAF를 설정합니다. 구독이 있는 사용자를 필터링하는 규칙을 만듭니다.

C. DynamoDB 테이블의 프리미엄 콘텐츠에 세분화된 IAM 권한을 적용합니다.

D. 구독하지 않은 사용자의 액세스를 제한하기 위해 API 사용 계획 및 API 키를 구현합니다.

 


풀이

구독이 있는 사용자만 프리미엄 콘텐츠에 액세스할 수 있도록 해야 합니다. 최소한의 운영 오버헤드로 이 요구사항을 충족하려면 API Gateway의 API 키와 사용 계획을 도입하는 것이 적절합니다.

 

정답 : D

 

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

더보기

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

  • 구독 여부에 따라 프리미엄 콘텐츠 접근 제어
  • 최소한의 운영 오버헤드

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

  • Amazon API Gateway: REST API와 WebSocket API를 생성, 게시, 유지 관리, 모니터링 및 보안을 적용할 수 있는 완전관리형 서비스입니다. API Gateway에서 제공하는 API 키와 사용 계획 기능을 활용하면 API 액세스를 제어할 수 있습니다. 구독이 있는 사용자에게는 API 키를 부여하고, 구독하지 않은 사용자에게는 API 키를 제한하는 방식으로 프리미엄 콘텐츠에 대한 액세스 제어가 가능합니다. API Gateway의 API 키와 사용 계획 기능은 손쉽게 구성할 수 있어 운영 오버헤드가 최소화됩니다.

3. 선택지 분석하기

A. API Gateway API에서 API 캐싱 및 제한을 활성화합니다.

→ API 캐싱과 제한 기능은 프리미엄 콘텐츠 액세스 제어와 직접적인 관련이 없습니다.

 

B. API Gateway API에서 AWS WAF를 설정합니다. 구독이 있는 사용자를 필터링하는 규칙을 만듭니다.

→ AWS WAF(Web Application Firewall)는 웹 애플리케이션 공격을 방어하기 위한 솔루션으로, 구독 여부 기반의 액세스 제어에는 적합하지 않습니다.

 

C. DynamoDB 테이블의 프리미엄 콘텐츠에 세분화된 IAM 권한을 적용합니다.

→ DynamoDB 테이블의 IAM 권한 관리는 운영 오버헤드가 크고 직관적이지 않습니다.

 

D. 구독하지 않은 사용자의 액세스를 제한하기 위해 API 사용 계획 및 API 키를 구현하십시오.

→ 이 선택지가 정답입니다. API 키와 사용 계획을 통해 구독 여부에 따른 액세스 제어가 가능하며, 운영 오버헤드도 최소화할 수 있습니다.

 

 

마지막 문제 살펴보겠습니다.


문제3

회사에는 Amazon RDS MySQL DB 인스턴스에서 정보를 검색하는 자격 증명이 내장된 사용자 지정 애플리케이션이 있습니다. 경영진은 최소한의 프로그래밍 노력으로 애플리케이션을 더 안전하게 만들어야 한다고 말합니다. 솔루션 설계자는 이러한 요구 사항을 충족하기 위해 무엇을 해야 합니까?

 

선택지

A. AWS Key Management Service(AWS KMS)를 사용하여 키를 생성합니다. AWS KMS에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. 자동 키 순환을 활성화합니다.

B. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Secrets Manager에 저장합니다. Secrets Manager에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Secret Manager에서 자격 증명을 교체하는 AWS Lambda 함수를 생성합니다.

C. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Secrets Manager에 저장합니다. Secrets Manager에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Secrets Manager를 사용하여 RDS for MySQL 데이터베이스에서 애플리케이션 사용자의 자격 증명 교체 일정을 설정합니다.

D. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Systems Manager Parameter Store에 저장합니다. Parameter Store에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Parameter Store를 사용하여 RDS for MySQL 데이터베이스에서 애플리케이션 사용자에 대한 자격 증명 교체 일정을 설정합니다.

 


풀이

데이터베이스 자격 증명을 애플리케이션 코드에 하드코딩 하는 대신, AWS Secrets Manager에 안전하게 저장하고 Secrets Manager를 통해 주기적으로 자격 증명을 교체하는 것이 가장 안전한 방법입니다.

 

정답 : C

 

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

더보기

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

  • 최소한의 프로그래밍 노력으로 애플리케이션 보안 강화
  • 데이터베이스 자격 증명 관리 방안 필요

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

  • AWS Secrets Manager: 데이터베이스 자격 증명, API 키 등 중요한 자격 증명 정보를 안전하게 저장하고 관리할 수 있는 서비스입니다. Secrets Manager는 암호화된 방식으로 자격 증명을 저장하고, IAM 정책을 통해 액세스를 제어할 수 있어 보안성이 높습니다. 애플리케이션은 Secrets Manager에서 자격 증명을 로드하여 사용할 수 있습니다. 또한 Secrets Manager의 자동 교체 기능을 통해 정기적인 자격 증명 롤링이 가능합니다. 이를 통해 최소한의 프로그래밍 노력으로 애플리케이션 보안을 강화할 수 있습니다.

3. 선택지 분석하기

A. AWS Key Management Service(AWS KMS)를 사용하여 키를 생성합니다. AWS KMS에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. 자동 키 순환을 활성화합니다.

→ AWS KMS(Key Management Service) 키를 사용하여 자격 증명을 암호화하는 것은 불가능합니다. KMS는 데이터 암호화에 사용되는 서비스입니다.

 

B. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Secrets Manager에 저장합니다. Secrets Manager에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Secret Manager에서 자격 증명을 교체하는 AWS Lambda 함수를 생성합니다.

→ Secrets Manager에 자격 증명을 저장하고 애플리케이션에서 로드하는 방식은 적절하지만, AWS Lambda 함수를 통한 자격 증명 교체는 운영 오버헤드가 큽니다.

 

C. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Secrets Manager에 저장합니다. Secrets Manager에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Secrets Manager를 사용하여 RDS for MySQL 데이터베이스에서 애플리케이션 사용자의 자격 증명 교체 일정을 설정합니다.

→ 이 선택지가 정답입니다. Secrets Manager에 자격 증명을 저장하고, Secrets Manager를 통해 주기적인 자격 증명 교체 일정을 설정하는 방식이 최선의 접근법입니다.

 

D. 애플리케이션 사용자를 위해 RDS for MySQL 데이터베이스에서 자격 증명을 생성하고 자격 증명을 AWS Systems Manager Parameter Store에 저장합니다. Parameter Store에서 데이터베이스 자격 증명을 로드하도록 애플리케이션을 구성합니다. Parameter Store를 사용하여 RDS for MySQL 데이터베이스에서 애플리케이션 사용자에 대한 자격 증명 교체 일정을 설정합니다.

→ AWS Systems Manager Parameter Store는 간단한 구성 정보 관리에 적합하지만, 보안 중요도가 높은 자격 증명 관리에는 Secrets Manager가 더 적합합니다.

 

 

오늘의 문제풀이를 마칩니다. 함께해 주셔서 감사드리며, 어제보다 오늘 더, 오늘보다 내일 더 성장하는 여러분의 그 한 걸음을 응원합니다.🍀

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

AWS SAA 합격으로 가는 길 #87  (1) 2025.05.30
AWS SAA 합격으로 가는 길 #85  (0) 2025.05.23
AWS SAA 합격으로 가는 길 #84  (1) 2025.05.19
AWS SAA 합격으로 가는 길 #83  (0) 2025.05.16
AWS SAA 합격으로 가는 길 #82  (1) 2025.05.12