跳到內容

概觀

此使用案例以 Terraform 逐一控制項地建立起 F5 Distributed Cloud 上受保護的 web 應用程式遞送路徑。第 1 次迭代奠定基礎:建立一個帶有來源集區的 HTTP 負載平衡器,將其狀態保存在 Azure Blob Storage 中,並透過 GitHub Actions 執行 plan-on-pull-request / apply-on-merge。後續的迭代會疊加 web 應用程式防火牆與 API 保護。

  • 一個 xcsh_origin_pool,轉發至公開的 httpbin 服務。
  • 一個 xcsh_http_loadbalancer,在 F5 XC 公用 VIP 上進行廣告並路由至該集區。
  • 位於 Azure 中的遠端 Terraform 狀態,讓運作人員的機器與 CI 之間可以共用執行結果。
層級選擇原因
Providerf5-sales-demo/xcsh(Terraform registry)由 F5 XC OpenAPI 產生;已內建 xcsh_http_loadbalancer、xcsh_origin_pool、xcsh_app_firewall(WAF)與 xcsh_api_definition(API 保護)。使用 API token 進行驗證(Authorization: APIToken <token>)。
狀態後端azurerm(Azure Blob Storage),access-key 驗證持久、共用的狀態。重複使用為 DNS 使用案例啟動的帳戶,並採用獨立的狀態金鑰。
自動化GitHub Actions每個 pull request 都執行 plan,合併至 main 時執行 apply。後端協調與輸入來自儲存庫的變數;憑證來自密鑰。
  • 第 1 次迭代(本次): HTTP 負載平衡器 + 來源集區 → httpbin。
  • 接下來: 附加一個 web 應用程式防火牆(xcsh_app_firewall)。
  • 然後: 加入 API 保護(xcsh_api_definition、API 探索)。
  • 稍後: 從 staging 推進至 pre-production 環境。

Demo 會逐步帶你以 Terraform 端對端地部署並驗證負載平衡器。