
데브옵스
Ansible과 Rundeck을 활용한 서버 작업 자동화 및 권한 제어
두줄요약
Rundeck과 Ansible로 서버 작업을 자동화하고 권한을 분리한 사례를 소개했습니다. 수천 대 서버 환경에서 반복 작업과 직접 접근 위험을 줄이고 운영 신뢰성을 높였습니다.
문제 상황
- LINE Pay의 빠른 성장으로 수천 대 규모 서버와 다수 비즈니스 도메인이 생기며 운영 작업 빈도와 복잡도 증가
- 임시 서버 작업과 반복적인 설정 확인이 많아 실수·사고 위험과 운영 비용이 함께 상승
- 개발과 운영 환경 분리 이후 접근 권한, 감사 이력, 신뢰성 있는 작업 체계 마련 필요
원인 분석
- 기존 Git 동기화 중심 관리만으로는 비정기 애드혹 작업과 대규모 서버 구성 대응이 어려움
- 서버 그룹별 애플리케이션 버전과 구성이 달라 범용적인 인프라 설정 방식 적용이 곤란
- 정적 인벤토리와 과도한 직접 접근은 관리 부담과 보안 측면에서 비효율적
해결 방법
- 서버 설정 정보를 Git과 YAML로 관리하고 Ansible playbook에서 동적으로 조회해 실행
- Rundeck을 작업 실행·스케줄링·UI·ACL 관리용 플랫폼으로 사용해 개발자도 쉽게 사용 가능하도록 구성
- 동적 인벤토리와 RBAC를 적용해 서버 조회 범위와 작업 실행 권한을 역할별로 분리
적용해볼 점
- 반복적인 서버 작업을 코드화하고 Git 리뷰 절차를 넣어 변경 통제 강화
- 운영 작업을 개발/운영 역할에 맞춰 분리하고 감사 이력을 남기는 구조 도입
- 정적 목록 대신 동적 인벤토리와 외부 권한 시스템을 결합해 보안과 유연성 확보