3-Tier Architecture를 완성하고 며칠 뒤, AWS Billing 대시보드에서 예상치 못한 금액을 발견했다. 프리티어 범위 내에서 실습했다고 생각했지만, 실제로는 어떤 부분에서 비용이 누수되고 있었는지 그 원인을 분석해보았다.
1. 왜 요금이 나왔는가?
프로젝트 완료 후 정산된 요금을 확인해보았다.
- 증상: Billing 대시보드에 $60.63이 나온 것을 확인했다
- AWS Cost Explorer를 활용하여 날짜별, 서비스별 비용 발생 지점을 추적해보았다


2. 원인 분석
조사 결과, 몇몇 구성 요소가 범인임을 확인할 수 있었다.
- NAT Gateway
- 원인: NAT Gateway는 생성만으로도 시간당 요금이 부과되며, 데이터 처리량에 따라 추가 비용이 발생한다
- 이유: Private Subnet의 서버들이 외부 업데이트를 받기위해 필수적이었지만, 실습이 끝나고도 계속 켜두었던 것이 원인이었다
- RDS Multi-AZ 및 스토리지
- 원인: RDS의 Multi-AZ 옵션은 고가용성을 제공하지만, 단일 인스턴스보다 높은 비용이 발생한다
- 이유: 실습 도중 인스턴스를 삭제하며 EIP만 남겨둔 실수를 했다
3. 해결 및 방지 대책
- 리소스 즉시 삭제: 실습이끝난 후 사용하지 않는 NAT Gateway와 ALB를 우선적으로 삭제했다
- AWS Budget 설정: 예상 임계값을 설정하여, 이를 초과할 경우 즉시 이메일 알림을 받도록 구성했다
- 프리티어 알림 활성화: 결제 대시보드에서 프리티어 사용량 한도 근접 알림을 활성화했다

4. 결론
요금 발생을 통해 교훈을 몇 개 얻었다.
- 아키텍쳐와 비용의 Tradeoff: 고가용성을 챙기려면 그만큼의 비용이 수반된다는 것을 실감했다
- 리소스 관리 습관: 생성한 리소스는 반드시 삭제하거나 중지하는 습관이 클라우드 엔지니어에게 얼마나 중요한지 배웠다
하지만 결국 발생한 모든 금액이 Credit으로 차감되어, 다행히 추가로 결제하는 일은 없었다