구글 클라우드 플랫폼(GCP) 방화벽 설정

Wookoa 2024. 2. 27.

구글 클라우드 플랫폼 방화벽 설정
구글 클라우드 플랫폼 방화벽 설정

머리말

  구글 클라우드 플랫폼에서 앱 서비스를 할 경우 별도의 방화벽을 오픈해야 한다. 로컬 서버를 구축한 경험으로 방화벽 오픈 내역을 확인하는 명령어를 수행했지만, 당연하게도 결과는 출력되지 않았다. 클라우드 컴퓨팅 시스템은 별도의 방화벽 오픈 절차가 있을 것 같아서 구성 메뉴를 이리저리 살펴보던 중 방화벽 오픈을 찾을 수 있었다. 본 포스팅에서는 구글 클라우드 콘솔 브라우저에서 방화벽을 오픈하는 방법에 대해서 설명한다.

GCP 방화벽 설정

  방화벽은 왼쪽 상단의 메뉴 버튼을 클릭해서 VPC 네트워크 > 방화벽 메뉴를 클릭하면 확인할 수 있다. 방화벽에 대한 설정은 방화벽 정책과 방화벽 규칙 두 가지가 있는데, 본 포스팅에서는 방화벽 오픈을 위한 방화벽 규칙에 대해서만 설명한다. 화면 상단의 방화벽 규칙 만들기 버튼을 통해 방화벽을 설정할 수 있다. 본인의 경우 애플리케이션을 1600 포트로 서비스하고 있어서 아래와 같이 방화벽 규칙을 추가로 생성한 화면이다.

방화벽 설정 화면
방화벽 설정 화면

VPC 네트워크?

가상 컴퓨터의 네트워크를 관리하는 메뉴인데 시간의 흐름에 따라 메뉴명이 조금씩 달라질 수 있다. 과거에는 방화벽 규칙이라는 메뉴가 현재는 방화벽이라고 변경되었다. 기능이 추가/삭제됨에 따라 메뉴 명이 변경되지만 메뉴 구성에 대한 큰 레이아웃은 변경되는 경우가 드무니 크게 어렵지 않을 것이다.

방화벽 규칙 생성

  방화벽 규칙 만들기 화면은 아래와 같다. 스크롤 압박을 피하고자 편의를 위해 하단의 내용을 옆으로 옮겨놓고 캡처를 했으니 참고 바란다. 설정에 크게 어려운 부분은 없으며, 데이터 흐름의 방향에 따라 인/아웃바운트 개념만 갖고 있으면 충분히 방화벽 규칙 생성이 가능하다.

  • 이름: 방화벽 규칙에 대한 이름이다. 서비스하는 애플리케이션 또는 기능에 따라 이름을 설정하면 좋다.
  • 설명: 방화벽 규칙에 대한 부가 설명을 위한 입력란이다. 이름만으로는 구분이 어려울 수 있으니 간단한 설명도 추가로 설정하면 좋다.
  • 로그: 방화벽 규칙에 따라 영향을 받는 통신들에 대한 로그를 기록할지 여부를 설정할 수 있다. 이는 데이터를 감사, 확인 및 분석할 수 있지만 로그를 생성하게 되면 스토리지 사용량이 증가하기 때문에 클라우드 비용이 증가할 수 있다. 간단한 서비스를 위해 포트 오픈정도로 사용한다면 굳이 로그를 쌓을 필요는 없어 보인다.
  • 네트워크: 현재 설정하는 방화벽 규칙이 적용될 네트워크를 선택할 수 있다. Compute Engine 생성 시 별도의 네트워크를 생성하지 않았다면 default 네트워크를 사용하며, 네트워크를 생성했다면 드롭 다운 메뉴에 출력될 것이다.
  • 우선순위: 네트워크 규칙 간 우선순위를 적용할 수 있다. 숫자가 적을수록 우선순위가 높다. 네트워크 방화벽 규칙이 복잡하게 설계된 경우에만 유용한 설정이며, 단순한 구조로 되어있다면 기본값을 변경할 필요는 없다.
  • 트래픽 방향: 네트워크에 들어오는 트래픽은 수신(인그레스/인바운드)으로 설정하며 네트워크를 통해 나가는 트래픽은 송신(이그레스/아웃바운드)으로 설정하면 된다. 본인의 경우 외부 접속자(웹브라우저)로부터 트래픽을 수신하
  • 는 경우이기 때문에 트래픽 방향을 수신으로 설정했다.
  • 일치 시 작업: 정의한 규칙이 일치할 때 트래픽의 허용/거부를 설정한다.
  • 대상: 방화벽 규칙을 적용할 대상을 선택할 수 있다. 네트워크의 모든 인스턴스, 지정된 대상 태그, 지정된 서비스 계정 3가지로 지정 옵션이 존재한다. 대상을 명확히 태그나 서비스 계정으로 지정할 수 있지만, 본인의 경우 한 개의 인스턴스만 사용하고 있기 때문에, 네트워크의 모든 인스턴스로 간단하게 설정했다. 필요에 따라 변경할 수 있으니 부담 없이 설정했다.
  • 소스/대상 필터: 트래픽을 허용할 네트워크의 주소를 설정한다. 범위를 설정할 때 CIDR 표기법을 사용해서 설정한다. CIDR 표기법을 정확히 이해하기 위해서는 내용이 적지 않다. 본 포스팅에서는 별도로 언급하지 않을 예정이며, 모든 아이피에 대한 허용은 0.0.0.0/0 값을 입력하면 된다.
  • 프로토콜 및 포트: 트래픽을 허용할 포트번호를 설정한다. 본인의 경우 1600 포트로 서비스할 예정이라 TCP 입력란에 1600 포트번호를 설정했다.
방화벽 규칙 만들기
방화벽 규칙 만들기

ingress

서비스 경계 외부의 클라이언트가 서비스 경계 내의 리소스에 접근하는 것을 의미한다. 예를 들어 서비스 경계 외부의 Cloud Storage 클라이언트에서 경계 내에 있는 Cloud Storage 리소스에 대한 읽기/쓰기 또는 복사 작업을 호출하는 경우가 해당된다.

igress

서비스 경계 내부의 클라이언트 또는 리소스가 경계 외부의 리소스에 접근하는 것을 의미한다. 예를 들어 서비스 경계 내에 있는 Compute Engine 클라이언트에서 경계 외부에 있는 Compute Engine의 Create 작업을 호출하는 경우가 해당된다.

꼬리말

  커맨드 라인으로 방화벽을 설정하는 것이 익숙했지만, 제공되는 콘솔을 이용해 방화벽을 설정하는 것도 제법 편하게 느껴졌다. 대시보드처럼 한눈에 펼쳐놓고 네트워크 로직을 구성할 수 있어서, 복잡한 시스템을 구성할 때는 빛을 발휘할 것 같았다. 방화벽 규칙을 생성하면 Compute Engine 재기동 없이도 적용돼서 바로 트래픽을 확인할 수 있다. 구글 클라우트 플랫폼에서 방화벽을 설정하는 방법에 대해 소개한 본 포스팅은 이로써 마무리를 짓도록 한다.

인기있는 글

소중한 댓글 (0)