Skip to content

chore: actuator/Prometheus 엔드포인트를 별도 포트로 분리#21

Merged
SinnoLn merged 2 commits into
mainfrom
chore/20-actuator-network-isolation
Jul 7, 2026
Merged

chore: actuator/Prometheus 엔드포인트를 별도 포트로 분리#21
SinnoLn merged 2 commits into
mainfrom
chore/20-actuator-network-isolation

Conversation

@SinnoLn

@SinnoLn SinnoLn commented Jul 7, 2026

Copy link
Copy Markdown
Member

🔗 관련 이슈

Closes #20

📝 작업 내용

  • management.server.port=8081 설정 추가 — actuator/Prometheus를 앱 포트(8080)와 분리
  • docker-compose.yml, deploy/docker-compose.yml에서 8081을 127.0.0.1에만 바인딩해 외부 노출 차단
  • deploy/docker-compose.yml 헬스체크를 변경된 관리 포트(8081)로 갱신
  • Dockerfile EXPOSE에 8081 추가
  • 운영 환경 배포 compose 파일에서 volumes 삭제

✅ 체크리스트

  • 로컬에서 빌드 및 테스트가 통과했습니다.
  • 컨벤션(브랜치/커밋 메시지)을 준수했습니다.
  • 관련 문서를 수정했습니다. (필요한 경우)

💬 리뷰 참고 사항

  • Notion -> 인프라 접속 방법에 MANAGEMENT_PORT 환경 변수 추가(테라폼 관리)
  • JWT 인증 환경 구축 중 보안을 위해 포트 분리가 필요하여 진행
  • 단일 인스턴스 환경에서 테라폼 환경 세팅이 바뀔 경우 재구축으로 DB데이터가 초기화 되는 문제를 막기 위해 별도 EBS 볼륨으로 분리
  • 현재 운영 데이터가 존재하지 않으므로 바로 볼륨 분리 진행

@SinnoLn SinnoLn self-assigned this Jul 7, 2026
@SinnoLn SinnoLn added the enhancement New feature or request label Jul 7, 2026
@SinnoLn SinnoLn requested a review from 1117mg July 7, 2026 05:38
@claude

claude Bot commented Jul 7, 2026

Copy link
Copy Markdown

리뷰 요약 (CI 자동 리뷰, must-fix 항목만 표시)

🔴 Blocker

  • deploy/docker-compose.yml의 DB/Redis 볼륨을 named volume → host bind mount(/data/postgres, /data/redis)로 변경했는데, 기존에 pgdata/redisdata named volume에 있던 운영 데이터가 새 경로로 자동 이전되지 않습니다. 배포 시 컨테이너가 새 빈 디렉터리를 그대로 마운트하면 DB/Redis 데이터가 사라진 것처럼 보일 수 있고, 반대로 /data/postgres 경로가 사전에 준비되지 않았거나 postgres 컨테이너 프로세스(uid)와 소유권이 맞지 않으면 컨테이너가 기동 실패할 수 있습니다. 이 PR 설명에 있는 "EBS 볼륨 분리" 의도와 실제 데이터 마이그레이션(기존 볼륨 데이터를 /data/postgres, /data/redis로 복사) 및 호스트 디렉터리 권한 준비가 배포 전에 선행되어야 합니다.

🟠 Major

  • deploy/docker-compose.yml:17: ${MANAGEMENT_PORT}에 기본값이 없습니다. 같은 PR에서 수정한 docker-compose.yml:37${MANAGEMENT_PORT:-8081}로 기본값을 두었는데, 운영용 deploy/docker-compose.yml은 기본값이 없어 .envMANAGEMENT_PORT가 아직 반영되지 않은 상태로 배포되면 127.0.0.1::8081처럼 빈 포트 매핑이 되어 docker compose up 자체가 실패할 위험이 있습니다(management 포트뿐 아니라 app 서비스 전체 기동 실패로 이어짐). 테라폼 반영 시점과 코드 배포 시점이 어긋날 가능성을 고려해 ${MANAGEMENT_PORT:-8081}로 기본값을 맞춰주세요.

이슈를 찾지 못한 나머지 변경(Dockerfile EXPOSE 추가, healthcheck 포트 8081 갱신, application.yamlmanagement.server.port: 8081)은 문제 없습니다.

Comment thread deploy/docker-compose.yml Outdated
Comment thread deploy/docker-compose.yml
Comment thread deploy/docker-compose.yml
@SinnoLn SinnoLn changed the title chore: separate actuator/Prometheus endpoints onto a dedicated port chore: actuator/Prometheus 엔드포인트를 별도 포트로 분리 Jul 7, 2026
@SinnoLn SinnoLn added chore and removed enhancement New feature or request labels Jul 7, 2026

@1117mg 1117mg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@SinnoLn SinnoLn merged commit 96bc83c into main Jul 7, 2026
1 check passed
@SinnoLn SinnoLn deleted the chore/20-actuator-network-isolation branch July 7, 2026 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CHORE] Prometheus, actuator 엔드포인트 네트워크 격리

2 participants