Skip to content
> giho's blog
Go back

~/posts/building-a-db-ops-portal

사내 DB 운영 포털을 만들며 — 기능과 설계

· 3 min read
-- contents

DBA 일은 도구가 사방에 흩어져 있다. AWS 콘솔, DataGrip, 셸 스크립트, 위키, 슬랙… “그거 어디서 하더라”가 반복된다. 이걸 한 곳으로 모으려고 사내 DB 운영 포털을 만들었다. 기능이 꽤 늘어나서, 설계하며 정리한 것들을 남긴다. (구체적인 사내 값은 빼고 일반화했다.)

아키텍처

기능

1. 스키마 탐색 & ERD

전체 ERD를 펼쳐놓는 대신 검색 우선으로 갔다. 테이블·컬럼을 이름으로 찾고, 거기서 연결된 테이블만 지역적으로 펼친다. (이 주제만 따로 정리한 글: 개발자를 위한 스키마 탐색 UX)

2. 스키마 Diff

여러 환경(dev/stg/prod) 사이 스키마가 어긋나는 건 사고의 씨앗이다. 환경 간·계정 간 스키마를 비교해 드리프트를 눈으로 잡는다.

3. DDL 리뷰

새 DDL이 조직 표준(명명 규칙·타입·인덱스·charset 등)을 지키는지 자동 검토한다. “리뷰어가 눈으로 잡던 것”을 규칙화했다.

4. RDS / Aurora 관리

5. DMS 관리

CDC 마이그레이션 태스크의 상태를 모니터링하고, 실패 시 자동 재시작으로 진행을 보장한다. 마이그레이션 중 새벽에 깨는 일을 줄였다.

6. 멀티 계정

같은 클러스터 ID가 여러 AWS 계정에 존재할 수 있다. 그래서 모든 변경 작업은 (accountId, instanceId) 쌍으로 대상을 해석한다. 계정 스코프를 흐리면 엉뚱한 계정에 손대는 사고가 난다.

7. 승인 워크플로우

프로덕션 접근·위험 작업은 요청 → 승인 → 실행으로 배선했다.

Warning

초기엔 승인/실행 인가가 허술해서, 사용자가 자기 요청을 자가 승인하고 실행까지 태우는 권한 상승이 가능했다. 승인·실행 경로는 반드시 서버에서 관리자 권한을 강제하고, 클라이언트 스코프를 신뢰하지 않도록 고쳤다.

8. 알림

9. 접근 제어

10. 리포트 & 온보딩

11. 태깅 · 거버넌스

필수 태그, 백업 플랜, 비용 절감용 sleep 스케줄 태그 등 조직 표준을 포털에서 정렬·검증한다.

만들며 배운 것 (설계 원칙)

기능보다 오래 남은 건 원칙이었다.

정리

DB 운영 포털은 결국 “흩어진 것을 한 곳에, 안전하게” 다. 기능은 계속 늘지만, 관통하는 건 최소 권한·소유권 검증·계정 스코프·표준 정렬 같은 몇 가지 원칙이었다. 도구를 만들며 DBA 업무 자체를 다시 정의하게 된 프로젝트다.



-- related


Previous Post
실무에서 부딪히는 MySQL 잠금(Lock) 정리
Next Post
터미널에서 노트하고 블로그까지 — 내 글쓰기 워크플로우
giho=#searchesc