본문 바로가기

Stack/AWS

[AWS DEA] 문제로 공부하기 5 - Lambda + EventBridge

반응형
AWS DEA-C01 온프레미스 크론 → AWS 마이그레이션 | Lambda + EventBridge 최소 운영 오버헤드

온프레미스 크론(cron) → AWS 마이그레이션 — Lambda + EventBridge가 정답인 이유

AWS DEA-C01 시험에 자주 나오는 스케줄링 마이그레이션 문제입니다. 온프레미스 크론으로 매일 실행하던 Python 스크립트최소 운영 오버헤드로 AWS에 이전할 때, CloudShell / Lambda / EC2 / EventBridge 중 무엇을 선택해야 하는지 도식과 운영 오버헤드 비교로 정리합니다. (복수 정답 유형)

📋 문제

한 컨설턴트 회사가 클라우드 기반 시간 추적 시스템의 REST API에서 전날 레코드를 CSV로 가져오는 작업을 운영 중이다. 현재 온프레미스 크론(cron)이 매일 아침 같은 시간에 Python 프로그램을 실행하고, 결과를 Amazon S3 데이터 레이크에 저장한다. 데이터 엔지니어는 동일한 Python 코드와 크론 구성을 재사용하면서 최소한의 운영 오버헤드로 AWS로 이전해야 한다.

⚠️ 복수 정답 — 2개 선택

✅ 핵심 요구사항 체크

  • 🐍
    기존 Python 코드 재사용
    코드를 새로 짜지 않고 기존 Python 스크립트를 그대로 AWS 환경에서 실행해야 함
  • 기존 크론 구성 재사용
    매일 아침 같은 시각에 자동 실행되는 스케줄 → AWS에서도 cron 표현식 그대로 사용
  • 🪶
    최소 운영 오버헤드
    서버 프로비저닝 · 패치 · 유지관리 없이 코드 실행에만 집중할 수 있는 서버리스 방식 선호

📐 아키텍처 비교

🏢 AS-IS — 현재 (온프레미스)
🖥️
온프레미스 서버
직접 관리 필요
cron
매일 아침 실행
🐍
Python 스크립트
REST API 호출 → CSV
🪣
Amazon S3
데이터 레이크
☁️ TO-BE — AWS 마이그레이션 (정답 조합)
📅
EventBridge 스케줄러
cron 표현식 그대로
서버리스 스케줄링
λ
AWS Lambda
Python 런타임
Boto3 기본 포함
🌐
REST API
CSV 데이터 수집
🪣
Amazon S3
데이터 레이크

🪶 선택지별 운영 오버헤드 비교 (낮을수록 좋음)

Lambda ⭐
최저
거의 없음
EventBridge ⭐
최저
거의 없음
CloudShell
대화형
자동화 불가
EC2 + SDK
서버 관리
높음
EC2 + IDE
서버+IDE 관리
가장 높음

📝 선택지 해설

각 항목을 클릭하면 해설이 펼쳐집니다.

💡 CloudShell은 AWS 콘솔에서 브라우저로 여는 대화형 셸입니다. 사람이 직접 콘솔에 접속해 있을 때만 작동하며, 자동 스케줄링이 불가합니다. 세션이 닫히면 실행 환경도 사라져 크론 예약 용도로 전혀 적합하지 않습니다.
💡 정답. Lambda는 Python 런타임을 기본 제공하며, AWS SDK(Boto3)가 사전 설치되어 있어 S3 접근 코드를 별도 설정 없이 바로 실행할 수 있습니다. 서버를 프로비저닝·관리할 필요가 없어 운영 오버헤드가 거의 없습니다. 기존 Python 코드를 그대로 함수 핸들러에 붙여넣기만 하면 됩니다.
💡 EC2에서도 Python과 Boto3를 사용할 수 있고 크론도 설정 가능합니다. 하지만 EC2 인스턴스 자체를 프로비저닝·패치·모니터링·관리해야 하는 추가 운영 오버헤드가 발생합니다. "최소 운영 오버헤드" 조건에 맞지 않습니다.
💡 정답. EventBridge 스케줄러는 서버리스 스케줄링 서비스로, 기존 온프레미스 크론의 cron 표현식(cron(0 9 * * ? *) 형식)을 그대로 사용할 수 있습니다. Lambda 함수를 트리거하도록 연결하면 서버 없이 중앙에서 스케줄을 관리할 수 있으며, 운영 오버헤드가 거의 없습니다.
💡 EC2 인스턴스 관리에 더해 IDE 환경 구성·유지까지 추가됩니다. EC2 + SDK(C안)보다 오버헤드가 더 크며, 자동 스케줄링을 위한 별도 설정도 필요합니다. 선택지 중 운영 부담이 가장 높은 방식입니다.

정답: B (Lambda) + D (EventBridge 스케줄러)

EventBridge 스케줄러가 기존 cron 표현식으로 매일 아침 Lambda를 트리거하고, Lambda가 Python 코드를 실행해 REST API에서 CSV를 가져와 S3에 저장합니다. 서버 관리가 전혀 없는 완전 서버리스 구성으로 운영 오버헤드를 최소화합니다.

# 정답 조합 흐름 EventBridge 스케줄러 cron(0 9 * * ? *) ← 기존 크론 표현식 재사용 └─ Lambda 함수 트리거 └─ Python 런타임 + Boto3 (기본 내장) └─ 기존 Python 코드 그대로 실행 ├─ REST API 호출 → CSV 수신 └─ S3 버킷에 저장 (데이터 레이크) ✅

📊 선택지 비교 요약

선택지 Python 실행 cron 스케줄 서버 관리 운영 오버헤드
A. CloudShell ⚠️ 가능 ❌ 불가 없음 자동화 불가
B. Lambda ⭐ ✅ 기본 제공 트리거 필요 없음 최저
C. EC2 + SDK ✅ 설치 필요 ✅ cron 사용 직접 관리 높음
D. EventBridge ⭐ ✅ cron 표현식 없음 최저
E. EC2 + IDE ✅ 설치 필요 ✅ cron 사용 직접 관리 + IDE 가장 높음
#AWS_DEA-C01 #AWS데이터엔지니어 #크론마이그레이션 #AWSLambda #LambdaPython #EventBridge스케줄러 #서버리스스케줄링 #Boto3 #S3데이터레이크 #최소운영오버헤드 #온프레미스마이그레이션 #AWS자격증 #서버리스
반응형