回顧我的 2025 年成長之旅

紀錄我 2025 年從剛當完兵、入職 Cloud Engineer、備戰雙十一,到站上技術舞台與拿下鐵人賽冠軍的完整一年。 Summary 2025 年,我從剛當完兵、第一份正職工作開始,一路走到雙十一、技術舞台,還有寫作賽事 我在 Q1 成為 SHOPLINE Cloud Engineer,正式投入大規模電商系統的 Kubernetes 與 Networking 維運,涵蓋 EKS、CDN / Proxy Layer、TLS、以及高流量穩定性設計。入職後即被要求主講 EKS Deep Dive 內部分享,開始承擔雙十一備戰相關的系統責任。 Q3~Q4,我參與 SHOPLINE 2025 雙十一 的系統備戰與當晚 shift,並見證 SHOPLINE 業績再創新高。 在技術輸出與社群方面,我於 2025 年: 於 2025 KubeSummit 代表 SHOPLINE 演講「從零打造 eBPF CNI Plugin:揭秘 Cilium 封包處理核心原理」該場次為 全場滿意度最高演講,內容深入底層從 Cilium 原始碼與論文出發,實作 Prototype 解構封包處理流程,並得到 Cilium 官方轉發 首次參賽 iThome 鐵人賽(Cloud Native 組)獲得冠軍,完成「30 天深入淺出 Cilium:從入門到實戰」系列,深入淺出教學 Cilium 與實戰經驗 成為 AWS Community Builder(Serverless) 並持續以 Mentor 身份參與 AWS Educate Cloud Ambassador,累積 10+ 場技術與職涯培訓課程 整體而言,2025 是我把 Networking / Kubernetes / Cloud Infra 從「深度學習」推進到「可被驗證輸出」的一年,無論是在大流量實戰、底層原理拆解,或對外技術傳播上,都開始累積出一條穩定的專業方向...

January 1, 2026 · 4 min

AWS PrivateLink 深入教學:NLB、Dual-stack 與 Private DNS name 整合實作

在前一篇教學中 如何將現有 NLB IPv4-only 架構升級為 Dual-stack,我們已經配置好一個支援 Dual-stack 的 NLB 了。 現在假設有一個需求:「客戶需要調用我們的 API,且他們也使用 AWS。」有沒有辦法不經過 Internet,而是直接透過 AWS 的骨幹網路 (Backbone),將流量送到我們的 NLB?同時避免使用 VPC Peering 或 Transit Gateway,確保網路不完全打通,以降低潛在風險,例如資料洩漏或不必要的安全隱患。 答案就是 PrivateLink 什麼是 PrivateLink? AWS PrivateLink 是一種安全的網路技術,允許服務提供者 (Service Provider) 將他們的服務透過 VPC Endpoint 暴露給使用者 (Service Consumer),而不需要將流量經過公網 (Internet)。它能確保所有流量都在 AWS 的骨幹網路內部傳輸,提供高安全性、低延遲的解決方案。 PrivateLink 的核心特點: 避免暴露服務到公網: Service Provider 的服務不需要有 Public IP,Consumer 可以透過 Private IP 訪問這些服務。 簡化網路架構: 無需設定 VPC Peering、Transit Gateway,所以不用擔心整個網路打通的安全風險。 跨帳號支持: Service Provider 和 Consumer 可以位於不同 AWS 帳號,甚至不同 AWS 組織。 多 Region 支持: PrivateLink 現在也支援跨區域的流量傳輸 (需額外配置)。(Reference) 可以自定義的 Private DNS name: Consumer 可以直接使用 Service Provider 提供的 Private DNS Name 調用服務。 Terminology Service Consumer: 使用服務的一方。Consumer 會在自己的 VPC 中建立 VPC Interface Endpoint 來連接到 Provider 的 Endpoint service。Consumer 必須等待 Provider 接受連接請求後,才能開始使用服務。透過這種方式,Consumer 可以安全地存取 Provider 的服務,而無需經過公有網路。 Endpoint: VPC Interface Endpoint (VPCE) 是一個彈性網路介面,具有私有 IP 位址。它作為進入 AWS 服務的進入點,讓 VPC 中的資源可以私密地存取這些服務。在 PrivateLink 架構中,這是 Consumer 端建立的元件。 Service Provider: 提供服務的一方。Provider 需要建立 Endpoint service 並將其與 NLB 或是 GWLB 關聯,然後可以選擇性地允許哪些 AWS 帳戶可以連接到此服務。Provider 負責接受或拒絕來自 Consumer 的連接請求。 Endpoint service: Endpoint service 是由 Service Provider 建立的服務,可以與 Network Load Balancer (NLB) 或是 Gateway Load Balancer (GWLB) 關聯。這個服務允許其他 AWS 帳戶 (Consumer) 通過 VPC Interface Endpoint 連接到 Provider 的服務。 Section 1: 配置 PrivateLink Step 1: [Provider] 創建 Endpoint service 在 Section 1 - Step 1,我們要扮演 Service Provider,我們是提供 Service 的人。...

January 12, 2025 · 7 min

如何將現有 NLB IPv4-only 架構升級為 Dual-stack

目標 將現有的 IPv4-only NLB 升級為支援 Dual-stack 讓 Target Group 從純 IPv4 轉換為支援 IPv6 確保整個架構能同時處理 IPv4 和 IPv6 的流量 我們將逐步完成這個轉換過程,包括配置 VPC、更新 NLB 設置、修改 Security Groups,以及設定 Target Groups。每個步驟都會提供詳細的操作說明和技術細節,幫助您順利完成這個升級過程。 現有架構 現在的架構是一個很基本的 IPv4 NLB(Internet-facing) → Target Group (IPv4 Instance type ) 的架構 點擊展開以查看詳細內容 VPC NLB Details Security Group Target Group Instance Security Group Section 1: NLB IPv4 → Dual-stack Step 1: VPC 新增 IPv6 CIDR 進入 VPC 頁面: 選取 VPC 展開 Actions menu 點擊 Edit CIDRs 新增 IPv6 CIDR:...

January 8, 2025 · 6 min

[Terraform Module] 一個低成本、高靈活性,輕鬆預熱上百個 Lambda Function 的解決方案:Tag-Based Lambda Warmer

前言 - 現有架構的挑戰 最近,我在一個 Serverless 專案中遇到了一個讓人頭疼的挑戰。這個專案運行在多個 Lambda Functions 之上,為了避免冷啟動帶來的延遲問題影響使用者體驗,需要確保 Functions 處於「熱啟動」狀態(Warm Start),如何有效管理大量的預熱 (prewarm) 操作變得非常棘手。 常見的解決方案之一,是為每個 Lambda Function 配置一個 EventBridge Scheduler,雖然可以達到預熱效果,但: 管理成本高:需要單獨為每個 Lambda Function 配置 Scheduler,數量多難以管理。 靈活性不足:難以快速響應需求變更,重新部署新的 Lambda Function 時,需要修改 Scheduler 的 Target。 基於這些挑戰,我開發了 Tag-Based Lambda Warmer Terraform Module,提供了一種低成本、高靈活性的解決方案。 Tag-Based Lambda Warmer 介紹 Tag-Based Lambda Warmer 的核心理念非常簡單: 將需要被預熱 (prewarm) 的 Lambda Function 加上指定的 Tag(例如:Prewarm=true)。 當你部署 Terraform Module 後,EventBridge Schduler 會定期調用 Tag-Based Lambda Warmer,Warmer 會根據 Tag 自動篩選需要被預熱的 Lambda Functions 這套解決方案特別適合以下情境: 低流量、間歇性工作負載:例如開發環境或小型應用中的 Lambda Functions,需要偶爾處於熱啟動狀態,但不需要持續高效能。 多環境管理:通過不同的 Tag(例如 Environment=dev 或 Environment=prod),可以輕鬆在多個環境中靈活部署。 成本敏感型專案:對於中小型 Serverless 應用,這種解決方案能有效降低運維成本。 還是要提醒,這種透過定期調用來保持熱啟動狀態的解決方案,只能讓你保持至少有一個熱啟動狀態的 Execution Environment,今天流量突然有一個高峰,碰上冷啟動是不可避免的...

December 30, 2024 · 2 min

開箱 Amazon Aurora Serverless v2 Auto-pause Feature (ACU 0)

Overview 就在 2024/11/20 AWS 釋出了重磅消息 — 「Amazon Aurora Serverless v2 supports scaling to zero capacity」,簡單來說這個功能能夠讓 Aurora 在閒置一段時間後,自動停止實例 (Auto-pause),停止期間不會收取「執行實例小時數費用」 (Aurora Capacity Units = 0),達到所謂的 Truly Serverless!! 官方把這個新功能稱為 Auto-pause ,在這個功能釋出以前, Aurora Capacity Units (ACU) 最低最低只能設定成 0.5。 實際 RDS 定價 其實還有其他收費,像是儲存成本、 IOPS、傳輸… 等等,詳細內容敬請參考官方文件 (連結) Amazon Aurora vs RDS for MySQL 在 us-west-2 的定價比較: Aurora Serverless v2 每個 ACU 一小時 0.12 美金 RDS for MySQL - db.t4g.micro 一小時 0.016 美金 約等於一 ACU 可以開 7.5 小時的 db....

December 4, 2024 · 5 min