일단 본론을 바로 얘기하면 백엔드 배포가 잘 안됐다
짧은 시간일 수도 있지만 벌써 4~6일은 한거라
한 번 시도한 방식으로 해결해보고 싶어서 조금 고집으로,, 계속 해보려고 했는데
뭔가 꼬인건지 될 것 같은데도 잘 안된다
너무 오기 부린 것 같기도 하고... 😂
내일은 방법을 바꿔서 다시 해보려 한다
다시 하려는 방법은 "RDS를 통해 MySQL 서버를 배포해보려는데"
잘 될지는 아직 안해봐서 모르겠다..
일단 아래는 지금까지 했던 걸 정리해보았다
DB 연결이 안 되는 경우
- JDBCUtil이 외부 DB(13.236.207.47) 연결하도록 되어 있음
- EC2에서 telnet 13.236.207.47 1521 해보니 Connection timed out
→ EC2에서 DB 서버로 아예 접속이 안 되는 상태 - 이 경우 JSP/Servlet이 DB 연결 시도해도 conn = null → 쿼리 실행 불가
즉, DB가 안 열려 있어서 데이터 조회 자체가 안 되는 상태입니다.
DB는 연결되는데 쿼리가 안 되는 경우
- JDBC URL, user, password가 잘못됐거나
- SQL 실행 코드에서 ResultSet을 JSP로 출력하는 로직이 누락됨
하지만 지금 로그를 보면 conn = null 상태가 가장 큰 문제예요.
- JDBCUtil.connect() → null 반환
- 이 상태에서 PreparedStatement 실행 → NullPointerException 발생
DB 서버 1521 포트 열기

지금 AWS 콘솔에서 Security Group이 두 개 이상이면
EC2 인스턴스가 실제로 사용하는 Security Group에 1521 포트를 열어야 하기 때문에
▪️EC2 → 해당 인스턴스 선택 → 보안 탭(Security) → 보안 그룹(Security Groups) 확인
▪️ 여기 나오는 SG ID가 바로 포트를 열어야 하는 그룹
sg-0c0f4b951f82e3b0b로 확인

DB 서버가 속한 보안 그룹(Security Group) 찾기
왼쪽 메뉴 → 보안 그룹 클릭
DB 서버(13.236.207.47) 인스턴스의 Security Group 확인
Security Group은 Security Group ID를 보면 됨
nbound 규칙 추가 (포트 열기)
nbound 규칙 추가를 해야 외부에서 EC2(혹은 DB)로 들어오는 트래픽을 허용할 수 있다
외부 DB 접속용 1521 포트 열기 순서

1. AWS 콘솔 → EC2 → Security Groups
2. sg-0c0f4b951f82e3b0b (launch-wizard-1) 클릭
3. Inbound Rules 탭 → Edit inbound rules 클릭
4. Add rule 버튼 클릭 → 새 규칙 추가
▪️Type: Oracle (TCP)
▪️ Port range: 1521
▪️Source: 내 PC에서만 접속하려면 → My IP | 테스트용 전체 허용 → 0.0.0.0/0 (보안상 주의)
5. Save rules 클릭
이 상태면 모든 IP에서 1521 포트로 접속 가능하게 된다
하.. 근데 왜 안되는거야
https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
JDBC and UCP Downloads page
Oracle JDBC Driver Implements JDBC 4.2 spec and certified with JDK8, JDK11, JDK17, JDK19, and JDK21 Oracle JDBC driver except classes for NLS support in Oracle Object and Collection types. (4,537,548 bytes) - (SHA1: 1c81d46447cafd53f6d81f3f9541424d1eb5d2b5
www.oracle.com

ojdbc8.jar 다운로드 (Oracle 계정 로그인 필요)
나는 C:\Users\J\Downloads 여기 다운로드 했다
SCP로 EC2 업로드
scp -i "C:\keys\ornably-key.pem" "C:\Users\J\Downloads\ojdbc8.jar" ec2-user@13.236.207.47:/home/ec2-user/

PowerShell에서 EC2 홈 디렉토리(/home/ec2-user/)로 올림
Tomcat lib로 이동 (EC2에서)
ssh -i "C:\keys\ornably-key.pem" ec2-user@13.236.207.47
SSH 접속하기
sudo mv /home/ec2-user/ojdbc8.jar /home/ec2-user/tomcat9/lib/
SSH 접속 후 이제 Tomcat이 Oracle JDBC 드라이버 인식 가능 ✅

Tomcat 재시작
cd /home/ec2-user/tomcat9/bin
sudo ./shutdown.sh
sudo ./startup.sh
브라우저에서 확인
http://13.236.207.47:8080/BugSandwichOrnamentMall/ornamentListPage.do
- ojdbc8.jar EC2로 올림 ✅
- Tomcat lib 디렉토리로 이동 ✅
- Tomcat 재시작 ✅
이제 브라우저에서 접속하면 ITEM 테이블 데이터가 정상적으로 표시되야 하는데 왜 안되는거
'🍏 개발일기' 카테고리의 다른 글
| AWS RDS 사용 (0) | 2026.01.25 |
|---|---|
| 백엔드 배포하기 (0) | 2026.01.24 |
| EC2에서 JDBC 연결 확인 + Tomcat 배포 점검 가이드 (1) | 2026.01.22 |
| 무료 배포 환경 구성.... 이어서 계속 (0) | 2026.01.22 |
| DB 연결 그리고 인스턴스 스펙 문제 | 오버블리 프로젝트 배포하기 (1) | 2026.01.21 |