
데브옵스
속도 개선을 위한 노력 1탄: Codebuild S3 캐시 적용하기
두줄요약
AWS CodeBuild에 S3 캐시를 적용해 빌드 시간을 줄이고 비용도 절감했습니다. 또한 Slack 명령어로 캐시 조회와 삭제를 자동화해 운영 편의성을 높였습니다.
문제 상황
- AWS CodePipeline 기반 배포에서 인스턴스 초기화와 의존성 재다운로드로 빌드 시간이 길어지는 문제
- 빌드 시간 증가로 CI/CD 효율과 실행 비용 최적화 필요성 대두
원인 분석
- CodeBuild가 매 빌드마다 별도 인스턴스를 띄워 초기화 비용 발생
- Gradle 의존성 등 외부 저장소 재다운로드로 네트워크 지연 발생
해결 방법
- 범용 적용 가능성과 즉각적인 효과를 고려해 AWS CodeBuild S3 캐시 채택
- buildspec의 cache paths와 CodeBuild S3 캐시 설정으로 Gradle 디렉터리 캐싱 적용
성능/운영 포인트
- 초기 업로드로 30~40초 추가 지연이 있었지만 이후 캐시 히트로 빌드 시간 38~61% 단축
- 캐시 클린 자동화를 위해 Slack 명령어, Lambda, Cross-Account IAM Role로 조회·삭제 운영 체계 구성
- 빌드 시간 단축과 함께 월 비용도 약 8.5% 절감
