본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #38

by Pacloud 2024. 11. 29.
반응형

안녕하세요! 넥스트클라우드의 SA 손유림입니다. 😊

 

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

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

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

3. 선택지 분석하기

 

바로 문제 풀이 해볼까요?


문제1

자전거 공유 회사는 피크 운영 시간 동안 자전거의 위치를 추적하기 위해 다계층 아키텍처를 개발하고 있습니다.

회사는 기존 분석 플랫폼에서 이러한 데이터 포인트를 사용하려고 합니다.

솔루션 설계자는 이 아키텍처를 지원하기 위해 가장 실행 가능한 다중 계층 옵션을 결정해야 합니다.

데이터 포인트는 REST API에서 액세스할 수 있어야 합니다.

위치 데이터 저장 및 검색에 대한 이러한 요구 사항을 충족하는 작업은 무엇입니까?

선택지

A. Amazon S3와 함께 Amazon Athena를 사용합니다.

B. AWS Lambda와 함께 Amazon API Gateway를 사용합니다.

C. Amazon Redshift와 함께 Amazon QuickSight를 사용합니다.

D. Amazon Kinesis Data Analytics와 함께 Amazon API Gateway를 사용합니다.


풀이

Amazon API Gateway와 AWS Lambda를 사용하면 REST API를 통해 액세스할 수 있는 서버리스 아키텍처를 구축할 수 있습니다. API Gateway는 API를 생성, 배포, 모니터링할 수 있는 완전관리형 서비스입니다. Lambda는 서버리스 컴퓨팅 환경으로, API Gateway로부터 이벤트를 받아 코드를 실행할 수 있습니다. 따라서 API Gateway와 Lambda의 조합은 저장 및 검색을 위한 서버리스 백엔드를 제공할 수 있습니다.

정답 : B

 

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

더보기

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

  • 피크 운영 시간 동안 자전거 위치 추적을 위한 다계층 아키텍처 개발
  • REST API를 통해 데이터에 액세스

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

  • Amazon API Gateway는 개발자가 손쉽게 REST API를 구축하고 운영할 수 있도록 도와주는 완전관리형 서비스로서, 트래픽 관리, 인증/권한 부여, API 버전 관리, 모니터링 등의 기능을 자동으로 제공합니다. 특히 API Gateway는 클라이언트의 요청을 안전하게 처리하고, 필요한 경우 요청을 제한하거나 캐싱하는 등의 고급 기능도 제공하여 안정적인 API 운영을 가능하게 합니다.
  • AWS Lambda는 서버 인프라에 대한 관리 없이도 코드를 실행할 수 있게 해주는 서버리스 컴퓨팅 서비스입니다. API Gateway로부터 들어오는 HTTP 요청을 이벤트로 받아 자동으로 코드를 실행할 수 있으며, 실제 사용된 컴퓨팅 시간에 대해서만 비용을 지불하는 경제적인 방식으로 운영됩니다. 또한 Lambda는 트래픽 증가에 따라 자동으로 확장되고, 다양한 프로그래밍 언어를 지원하며, 다른 AWS 서비스들과 쉽게 통합될 수 있어 유연한 백엔드 로직 구현이 가능합니다.

3. 선택지 분석하기

A. Amazon S3와 함께 Amazon Athena를 사용합니다.

→ S3는 확장성이 뛰어난 객체 스토리지 서비스이고 Athena는 S3에 저장된 데이터를 SQL로 분석할 수 있는 서비스입니다. 이 조합은 대규모 데이터 저장과 분석에는 매우 효과적이지만, 실시간으로 위치 데이터를 제공해야 하는 REST API 서비스 구현에는 적합하지 않습니다. 외부 시스템에서 직접 접근하기 위해서는 추가적인 서비스 구성이 필요하기 때문입니다.

 

B. AWS Lambda와 함께 Amazon API Gateway를 사용합니다.

 

C. Amazon Redshift와 함께 Amazon QuickSight를 사용합니다.

→ Redshift는 대규모 데이터 분석을 위한 데이터 웨어하우스 서비스이며, QuickSight는 이를 시각화하고 대시보드로 만들어주는 비즈니스 인텔리전스 도구입니다. 이러한 서비스들은 장기적인 데이터 분석과 보고서 생성에는 탁월하지만, 실시간으로 변화하는 자전거 위치 데이터를 REST API로 제공하는 데에는 적합하지 않습니다. 특히 실시간 데이터 접근 시 발생할 수 있는 지연 시간이 문제가 될 수 있습니다.

 

D. Amazon Kinesis Data Analytics와 함께 Amazon API Gateway를 사용합니다.

→ Kinesis Data Analytics는 실시간으로 들어오는 스트리밍 데이터를 분석하는 데 특화된 서비스입니다. 하지만 이 서비스는 데이터 처리와 분석에 중점을 두고 있어 REST API를 직접 제공하지 않으며, 데이터 저장보다는 실시간 처리에 초점이 맞춰져 있습니다. 따라서 자전거 위치 데이터를 REST API로 제공해야 하는 현재의 요구사항을 완전히 충족시키기에는 부족합니다.

 

이어서 다음 문제입니다.


문제2

한 회사에서 REST API로 검색할 주문 배송 통계를 제공하는 애플리케이션을 개발하고 있습니다.

회사는 배송 통계를 추출하고 데이터를 읽기 쉬운 HTML 형식으로 구성하고 매일 아침 동시에 여러 이메일 주소로 보고서를 보내려고 합니다. 이러한 요구 사항을 충족하기 위해 솔루션 설계자는 어떤 단계 조합을 수행해야 합니까? (두 가지를 선택하세요.)

선택지

A. 데이터를 Amazon Kinesis Data Firehose로 보내도록 애플리케이션을 구성합니다.

B. Amazon Simple Email Service(Amazon SES)를 사용하여 데이터 형식을 지정하고 이메일로 보고서를 보냅니다.

C. 데이터에 대한 애플리케이션의 API를 쿼리하기 위해 AWS Glue 작업을 호출하는 Amazon EventBridge(Amazon CloudWatch Events) 예약 이벤트를 생성합니다.

D. 데이터에 대한 애플리케이션의 API를 쿼리하기 위해 AWS Lambda 함수를 호출하는 Amazon EventBridge(Amazon CloudWatch Events) 예약 이벤트를 생성합니다.

E. 애플리케이션 데이터를 Amazon S3에 저장합니다. 보고서를 이메일로 보낼 S3 이벤트 대상으로 Amazon Simple Notification Service(Amazon SNS) 주제를 생성합니다


풀이

Amazon Simple Email Service(Amazon SES)는 대규모 이메일을 안정적으로 전송할 수 있는 완전관리형 서비스입니다. EventBridge를 사용하여 매일 아침 예약된 시간에 Lambda 함수를 트리거하고, 해당 Lambda 함수에서 애플리케이션의 REST API를 호출하여 배송 통계를 가져온 뒤, Amazon SES를 사용하여 여러 이메일 주소로 보고서를 전송할 수 있습니다.

정답 : B,D

 

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

더보기

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

  • 배송 통계를 제공하는 REST API 애플리케이션
  • 매일 아침 동시에 여러 이메일 주소로 보고서 전송

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

  • Amazon EventBridge(이전의 CloudWatch Events)는 AWS의 서버리스 이벤트 버스 서비스로서, 다양한 이벤트를 모니터링하고 이를 지정된 대상으로 전달하는 역할을 수행합니다. 특히 cron 표현식을 사용하여 예약된 시간에 자동으로 Lambda 함수를 실행시킬 수 있어, 정기적인 작업 자동화에 매우 유용합니다. EventBridge는 실시간 이벤트 처리뿐만 아니라 예약된 작업 실행을 위한 강력한 스케줄링 기능도 제공하여, 시간 기반의 자동화된 워크플로우를 구축하는 데 적합합니다.
  • AWS Lambda는 서버 인프라를 관리할 필요 없이 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. Lambda 함수는 애플리케이션의 REST API를 호출하여 필요한 데이터를 가져오고, 이를 원하는 형식으로 처리할 수 있습니다. 특히 다른 AWS 서비스들과의 원활한 통합이 가능하여, API 호출 결과를 가공하고 이를 이메일 형태로 변환하는 등의 복잡한 처리 로직을 구현할 수 있습니다. 또한 실행 시간에 따른 과금 방식을 채택하고 있어 비용 효율적입니다.
  • Amazon Simple Email Service(SES)는 안정적이고 확장 가능한 이메일 발송 서비스입니다. SES를 사용하면 HTML 형식의 이메일을 지원하여 보기 좋은 형태의 보고서를 작성할 수 있으며, 단일 요청으로 다수의 수신자에게 동시에 이메일을 전송할 수 있습니다. 또한 높은 전송 신뢰성과 세부적인 전송 상태 추적 기능을 제공하여, 중요한 보고서가 의도한 수신자에게 확실히 전달되도록 보장합니다. 특히 대량의 이메일을 처리할 때도 높은 성능과 안정성을 유지하며, 스팸 방지 및 이메일 인증과 같은 보안 기능도 기본적으로 제공합니다.

3. 선택지 분석하기

A. 데이터를 Amazon Kinesis Data Firehose로 보내도록 애플리케이션을 구성합니다.

→ Kinesis Data Firehose는 실시간으로 들어오는 대량의 데이터 스트림을 처리하고 전송하는 서비스입니다. 이 서비스는 실시간 데이터 처리에 특화되어 있지만, 주문 배송 통계를 매일 아침 정해진 시간에 수집하고 이메일로 전송하는 배치 작업에는 적합하지 않습니다. 특히 HTML 형식의 보고서 생성과 정기적인 이메일 전송이라는 요구사항을 직접적으로 처리하기 어렵습니다.

 

B. Amazon Simple Email Service(Amazon SES)를 사용하여 데이터 형식을 지정하고 이메일로 보고서를 보냅니다.

 

C. 데이터에 대한 애플리케이션의 API를 쿼리하기 위해 AWS Glue 작업을 호출하는 Amazon EventBridge(Amazon CloudWatch Events) 예약 이벤트를 생성합니다.

→ AWS Glue는 ETL(추출, 변환, 로드) 작업을 수행하는 서비스로, 대규모 데이터의 이동과 변환에 특화되어 있습니다. 하지만 REST API를 직접 쿼리하고 그 결과를 HTML 형식으로 가공하여 이메일로 전송하는 이 특정 사용 사례에는 과도한 서비스입니다. Glue는 데이터 웨어하우스나 데이터 레이크 구축에 더 적합하며, 일일 이메일 보고서 생성이라는 간단한 작업에는 Lambda가 더 효율적인 선택입니다.

 

D. 데이터에 대한 애플리케이션의 API를 쿼리하기 위해 AWS Lambda 함수를 호출하는 Amazon EventBridge(Amazon CloudWatch Events) 예약 이벤트를 생성합니다.

 

E. 애플리케이션 데이터를 Amazon S3에 저장합니다. 보고서를 이메일로 보낼 S3 이벤트 대상으로 Amazon Simple Notification Service(Amazon SNS) 주제를 생성합니다.

→ Amazon S3는 데이터 저장소로서, SNS는 알림 서비스로서 각각 뛰어난 서비스이지만, 이 특정 요구사항에는 불필요한 복잡성을 추가합니다. REST API에서 데이터를 직접 가져와서 처리하면 되는 상황에서, S3에 데이터를 저장하고 SNS로 알림을 보내는 것은 추가적인 단계를 만들어내며, 특히 HTML 형식의 보고서를 생성하고 이메일로 전송하는 직접적인 요구사항을 해결하지 못합니다.

 

마지막 문제 살펴볼게요.


문제3

솔루션 아키텍트가 2계층 웹 애플리케이션을 설계하고 있습니다. 이 애플리케이션은 퍼블릭 서브넷의 Amazon EC2에서 호스팅되는 퍼블릭 웹 계층으로 구성됩니다. 데이터베이스 계층은 프라이빗 서브넷의 Amazon EC2에서 실행되는 Microsoft SQL Server로 구성됩니다. 보안은 회사의 최우선 순위입니다. 이 상황에서 보안 그룹을 어떻게 구성해야 합니까? (두 가지를 선택하세요.)

선택지

A. 0.0.0.0/0에서 포트 443의 인바운드 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

B. 0.0.0.0/0의 포트 443에서 아웃바운드 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

C. 웹 계층의 보안 그룹에서 포트 1433의 인바운드 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

D. 웹 계층의 보안 그룹에 대한 포트 443 및 1433의 아웃바운드 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

E. 웹 계층에 대한 보안 그룹의 포트 443 및 1433에서 인바운드 트래픽을 허용하도록 데이터베이스 계층에 대한 보안 그룹을 구성합니다.


풀이

이 2계층 웹 애플리케이션의 보안 설정에서 웹 계층 보안 그룹은 인터넷 사용자들이 웹사이트에 안전하게 접속할 수 있도록 HTTPS 프로토콜을 사용하는 포트 443의 인바운드 트래픽을 허용해야 합니다. HTTPS를 사용함으로써 사용자와 웹 서버 간의 통신이 암호화되어 데이터의 보안성을 보장할 수 있습니다. 데이터베이스 계층의 보안 그룹은 웹 서버가 데이터베이스에 안전하게 접근할 수 있도록 구성되어야 합니다. 이를 위해 Microsoft SQL Server의 기본 포트인 1433에 대한 인바운드 트래픽을 허용하되, 오직 웹 계층의 보안 그룹에서 오는 트래픽만을 허용합니다. 이는 최소 권한 원칙을 따르는 것으로, 데이터베이스에 대한 접근을 웹 서버로만 제한함으로써 보안을 강화합니다.

정답 : A, C

 

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

더보기

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

  • 퍼블릭 웹 계층과 프라이빗 데이터베이스 계층
  • 보안이 최우선 순위

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

  • Amazon Virtual Private Cloud(VPC)는 AWS 클라우드 내에서 완벽하게 격리된 가상의 프라이빗 네트워크 환경을 제공하는 서비스입니다. VPC 내에서 퍼블릭 서브넷과 프라이빗 서브넷을 구성할 수 있어, 웹 서버는 퍼블릭 서브넷에 배치하여 외부 접근을 허용하고, 데이터베이스 서버는 프라이빗 서브넷에 배치하여 보안을 강화할 수 있습니다. 또한 VPC는 네트워크 주소 범위 설정, 서브넷 구성, 라우팅 테이블 설정 등을 통해 세밀한 네트워크 제어가 가능합니다.
  • Amazon Elastic Compute Cloud(EC2)는 AWS에서 제공하는 확장 가능한 가상 컴퓨팅 환경입니다. EC2 인스턴스는 다양한 크기와 유형으로 제공되어 웹 서버나 데이터베이스 서버와 같은 다양한 워크로드를 효율적으로 처리할 수 있습니다. 사용자는 필요에 따라 인스턴스를 시작, 중지, 종료할 수 있으며, 필요한 만큼의 컴퓨팅 리소스를 유연하게 확장하거나 축소할 수 있습니다.
  • 보안 그룹은 EC2 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽으로, 인스턴스 수준에서 동작합니다. 인바운드 규칙을 통해 인스턴스로 들어오는 트래픽을 제어하고, 아웃바운드 규칙을 통해 인스턴스에서 나가는 트래픽을 제어할 수 있습니다. 보안 그룹은 '허용' 규칙만 지정할 수 있으며, 명시적으로 허용되지 않은 모든 트래픽은 자동으로 차단됩니다. 또한 보안 그룹은 상태 저장 방식으로 동작하여, 허용된 인바운드 트래픽에 대한 응답은 아웃바운드 규칙에 관계없이 자동으로 허용됩니다.

3. 선택지 분석하기

A. 0.0.0.0/0에서 포트 443의 인바운드 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

 

B. 0.0.0.0/0의 포트 443에서 아웃바운드 트래픽을 허용하도록 웹 계층에 대한 보안 그룹을 구성합니다.

→ AWS 보안 그룹에서 아웃바운드 트래픽은 기본적으로 모든 대상(0.0.0.0/0)에 대해 허용되도록 설정되어 있습니다. 따라서 웹 계층에서 포트 443으로 나가는 트래픽을 명시적으로 허용하는 규칙을 추가하는 것은 불필요한 설정이 됩니다. 

 

C. 웹 계층의 보안 그룹에서 포트 1433의 인바운드 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

 

D. 웹 계층의 보안 그룹에 대한 포트 443 및 1433의 아웃바운드 트래픽을 허용하도록 데이터베이스 계층의 보안 그룹을 구성합니다.

→ B 선택지와 마찬가지로 데이터베이스 계층의 보안 그룹에서 포트 443과 1433에 대한 아웃바운드 트래픽을 명시적으로 허용하는 것은 불필요합니다. 보안 그룹의 기본 설정이 이미 모든 아웃바운드 트래픽을 허용하고 있으므로, 이러한 규칙을 추가하는 것은 보안 그룹 관리를 복잡하게 만들 뿐 실질적인 보안 가치를 더하지 않습니다.

 

E. 웹 계층에 대한 보안 그룹의 포트 443 및 1433에서 인바운드 트래픽을 허용하도록 데이터베이스 계층에 대한 보안 그룹을 구성합니다.

→ 이는 보안 아키텍처의 기본 원칙에 위배됩니다. 데이터베이스 계층은 프라이빗 서브넷에 위치하며, 일반적으로 웹 계층으로부터의 요청에 응답하는 역할만 수행해야 합니다. 데이터베이스 계층에서 웹 계층으로 직접 트래픽을 보내도록 허용하는 것은 불필요한 보안 위험을 초래할 수 있으며, 계층화된 보안 아키텍처의 설계 원칙에도 맞지 않습니다.

 

감사합니다. 다음 글에서 만나요! 😊

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

AWS SAA 합격으로 가는 길 #40  (0) 2024.12.06
AWS SAA 합격으로 가는 길 #39  (0) 2024.12.02
AWS SAA 합격으로 가는 길 #37  (1) 2024.11.25
AWS SAA 합격으로 가는 길 #36  (1) 2024.11.18
AWS SAA 합격으로 가는 길 #35  (1) 2024.11.15