AWS EC2 포트 포워딩
- 포트 포워딩(port forwarding)이란?
외부에서 접속한 (IP주소 : 포트)를 내부의 port로 연결(매핑)하는것을 의미한다.
즉 기본포트인 80으로 접속하게 된다면, 내가 설정한 port로 요청되는것을 말한다.
예) Client 접속 (IP주소:8080) -> 내부적으로 매핑 -> port: 3000번으로 Redirect
○ 사용상황
필자의 경우 EC2 인스턴스 1개에서 Spring Boot와 React(Front) 애플리케이션 두 개의 서버가 실행 중이다. React 애플리케이션이 3000번 포트에서 동작 중이기 때문에 모든 외부 요청은 3000번 포트로 포워딩되도록 설정하였다. Spring Boot 애플리케이션은 8080번 포트에서 동작하지만, 보안을 위해 외부에서의 접근을 차단하였다.
포트 포워딩 설정
○ 명령어
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
-> 80port (기본 IP주소)로 입력받으면, 3000번 포트로 매핑하여 Redirect 하라는 뜻이다.
○ 포트 포워딩 확인 명령어
sudo iptables -t nat -L --line-numbers
○ Terminal
-> 포트 포워딩 설정을 해준 후, 확인 명령어를 통해 Redirect 3000포트로 지정 된것을 확인 할 수 있다.
-> 80포트 접속 (IP주소 Only)시 자동으로 3000번 포트로 이동되는것을 확인 할 수 있다.
○ 포트 포워딩 삭제
sudo iptables -t nat -D PREROUTING [삭제번호]
- 포트 포워딩을 삭제할 경우 위의 명령어를 사용하면 된다.
- 삭제번호는 포트포워딩 목록 맨 왼쪽 num의 번호를 사용하면 된다.
정리
- 포트 포워딩이란 접속 port를 내부의 사용자 정의 port로 매핑하는것을 의미한다.
- 프로젝트 배포시 중요한 설정 중 하나이다. (Server-Side-Rendering이 아닐 시!!)
'AWS' 카테고리의 다른 글
[AWS] RDS 생성 - (EC2 연결, SpringBoot 배포)(2) (0) | 2023.02.16 |
---|---|
[AWS] EC2 생성 - Spring Boot 배포(1) (0) | 2023.02.15 |
[AWS] nohup - EC2 SSH 접속종료시 서버 유지 방법 (0) | 2023.02.15 |
댓글