대상 3.36.213.210:5432 (postgres) · SSH 별칭 alpha · 업데이트 2026-06-24
로컬 5432 → alpha 경유 → DB 5432 로 터널을 뚫고, 로컬로 붙습니다.
# 1) 터널 열기 (이 터미널은 켜둔 채로) ssh -N -L 5432:3.36.213.210:5432 alpha # 2) 다른 터미널에서 로컬 5432 로 접속 psql "postgres://postgres:[비번]@localhost:5432/postgres"
로컬 5432가 이미 쓰이면 -L 15432:3.36.213.210:5432 처럼 바꾸고 localhost:15432 로 접속.
내 공인 IP를 보안그룹에 등록하면 터널 없이 바로 붙습니다.
# 1) 내 실제 공인 IPv4 확인 (← 중요: -4 로 IPv4 강제) curl -4 -s ifconfig.me # 2) 보안그룹에 등록 (관리자가 실행) aws ec2 authorize-security-group-ingress --profile grinda \ --group-id sg-0c4aa45149da27376 \ --protocol tcp --port 5432 --cidr <내IP>/32 # 3) 접속 psql "postgres://postgres:[비번]@3.36.213.210:5432/postgres"
보안그룹(네트워크 경로)까지 닿는지부터 확인합니다.
# TCP 도달 테스트 (DB 로그인 X, 경로만 확인) nc -4 -vz 3.36.213.210 5432 # 내가 실제로 나가는 IP 확인 curl -4 -s ifconfig.me
| nc 결과 | 의미 | 해야 할 것 |
|---|---|---|
| succeeded | 경로 정상, 보안그룹 통과 | 비번/계정 확인 (psql 인증 단계) |
| timed out | 내 IP가 허용목록에 없음 | curl -4 ifconfig.me IP 등록 or SSH 터널(A) |
함정: 허용목록은 IPv4 전용. 클라이언트가 IPv6로 나가면 등록돼 있어도 차단 → 항상 -4 로 IPv4 확인.
| 목적 | 명령어 |
|---|---|
| SSH 접속 | ssh alpha |
| 터널 | ssh -N -L 5432:3.36.213.210:5432 alpha |
| 경로 테스트 | nc -4 -vz 3.36.213.210 5432 |
| 내 IP 확인 | curl -4 -s ifconfig.me |
| DB 접속 | psql "postgres://postgres:[비번]@HOST:5432/postgres" |
| 컨테이너 상태 | ssh alpha 'docker ps -a | grep postgres' |