[GCP教學-Python] #4 建立防火牆規則

2020/03/31 GCP

本文擬將會學到

  • 在 GCP 中建立防火牆規則

前言

上一篇文將已經教各位如何在雲端主機內利用 iptable 指令的方式轉發PORT號達到連接埠轉送(port forwarding) 的功能。不過那種方法只是應急暫時的,如果你的主機重啟後需要再重新設定一次。此外預設 80 PORT 通常是拿來部署網頁,我們拿來部署 API 有點怪。(雖然還是能執行)

系統常用的 PORT 號通常介於0到1023之間,這些 PORT 號一般固定分配給一些服務。比如21 PORT分配給FTP服務,80 PORT分配給HTTP服務…等。而動態 PORT 號的範圍從1024到65535,這些 PORT 號一般不固定分配給某個服務,也就是說這些範圍內的數字我們都可以拿來做監聽。

建立防火牆規則

首先點選左邊導覽列找到VPC網路並進入防火牆規則的頁面。

進入後你會看到許多預設的防火牆規則 GCP 都幫你事先設定好了,假設如果我今天想開通 8000 PORT 的話我就必須來到這裡自行新增一個規則。請點選最上方的建立防火牆規則。

在這裡就能建立你欲開通的 PORT 號了,主要有四個欄位必填,分別為 名稱目標標記來源IP範圍 以及 通訊協定和通訊埠。其中 目標標記 要記起來之後做虛擬機設定會用到,簡單來說它是一個 tag標籤。此外值得注意的是 來源IP範圍 我設定 0.0.0.0/0 表示允許任何人都能連線進來做存取動作,就等於對外開放。假設如果你不想這麼做的話你也能指定特定的IP才能進行存取的做作。

設定防火牆標籤

建立完成防火牆規則後我們就要讓虛擬機知道我們設定好的規則,返回到 Compute EngineVM 執行個體 並點選編輯。

進入編輯後找到 網路標記 並將剛剛所建立的規則 目標標記 輸入進去,如下圖所示。完成後儲存就可以囉。

測試

以上流程就完成防火牆設定了,所以我們可以進入虛擬機來啟動一個 8000 PORT 的 Flask API 來做測試吧!

到這邊可能會有朋友問,可以執行了沒錯。但我將 SSH 連線關閉後整個 API 就結束執行了。我該怎麼讓他在背景執行呢?如果你寫過 Node.js 你可能知道 forever 這個套件。那 Python 就要使用 gunicorn 來部署我們的 Flask API。下一篇就會教你如何使用 gunicorn 來背景執行你的程式囉!

版主10在2020年首次開設YouTube頻道,嘗試拍攝程式教學。想要了解更多的朋友歡迎關注我的頻道,您的訂閱就是最大的支持~如果想學其他什麼內容也歡迎許願XD
https://www.youtube.com/channel/UCSNPCGvMYEV-yIXAVt3FA5A

Search

    Table of Contents