AWS 비용 절감 실전 노하우

EC2 비용 절감: Spot 인스턴스와 오토스케일링 활용EC2를 계속 온디맨드로만 사용하면 요금이 크게 나옵니다. Spot 인스턴스를 사용하면 최대 90%까지 절약할 수 있어요. ASG(오토스케일링 그룹)를 같이 쓰면 Spot이 회수돼도 자동으로 온디맨드로 전환해 다운타임 없이 운용할 수 있습니다.
resource aws_autoscaling_group web_asg {
name = web-asg
launch_configuration = aws_launch_configuration.web.name
max_size = 10
min_size = 2
desired_capacity = 4
mixed_instances_policy {
instances_distribution {
on_demand_base_capacity = 1
spot_allocation_strategy = lowest-price
}
}
}
S3 저장 비용: Intelligent-Tiering로 자동 절약
S3에 로그나 백업 등 자주 안 쓰는 데이터를 표준 요금으로 계속 저장하면 비효율적입니다. S3 Intelligent-Tiering을 켜면 안 쓰이는 파일을 자동으로 저렴한 스토리지 클래스로 옮겨줘서 저장비를 30% 정도 낮출 수 있어요.
aws s3api put-bucket-intelligent-tiering-configuration
--bucket my-logs-bucket
--id my-tier-config
--intelligent-tiering-configuration file://tier.json
Graviton 인스턴스: ARM 기반으로 변경해 저렴+빠르게
기존 x86 EC2만 고집하면 비용과 성능이 아쉽다? Go, Node.js 등 ARM 지원하는 워크로드는 Graviton2/3 인스턴스로 바꾸면 20~30% 더 저렴하고, 성능도 대부분 향상됩니다. Docker 이미지 빌드만 ARM용으로 손쉽게 바꾸면 됩니다.
FROM --platform=linux/arm64 golang:1.22 as builder
WORKDIR /app
COPY . .
RUN go build -o server .
FROM --platform=linux/arm64 alpine
COPY --from=builder /app/server /server
CMD [/server]
EC2 크론 대체: Lambda와 Step Functions로 효율적으로
자주 반복되는 작업(크론 등)을 EC2로 계속 돌리는 건 낭비가 클 수 있습니다. Lambda와 Step Functions를 활용하면 작업 실행 시에만 비용이 들고, 설정도 단순해집니다.
package main
import ( context fmt )
func Handler(ctx context.Context) (string, error) {
fmt.Println(Cron job executed)
return OK, nil
}
Savings Plans: 예측되는 워크로드 비용 대폭 할인
EC2 등 항상 돌리는 서버는 Savings Plans를 통해 1년~3년 구독 계약하면 온디맨드 요금 대비 최대 40%까지 할인을 받습니다. 예측 가능한 중요한 서버에 아주 유용한 방법이죠.
CloudFront CDN: S3 egress 비용과 로딩 개선
웹 사이트의 이미지나 정적 파일을 S3에서 바로 제공하면 데이터 전송료(egress)가 많이 나옵니다. CloudFront를 S3 앞에 배치하면 CDN을 통한 캐싱으로 요청과 데이터 전송 비용을 크게 줄일 수 있고, 사용자도 더 빠른 페이지 로딩을 경험합니다.
적정 인스턴스 선택: Compute Optimizer로 효율화
실제 애플리케이션에는 너무 큰 EC2 인스턴스가 들어가 운영 비용만 커지는 경우가 많아요. Compute Optimizer를 써서 과도한 사양을 바로 잡으면, 예를 들어 m5.large에서 t3.medium으로 바꿔 몇 분 만에 큰 절감 효과를 누릴 수 있습니다.
로그 저장 비용: OpenSearch로 저렴하게
CloudWatch 로그를 많이 쌓으면 요금 폭탄이 올 수 있습니다. Fluent Bit로 로그를 Amazon OpenSearch로 보내면, 저장 비용도 저렴하고 검색도 더 강력하게 할 수 있어요.
[OUTPUT]
Name es
Host my-opensearch-cluster
Port 443
Index logs
최적화 요령: 시작은 분석, 작은 실천부터!
비용을 제대로 줄이려면 먼저 Cost Explorer, Compute Optimizer로 사용 패턴을 꼼꼼히 살핍니다. Spot 인스턴스, Tiering, 자동화 등 작은 변화도 매달 거액의 절약 효과로 이어지니, 주저하지 말고 하나씩 시도해 보세요. AWS는 똑똑하게 쓰면 저렴한 클라우드가 될 수 있습니다.