Releases

Aspectow 4.1 출시 노트

이번 Aspectow v4.1.0 릴리즈는 Aspectran 기반 애플리케이션의 CI/CD 자동화 및 원격 운영 관리(Build & Deployment), 프로세스 독립적 무중단/안전 재시작(Detached Server Restart), 그리고 엔터프라이즈 환경에 필수적인 보안 거버넌스 및 감사 추적(Security & Compliance Audit) 기능을 대폭 강화한 마이너 업데이트입니다.

별도의 외부 CI/CD 배포 파이프라인 도구 없이도 Aspectow Console 내에서 클러스터 전체 또는 개별 노드를 대상으로 Git 소스 패치, 빌드, 구성/웹앱 배포, 그리고 안전한 서버 재시작까지 원스톱으로 수행할 수 있는 완전한 제어 평면(Control Plane) 환경을 구축했습니다.

✨ 새로운 기능

1. 원격 빌드 및 배포 파이프라인 (aspectow-console & aspectow-node)

  • 클러스터 멀티 노드 원격 오케스트레이션:
    • 개별 노드(Individual Node)뿐 아니라 특정 그룹(Specific Group), 서비스 노드 전체(All Service Nodes), 또는 클러스터 전체 노드(All Nodes)를 타겟으로 비동기 빌드/배포 스크립트를 원격 실행할 수 있는 RemoteBuildDeployManagerLocalScriptRunner가 탑재되었습니다.
    • Redis 메시지 브릿지와 WebSocket을 통해 여러 노드에서 동시에 실행되는 빌드 진행 상황과 로그를 실시간으로 중계합니다.
  • 표준화된 단계별 배포 스크립트 파이프라인:
    • 원클릭 풀 빌드&배포 (5-pull_build_deploy.sh): 최신 소스 Git Pull → Maven Compile & Package → Config 배포 → Webapps 배포를 단일 파이프라인으로 수행합니다.
    • 고속 배포 (6-pull_deploy.sh): 재컴파일 없이 최신 소스 동기화 및 자산/설정만 즉시 반영하는 Fast Deploy를 지원합니다.
    • 단일 단계별 실행: Git Pull(1-pull.sh), Maven 빌드(2-build.sh), 설정 배포(3-deploy_config.sh), 웹앱 배포(4-deploy_webapps.sh) 등 세부 단계만 선택하여 실행할 수 있습니다.
    • 선택적 부분 배포: 설정 전용(7-pull_deploy_config_only.sh), 웹앱 전용(8-pull_deploy_webapps_only.sh), 설정+웹앱(9-pull_deploy_config_webapps_only.sh) 배포 스크립트를 제공합니다.
  • 실시간 인터랙티브 웹 터미널 (Live Terminal Stream):
    • ANSI 컬러 파싱 및 렌더링: 빌드 및 배포 스크립트에서 출력되는 ANSI 색상 코드를 웹 브라우저 상에서 실시간 컬러 터미널 형태로 렌더링합니다.
    • 다중 노드 탭 UI: 클러스터 전체 노드의 로그를 통합해서 보는 All Nodes 통합 뷰와 각 노드별 독립 탭을 실시간으로 전환할 수 있습니다.
    • 터미널 편의 기능: 자동 스크롤(Auto-scroll) 토글, 터미널 로그 비우기, 현재 탭의 전체 로그 텍스트 다운로드 기능을 제공합니다.
    • 파이프라인 흐름 프리뷰: 선택된 스크립트의 실행 단계(Step Flow)를 시각적 배지로 미리 확인할 수 있습니다.
  • 프로세스 독립적인 안전한 서버 재시작 (DetachedRestartRunner):
    • 부모 JVM이 종료되더라도 재시작 프로세스가 영향을 받지 않고 백그라운드에서 안전하게 구동되도록 OS 세션 및 프로세스 그룹을 완전히 분리(nohup 및 백그라운드 디태치)하여 daemon.sh restart를 실행합니다.
    • 서버 종료 직전 클라이언트로 WebSocket 완료 신호가 정상 전달될 수 있도록 버퍼 플러시 대기(sleep 1) 및 표준 입출력(/dev/null) 격리 처리를 적용했습니다.
  • 실시간 데몬 로그 뷰어 (Daemon Log Viewer):
    • 서버 재시작 및 배포 과정에서 발생하는 이상 현상을 즉각 진단할 수 있도록, 대상 노드의 daemon-stderr.logdaemon-stdout.log의 최근 로그를 실시간으로 직접 조회하는 기능을 제공합니다.
  • 규정 준수 빌드 감사 추적 (Build Audit Trail):
    • 모든 빌드/배포 실행에 대해 고유 Execution ID, 실행 사용자, 타겟 노드, Git 브랜치, 변경 전/후 Git 커밋 해시, 실행 시간(Duration), 성공/실패 여부, 종료 코드(Exit Code) 및 전체 출력 로그를 RDBMS에 영구 저장합니다.
    • 감사 전용 팝업 화면(cluster/build/audit/)을 통해 과거 빌드 이력을 검색하고 로그 전문을 확인하거나 다운로드할 수 있습니다.

2. 엔터프라이즈 보안 및 거버넌스 대폭 강화 (aspectow-console)

  • 로그인 무차별 대입 공격(Brute-force) 방어 및 계정 자동 잠금:
    • 연속된 로그인 실패 횟수를 추적하여 설정된 임계치 초과 시 사용자 계정을 자동으로 잠금(Account Locked) 처리하는 보안 정책을 도입했습니다.
  • 세션 하이재킹 방지를 위한 세션 IP 바인딩 (Session IP Binding):
    • 로그인 성공 시점의 클라이언트 IP를 세션에 고정 바인딩하여, 비정상적인 IP 변경이나 세션 탈취 시도를 원천 차단합니다.
  • 사용자별 IP 화이트리스트 접근 제어 (IP Whitelisting):
    • 관리자 계정별로 접근 가능한 허용 IP 및 서브넷 대역을 지정할 수 있어, 사내망 등 인가된 네트워크에서만 관리 콘솔에 접속할 수 있도록 통제할 수 있습니다.
  • 웹 보안 응답 헤더 및 콘텐츠 보안 정책 (CSP) 강화:
    • 클릭재킹(Clickjacking), MIME 스니핑, XSS 공격 등을 방지하기 위해 X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Content-Security-Policy 등의 보안 헤더를 모든 HTTP 응답에 일관되게 주입합니다.
  • 민감 데이터 마스킹 확대:
    • 사용자 관리 화면 및 내부 데이터 조회 시 이메일, 접속 IP, 비밀번호 등 민감 정보를 정규식 기반으로 자동 마스킹 처리하여 보안 노출을 방지합니다.

🚀 개선 사항

1. 클러스터 노드 관리 및 모니터링 (aspectow-node & aspectow-appmon)

  • 클러스터 노드 관리 전용 팝업 뷰 (cluster/nodes/popup/):
    • 다른 작업을 유지하면서 클러스터 내 전체 노드의 상태, 역할, 메모리, 가동 시간 등을 별도 팝업 창에서 모니터링하고 관리할 수 있습니다.
  • 노드 및 그룹 레지스트리 자가 치유(Self-Healing):
    • Redis 네트워크 일시 장애나 노드 비정상 재시작 시 발생할 수 있는 노드 등록 정보 불일치를 주기적으로 자동 동기화하고 복구하는 헬스체크 및 자가 치유 메커니즘을 추가했습니다.
  • 위치 및 세션 사용자 식별 확장 인터페이스:
    • 접속 클라이언트 IP 기반의 국가 코드 변환(CountryResolver) 및 활성 세션의 사용자 식별(SessionUserResolver) 연동 인터페이스를 도입하여 상세 사용자 트래픽 통계 기반을 마련했습니다.
  • WebSocket 연결 안정성 및 지수 백오프 재시도:
    • 콘솔 클라이언트(console-client.js)의 재연결 로직을 고도화하여 네트워크 단절 시 안정적인 자동 복구와 폴백을 지원합니다.

2. 운영 자동화 스크립트 및 인프라 도구 고도화

  • 다중 데몬 일괄 제어 스크립트 (daemon-all.sh):
    • 여러 개의 Aspectran 데몬 인스턴스를 단일 명령으로 시작/중지/재시작/상태 확인할 수 있는 통합 관리 스크립트를 추가했습니다.
  • 스크립트 동시 실행 방지 락 메커니즘:
    • 빌드 및 Git Pull 스크립트 실행 시 파일 락을 적용하여 동일 노드 내 중복 빌드 실행으로 인한 파일 덮어쓰기 및 충돌을 방지합니다.
  • 개발 환경(DEV_MODE) 유연성 지원:
    • 로컬 개발 및 스테이징 환경에서 손쉽게 빌드/배포를 테스트할 수 있도록 경로 및 환경 변수를 커스터마이징할 수 있는 DEV_MODE 옵션을 도입했습니다.

3. 프레임워크 기반 업그레이드

  • Aspectran 9.6.5 최신 엔진 호환성 및 최적화 반영.

NEWS
Release

Archive