서버 인프라/Aws

EC2 리눅스 인스턴스 포트포워딩 하기

트리맨스 2021. 9. 5. 23:57
반응형

 

현재 내 인스턴스에는 nestjs 기반의 어플리케이션이 구동중이다. 현재 5000번 포트로 구동중인데, 이 서버에 접속하기 위해서는 [서버 주소]:5000 의 형식으로 서버에 접속해야 한다. 웹 서버는 이름이 단순해야 보기 좋은데, 포트 뒤에 5000을 붙여버리면 약간 보기 불편해 진다. 그래서 이 주소를 없애는 작업을 하기로 했다.

 

모든 가능성을 생각하자!


사실 처음에는 기존의 도메인이 있어서 route53을 통해서 Elastic IP 값을 수동으로 넣어 주었다. 하지만 여기서는 포트 번호를 넣을 수 없었다. 그래서 생각해낸 게 80번 포트를 5000번으로 돌려서 사용할 수 있으면 좋겠다고 생각했다. 그래서 검색을 해서 포트포워딩이 가능한 iptables를 사용하기로 했다.

 

1
 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
cs

 

하지만 이 명령어를 적용해도 도저히 접속이 되지 않았다. 그래서 모든 가능성을 열어 두었다. 리눅스의 권한, 방화벽 문제, 막아둔 포트 등등 여러가지 가능성을 생각한 후에 내린 결론은 aws EC2의 보안 그룹에 문제가 있었던 것이였다. 현재 보안 그룹은 22번 포트와 5000번 포트만 열어 두었는데, 여기서 80번 포트를 open 해야지 접속이 가능한 것이였다.

 

 

위의 사진에서 빨간색 네모 친 부분을 추가했다. 결국에는 접속이 잘된다. 문제를 해결하기 위해서는 모든 가능성을 염두하고 잘 생각해야겠다.

 

반응형