From d727673e54e094292789ace00131d92ebaef37dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B6=8C=ED=98=81=EC=84=B1?= Date: Wed, 11 Mar 2026 10:00:14 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EC=84=9C=EB=B2=84=20=EC=A0=91=EA=B7=BC?= =?UTF-8?q?=20=EA=B6=8C=ED=95=9C=20=EB=AC=B8=EC=84=9C=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20(v1.3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - OS 그룹 현황 섹션 추가 (webservice/develop 그룹 역할, 서버별 구성) - Jenkins 롤백 기능 문서화 (파라미터, 동작 방식, 릴리스 보관) - sam-cicd pro 계정 현황 추가 - OS 잠금 시 DB 접근 차단 참고사항 추가 - "외부 인원" → "서브 관리자" 문구 수정 - 변경 이력: develop 그룹 삭제(prod/cicd), pro 계정 잠금(prod/cicd) Co-Authored-By: Claude Opus 4.6 --- system/server-access-management.md | 63 ++++++++++++++++++++++++++++-- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/system/server-access-management.md b/system/server-access-management.md index b32b531..7c80185 100644 --- a/system/server-access-management.md +++ b/system/server-access-management.md @@ -3,9 +3,9 @@ ## 개요 SAM 시스템의 서버 및 데이터베이스 접근 권한을 관리합니다. -서버 관리자는 1명이며, 외부 인원에게는 임시로 접근을 허용하고 작업 완료 후 차단합니다. +서버 관리자는 1명이며, 서브 관리자에게는 필요 시 임시로 접근을 허용하고 작업 완료 후 잠금합니다. -**최종 업데이트:** 2026-03-09 +**최종 업데이트:** 2026-03-11 --- @@ -56,6 +56,7 @@ SAM 시스템의 서버 및 데이터베이스 접근 권한을 관리합니다. | 계정 | 이름 | 용도 | 상태 | |------|------|------|------| | `hskwon` | 권혁성 | 서버 관리자 | 활성 | +| `pro` | 김보곤 | 서브 관리자 임시 접근용 | 평상시 **잠금** | ### sam-dev (개발서버) @@ -89,6 +90,41 @@ sudo passwd -S pro 4. `sudo usermod -L pro` 로 잠금 5. 작업 내용 기록 +> **참고:** OS 계정 잠금 시 DB 접근도 자동 차단됨. `pro@localhost` DB 계정은 SSH 터널 경유로만 접근 가능하므로, SSH가 막히면 DB도 접속 불가. + +--- + +## OS 그룹 현황 + +### 그룹 역할 + +| 그룹 | 용도 | 핵심 특징 | +|------|------|----------| +| `webservice` | 웹 서비스 운영 (배포 + 웹 프로세스) | `www-data` 포함 → PHP-FPM이 파일 쓰기 가능 | +| `develop` | 개발 환경 전용 | 개발서버에서만 사용, `www-data` 포함 | + +> **원칙:** `webservice` = 운영/CICD 서버, `develop` = 개발서버. 동일한 역할이므로 서버별로 하나만 사용. + +### 서버별 그룹 구성 + +| 서버 | 그룹명 | 멤버 | +|------|--------|------| +| sam-prod (운영) | `webservice` | hskwon, www-data, pro | +| sam-cicd (CI/CD) | `webservice` | hskwon, pro | +| sam-dev (개발) | `develop` | hskwon, pro, www-data, zomking | + +> **변경 이력:** 2026-03-11 — 운영/CICD 서버에서 미사용 `develop` 그룹 삭제 (webservice 그룹과 역할 중복) + +### Jenkinsfile 권한 설정 + +배포 시 `storage/`, `bootstrap/cache/` 등의 소유권을 `www-data:webservice`로 설정: +```bash +sudo chown -R www-data:webservice storage bootstrap/cache +sudo chmod -R 775 storage bootstrap/cache +``` +- `www-data`(소유자): PHP-FPM 프로세스가 읽기/쓰기 +- `webservice`(그룹): 배포 유저(hskwon)가 접근 가능 + --- ## DB 계정 현황 @@ -204,6 +240,27 @@ Jenkins는 sam-cicd(110.10.147.46)에서 운영됩니다. - Slack 알림: `#deploy_api`, `#deploy_react` - Jenkins 웹 UI: https://ci.sam.it.kr +### Jenkins 롤백 기능 + +Jenkins 웹에서 "Build with Parameters"로 롤백 실행 가능: + +| 파라미터 | 옵션 | 설명 | +|----------|------|------| +| `ACTION` | deploy / rollback | 배포 또는 롤백 선택 | +| `ROLLBACK_TARGET` | production / stage | 롤백 대상 환경 | +| `ROLLBACK_RELEASE` | (릴리스 ID) | 비워두면 직전 릴리스로 롤백 | + +**롤백 동작:** +1. 릴리스 목록 조회 (현재 활성 + 사용 가능 목록 콘솔 출력) +2. symlink 전환 → 캐시 재생성 → 서비스 재시작 +3. Slack 알림 (`#deploy_api` / `#deploy_react`) + +**릴리스 보관:** +- Production: 6개 +- Stage: 4개 + +> **변경 이력:** 2026-03-11 — api, react Jenkinsfile에 롤백 파라미터 추가 + --- ## 관리 정책 @@ -226,5 +283,5 @@ Jenkins는 sam-cicd(110.10.147.46)에서 운영됩니다. --- **작성일:** 2026-03-05 -**버전:** 1.2 +**버전:** 1.3 **담당자:** SAM Infrastructure Team \ No newline at end of file