우당탕탕
AWS Lambda 비용 없이 사용하는 방법, 직접 세팅하며 겪은 삽질과 해결 본문
저도 처음엔 AWS Lambda를 쓸 때 비용 걱정을 많이 했거든요. 실제로 비용 없이 람다를 운영할 수 있을까 싶었는데, 직접 설정해보고 모니터링하면서 생각보다 꽤 현실적이라는 걸 알았어요. 이걸 세팅하다가 막히는 부분도 많아서 기록해둡니다.
이 글에서는 Lambda 무료 티어 활용법, 메모리/실행시간 최적화, 호출량 제한 설정, 그리고 비용 발생을 막는 모니터링 팁까지, 실제 명령어와 콘솔 세팅값을 포함해서 상세히 다룰게요.
AWS Lambda 비용 없이 사용하는 방법 실전 예시 관련 정보
개발 환경 / 버전 정보
AWS Lambda는 기본적으로 AWS 콘솔과 AWS CLI 최신 버전(2.12 이상), 그리고 Node.js 18 런타임을 썼어요. Lambda 함수 코드는 간단한 Node.js 18 환경으로 작성했습니다. AWS CLI는 윈도우 11, MacOS 둘 다 동일 명령어로 동작해요.
무료 티어 안에서 Lambda 세팅 이렇게 하면 됩니다
사실 이 부분이 제일 중요한데요, AWS Lambda는 매월 100만 건의 무료 호출과 400,000 GB-초의 실행 시간이 있습니다. 이걸 최대한 활용하려면 메모리를 꼭 128MB로 세팅해야 하거든요.
# AWS CLI로 Lambda 메모리 128MB로 설정
aws lambda update-function-configuration --function-name myLambdaFunction --memory-size 128
이 명령어는 이미 만든 함수에 메모리 사이즈를 낮게 고정하는데, Lambda 자체가 메모리가 작을수록 실행 시간도 짧아지고 비용도 줄어듭니다. 메모리를 너무 높게 잡으면 실행 초과시 비용 폭탄 나올 수 있으니 주의하세요.
실행 시간 제한과 호출량 관리로 비용 방지하는 법
그런데 여기서 많이 틀리시는 게 실행 시간을 너무 길게 줘서 무료 티어 초과하는 경우에요. 실제로 저는 기본값인 3초를 10초로 바꿨다가 부랴부랴 다시 조정했거든요.
# 실행 시간 3초로 다시 설정
aws lambda update-function-configuration --function-name myLambdaFunction --timeout 3
또, 호출량이 갑자기 늘어나서 비용이 예상 외로 발생할 수 있는데, 이걸 막으려면 동시 실행 수 제한을 걸면 돼요.
# 동시 실행 수 제한 예시: 100개
aws lambda put-function-concurrency --function-name myLambdaFunction --reserved-concurrent-executions 100
이 설정을 해 두면 갑자기 호출이 폭증해도 100개 이상 실행되지 않아서 비용 관리가 훨씬 안전해집니다.
제가 겪은 삽질 포인트와 해결법
실제로 처음 세팅할 때 AWS Lambda 무료 티어가 자동 적용되는 줄 알았는데, 호출량이 조금만 늘어나도 갑자기 비용이 발생해서 당황했어요. 원인은 Lambda 함수가 동시 다발적으로 호출되어 실행 시간이 길어지면서 쓰레기처럼 쌓였더라고요.
이걸 해결하려고 아래처럼 CloudWatch 알람을 설정했는데, 설정이 조금 잘못돼서 알람이 안 왔던 적도 있었어요. 핵심은 정확한 메트릭과 임계값을 지정하는 겁니다.
# CloudWatch 알람 생성 예시: 동시 실행 수 100 초과 시 경고
aws cloudwatch put-metric-alarm \
--alarm-name LambdaConcurrentExecutionsAlarm \
--metric-name ConcurrentExecutions \
--namespace AWS/Lambda \
--statistic Average \
--period 60 \
--threshold 100 \
--comparison-operator GreaterThanThreshold \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:REGION:ACCOUNT_ID:MyTopic \
--dimensions Name=FunctionName,Value=myLambdaFunction
SNS 주제(Topic) 생성과 구독 설정이 함께 되어 있어야 해서 처음에 좀 복잡했는데, 이 부분은 AWS 콘솔에서 간단히 만들 수 있으니 꼭 확인하세요.
AWS Lambda 비용 없이 사용하는 방법 실전 예시 관련 정보
심화: Lambda 비용 절감에 도움 되는 팁
기본 세팅만 잘 해도 비용 걱정은 줄지만, 더 깐깐하게 관리하고 싶으면 Lambda 실행 코드를 최대한 빠르게 돌리는 게 핵심이에요. 저는 비동기 호출 시 응답을 빠르게 주고, 내부에서 복잡한 계산은 다른 서비스(AWS SQS, DynamoDB 등)로 분리했어요.
그리고 호출량이 일정 이상 되면 AWS Free Tier 초과하므로, API Gateway 호출량에 제한을 두는 것도 좋은 방법입니다. AWS API Gateway에서 스테이지별 쿼터 설정하는 명령어는 아래와 같아요.
# API Gateway 호출량 제한 예시
aws apigateway update-stage \
--rest-api-id YOUR_API_ID \
--stage-name prod \
--patch-operations op=replace,path=/throttling/rateLimit,value=1000
aws apigateway update-stage \
--rest-api-id YOUR_API_ID \
--stage-name prod \
--patch-operations op=replace,path=/throttling/burstLimit,value=2000
자주 물어보시는 것들
Q. Lambda 무료 티어가 끝나면 어떻게 알 수 있나요?
A. AWS 비용 탐색기에서 월별 사용량과 비용을 모니터링하세요. 비용 발생 시 알림을 보내도록 AWS Budgets를 설정하는 것도 추천합니다.
Q. Lambda 메모리를 128MB로 하면 성능이 너무 안 나오지 않나요?
A. 함수를 빠르게 실행하는 게 중요하다면 메모리를 늘려보세요. 하지만 무료 티어 안에서 비용을 맞추려면 트레이드오프가 필요해요. 저는 테스트 후 128MB~256MB에서 적절히 조절했습니다.
AWS Lambda 비용 없이 사용하는 방법 실전 예시 관련 정보
이렇게 Lambda 무료 티어 조건과 실행환경 설정을 직접 만져보면서 비용 걱정을 꽤 줄일 수 있었어요. 추후에는 AWS Step Functions 같은 서비스와 연계해 비용과 성능 균형을 맞추는 것도 하나의 방향입니다.
'Tech > AWS' 카테고리의 다른 글
| AWS 비용 예상치 못하게 나왔을 때 원인 찾는 법, 제가 직접 겪은 사례로 풀어봤어요 (1) | 2026.05.23 |
|---|---|
| AWS S3 정적 웹사이트 호스팅에 CloudFront 연결하면서 겪은 삽질과 해결법 (0) | 2026.05.18 |
| AWS RDS와 EC2 MySQL, 직접 써보니 어떤 경우에 좋은지 알겠더라고요 (0) | 2026.05.11 |
| AWS re:Invent 2025 총정리: Nova 2, Bedrock, Aurora DSQL로 보는 클라우드·AI 미래 (0) | 2025.12.14 |
| [AWS] Amazon S3란? - 클라우드 시대의 표준 파일 저장소 (0) | 2025.05.16 |
