목록 보기
속도 개선을 위한 노력 2탄: Github Actions로 CI/CD 전환하기
데브옵스

속도 개선을 위한 노력 2탄: Github Actions로 CI/CD 전환하기

삼쩜삼
삼쩜삼
2025년 1월 5일

두줄요약

Github Actions로 CI/CD를 전환해 배포 속도와 협업 효율을 높인 사례를 소개했습니다. Terraform 캐시와 Terragrunt 최적화로 배포 시간을 크게 줄였습니다.

문제 상황

  • Terraform 기반 인프라 코드가 늘어나며 AWS CodePipeline 배포에서 처리 속도 저하와 에러 빈도 증가
  • Terraform init 과정의 모듈·프로바이더 다운로드로 디스크 부족과 러너 다운 현상 발생

원인 분석

  • CodePipeline의 순차 실행 구조로 인한 병렬 처리 한계
  • .terraform 디렉토리 증가와 캐시 부재로 인한 디스크·네트워크 부담
  • 리소스 증설만으로는 Terraform 실행 비효율과 메모리 부족 문제 해소 어려움

해결 방법

  • CI/CD를 Github Actions로 전환하고 self-hosted runner 활용
  • Provider Cache Plugin 적용으로 프로바이더 재다운로드 최소화
  • Terragrunt 도입으로 모듈 래핑, 자동 Backend 설정, 병렬 실행 제어

성능/운영 포인트

  • Gradle 캐시와 최적화로 파이프라인 시간 20분 내외에서 3분 내외로 단축
  • S3와 DynamoDB 기반 state 관리 및 locking으로 충돌 방지
  • 승인 절차를 포함한 tf-plan, tf-apply 분리로 변경 안전성 확보

다음 읽기

#AWS 주제를 이어서 읽기

속도 개선을 위한 노력 1탄: Codebuild S3 캐시 적용하기

AWS CodeBuild에 S3 캐시를 적용해 빌드 시간을 줄이고 비용도 절감했습니다. 또한 Slack 명령어로 캐시 조회와 삭제를 자동화해 운영 편의성을 높였습니다.

삼쩜삼
삼쩜삼
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...