DOCS/troubleshooting/250803_PostgreSQL_SSH_터널_연결.md
2025-08-09 14:16:59 +09:00

1.4 KiB

PostgreSQL SSH 터널 연결 설정

문제 상황

State Service가 원격 서버(124.55.18.179)의 PostgreSQL에 연결해야 하는데, 직접 연결이 실패했습니다.

해결 방법

1. SSH 터널 생성

# SSH 터널 생성 (로컬 5433 포트 → 원격 5432 포트)
sshpass -p '19800508' ssh -N -L 5433:localhost:5432 admin@124.55.18.179 -p 51123 &

2. .env 파일 설정

# /home/heejae/robing-state-service/.env
DATABASE_URL=postgresql://robeings:robeings@localhost:5433/auth_db
SERVICE_NAME=state
PORT=8002
LOG_LEVEL=INFO

3. 연결 확인

# psql로 테스트
psql postgresql://robeings:robeings@localhost:5433/auth_db -c "SELECT 1"

연결 정보

  • 원격 서버: 124.55.18.179
  • SSH 포트: 51123
  • SSH 사용자: admin
  • SSH 비밀번호: 19800508
  • PostgreSQL 사용자: robeings
  • PostgreSQL 비밀번호: robeings
  • 데이터베이스: auth_db

주의사항

  1. SSH 터널은 백그라운드에서 실행되므로 시스템 재시작 시 다시 생성 필요
  2. 보안을 위해 SSH 키 기반 인증 권장
  3. 방화벽 설정과 무관하게 SSH 터널을 통해 안전하게 연결

영구적인 해결 방안

systemd 서비스로 SSH 터널을 관리하거나, autossh 사용을 고려할 수 있습니다.

관련 파일

  • /home/heejae/robing-state-service/.env
  • /home/heejae/robing-state-service/app/core/config.py