본문 바로가기
Cloud/Google Cloud Platform

GCP(Google Cloud) 방화벽 설정: 프로토콜과 포트를 사용 허용 또는 거부하기

by Kibua20 2020. 7. 26.

Google Cloud Platform(이하 GCP)에서는 방화벽을 설정하는 방법을 설명합니다.

 

GCP에서 서버를 구축하고 외부 인터넷 망을 통해서 해당 서버에 접속하는 경우 방화벽에서 특정 프로토콜과 포트를 허용해야 합니다.  예를 들어서 GCP에 Python Flask 구동시키는 경우 'TCP  5000'번을 사용하고 이를 방화벽에서 '수신' 허용해야 합니다. 

 

GCP는 패킷이 GCP에서 외부망으로 나가는 Outbound는 모든 프로토콜과 포트가 허용되어 있는 것으로 보이고, 외부망에서 GCP로 접속하는 Inboond는 TCP/UDP/ICMP 프로토콜과 80/443/22/3389 포트만 허용되어 있습니다. GCP  방화벽 설정 자체는 개념만 이해하고 있으면 Google Cloud Console에서 아래와 UI를 제공하고 있어 쉽게 적용 및 수정이 가능합니다. 

 

GCP 방화벽 기본 설정

  • http tcp 80 포트 수신 허용 (VM 생성 시 http 접속 허용한 경우) : 외부 망에서 http로 접근 가능 (웹 서버로 운영 시)
  • https tcp 443 포트 수신 허용  (VM 생성 시 https 접속 허용한 경우): 외부 망에서 https로 접근 가능 (웹 서버로 운영 시)
  • icmp 포트 수신 허용  (멀티 캐스팅 수신 허용, Internet Control Message Protocol): 외부망에서 ping 오류 시 확인 가능
  • rdp tcp:3389 :  외부망에서 원격 데스크톱 수신 허용  (※ rdp는  기본적으로는 윈도우용에서 사용할 목적으로 보이며, 우분투에서 어떻게 사용해야 하는지 포스팅 에정입니다.)
  • ssh tcp:22: 외부망에서 SSH 접속 허용 
  • 내부 망 정책 (tcp:0-65535, udp:0-65535,  icmp): 같은 네트워크 상에서는 tcp, udp icmp의 모든 포트 허용

GCP 방화벽 설정 방법

Google Cloud Planform console에서 'VPC 네트워크' 메뉴에서 GCP 사용 목적에 따라서 방화벽을 설정할 수 있습니다. 보안을 강화하는 경우에는 방화벽에서 tcp, udp의 포트 자체를 막거나, 특정 IP만 허용할 수 있습니다.  반대로 특정 프로토콜과 포트를 허용하도록 설정도 가능합니다.  설정 방법은 아래와 같습니다. 

 

 

  1. Google Cloud Platform Console에서 VPC 네트워크 메뉴에서 '방화벽' 선택
  2. '방화벽 규칙 만들기' 선택
  3. 방화벽 이름 지정
  4. 트래픽 방향: 수신 (Inbound) 또는 송신 (Outbound) 허용, 외부에서 GCP 서버에 접근하기 위해서는 '수신'을 선택
  5. 소스 범위 선택: 특정 IP 선택 또는 모든 IP를 허용.  모든 IP를 허용하는 경우에는 '0.0.0.0/0' 입력
  6. 프로토콜과 포트 선택: TCP, UDP의 포트를 지정 (Flask와 같은 경우에는 TCP에 5000번 입력)

GCP 방화벽 설정
GCP 방화벽 설정

 

관련 글

[개발환경/Google Cloud Platform] - GCP (Google Cloud) 하드 디스크 추가하기 (영구 디스크는 30GB까지 무료)

[개발환경] - Google Cloud Platform을 활용하여 평생 '무료' PC 만들기

[개발환경] - GitHub 아이디/패스워드 입력 없이 사용하는 방법

[모바일 SW 개발/REST API] - Service Account(JWT)을 활용한 Google Calendar API 사용

[모바일 SW 개발/REST API] - 우분투 20.04에서 Web 서버 설치 방법 (apache2, tomcat9)

[개발환경] - 네이버 동영상 다운로드 방법 (동영상과 설명 포함)

[모바일 SW 개발/Android] - [실패 사례] WSL(Windows Subsystem for Linux) 에서 Android 빌드하기

[모바일 SW 개발/REST API] - Google Gmail API 사용 방법 (1) - Sample code

[모바일 SW 개발/Python] - Python smtplib 사용한 email 발송 예제 (gmail)

[개발환경] - 윈도우용 MobaXterm - SSH 및 X-Server 지원

[개발환경] - [실패 사례] gcc 버전이 낮은 상용 리눅스 서버에서 프로그램 설치 시 GLIBCXX' not found 에러

[개발환경] - Ubuntu 20.04에서 sshfs 를 이용한 원격 폴더 마운트

[개발환경] - [Tips] Citrix Receiver for Chrome 설치 (우분투와 윈도우 동일)




댓글