[GCP] VM 인스턴스 방화벽 설정(port 설정)
안녕하세요.
지난 포스팅에서는
- [GCP] VM 인스턴스를 터미널 도구를 이용하여 SSH 접속 설정
두가지 내용을 설정해봤는데요. 저같은 경우는 이제 ssh로 접속해서 elasticsearch를 설치한 후 잘 설치가 되었는지 외부에서 elasticsearch에 간단한 health check 요청을 해봐야 했습니다.
헌데 aws를 사용해보신분들은 아시겠지만 aws 에서는 ec2 에 연결된 보안그룹에서 사용하고자 하는 포트번호가 외부로 open이 되어있어야 서버가 요청을 받아들일 수 있었을텐데요. gcp에서도 비슷한 작업을 해줘야합니다.
이를 처리하는 곳이 방화벽이란 곳입니다.
해당 메뉴를 클릭해주세요.
저희가 만들어야될 것은 방화벽 규칙입니다. 이전에 vm 인스턴스를 만들때 http와 https 트래픽요청을 모두 허용으로 해놨기 때문에 gcp에서 자동으로 생성해놓은 default 방화벽 규칙들이 보일것입니다. 하지만 이는 ssh 연결을 위한 22, http 80, https 443 과 같은 약속된 프로토콜 포트입니다. 저는 elasticsearch를 열어놓은 9200 포트를 열어야 했습니다.
따라서 저는 9200 포트를 오픈하는 방화벽 규칙을 생성할 것입니다.
우선 위의 그림처럼 "방화벽 규칙 만들기" 라는 버튼을 클릭합니다. 방화벽 정책 만들기와 혼동되시면 안됩니다.
저는 우선 이름과 설명을 9200 번 포트를 오픈하기 위한 방화벽 규칙임을 명시하였습니다. 로그 쪽 내용은 변경하지 않고 디폴트 옵션을 적용하였습니다.
방화벽 대상을 지정하는 방식은 태그를 지정하는 방식으로 선택하였고 해당 태그를 "port9200"으로 지었습니다. 뒤에서 vm 인스턴스에 해당 태그를 지정하여 설정할 수 있습니다. 소스필터는 IPv4 범위내 모든 위치에서의 요청을 허용하였습니다.
프로토콜 및 포트는 tcp port 9200 번을 지정해줍니다. 다른 포트는 필요없으니 9200 만 명시하고 만들기 버튼을 클릭합니다.
이제 방화벽 대쉬보드 화면에서 제가 만든 port9200 방화벽 규칙을 확인할 수 있게됐습니다. 이것을 vm 인스턴스에 적용해보겠습니다.
방화벽 규칙은 vm 인스턴스 수정창에서 진행할 수 있습니다. vm 인스턴스 목록에서 대상 vm 인스턴스를 선택하여 상세로 오면 수정버튼이 보일것입니다. 이를 클릭해서 넘어갑니다.
수정화면에서 네트워크 인터페이스라는 소제목에서 멈춥니다.
다른 것들은 다 내비두고 네트워크 태그에서 제가 만든 방화벽 규칙인 port9200을 태그로 지정해줍니다.
근데!! 적용하기전에 vm 인스턴스 서버의 9200 포트에 요청을 날려보았더니 block 된것을 확인할 수 있습니다.
확인이 끝났으면 저장 버튼을 눌러줍니다. 다시한번 브라우저를 새로고침하여 재요청을하니 9200 포트를 통해서 elasticsearch의 데이터 정보를 받아올 수 있었습니다.
이로인해 vm 인스턴스의 9200 포트를 통해 elasticsearch와 브라우저간의 데이터 통신을 확인할 수 있었습니다.
감사합니다.