iT邦幫忙

2025 iThome 鐵人賽

DAY 26
0
Software Development

系統設計一招一式:最基本的功練到爛熟就是殺手鐧,從單體架構到分布式系統的 Lab 實作筆記系列 第 26

Day 26 | 第三階段系統優化 | 找個免費 Redis Server 來用 & GCE 網路問題排查

  • 分享至 

  • xImage
  •  

前言

今天早上發現我 SSH 怎麼連都連不進我的 GCE,用各種方式排查都沒什麼結果,真的讓人很頭痛,我想應該會把這個 VM 砍掉再重新建一個新的實例吧,但在排查過程中也可以學到一些雲端跟網路的概念,每次跟一個問題相處久慢慢就會對那些模糊的知識有更清晰的了解,這算是一個 Trouble Shooting 的好處吧,雖然很痛苦就是了。

https://ithelp.ithome.com.tw/upload/images/20250916/20161582yvh9t2qZy8.png

另外,今天也上網找看看有沒有免費可以用的 Redis 服務,單純用來做實驗的額度應該不用到太多,找到了 Redis 官網和 Render 的免費雲服務,創建了 Database 也可以用 GUI Tool 連到了,算是有點小進展,只是還不能測試 SpringBoot 有沒有辦法連到,等等 VM 的問題解決。

筆記

簡單整理一下今天在 Trouble Shooting 碰到的概念,總結成知識點,雖然啥也沒解決就是了。

Firewall Rule 與 Network Tags

Firewall Rule 就是用來控制進出 VM 流量的種種規則,每條規則包含了:

  1. 方向:進 or 出
  2. 動作:允許 or 拒絕
  3. 來源 or 目標
  4. Port

Network Tags 就是 Firewall Rule 控制的範圍,Firewall Rule會定義貼了哪些標籤的 VM 會適用這個規則、規則可以指定套用到哪些標籤的 VM,用來做分組管理,例如:有 web-server 標籤的 VM 才開放 80 port。

Cloud Shell vs GCE Terminal

Cloud Shell 是 Google 提供的免費雲端終端環境,運行在 Google 的伺服器上,對應的是帳戶層級,每個 Google 帳戶有一個 Cloud Shell 實例,但會根據當前選擇的專案來設定操作環境,不管切換到哪個專案,Cloud Shell 環境本身是一樣的,且已經預先安裝了 gcloud、kubectl 等 CLI 工具。

Cloud Shell 會自動設定 gcloud config set project [專案ID] ,所有 gcloud 指令會對當前選擇的專案執行,但可以在同一個 Cloud Shell 中切換不同專案。

與 GCE Terminal 的關係:

  • Cloud Shell: Google 的雲端終端 → 管理 GCP 資源
  • GCE Terminal: 你自己 VM 裡面的終端 → 管理該 VM 內部

序列控制台 (Serial Console)

Serial Console **是 VM 層級的,**直接連接到 VM 的硬體層介面,繞過所有網路,直接與 VM 的系統核心通訊,就像直接在 VM 前面坐著,插上鍵盤螢幕

什麼時候用?

  • SSH 壞了連不上 VM
  • 網路設定出問題
  • 系統當機需要除錯
  • 查看開機過程的錯誤訊息

總結

會想做這些主要還是出於對部署的好奇,平時工作上其實沒有什麼機會實作一個產品生命週期的部署階段,頂多就是點一點 Jenkins 自動化部屬而已,部署腳本也不是自己寫的,但看著看著就慢慢產生興趣,對自己不擅長的事總是覺得很酷。

再來就是希望對網路概念有一定程度的理解,因為是轉職過來的,所以對基本網路知識可以說是從零開始,剛開始連 IP 是什麼都不知道,到現在慢慢了解種種特性,一路走來也真是不容易。


上一篇
Day 25 | 第三階段系統優化 | 為了省錢把 MySQL 部署在 GCE
系列文
系統設計一招一式:最基本的功練到爛熟就是殺手鐧,從單體架構到分布式系統的 Lab 實作筆記26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言