외부 접속 포트 허용
1. 이슈 내용
기존에 사용하던 Oracle Cloud에서 공용 IP로 접속이 안 되는 문제가 발생하였습니다. 해당 인스턴스는 CentOS 7버전이었고, 약 3개월 전부터 Docker 컨테이너를 구동시킬 목적으로 사용하던 인스턴스인데, 데이터베이스와 임시 Node.js 서버에 해당하는 5001, 5000번 포트의 방화벽을 모두 허용하고, 포트포워딩을 했음에도 불구하고 아예 연결 자체가 안 되는 문제가 발생하였습니다.
2. 해결 내용
이참에 ubuntu를 사용해보자는 마음으로 기존의 인스턴스를 삭제한 후 ubuntu 20.04로 다시 생성하였고, 다음과 같이 포트를 먼저 개방해주었습니다.
$ sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
$ sudo iptables -I INPUT 1 -p tcp --dport 5000 -j ACCEPT
$ sudo iptables -I INPUT 1 -p tcp --dport 5001 -j ACCEPT
이어서 Oracle Cloud 사이트에 방문하여 해당 인스턴스가 속한 네트워크 설정에서 공용 서브넷 관리를 통해 80, 5000, 5001번 포트의 TCP 요청을 허용해 주었습니다. 이어서 apt
로 nodejs
를 설치하였고, 간단하게 express 서버를 실행시켜서 해당 서버에 접속해 보았습니다. 테스트용 express 서버는 5000번 포트로 실행시켜 놓았기 때문에 해당 인스턴스의 5000번 포트로 GET 요청을 보내서 통신을 시도하였고, 정상적으로 동작하는 것을 확인하였습니다.