顯示具有 GCP 標籤的文章。 顯示所有文章
顯示具有 GCP 標籤的文章。 顯示所有文章

2019年2月20日 星期三

使用其他工具透過 SSH 連接 GCP 的 VM

網路上其實已經有很多文章在講要怎麼用其他工具 SSH 連進 GCP 的 VM,不過中間大多有個小地方寫得不太清楚。

通常來說,多數文章會講說可以用 PuTTYgen 這個工具來產生 RSA 金鑰,然後這裡要記得選一下演算法和金鑰長度。產生好金鑰以後,PuTTYgen 會直接在介面上顯示出 public key,然後可以選填 key comment 和 passphrase。這時最重要的問題來了!這裡其實輸入的 key comment 就是未來用這個金鑰作為 SSH 登入管道時的使用者帳號,並不是一定要輸入什麼指定的東西,所以不必限定在一定要用 GCP 帳號的名稱、當然也不要直接用 PuTTYgen 預設的字串(雖然說預設字串也蠻不容易被猜到的啦….)。

後面就是一般操作,把 private key 存檔,並且把 public key 貼到 GCP 的 metadata 裡面,稍微等一下下,就可以用這個金鑰去 VM 登入了。

參考資料
  1. [教學] Google Compute Engine ( GCE ) 使用 PuTTY SSH 登入實例
  2. 使用進階方法連線至執行個體

2018年5月17日 星期四

在 GCP 上為 VM 設定防火牆

在雲端環境中,防火牆的概念其實跟傳統模式有點不同。傳統的防火牆概念是在作業系統上設定像是 iptables 等。但在雲端上,因為網路服務是由獨立的元件提供的,所以其實應該用 SdN(Software defined Network)的方式來思考這個問題。具體來說就是,網路相關的設定並不會在 VM 上設定,而是在 VM 外部設定,就像是真的有個牆放在 VM 前面這樣。

設定防火牆規則

在 GCP 中,網路服務的提供是由 VPC 來進行的,因此在設定時要先在「VPC networks」裡的「Firewall rules」新增防火牆規則。防火牆規則的內容中,最重要的在於這個規則要套用到哪些 VM,而決定套用對象的方式在於設定「Targets」。

Targets 有三種模式可以設定:

  1. All instances in the network
  2. Specified target tags
  3. Specified service account

如果想要簡單的話,可以設定成 1,也就是規則將套用到網路中所有的 VM。不過如果只想針對特定一些 VM 的話,用 2 比較合適。用 2 的模式時,會需要輸入對象的標籤名稱,假設我想要打開 22 port,所以我命名標籤叫做「allow-ssh」,代表只要 VM 有「allow-ssh」這個標籤,就要套用這條防火牆規則。

設定 VM 標籤

接下來是比較奇特的地方,在 VM 上要標剛剛寫的標籤。從「Compute Engine」進入「VM Instances」,然後編輯想要設定防火牆的 VM。編輯時,要注意要找的是「Network tags」(中文介面會寫「網路標籤」)而不是「Lables」(中文介面會寫「標籤」)……。因為剛剛在防火牆規則設定的標籤是「allow-ssh」,因此 VM 的 Network tags 裡也要設定相同的名字。設定完以後,儲存然後稍微等一下下,防火牆規則就會套上 VM 了。