Spring

EC2 인바운드 규칙 미설정으로 인한 접속 불가 문제

윤승 2025. 5. 27. 21:39

이번 글에서는 실전 프로젝트에서 생긴 트러블 슈팅 중 하나를 설명해 볼 것이다.

 

AWS EC2 인스턴스를 실행한 후, 로컬에서 테스트했을 땐 잘 작동하던 서버가 브라우저나 포스트맨을 통해 외부에서 접속이 되지 않는 문제가 발생했다.

EC2에서 실행 중인 벡엔드 서버는 정상적으로 작동 중이었고, 포트번호도 8080으로 열려 있는 상태였지만 무한로딩이 되는 상황이었다.

 

 

🚀 원인 분석

문제를 찾아본 결과, AWS EC2 인스턴스의 보안 그룹 설정에서 인바운드 규칙이 제대로 구성되지 않았다는 것을 발견했다.

💡 보안 그룹이란?
AWS에서 EC2 인스턴스를 보호하는 방화벽 역할을 하는 구성 요소로, 인바운드(들어오는 트래픽)와 아웃바운드(나가는 트래픽)를 제한할 수 있다.

 

EC2 인스턴스의 보안 그룹 인바운드 규칙에 8080 포트가 열려 있지 않아 외부에서 애플리케이션에 접속할 수 없었던 것이다.

 

🚀 해결 방법

✅ 보안 그룹 인바운드 규칙에 8080 포트 추가

  1. AWS 콘솔 → EC2 → 인스턴스 선택 → 연결된 보안 그룹 클릭
  2. 인바운드 규칙 탭으로 이동
  3. 규칙 편집 클릭

 

그리고 아래와 같이 규칙을 추가해주면 된다.

0.0.0.0/0은 전 세계 모든 IP에서 접근을 허용하므로, 보안상 위험할  수 있지만, 배포 단계에서는 신뢰할 수 있는 IP 범위로 제한하는 것이 좋다.

 

 

보안 그룹 설정 후 실행 결과 (Postman)

 

퍼블릭 주소를 복사해 Postman에서 요청을 보내면, 애플리케이션이 정상적으로 응답하는 것을 확인할 수 있다.

 


 

깨달은 점: 인스턴스 서버가 무한 로딩된다면, 먼저 보안 그룹(방화벽) 설정을 의심해 보는 것이 좋다.

처음엔 이 사실을 모르고, 팀원들끼리 문제의 원인이 Docker나 서버 설정에 있다고 생각해 수차례 컨테이너를 삭제하고 재배포하는 과정을 반복했다.

나처럼되질 않길 바라며 포스팅을 마치겠다....ㅠ