안녕하세요! 넥스트클라우드의 EduOps 백종훈입니다. 🙂
AWS 자격증 준비, 생각보다 어렵지 않습니다. 핵심은 개념을 정확히 이해하고, 실제 시나리오에 어떻게 적용하는지 아는 것이죠. 오늘 준비한 세 문제를 통해 컨테이너 서비스, 사용자 인증, 그리고 비용 최적화 전략을 함께 살펴보겠습니다!
문제는 세 가지 단계를 거치며 풀어가겠습니다.
1. 문제의 요구사항 분석하기
2. 관련 AWS 서비스 생각하기
3. 선택지 분석하기
바로 문제 풀이 시작합니다.
문제1
한 회사가 Docker 컨테이너를 사용하여 애플리케이션을 구축했으며 AWS 클라우드에서 애플리케이션을 실행해야 합니다. 회사는 관리형 서비스를 사용하여 애플리케이션을 호스팅하려고 합니다.
솔루션은 개별 컨테이너 서비스에 대한 수요에 따라 적절하게 확장 및 축소되어야 합니다. 또한 솔루션으로 인해 추가적인 운영 오버헤드나 관리해야 할 인프라가 발생해서는 안 됩니다.
어떤 솔루션이 이러한 요구 사항을 충족합니까? (2개를 선택하세요.)
선택지
A. AWS Fargate와 함께 Amazon Elastic Container Service(Amazon ECS)를 사용하십시오.
B. AWS Fargate와 함께 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용하십시오.
C. Amazon API Gateway API를 프로비저닝합니다. API를 AWS Lambda에 연결하여 컨테이너를 실행합니다.
D. Amazon EC2 작업자 노드와 함께 Amazon Elastic Container Service(Amazon ECS)를 사용하십시오.
E. Amazon EC2 작업자 노드와 함께 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용합니다.
풀이
이 문제는 컨테이너 기반 애플리케이션을 서버리스 방식으로 운영하는 능력을 평가합니다. Docker 컨테이너를 AWS에서 실행할 때 EC2 인스턴스를 직접 관리하면 운영 오버헤드가 발생하지만, AWS Fargate를 활용하면 서버 프로비저닝이나 클러스터 관리 없이 컨테이너를 실행할 수 있습니다. ECS와 EKS 모두 Fargate와 통합되어 수요에 따라 자동으로 확장 및 축소되므로, 관리형 서비스의 이점을 최대한 활용할 수 있습니다.
정답 : A,B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- Docker 컨테이너 기반 애플리케이션을 AWS 클라우드에서 실행
- 관리형 서비스를 사용하여 애플리케이션 호스팅
- 개별 컨테이너 서비스에 대한 수요에 따라 자동 확장 및 축소
- 추가 운영 오버헤드 및 관리 인프라 없이 실행
2. 관련 AWS 서비스 생각하기
- Amazon Elastic Container Service(Amazon ECS) : AWS에서 컨테이너화된 애플리케이션을 실행, 관리 및 확장할 수 있는 완전 관리형 컨테이너 오케스트레이션 서비스입니다. EC2 인스턴스에서 직접 실행하는 EC2 시작 유형과 AWS Fargate를 통해 서버리스 방식으로 실행하는 Fargate 시작 유형을 지원합니다. AWS 관리형 서비스로 클러스터 관리, 모니터링 및 태스크 스케줄링을 자동화하여 운영 오버헤드를 줄입니다.
- Amazon Elastic Kubernetes Service(Amazon EKS) : Kubernetes를 AWS 클라우드에서 손쉽게 실행할 수 있도록 지원하는 관리형 서비스입니다. Kubernetes 컨트롤 플레인을 자동으로 관리하며, ECS와 마찬가지로 Fargate와 통합하여 서버리스 방식으로 컨테이너를 실행할 수 있습니다.
- AWS Fargate : 컨테이너를 실행하기 위한 서버리스 컴퓨팅 엔진으로, ECS 및 EKS와 통합되어 있습니다. 서버 프로비저닝이나 클러스터 관리가 필요 없으므로 운영 오버헤드를 줄일 수 있습니다. Fargate는 컨테이너에 필요한 CPU 및 메모리 리소스를 자동으로 프로비저닝하고, 수요에 따라 자동으로 확장 및 축소됩니다.
3. 선택지 분석하기
A. AWS Fargate와 함께 Amazon Elastic Container Service(Amazon ECS)를 사용하십시오.
→ Fargate와 ECS를 함께 사용하면 서버 관리 없이 컨테이너를 실행할 수 있으며, 수요에 따라 자동으로 확장 및 축소됩니다. 추가 운영 오버헤드나 관리 인프라 없이 요구사항을 충족합니다.
B. AWS Fargate와 함께 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용하십시오.
→ Fargate와 EKS를 함께 사용하면 Kubernetes 기반 컨테이너를 서버리스 방식으로 실행할 수 있습니다. 인프라 관리 없이 자동 확장 및 축소가 가능하여 요구사항을 충족합니다.
C. Amazon API Gateway API를 프로비저닝합니다. API를 AWS Lambda에 연결하여 컨테이너를 실행합니다.
→ Lambda는 컨테이너 이미지를 지원하지만, 이미 구축된 Docker 컨테이너 애플리케이션을 실행하기에는 적합하지 않으며 API Gateway와의 조합은 이 시나리오에 맞지 않습니다.
D. Amazon EC2 작업자 노드와 함께 Amazon Elastic Container Service(Amazon ECS)를 사용하십시오.
→ EC2 인스턴스를 직접 관리해야 하므로 패치, 업데이트, 스케일링 등 추가적인 운영 오버헤드가 발생합니다.
E. Amazon EC2 작업자 노드와 함께 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용합니다.
→ EC2 인스턴스를 작업자 노드로 사용하면 인스턴스 관리, 패치, 모니터링 등의 운영 오버헤드가 발생하여 요구사항에 부합하지 않습니다.
이어서 다음 문제입니다.
문제2
분석 회사는 Amazon VPC를 사용하여 다중 계층 서비스를 실행합니다. 회사는 RESTful API를 사용하여 수백만 명의 사용자에게 웹 분석 서비스를 제공하려고 합니다. API에 액세스하려면 인증 서비스를 사용하여 사용자를 확인해야 합니다.
가장 효율적인 운영 효율성으로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. 사용자 인증을 위해 Amazon Cognito 사용자 풀을 구성합니다. Cognito 권한 부여자를 사용하여 Amazon API Gateway REST API를 구현합니다.
B. 사용자 인증을 위해 Amazon Cognito 자격 증명 풀을 구성합니다. Cognito 권한 부여자를 사용하여 Amazon API Gateway HTTP API를 구현합니다.
C. 사용자 인증을 처리하도록 AWS Lambda 함수를 구성합니다. Lambda 권한 부여자를 사용하여 Amazon API Gateway REST API를 구현합니다.
D. 사용자 인증을 처리하도록 IAM 사용자를 구성합니다. IAM 권한 부여자를 사용하여 Amazon API Gateway HTTP API를 구현합니다.
풀이
이 문제는 대규모 사용자 인증을 효율적으로 관리하는 능력을 평가합니다. 수백만 명의 사용자를 위한 인증 시스템을 구축할 때 직접 구현하거나 IAM 사용자로 관리하는 것은 확장성과 운영 효율성 면에서 한계가 있습니다. Amazon Cognito 사용자 풀은 사용자 등록, 인증, 계정 복구 등의 기능을 완전 관리형으로 제공하며, API Gateway와 네이티브하게 통합되어 인증된 사용자에게만 API 액세스를 허용할 수 있습니다.
정답 : A
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 다중 계층 서비스를 Amazon VPC에서 실행
- 수백만 명의 사용자에게 웹 분석 서비스를 RESTful API로 제공
- 인증 서비스를 통해 사용자를 확인하고 API 액세스 권한 부여
- 최고 수준의 운영 효율성 확보
2. 관련 AWS 서비스 생각하기
- Amazon Cognito : 웹 및 모바일 애플리케이션의 사용자 인증 및 권한 부여를 위한 완전 관리형 서비스입니다. 사용자 풀은 사용자 디렉터리를 제공하며, 사용자 등록, 인증, 계정 복구, 이메일/전화번호 확인 등의 기능을 제공합니다. 사용자 데이터를 안전하게 암호화하여 저장하고 인증 흐름을 자동으로 처리합니다. 자격 증명 풀은 AWS 리소스에 대한 임시 자격 증명을 제공하는 것으로, 외부 사용자 인증에는 사용자 풀이 적합합니다.
- Amazon API Gateway : RESTful API와 WebSocket API를 쉽게 생성, 게시, 유지 관리, 모니터링 및 보안 설정할 수 있는 완전 관리형 서비스입니다. HTTPS 엔드포인트, 트래픽 관리, CORS 지원, API 버전 관리 등의 기능을 제공합니다. 다양한 권한 부여자를 지원하여 API 액세스를 세밀하게 제어할 수 있으며, Cognito 사용자 풀을 권한 부여자로 사용하면 인증된 사용자에게만 API 액세스를 허용할 수 있습니다.
3. 선택지 분석하기
A. 사용자 인증을 위해 Amazon Cognito 사용자 풀을 구성합니다. Cognito 권한 부여자를 사용하여 Amazon API Gateway REST API를 구현합니다.
→ 이 방식은 수백만 명의 사용자를 완전 관리형으로 쉽게 인증할 수 있고, Cognito와 API Gateway의 네이티브 통합으로 인증된 사용자에게만 API 액세스를 제한할 수 있으며, 추가 코드 작성이나 인프라 관리 없이 최고의 운영 효율성을 제공합니다.
B. 사용자 인증을 위해 Amazon Cognito 자격 증명 풀을 구성합니다. Cognito 권한 부여자를 사용하여 Amazon API Gateway HTTP API를 구현합니다.
→ 자격 증명 풀은 인증된 사용자에게 AWS 리소스 액세스를 위한 임시 자격 증명을 제공하는 서비스로, 사용자 인증 자체를 담당하지 않습니다. 사용자 인증에는 사용자 풀이 적합합니다.
C. 사용자 인증을 처리하도록 AWS Lambda 함수를 구성합니다. Lambda 권한 부여자를 사용하여 Amazon API Gateway REST API를 구현합니다.
→ Lambda 함수를 사용하면 인증 로직을 직접 구현하고 유지 관리해야 하므로 개발 및 운영 오버헤드가 발생합니다. 수백만 명의 사용자를 위한 확장 가능한 인증 시스템을 직접 구축하는 것은 비효율적입니다.
D. 사용자 인증을 처리하도록 IAM 사용자를 구성합니다. IAM 권한 부여자를 사용하여 Amazon API Gateway HTTP API를 구현합니다.
→ IAM 사용자는 AWS 리소스에 접근하는 내부 사용자나 서비스를 위한 것으로, 수백만 명의 외부 애플리케이션 사용자를 관리하는 데는 적합하지 않습니다. 또한 계정당 IAM 사용자 수에는 제한이 있습니다.
마지막 문제 살펴보겠습니다.
문제3
회사는 Amazon EC2 인스턴스에서 Java 기반 작업을 실행합니다. 작업은 매시간 실행되며 실행하는 데 10초가 걸립니다. 작업은 예약된 간격으로 실행되며 1GB의 메모리를 사용합니다.
작업이 사용 가능한 최대 CPU를 사용하는 짧은 순간을 제외하고 인스턴스의 CPU 사용률은 낮습니다. 회사는 작업 실행 비용을 최적화하려고 합니다.
이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
선택지
A. AWS App2Container(A2C)를 사용하여 작업을 컨테이너화합니다. 0.5 vCPU(가상 CPU) 및 1GB 메모리를 사용하여 AWS Fargate에서 Amazon Elastic Container Service(Amazon ECS) 작업으로 작업을 실행합니다.
B. 메모리가 1GB인 AWS Lambda 함수에 코드를 복사합니다. Amazon EventBridge 예약 규칙을 생성하여 매시간 코드를 실행합니다.
C. AWS App2Container(A2C)를 사용하여 작업을 컨테이너화합니다. 기존 Amazon Machine Image(AMI)에 컨테이너를 설치합니다. 태스크가 완료되면 스케줄이 컨테이너를 중지하는지 확인하십시오.
D. 작업 완료 시 EC2 인스턴스를 중지하고 다음 작업이 시작될 때 EC2 인스턴스를 다시 시작하도록 기존 일정을 구성합니다.
풀이
이 문제는 예측 가능한 간헐적 워크로드에 대한 비용 최적화 방법을 평가합니다. 매시간 단 10초만 실행되는 작업을 위해 EC2 인스턴스를 24시간 가동하는 것은 비효율적입니다. AWS Lambda는 코드 실행 시간과 메모리 사용량에 대해서만 비용을 지불하는 서버리스 서비스로, 이러한 짧고 예측 가능한 작업에 이상적입니다. Amazon EventBridge의 예약 규칙을 통해 정확한 시간에 Lambda 함수를 트리거하여 인프라 관리 없이 비용을 극적으로 절감할 수 있습니다.
정답 : B
▼ 자세한 문제 풀이를 원하신 분은 아래 더보기를 통해 확인해 주세요.
1. 문제의 요구사항 분석하기
- 매시간 실행되는 Java 기반 작업 (시간당 1회)
- 작업 실행 시간은 단 10초
- 작업 메모리 사용량은 1GB
- 대부분의 시간 동안 CPU 사용률이 낮고, 작업 실행 시 짧은 순간만 최대 CPU 사용
- 작업 실행 비용 최적화가 목표
2. 관련 AWS 서비스 생각하기
- AWS Lambda : 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행하는 서버리스 컴퓨팅 서비스입니다. 코드가 실행되는 시간(밀리초 단위)과 할당된 메모리에 대해서만 비용을 지불하므로, 간헐적으로 실행되는 짧은 작업에 매우 비용 효율적입니다. Lambda는 128MB부터 10GB까지 메모리를 할당할 수 있으며, 메모리 할당량에 비례하여 CPU 성능이 자동으로 조정됩니다. Java를 비롯한 다양한 런타임을 지원합니다.
- Amazon EventBridge : 애플리케이션, 통합 SaaS 애플리케이션 및 AWS 서비스를 연결하는 서버리스 이벤트 버스 서비스입니다. 예약 규칙(cron 또는 rate 표현식)을 사용하여 정해진 시간에 Lambda 함수를 자동으로 실행할 수 있습니다. "매시간" 같은 반복 스케줄을 손쉽게 설정할 수 있어 배치 작업이나 정기 작업에 이상적입니다.
3. 선택지 분석하기
A. AWS App2Container(A2C)를 사용하여 작업을 컨테이너화합니다. 0.5 vCPU(가상 CPU) 및 1GB 메모리를 사용하여 AWS Fargate에서 Amazon Elastic Container Service(Amazon ECS) 작업으로 작업을 실행합니다.
→ Fargate는 컨테이너가 실행되는 동안 지속적으로 비용이 발생합니다. 10초만 실행되는 작업에는 Lambda의 초 단위 과금이 훨씬 경제적입니다. 또한 컨테이너화 과정과 ECS 설정이 추가로 필요합니다.
B. 메모리가 1GB인 AWS Lambda 함수에 코드를 복사합니다. Amazon EventBridge 예약 규칙을 생성하여 매시간 코드를 실행합니다.
→ Lambda는 실행 시간(10초)과 메모리(1GB)에 대해서만 과금되므로 하루 24회 실행해도 총 240초(4분)의 컴퓨팅 비용만 발생합니다. EventBridge를 통한 예약 실행도 간단하며, 인프라 관리가 전혀 필요 없어 운영 효율성도 최고입니다. 비용 최적화 측면에서 가장 이상적인 솔루션입니다.
C. AWS App2Container(A2C)를 사용하여 작업을 컨테이너화합니다. 기존 Amazon Machine Image(AMI)에 컨테이너를 설치합니다. 태스크가 완료되면 스케줄이 컨테이너를 중지하는지 확인하십시오.
→ 여전히 EC2 인스턴스 기반 솔루션이므로 인스턴스가 실행 중인 모든 시간에 대해 비용이 발생합니다. 컨테이너 중지만으로는 인스턴스 비용이 절감되지 않습니다.
D. 작업 완료 시 EC2 인스턴스를 중지하고 다음 작업이 시작될 때 EC2 인스턴스를 다시 시작하도록 기존 일정을 구성합니다.
→ EC2 인스턴스의 시작과 중지에는 수 분이 소요되어 10초 작업에는 비효율적입니다. 또한 중지 상태에서도 EBS 볼륨 비용이 발생하며, 빈번한 시작/중지는 운영 복잡도를 높입니다.
문제 풀어보시느라 고생 많으셨습니다. 다음 포스팅에서 또 만나용~🙂
'AWS > SAA 준비' 카테고리의 다른 글
| AWS SAA 합격으로 가는 길 #151 (0) | 2026.01.19 |
|---|---|
| AWS SAA 합격으로 가는 길 #150 (1) | 2026.01.16 |
| AWS SAA 합격으로 가는 길 #148 (0) | 2026.01.09 |
| AWS SAA 합격으로 가는 길 #147 (0) | 2026.01.05 |
| AWS SAA 합격으로 가는 길 #146 (0) | 2026.01.02 |