sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
위와 같은 명령어를 실행하게 되면
80포트를 5000포트로 포워딩시켜주는 기능을 한다.
이것을 포트포워딩이라고 부른다. (리눅스 기본 제공)
이전에 우리가 EC2 인스턴스의 보안 그룹에서 규칙편집을 해줄 때 80포트를 열어두었는데, 그 80포트는 http의 포트번호를 말한다. http 요청에서는 80포트가 기본이기 때문에, 굳이 :80을 붙이지 않아도 자동으로 연결된다. 즉, http가 붙은 경우 :80는 생략이 가능하다.
(예를 들어 우리가 네이버를 접속하게 되면 네이버의 URL주소를 확인할 수 있다. 네이버의 URL주소는 https://www.naver.com/이다. 때 뒤에 :80 포트를 붙여주더라도 동일하게 작동한다. www.naver.com:80해도 같다. 결국 http를 적어주거나 :80포트를 적어주거나 하면 되는 것)
그럼 우리가 EC2인스턴스의 서버에 접근할 때 어떻게 했는지 생각해보자.
ip주소 + :5000을 해줬던 것 같다(5000포트에서 웹 서비스가 실행되고 있음). 근데 여기서 :5000을 제거하고 입력해보자.
같은 기능을 한다는 것을 확인해보면 여기서 포트포워딩의 개념을 이해할 수 있다.
우리가 굳이 5000포트로 접속할 때마다 :5000을 붙여주지 않고 접속을 할 수 있게 하는 것이 포트포워딩이다. 80포트로 오는 요청을 5000포트로 전달하게 하면 우리가 url에 퍼블릭ip주소만 입력하더라도 80포트에서 확인하고 5000포트로 자동으로 넘겨주는 작업을 한다.
'DevOps > Cloud' 카테고리의 다른 글
Event Driven Architecture는 왜 필요할까? (0) | 2021.12.28 |
---|---|
nohup 설정하기 (0) | 2021.06.30 |
DB - 서버 연결 및 웹프로젝트 업로드 (Robo3T, FileZilla) (0) | 2021.06.30 |
git bash에서 EC2접속 및 서버 세팅하기(Window) (0) | 2021.06.30 |
[AWS] EC2, RDS를 이용한 데이터베이스 작업 (0) | 2021.06.08 |
댓글