<aside> 👉

‘모잇지(Moitz)’ 서비스에서 CD 파이프라인을 구축하며 OIDC를 도입하고 Github Hosted Runner로 전환한 과정을 기록합니다.

이 문서는 CD 파이프라인 개선 과정을 다룬 총 2편의 기술 문서 중 2편입니다. 아래 링크를 통해 다른 편도 함께 확인하실 수 있습니다.

들어가며

인프라 이전, 그리고 배포 실패

지난 1편에서는 우아한테크코스 인프라 보안 정책상 AWS Access Key 발급이 제한되어 Self-hosted Runner를 구축해 배포를 진행했던 과정을 다뤘습니다.

하지만 프로젝트가 끝나고 실제 운영을 위해 인프라를 이전하게 되었습니다.

인프라 이사 이후 새로운 AWS 계정과 S3 버킷을 생성하고 야심 차게 배포를 돌렸는데, CD 파이프라인이 빨간불을 띄우며 실패했습니다.

1. [WHY] 배경

문제 상황: AccessDenied (권한 오류)

에러 로그를 확인해보니 S3에 접근하는 과정에서 AccessDenied가 발생했습니다.

fatal error: An error occurred (AccessDenied) when calling the ListObjectsV2 operation: 
User: arn:aws:sts::... is not authorized to perform: s3:ListBucket on resource: "arn:aws:s3:::moitz-service"

스크린샷 2025-12-05 오후 1.59.42.png

원인 분석:

기존 Self-hosted Runner(EC2)가 사용하던 IAM Role에는 새로 만든 S3 버킷에 대한 접근 권한(ListBucket, PutObject 등)이 없었기 때문입니다.

단순히 EC2에 권한을 추가해 줄 수도 있었지만, "과연 EC2를 유지하는 게 최선일까?" 라는 근본적인 의문을 던지게 되었습니다.