본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #28

by Pacloud 2024. 10. 21.
반응형

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

 

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

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

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

3. 선택지 분석하기

 

바로 문제 풀이 해볼까요?


문제1

애플리케이션 개발 팀은 큰 이미지를 더 작은 압축 이미지로 변환하는 마이크로서비스를 설계하고 있습니다.

사용자가 웹 인터페이스를 통해 이미지를 업로드할 때 마이크로 서비스는 이미지를 Amazon S3 버킷에 저장하고 AWS Lambda 함수로 이미지를 처리 및 압축하고 이미지를 압축된 형태로 다른 S3 버킷에 저장해야 합니다.

솔루션 설계자는 이미지를 자동으로 처리하기 위해 내구성 있고 상태 비저장 구성 요소를 사용하는 솔루션을 설계해야 합니다. 이러한 요구 사항을 충족하는 작업 조합은 무엇입니까? (두 가지를 선택하세요.)

선택지

A. Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 이미지가 S3 버킷에 업로드될 때 SQS 대기열에 알림을 보내도록 S3 버킷을 구성합니다.

B. Amazon Simple Queue Service(Amazon SQS) 대기열을 호출 소스로 사용하도록 Lambda 함수를 구성합니다. SQS 메시지가 성공적으로 처리되면 대기열에서 메시지를 삭제합니다.

C. 새 업로드에 대해 S3 버킷을 모니터링하도록 Lambda 함수를 구성합니다. 업로드된 이미지가 감지되면 파일 이름을 메모리의 텍스트 파일에 쓰고 텍스트 파일을 사용하여 처리된 이미지를 추적합니다.

D. Amazon EC2 인스턴스를 시작하여 Amazon Simple Queue Service(Amazon SQS) 대기열을 모니터링합니다. 대기열에 항목이 추가되면 EC2 인스턴스의 텍스트 파일에 파일 이름을 기록하고 Lambda 함수를 호출합니다.

E. S3 버킷을 모니터링하도록 Amazon EventBridge(Amazon CloudWatch Events) 이벤트를 구성합니다. 이미지가 업로드되면 추가 처리를 위해 애플리케이션 소유자의 이메일 주소와 함께 Amazon ampl Notification Service(Amazon SNS) 주제로 알림을 보냅니다.


풀이

이미지 처리를 위한 마이크로서비스 아키텍처 설계 문제로, 이러한 요구사항을 충족하기 위해서는 이벤트 기반 아키텍처와 서버리스 컴퓨팅을 결합한 솔루션이 필요합니다. 이벤트 기반 아키텍처는 시스템 구성 요소 간의 느슨한 결합을 가능하게 하며, 서버리스 컴퓨팅은 인프라 관리 부담을 줄이고 자동 확장성을 제공합니다.

SQS는 높은 내구성과 가용성을 제공하며, 메시지 처리 상태를 유지하지 않아 상태 비저장 요구사항을 충족합니다. S3 버킷에서 SQS로 알림을 보내도록 구성하면, 이미지 업로드 이벤트를 안정적으로 캡처하고 처리할 수 있습니다.

Lambda 함수는 상태를 유지하지 않으므로 상태 비저장 요구사항을 충족합니다. SQS 대기열을 Lambda 함수의 호출 소스로 사용하고 처리 완료 후 메시지를 삭제하도록 구성하면, 이미지 처리 작업을 효율적으로 관리하고 중복 처리를 방지할 수 있습니다.

정답 : A, B

 

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

더보기

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

  • 업로드된 이미지를 S3 버킷에 저장
  • Lambda 함수로 이미지 처리 및 압축
  • 압축된 이미지를 다른 S3 버킷에 저장
  • 내구성 있고 상태 비저장 구성 요소 사용

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

  • Amazon S3(Simple Storage Service)는 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 이미지 저장에 적합하며, 다른 AWS 서비스와 쉽게 통합됩니다. S3의 이벤트 알림 기능을 통해 객체 생성 시 자동으로 다른 서비스를 트리거할 수 있어, 이미지 업로드 시 처리 워크플로우를 시작하는 데 이상적입니다.
  • Amazon SQS(Simple Queue Service)는 완전관리형 메시지 큐 서비스입니다. 애플리케이션 구성 요소를 분리하고 작업을 조정하는 데 사용되며, 높은 내구성과 가용성을 제공합니다. SQS는 메시지 처리 상태를 유지하지 않아 상태 비저장 요구사항을 충족하며, 시스템 구성 요소 간의 결합도를 낮추는 데 도움이 됩니다.
  • AWS Lambda는 서버리스 컴퓨팅 서비스로, 이벤트에 응답하여 코드를 실행합니다. 이미지 처리 및 압축 작업에 적합하며, 자동으로 확장되어 사용한 컴퓨팅 시간에 대해서만 비용을 지불합니다. Lambda의 상태 비저장 특성은 요구사항에 부합하며, SQS와의 통합을 통해 효율적인 이미지 처리 파이프라인을 구축할 수 있습니다.

3. 선택지 분석하기

A. Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 이미지가 S3 버킷에 업로드될 때 SQS 대기열에 알림을 보내도록 S3 버킷을 구성합니다.

 

B. Amazon Simple Queue Service(Amazon SQS) 대기열을 호출 소스로 사용하도록 Lambda 함수를 구성합니다. SQS 메시지가 성공적으로 처리되면 대기열에서 메시지를 삭제합니다.

 

C. 새 업로드에 대해 S3 버킷을 모니터링하도록 Lambda 함수를 구성합니다. 업로드된 이미지가 감지되면 파일 이름을 메모리의 텍스트 파일에 쓰고 텍스트 파일을 사용하여 처리된 이미지를 추적합니다.

→ 메모리 상의 텍스트 파일을 사용하는 것은 상태 유지 방식으로, 내구성이 낮고 단일 지점 장애가 발생할 수 있습니다.

 

D. Amazon EC2 인스턴스를 시작하여 Amazon Simple Queue Service(Amazon SQS) 대기열을 모니터링합니다. 대기열에 항목이 추가되면 EC2 인스턴스의 텍스트 파일에 파일 이름을 기록하고 Lambda 함수를 호출합니다.

→ EC2 인스턴스를 사용하는 것은 서버 관리 오버헤드가 발생하며, 텍스트 파일을 사용하는 부분은 상태 유지 방식으로 내구성이 낮습니다.

 

E. S3 버킷을 모니터링하도록 Amazon EventBridge(Amazon CloudWatch Events) 이벤트를 구성합니다. 이미지가 업로드되면 추가 처리를 위해 애플리케이션 소유자의 이메일 주소와 함께 Amazon ampl Notification Service(Amazon SNS) 주제로 알림을 보냅니다.

→ SNS 알림은 자동화된 이미지 처리에 적합하지 않으며, 상태 비저장 요구사항을 충족하지 않습니다. 또한, SNS는 메시지의 영구 저장을 보장하지 않아 처리되지 않은 메시지가 손실될 수 있습니다. 이는 시스템의 안정성과 확장성을 저하시킵니다.

 

이어서 다음 문제입니다.


문제2

회사는 애플리케이션에 대한 실시간 데이터 수집 아키텍처를 구성해야 합니다.

회사는 API, 데이터가 스트리밍될 때 데이터를 변환하는 프로세스, 데이터를 위한 스토리지 솔루션이 필요합니다.

최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

선택지

A. Amazon Kinesis 데이터 스트림으로 데이터를 전송하는 API를 호스팅하기 위해 Amazon EC2 인스턴스를 배포합니다. Kinesis 데이터 스트림을 데이터 소스로 사용하는 Amazon Kinesis Data Firehose 전송 스트림을 생성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. Kinesis Data Firehose 전송 스트림을 사용하여 데이터를 Amazon S3로 보냅니다.

B. AWS Glue로 데이터를 전송하는 API를 호스팅하기 위해 Amazon EC2 인스턴스를 배포합니다. EC2 인스턴스에서 소스/대상 확인을 중지합니다. AWS Glue를 사용하여 데이터를 변환하고 데이터를 Amazon S3로 보냅니다.

C. Amazon Kinesis 데이터 스트림으로 데이터를 전송하도록 Amazon API Gateway API를 구성합니다. Kinesis 데이터 스트림을 데이터 소스로 사용하는 Amazon Kinesis Data Firehose 전송 스트림을 생성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. Kinesis Data Firehose 전송 스트림을 사용하여 데이터를 Amazon S3로 보냅니다.

D. AWS Glue로 데이터를 전송하도록 Amazon API Gateway API를 구성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. AWS Glue를 사용하여 데이터를 Amazon S3로 보냅니다.


풀이

실시간 데이터 수집 및 처리 아키텍처 설계 문제로, 데이터 파이프라인의 핵심 요소를 반영하고 있습니다. 이러한 요구사항을 충족하기 위해서는 확장성이 뛰어나고 관리가 용이한 완전관리형 서비스들의 조합이 필요합니다. 서버리스 아키텍처를 활용하면 운영 오버헤드를 최소화하면서도 필요에 따라 자동으로 확장되는 솔루션을 구축할 수 있습니다.

API Gateway는 완전관리형 서비스로 운영 오버헤드가 최소화됩니다. Kinesis Data Streams는 실시간 데이터 수집에 적합하며, Kinesis Data Firehose는 데이터를 효율적으로 S3에 저장합니다. Lambda를 사용한 데이터 변환은 서버리스 방식으로 확장성과 유연성을 제공합니다. 

정답 : C

 

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

더보기

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

  • 실시간 데이터 수집 아키텍처 구성
    • 데이터 스트리밍 중 변환 프로세스 필요
    • 데이터 스토리지 솔루션 필요
  • 최소한의 운영 오버헤드

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

  • Amazon API Gateway는 완전관리형 서비스로, 모든 규모의 API를 생성, 게시, 유지 관리, 모니터링 및 보안 설정할 수 있습니다. RESTful API와 WebSocket API를 지원하며, 트래픽 관리, 권한 부여, 액세스 제어, 스로틀링, 모니터링 및 API 버전 관리와 같은 작업을 처리합니다. 서버리스 아키텍처의 핵심 구성 요소로, 백엔드 서비스와 쉽게 통합됩니다.
  • Amazon Kinesis Data Streams는 실시간 데이터 스트리밍 서비스로, 초당 GB 단위의 데이터를 지속적으로 수집하고 처리할 수 있습니다. 데이터 레코드의 순서를 유지하며, 동일한 데이터를 여러 소비자가 동시에 읽을 수 있습니다. 데이터 보존 기간을 설정할 수 있어 데이터 재처리가 가능합니다.
  • Amazon Kinesis Data Firehose는 스트리밍 데이터를 데이터 저장소와 분석 도구에 쉽게 로드할 수 있는 완전관리형 서비스입니다. 데이터를 자동으로 배치 처리하고 압축하여 목적지에 전달함으로써 효율성을 높입니다. S3, Redshift, Elasticsearch, Splunk 등 다양한 목적지를 지원합니다.
  • AWS Lambda는 서버리스 컴퓨팅 서비스로, 이벤트에 응답하여 코드를 실행합니다. 자동 확장되며 사용한 컴퓨팅 시간에 대해서만 비용을 지불합니다. 다양한 프로그래밍 언어를 지원하여 데이터 변환 로직을 구현할 수 있습니다.

3. 선택지 분석하기

A. Amazon Kinesis 데이터 스트림으로 데이터를 전송하는 API를 호스팅하기 위해 Amazon EC2 인스턴스를 배포합니다. Kinesis 데이터 스트림을 데이터 소스로 사용하는 Amazon Kinesis Data Firehose 전송 스트림을 생성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. Kinesis Data Firehose 전송 스트림을 사용하여 데이터를 Amazon S3로 보냅니다.

Kinesis Data Streams, Kinesis Data Firehose, Lambda, S3의 조합은 실시간 데이터 처리와 저장에 적합하지만, EC2 인스턴스를 사용하여 API를 호스팅하는 것은 운영 오버헤드를 증가시킵니다. EC2 인스턴스는 관리, 패치, 확장 등의 작업이 필요하며, 이는 '최소한의 운영 오버헤드' 요구사항과 맞지 않습니다. 

 

B. AWS Glue로 데이터를 전송하는 API를 호스팅하기 위해 Amazon EC2 인스턴스를 배포합니다. EC2 인스턴스에서 소스/대상 확인을 중지합니다. AWS Glue를 사용하여 데이터를 변환하고 데이터를 Amazon S3로 보냅니다.

→ EC2 인스턴스 사용은 운영 오버헤드를 증가시키며, 소스/대상 확인을 중지하는 것은 보안 위험을 초래할 수 있습니다. AWS Glue는 주로 배치 처리에 사용되며, 실시간 데이터 스트리밍 처리에는 적합하지 않습니다. 이 접근 방식은 실시간 처리 요구사항을 충족하지 못합니다.

 

C. Amazon Kinesis 데이터 스트림으로 데이터를 전송하도록 Amazon API Gateway API를 구성합니다. Kinesis 데이터 스트림을 데이터 소스로 사용하는 Amazon Kinesis Data Firehose 전송 스트림을 생성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. Kinesis Data Firehose 전송 스트림을 사용하여 데이터를 Amazon S3로 보냅니다.

 

D. AWS Glue로 데이터를 전송하도록 Amazon API Gateway API를 구성합니다. AWS Lambda 함수를 사용하여 데이터를 변환합니다. AWS Glue를 사용하여 데이터를 Amazon S3로 보냅니다.

→ API Gateway와 Lambda의 조합은 좋지만, AWS Glue는 완전관리형 추출, 변환, 로드(ETL) 서비스입니다. 데이터 카탈로그를 제공하여 데이터 검색과 관리를 용이하게 합니다. 주로 배치 처리 작업에 사용되며, 실시간 처리에는 적합하지 않을 수 있습니다. 이는 실시간 데이터 처리 요구사항을 완전히 충족하지 못할 수 있습니다.

 

마지막 문제 살펴볼게요.


문제3

회사는 데이터 센터에서 SMB 파일 서버를 실행하고 있습니다.  파일 서버는 파일이 생성된 후 처음 며칠 동안 자주 액세스되는 대용량 파일을 저장합니다. 7일 후에는 파일에 거의 액세스하지 않습니다.

총 데이터 크기는 증가하고 있으며 회사의 총 스토리지 용량에 근접합니다. 솔루션 설계자는 가장 최근에 액세스한 파일에 대한 짧은 대기 시간 액세스를 잃지 않고 회사의 사용 가능한 스토리 지 공간을 늘려야 합니다.

솔루션 설계자는 향후 스토리지 문제를 방지하기 위해 파일 수명 주기 관리도 제공해야 합니다. 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

선택지

A. AWS DataSync를 사용하여 SMB 파일 서버에서 AWS로 7일보다 오래된 데이터를 복사합니다.

B. Amazon S3 File Gateway를 생성하여 회사의 스토리지 공간을 확장합니다. 7일 후에 데이터를 S3 Glacier Deep Archive로 전환하는 S3 수명 주기 정책을 생성합니다.

C. Amazon FSx for Windows File Server 파일 시스템을 생성하여 회사의 스토리지 공간을 확장합니다.

D. 각 사용자의 컴퓨터에 유틸리티를 설치하여 Amazon S3에 액세스합니다. 7일 후에 데이터를 S3 Glacier Flexible Retrieval로 전환하는 S3 수명 주기 정책을 생성합니다.


풀이

온프레미스 인프라의 성능을 유지하면서 클라우드의 확장성과 비용 효율성을 활용해야 합니다. S3 File Gateway는 온프레미스 스토리지를 클라우드로 원활하게 확장하고, SMB 프로토콜을 지원하여 기존 애플리케이션과의 호환성을 유지합니다. 또한, 자주 액세스하는 데이터를 로컬 캐시에 유지하여 짧은 대기 시간을 보장하고, S3 수명 주기 정책을 통해 오래된 데이터를 자동으로 저비용 스토리지로 이동시킬 수 있습니다. 

정답 : B

 

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

더보기

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

  • SMB 파일 서버에 대용량 파일 저장
  • 파일 생성 후 처음 며칠 동안 자주 액세스, 7일 후에는 거의 액세스하지 않음
  • 스토리지 용량에 근접하여 용량 확장 필요
  • 최근 액세스한 파일에 대한 짧은 대기 시간 액세스 유지
  • 파일 수명 주기 관리 필요

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

  • Amazon S3 File Gateway는 AWS Storage Gateway 서비스의 일부로, 온프레미스 애플리케이션에 파일 인터페이스를 제공합니다. SMB 및 NFS 프로토콜을 지원하여 기존 애플리케이션과의 호환성을 보장합니다. 자주 액세스하는 데이터의 로컬 캐시를 유지하여 짧은 대기 시간을 제공합니다. 데이터를 Amazon S3에 저장하여 내구성, 확장성, 비용 효율성을 제공합니다. 온프레미스 애플리케이션의 변경 없이 클라우드 스토리지를 활용할 수 있게 해줍니다.
  • Amazon S3 (Simple Storage Service)는 높은 내구성, 가용성, 확장성을 제공하는 객체 스토리지 서비스입니다. 다양한 스토리지 클래스(Standard, Intelligent-Tiering, Glacier, Deep Archive 등)를 제공하여 데이터 액세스 패턴에 따른 비용 최적화가 가능합니다. 버전 관리, 암호화, 액세스 제어 등 다양한 데이터 관리 기능을 제공합니다.
    • S3 Glacier Deep Archive는 S3의 가장 저렴한 스토리지 클래스로, 거의 액세스하지 않는 데이터의 장기 보관에 적합합니다. 연간 99.9%의 내구성을 제공합니다. 데이터 검색에 최대 12시간이 소요될 수 있어, 즉시 액세스가 필요하지 않은 데이터에 적합합니다.
    • S3 수명 주기 정책는 객체의 수명 주기 동안 S3가 수행할 작업을 정의하는 규칙의 집합입니다. 객체를 다른 S3 스토리지 클래스로 자동 전환하거나 만료된 객체를 자동으로 삭제할 수 있습니다. 데이터 관리를 자동화하여 스토리지 비용을 최적화하고 운영 효율성을 높일 수 있습니다.

3. 선택지 분석하기

A. AWS DataSync를 사용하여 SMB 파일 서버에서 AWS로 7일보다 오래된 데이터를 복사합니다.

→ AWS DataSync는 온프레미스와 AWS 스토리지 서비스 간의 데이터 전송을 자동화하는 서비스입니다. 대규모 데이터 마이그레이션에 유용하지만, 지속적인 파일 서버 운영에는 적합하지 않을 수 있습니다. 파일 수명 주기 관리를 제공하지 않으며 최근 파일에 대한 빠른 액세스를 보장하지 않습니다.

 

B. Amazon S3 File Gateway를 생성하여 회사의 스토리지 공간을 확장합니다. 7일 후에 데이터를 S3 Glacier Deep Archive로 전환하는 S3 수명 주기 정책을 생성합니다. 

 

C. Amazon FSx for Windows File Server 파일 시스템을 생성하여 회사의 스토리지 공간을 확장합니다.

→ Amazon FSx for Windows File Server는 완전관리형 Windows 파일 서버입니다. Windows 환경에 최적화되어 있고, 스토리지 공간을 확장할 수 있지만, 자체적으로는 자동화된 데이터 계층화나 수명 주기 관리 기능을 제공하지 않습니다.

 

D. 각 사용자의 컴퓨터에 유틸리티를 설치하여 Amazon S3에 액세스합니다. 7일 후에 데이터를 S3 Glacier Flexible Retrieval로 전환하는 S3 수명 주기 정책을 생성합니다.

→ 파일 수명 주기 관리를 제공하지만, 각 사용자의 컴퓨터에 유틸리티를 설치하는 것은 관리 복잡성을 증가시키고 기존 SMB 기반 애플리케이션과의 호환성 문제를 일으킬 수 있습니다.

 

 

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

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

AWS SAA 합격으로 가는 길 #30  (0) 2024.10.28
AWS SAA 합격으로 가는 길 #29  (1) 2024.10.25
AWS SAA 합격으로 가는 길 #27  (1) 2024.10.18
AWS SAA 합격으로 가는 길 #26  (0) 2024.10.14
AWS SAA 합격으로 가는 길 #25  (0) 2024.10.11