- HANDOFF_STATUS.md: 현황·다음단계(완전 ur_itms_db 덤프 적재가 근본해결) - DB_CONNECTIONS.md: 도메인별 DB 프로파일 매핑(로컬/개발/운영/구버전) - ITMS_INSTALL_RUNBOOK.md: 전체 설치 런북(OpenSearch/배치/프로시저 포함) - .gitignore: 고객 실데이터(mms_data/MSS ddl)·설치노트·csv 커밋 차단(보안) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
98 lines
6.4 KiB
Markdown
98 lines
6.4 KiB
Markdown
# ITMS DB 연결 정보 (환경·도메인별)
|
|
|
|
> 최종 갱신: 2026-07-19 | 분류: **대외비** — 무단 배포 금지
|
|
> **보안 불변**: 이 문서에는 **비밀번호·AES 암호문·NCP/카카오 키·Gmail 비번을 기재하지 않는다.** 실값은 서버 로컬(`/opt/itms/secrets/`, `/opt/itms/config/`) 또는 기관 프로파일 yml(AES-256 암호문)에만 존재. 계정/DB명·호스트·URL 템플릿·프로파일 매핑만 기록.
|
|
> **적용 방식(확정)**: **서버별 프로파일 고정** — 각 서버가 자기 프로파일을 `SPRING_PROFILES_ACTIVE`로 활성화. 도메인 = 서버 = 프로파일 = DB 가 1:1.
|
|
|
|
---
|
|
|
|
## 1. 도메인 ↔ 서버 ↔ 프로파일 ↔ DB 매핑 (핵심)
|
|
|
|
| 환경 | 접속 도메인 | 서버 | 활성 프로파일 | Primary DB | 상태 |
|
|
|------|------------|------|--------------|-----------|------|
|
|
| **로컬** | localhost | 개발자 PC | `local` | 고객 내부망 MariaDB(192.168.8.131) | 소스 기본값 |
|
|
| **개발** | itms.zioinfo.co.kr | 101.79.17.164 | `zio-dev` (외부 config) | dev MariaDB `ur_itms_db`@localhost | **LIVE (로그인·업무 실동작)** |
|
|
| **운영** | itms.wise.ai.kr | 211.37.173.197 | `zio-prod` (외부 config) | prod DB(프로비저닝 대기) | front-only(RAM 게이트) |
|
|
| **기관(16종)** | 기관별 도메인 | 기관 서버 | `keiti_prod`·`kic_rel`·`nowon`·… | 기관 망 MariaDB/Oracle | 고객 배포 환경 |
|
|
|
|
- 프로파일 활성: 서버의 `/etc/itms/itms-<모듈>.env` 또는 systemd `SPRING_PROFILES_ACTIVE=<프로파일>`.
|
|
- **16기관 원본 yml 불변** 원칙: dev/prod 전용값은 원본 프로파일을 고치지 않고 **외부 config**(`-Dspring.config.additional-location=/opt/itms/config/application-<프로파일>.yml`)로 오버레이.
|
|
|
|
---
|
|
|
|
## 2. 데이터소스 상세 (논리 DB별)
|
|
|
|
각 모듈이 참조하는 논리 DB. 계정/비번 실값은 **AES-256 암호문(프로파일 내)** 또는 서버 시크릿 — 아래는 논리명·엔진·URL 템플릿만.
|
|
|
|
| 논리 DB | 엔진 | 용도 | 사용 모듈 | URL 템플릿(호스트·포트·DB) |
|
|
|---------|------|------|----------|---------------------------|
|
|
| `primarydb` | MariaDB | ITMS 본체(업무·인증·메뉴) `ur_itms_db` | api·batch | `jdbc:mariadb://<HOST>:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true` |
|
|
| `kicinsadb` | Oracle XE | KIC 인사 연동 | batch | `jdbc:oracle:thin:@<HOST>:1521:XE` |
|
|
| `ncmsdb` | MySQL | NCMS(kccfnova) 데이터 변환 | datatrans | `jdbc:mysql://<HOST>:3307/kccfnova?characterEncoding=UTF-8&serverTimezone=Asia/Seoul` |
|
|
| `iamsdb` | MySQL | IAMS(uac_cltr_db) 수집 연동 | datatrans | `jdbc:mysql://<HOST>:3307/uac_cltr_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul` |
|
|
| (검색) | OpenSearch | 검색 색인(배치 중개) | api·batch | `http://<HOST>:48381` (연동 서버) |
|
|
|
|
- 공통 드라이버 래퍼: `net.sf.log4jdbc.sql.jdbcapi.DriverSpy`(log4jdbc, SQL 로깅). 실드라이버: mariadb-java-client·ojdbc·mysql-connector.
|
|
- Hikari 풀: maximumPoolSize 35 / minimumIdle 2 (개발서버는 RAM 절감을 위해 축소 오버레이 가능).
|
|
|
|
---
|
|
|
|
## 3. 환경별 접속 (호스트)
|
|
|
|
### 3-1. 로컬 (`local` 프로파일) — 고객 내부망 지향
|
|
- primarydb: `192.168.8.131:3306/ur_itms_db` (대체: 192.168.8.138)
|
|
- kicinsadb(Oracle): `192.168.8.132:1521:XE`
|
|
- ncmsdb/iamsdb(MySQL): `192.168.8.138:3307`
|
|
- 검색: `192.168.8.138:48381`
|
|
- ※ 개발자 PC에서 고객 내부망 VPN/터널 필요. 계정/비번 = 프로파일 AES 암호문(복호는 `UrpSysKeyMng` keystore).
|
|
|
|
### 3-2. 개발 (`zio-dev`) — GUARDiA 인프라
|
|
- 서버: 101.79.17.164 / 도메인: itms.zioinfo.co.kr
|
|
- primarydb: `127.0.0.1:3306/ur_itms_db` (MariaDB 10.11, 서버 로컬)
|
|
- 계정: `itms_zio` (비번 = 서버 시크릿, 문서 미기재)
|
|
- 실 스키마: CM_*(고객 dump 49테이블) + 포털계층(COMVNUSERMASTER·TB_*·oauth 역설계)
|
|
- Oracle/NCMS/IAMS: 미연결(batch/datatrans 부분 보류) · 검색(OpenSearch): 디스크 게이트로 보류
|
|
- 외부 config: `/opt/itms/config/application-zio-dev.yml` (원본 16기관 yml 불변)
|
|
|
|
### 3-3. 운영 (`zio-prod`) — wise.ai.kr
|
|
- 서버: 211.37.173.197 / 도메인: itms.wise.ai.kr
|
|
- 현재: **front-only**(DB 미기동, RAM ~500MB 게이트). primarydb 프로비저닝은 RAM 증설 후.
|
|
- 외부 config: `/opt/itms/config/application-zio-prod.yml` (프로비저닝 시 작성)
|
|
|
|
### 3-4. 구버전(레거시 원본 고객 시스템)
|
|
> ITMS 통합 전 원본 시스템. 실 스키마·데이터 출처(2026-07-19 소유자 제공 덤프).
|
|
|
|
| 항목 | 값 |
|
|
|------|-----|
|
|
| DB명 | `mmsdb` (MariaDB) — 업무 스키마 CM_*(IN_/VC_/TX_/DT_ 접두), MyISAM/utf8mb3 |
|
|
| 계정 | root (비번 = 서버 시크릿, 문서 미기재) |
|
|
| 인사 연동 | Oracle XE (KIC 인사) |
|
|
| 변환 대상 | NCMS `kccfnova` · IAMS `uac_cltr_db` (MySQL 3307) |
|
|
| 프로시저/함수 | `PROC_APPROVAL`·`PROC_REJECT`·`PROC_REQ_APPROVAL`·`FUNC_HOLIDAYS` (+트리거·5번째 프로시저는 덤프 미포함) |
|
|
| 구 점검 시스템 | `user_info`·`equipment_info` 등(MSS ddl/schema.sql) — 현행 api 미참조 |
|
|
| 덤프 위치 | `C:\urITSM\wise-ai-platform\urITSM\{mms_data, MSS ddl}` |
|
|
|
|
---
|
|
|
|
## 4. 프로파일 활성 절차 (서버별 고정)
|
|
|
|
```bash
|
|
# 개발서버(101.79.17.164)
|
|
/etc/itms/itms-api.env: SPRING_PROFILES_ACTIVE=zio-dev
|
|
# 운영서버(211.37.173.197)
|
|
/etc/itms/itms-front.env: SPRING_PROFILES_ACTIVE=zio-prod
|
|
# 기동 시 외부 config 로드
|
|
-Dspring.config.additional-location=/opt/itms/config/application-${PROFILE}.yml
|
|
```
|
|
- 각 서버는 **자기 프로파일만** 활성 → 도메인 접속 시 해당 서버의 DB로 자동 연결(도메인=서버=프로파일=DB 1:1).
|
|
- 원본 16기관 프로파일 파일은 수정하지 않음(classpath 상주, 기관 배포용).
|
|
|
|
---
|
|
|
|
## 5. 보안 주의 (필독)
|
|
|
|
- **이 문서·로그·커밋에 비밀번호/AES 암호문/NCP·카카오 키/Gmail 비번 기재 금지.** 실값은 서버 시크릿·AES 암호문에만.
|
|
- ★**기존 노출 경고(로테이션 권고)**: `batch`/`datatrans`의 `application-local.yml` 에 카카오 알림톡 NCP `accessKey`/`secretKey`·Gmail 비번이 **평문 커밋** 상태. 키 교체(rotation) + 프로파일 암호문화 권고.
|
|
- 내부 IP(192.168.8.x)는 기존 프로파일에 이미 커밋된 값이라 본 문서에 표기(신규 노출 아님). 외부 배포 금지.
|
|
- env·keystore 권한 600, 소유자 서비스계정(itms).
|