隨著生成式 AI 系統日益複雜,安全性成為設計過程中的一個重要議題。例如,當我們開發一個核心的 generator
服務來處理文本或圖像生成時,這些服務每次請求都會消耗 API token。如果服務對外暴露,可能會面臨惡意攻擊者的頻繁請求,導致 token 快速耗盡,甚至可能引發 DDoS 攻擊,使服務無法正常運行。因此,為了保護這類關鍵服務,我們需要通過虛擬私有網絡(VPC)將服務隔離在內部,並通過負載均衡器來管理流量,限制只有內部授權的服務能夠訪問 generator
服務。
除了安全性之外,微服務之間的通信方式也是系統設計中的核心。在微服務架構中,各個服務之間的通信可以分為同步和異步兩類。同步通信通常用於即時的請求和回應,而異步通信則允許服務之間解耦,適合處理高並發和延遲容忍的場景。在實踐中,我們常常依賴 API Gateway、Service Mesh 等工具來進行同步通信管理,而 RabbitMQ 等消息隊列則是典型的異步通信解決方案。接下來的部分,我將介紹如何結合 VPC 和 Load Balancer 的實作,來保護 GenAI generator 服務免受外部攻擊,同時確保內部通信的高效性和安全性。
以下以 GCP 服務為例說明。
generator
服務加入其中
generator
服務只能在內部網絡中運行,並限制外部對其存取。generator
服務所屬的 Cloud Run。generator
服務,僅允許內部網絡中的其他微服務通過授權方式連接該服務。generator
服務位於相同的地區,以便負載均衡器能夠正確分發流量。generator
服務設置為 Internal 模式
generator
服務的 Cloud Run 介面,找到 Ingress Control。generator
服務
generator
服務。curl -H "Host: generator-release-efzli6hwua-de.a.run.app" \
http://<hostname>:<port>/generate-text
curl -i -X POST \
-H "Host: generator-release-efzli6hwua-de.a.run.app" \
-H "Content-Type: application/json" \
-d '{"prompt": "生成一段關於未來科技的描述"}' \
http://<hostname>:<port>/generate-text
通過這樣的架構設計,我們能夠在保護 generator 服務免受外部攻擊的同時,確保合法請求仍然能夠正常運行,防止惡意請求濫用 API token 或造成服務崩潰。這樣的安全措施對於任何涉及高資源消耗的 GenAI 服務來說,都是很重要的。負載均衡器與 VPC 的結合,不僅提升了內部微服務之間的安全通信,也保證了系統的高效性和穩定性。
ref.