2021. 6. 13. 10:58ㆍCloud
GCP에서 Windows VM을 만들었고 해당 VM에 특정 서비스를 띄워서 서비스를 하고 싶은 경우가 있다. 가령 BI툴인 Tableau Server 를 띄워서 사내 직원들에게 서비스하고 싶은 경우이다. 대부분의 GCP유저들은 대체로 이런 방법으로 VM을 만들고 서비스를 띄울 것이다.
- Windows VM 만들기: GCP에서는 매우 간단하게 VM을 만들 수 있다. 보통 서버에서 웹서비스를 띄울 생각이라면 http 트래픽과 https 트래픽 허용하는 것도 설정해주고 , VM을 만들면서 VPC Network 설정도 해줄 것이다.
COMPUTE -> Compute Engine -> VM Instances -> CREATE INSTANCE
- VPC Network의 Firewall 설정: 웹서비스에 접근하기 위해 필요한 Port를 개방해주는 부분이다. Ingress 나 Engress 설정을 손봐준다.
NETWORKING -> VPC Network -> Firewall
- Windows VM에 서비스 설치: Apache, Nginx, Tableau Server 등 웹서버를 VM에 설치한다.
- 접속 테스트: 웹브라우저로 http://<Win VM의 Static IP>:<Port> 로 접속이 가능한지 확인한다. 아마 잘 안될 가능성이 높다.
Solution
이는 Windows VM 의 자체 방화벽이 설정되어 있기 때문이다. 따라서 VPC Network의 방화벽을 잘 뚫어주어도 VM의 방화벽에서 접속을 제한하기 때문에 결국 서비스로 접속이 불가능한거다. 즉, Windows VM의 방화벽을 해제해주면 된다. 해제하는 방법은 다음과 같다.
Windows VM 접속 > Windows Security > Firewall & network protection
여기에서 각 네트워크에 대한 Firewall 을 Off 시켜주면 된다. 케이스에 따라 다른데, Public network에 대한 Firewall 만 꺼줘도 웹서비스는 가능한 경우가 많다.
Public network > Windows Defender Firewall 를 Off 로
마치며
저렇게 멋대로 VM의 방화벽을 꺼줘도 되냐고? 내 생각에는 큰 문제 없다고 본다. GCP의 VPC Network 방화벽과 같이 대부분의 클라우드 사업자들은 VM의 상위단위의 방화벽 기능을 제공한다. 이 상위 방화벽을 거쳐서 VM의 방화벽을 들어오기 때문에 상위 방화벽 자체에서 Firewall Rule을 잘 관리하면 된다. 반대로 방화벽 정책을 각 VM에서 관리하게 된다면 VM이 많아질 경우 일일히 VM에 들어가서 방화벽 정책을 관리해줘야 하기 때문에 엄청난 관리 코스트가 발생하게 된다. 다만 보안문제는 매우 중요하기 때문에 VPC Network 방화벽 Rule을 신중하게 결정하고 또 면밀히 테스트하는 것이 매우 중요하겠다.
'Cloud' 카테고리의 다른 글
GCP에서의 CI/CD 파이프라인 구축 (0) | 2021.06.29 |
---|---|
VS Code 와 Google Compute Engine을 연동해보자 (Remote SSH) (0) | 2021.06.26 |
자신의 Docker 개발환경을 Container Registry 와 연동하기 (0) | 2021.06.25 |
일반 Linux 환경에서 gsutil 사용하기 (Cloud Storage 데이터 업로드, 다운로드) (0) | 2021.06.25 |
리눅스, 윈도우 VM에 동시에 NAS 마운트하여 파일 공유하기 (GCP Filestore) (0) | 2021.06.09 |