본문 바로가기
AWS/SAA 준비

AWS SAA 합격으로 가는 길 #114

by Pacloud 2025. 9. 8.
반응형

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

오늘도 으샤으샤 문제를 풀어나가 보겠습니다!

 

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

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

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

3. 선택지 분석하기

 

바로 문제 풀이 해볼까요?

 


 

문제1

한 회사가 AWS에서 새로운 기계 학습(ML) 모델 솔루션을 개발하고 있습니다. 모델은 시작 시 Amazon S3에서 약 1GB의 모델 데이터를 가져와 메모리에 로드하는 독립적인 마이크로서비스로 개발됩니다. 사용자는 비동기 API를 통해 모델에 액세스합니다. 사용자는 요청 또는 요청 배치를 보내고 결과를 보낼 위치를 지정할 수 있습니다. 회사는 수백 명의 사용자에게 모델을 제공합니다. 모델의 사용 패턴이 불규칙합니다. 일부 모델은 며칠 또는 몇 주 동안 사용하지 않을 수 있습니다. 다른 모델은 한 번에 수천 개의 요청 배치를 수신할 수 있습니다. 이러한 요구 사항을 충족하기 위해 솔루션 설계자는 어떤 디자인을 권장해야 합니까?

 

선택지

A. API의 요청을 Network Load Balancer(NLB)로 보냅니다. NLB에서 호출하는 AWS Lambda 함수로 모델을 배포합니다.

B. API의 요청을 Application Load Balancer(ALB)로 보냅니다. Amazon Simple Queue Service(Amazon SQS) 대기열에서 읽는 Amazon Elastic Container Service (Amazon ECS) 서비스로 모델을 배포합니다. AWS App Mesh를 사용하여 SQS 대기열 크기에 따라 ECS 클러스터의 인스턴스를 확장합니다.

C. API의 요청을 Amazon Simple Queue Service(Amazon SQS) 대기열로 보냅니다. SQS 이벤트에 의해 호출되는 AWS Lambda 함수로 모델을 배포합니다. AWS Auto Scaling을 사용하여 SQS 대기열 크기에 따라 Lambda 함수의 vCPU 수를 늘립니다.

D. API의 요청을 Amazon Simple Queue Service(Amazon SQS) 대기열로 보냅니다. 대기열에서 읽는 Amazon Elastic Container Service(Amazon ECS) 서비스로 모델을 배포합니다. 대기열 크기에 따라 서비스의 클러스터와 복사본 모두에 대해 Amazon ECS에서 AWS Auto Scaling을 활성화합니다.


 

풀이

이 문제는 수백 명의 사용자가 액세스하는 기계 학습 모델의 아키텍처를 설계하는 것입니다. 모델은 1GB의 데이터를 메모리에 로드하고, 사용자의 비동기 API 요청을 처리해야 합니다. 모델 사용 패턴이 불규칙하고, 때로는 수천 개의 요청 배치를 수신할 수 있습니다.

 

정답 : D

 

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

더보기

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

  • 수백 명의 사용자에게 1GB 기계 학습 모델 제공
  • 비동기 API 요청 처리
  • 불규칙한 모델 사용 패턴
  • 간혹 수천 개의 요청 배치 수신

 

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

Amazon SQS(Simple Queue Service): 완전관리형 메시지 대기열 서비스로, 애플리케이션 구성 요소 간 메시지 전송을 지원합니다. 대기열에 메시지를 추가하면 다른 구성 요소가 이를 안전하게 처리할 수 있습니다. 이 문제에서는 API 요청을 SQS 대기열로 보내 비동기 처리를 지원할 수 있습니다.

 

AWS Lambda: 서버리스 컴퓨팅 서비스로, 코드를 실행하는 데 필요한 리소스를 자동으로 프로비저닝합니다. API 게이트웨이, SQS 등의 이벤트 소스에 의해 트리거될 수 있습니다. Lambda의 메모리 제한(최대 10GB)으로 인해 1GB 모델 로드가 어렵고, 수천 개의 요청 배치를 처리하기에는 한계가 있습니다.

 

Amazon ECS(Elastic Container Service): 컨테이너 관리 서비스로, 컨테이너화된 애플리케이션을 배포, 실행, 관리할 수 있습니다. 자동 확장, 부하 분산 등의 기능을 제공합니다. ECS에서는 1GB 모델 로드와 수천 개의 요청 배치 처리가 가능합니다. Amazon EC2(Elastic Compute Cloud): AWS의 가상 컴퓨팅 환경으로, 필요에 따라 인스턴스 수를 확장하거나 축소할 수 있습니다. EC2 인스턴스에서도 1GB 모델 로드와 수천 개의 요청 배치 처리가 가능하지만, 관리 측면에서 ECS가 더 적합합니다.

 

3. 선택지 분석하기

A. API의 요청을 NLB로 보내고 Lambda 함수로 모델을 배포합니다.

→ 설명한 대로 Lambda의 한계로 인해 적절하지 않습니다.

 

B. API의 요청을 ALB로 보내고, SQS 대기열에서 읽는 ECS 서비스로 모델을 배포합니다. App Mesh로 SQS 대기열 크기에 따라 ECS 클러스터를 확장합니다.

→ 전반적으로 요구사항을 충족할 수 있지만, App Mesh 대신 ECS 자체 Auto Scaling 기능을 사용하는 것이 더 간단합니다.

 

C. API의 요청을 SQS 대기열로 보내고, SQS 이벤트에 의해 호출되는 Lambda 함수로 모델을 배포합니다. Auto Scaling으로 Lambda 함수의 vCPU를 조정합니다.

→ Lambda의 한계로 인해 적절하지 않습니다.

 

D. API의 요청을 SQS 대기열로 보내고, 대기열에서 읽는 ECS 서비스로 모델을 배포합니다. 대기열 크기에 따라 ECS 서비스와 클러스터를 Auto Scaling합니다.

→ 이 아키텍처는 요구사항을 모두 충족할 수 있습니다.

 

이어서 다음 문제입니다.


 

문제2

회사에서 Amazon ECS를 사용하여 애플리케이션을 실행합니다. 애플리케이션은 원본 이미지의 크기가 조정된 버전을 생성한 다음 Amazon S3 API를 호출하여 크기가 조정된 이미지를 Amazon S3에 저장합니다. 솔루션 설계자는 애플리케이션이 Amazon S3에 액세스할 권한이 있는지 어떻게 확인할 수 있습니까?

 

선택지

A. Amazon ECS에서 읽기/쓰기 액세스를 허용하도록 AWS IAM에서 S3 역할을 업데이트한 다음 컨테이너를 다시 시작합니다.

B. S3 권한이 있는 IAM 역할을 생성한 다음 작업 정의에서 해당 역할을 taskRoleArn으로 지정합니다.

C. Amazon ECS에서 Amazon S3로의 액세스를 허용하는 보안 그룹을 생성하고 ECS 클러스터에서 사용하는 시작 구성을 업데이트합니다.

D. S3 권한이 있는 IAM 사용자를 만든 다음 이 계정으로 로그인한 상태에서 ECS 클러스터에 대한 Amazon EC2 인스턴스를 다시 시작합니다.


 

풀이

이 문제는 Amazon ECS에서 실행되는 애플리케이션이 Amazon S3에 액세스할 수 있도록 권한을 부여하는 방법에 관한 것입니다. 애플리케이션은 이미지를 크기 조정한 후 S3에 저장해야 합니다.

 

정답 : B

 

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

더보기

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

  • Amazon ECS에서 실행되는 애플리케이션이 Amazon S3에 액세스할 수 있어야 함

 

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

AWS IAM(Identity and Access Management): AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 서비스입니다. 사용자, 그룹, 역할을 통해 세분화된 권한 관리가 가능합니다. 이 문제에서는 IAM 역할을 통해 ECS 작업에 S3 액세스 권한을 부여할 수 있습니다.

 

Amazon ECS Task Role: ECS 작업에 할당되는 IAM 역할로, 작업이 다른 AWS 서비스에 액세스할 수 있는 권한을 부여합니다. 이 역할에 S3 액세스 권한을 추가하면 ECS 작업이 S3에 액세스할 수 있습니다.

 

Amazon S3(Simple Storage Service): AWS의 객체 스토리지 서비스로, 버킷 정책과 액세스 제어 목록을 통해 액세스를 제어할 수 있습니다. 이 문제에서는 ECS 작업이 S3에 액세스할 수 있도록 권한을 부여해야 합니다.

 

Security Groups: 인스턴스 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다. 보안 그룹은 네트워크 액세스 제어에 사용되므로, 이 문제의 S3 액세스 권한 부여에는 적합하지 않습니다.

 

3. 선택지 분석하기

A. IAM에서 S3에 대한 읽기/쓰기 액세스 권한을 부여하는 역할을 생성하고, 컨테이너를 다시 시작합니다.

→ 컨테이너를 수동으로 재시작하는 것은 바람직하지 않습니다. 또한 역할을 통해 권한을 부여하는 것이 더 적절합니다.

 

B. S3 권한이 있는 IAM 역할을 생성한 다음 작업 정의에서 해당 역할을 taskRoleArn으로 지정합니다.

→ 이 방법이 가장 적절합니다. ECS 작업에 IAM 역할을 할당하여 S3 액세스 권한을 부여할 수 있습니다.

 

C. S3 액세스를 허용하는 보안 그룹을 생성하고, ECS 클러스터의 시작 구성을 업데이트합니다.

→ 설명한 대로 보안 그룹은 이 문제에 적합하지 않습니다.

 

D. S3 권한이 있는 IAM 사용자를 생성하고, 이 계정으로 EC2 인스턴스를 다시 시작합니다.

→ 장기적인 관리 측면에서 IAM 역할을 사용하는 것이 더 바람직합니다.

 

마지막 문제 살펴볼게요.


 

문제3

소셜 미디어 회사는 ALB(Application Load Balancer) 뒤의 Amazon EC2 인스턴스에서 애플리케이션을 실행합니다. ALB는 Amazon CloudFront 배포의 오리진입니다. 이 애플리케이션은 Amazon S3 버킷에 10억 개 이상의 이미지가 저장되어 있으며 초당 수천 개의 이미지를 처리합니다. 회사는 이미지 크기를 동적으로 조정하고 고객에게 적절한 형식을 제공하기를 원합니다. 최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

 

선택지

A. EC2 인스턴스에 외부 이미지 관리 라이브러리를 설치합니다. 이미지 관리 라이브러리를 사용하여 이미지를 처리합니다.

B. CloudFront 오리진 요청 정책을 생성합니다. 정책을 사용하여 자동으로 이미지 크기를 조정하고 요청의 User-Agent HTTP 헤더를 기반으로 적절한 형식을 제공합니다.

C. 외부 이미지 관리 라이브러리와 함께 Lambda@Edge 함수를 사용합니다 . Lambda@Edge 함수를 이미지를 제공하는 CloudFront 동작과 연결합니다 .

D. CloudFront 응답 헤더 정책을 생성합니다. 정책을 사용하여 자동으로 이미지 크기를 조정하고 요청의 User-Agent HTTP 헤더를 기반으로 적절한 형식을 제공합니다.


 

풀이

이 문제는 수십억 개의 이미지를 저장하고 있는 소셜 미디어 회사의 애플리케이션이 이미지 크기를 동적으로 조정하고 고객에게 적절한 형식을 제공할 수 있는 솔루션을 구축하는 것입니다. 최소한의 운영 오버헤드로 요구사항을 충족해야 합니다.

 

정답 : C

 

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

더보기

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

  • 이미지 크기 동적 조정 및 고객에게 적절한 형식 제공
  • 운영 오버헤드 최소화

 

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

Amazon CloudFront: AWS의 콘텐츠 전송 네트워크(CDN) 서비스로, 정적 및 동적 웹 콘텐츠를 전 세계에 안전하고 빠르게 배포할 수 있습니다. 사용자 지정 기능을 통해 이미지 최적화, HTTP 헤더 수정 등의 작업을 수행할 수 있습니다. CloudFront를 활용하면 운영 오버헤드를 최소화하면서 이 문제의 요구사항을 충족할 수 있습니다.

 

AWS Lambda@Edge: CloudFront 엣지 로케이션에서 실행되는 Lambda 함수로, 요청 및 응답을 수정할 수 있습니다. 이미지 크기 조정, 형식 변환 등의 작업에 활용할 수 있습니다. Lambda@Edge를 사용하면 외부 라이브러리를 통합하여 이미지 처리를 수행할 수 있습니다.

 

3. 선택지 분석하기

A. EC2 인스턴스에 외부 이미지 관리 라이브러리를 설치하고, 이를 사용하여 이미지를 처리합니다.

→ 사용자 지정 코드 개발 및 관리가 필요하므로 운영 오버헤드가 큽니다.

 

B. CloudFront 오리진 요청 정책을 생성하여 자동으로 이미지 크기를 조정하고 User-Agent HTTP 헤더를 기반으로 적절한 형식을 제공합니다.

→ 설명한 대로 오리진 요청 정책만으로는 이 문제의 요구사항을 충족하기 어렵습니다.

 

C. 외부 이미지 관리 라이브러리와 함께 Lambda@Edge 함수를 사용하여 이미지를 제공하는 CloudFront 동작과 연결합니다.

→ 이 방법을 사용하면 운영 오버헤드를 최소화하면서 요구사항을 충족할 수 있습니다.

 

D. CloudFront 응답 헤더 정책을 생성하여 자동으로 이미지 크기를 조정하고 User-Agent HTTP 헤더를 기반으로 적절한 형식을 제공합니다.

→ 설명한 대로 응답 헤더 정책만으로는 이미지 크기 조정 등의 작업을 수행할 수 없습니다.

 

오늘은 여러 분야의 문제를 풀어봤습니다!

늘 열심히 하시는 여러분께 좋은 결과 있길 바랍니다 🙂

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

AWS SAA 합격으로 가는 길 #116  (0) 2025.09.15
AWS SAA 합격으로 가는 길 #115  (0) 2025.09.12
AWS SAA 합격으로 가는 길 #113  (1) 2025.09.01
AWS SAA 합격으로 가는 길 #112  (1) 2025.08.29
AWS SAA 합격으로 가는 길 #111  (1) 2025.08.25