Google更新gRPC無代理服務,解決微服務間通訊的安全痛點,開發者透過Traffic Director控制平面,就夠簡單配置gRPC服務,以TLS/mTLS建立服務之間的安全通訊。

gRPC(General-purpose Remote Procedure Calls)是一個由Google發起的開源遠端程序呼叫框架,建立在HTTP/2協定之上,並且使用protobuf作為序列化和反序列化機制,支援各種使用案例和部署模型,能夠用於後端服務間的通訊,或是不同客戶端存取GCP服務的通訊,由於gRPC支援多語言環境,因此能夠讓像是Java客戶端,跟由Go語言編寫的伺服器溝通。

gRPC在現今的微服務架構中,扮演重要的角色,當大型單體應用程式分解成較小的微服務時,單體應用程式元件之間的程序內呼叫,便需要轉變成微服務之間的網路呼叫,而gRPC讓這件事變簡單。在去年的時候,Google更新gRPC無代理服務,讓用戶可以讓gRPC客戶端能夠處理和實作流量管理和負載平衡策略,並且還正式支援Traffic Director作為控制平面。

但是要讓gRPC網路呼叫和程序內呼叫一樣安全是個挑戰,而TLS/mTLS便能派上用場,最新版本的gRPC讓開發者可以配置政策,以加密服務到服務的通訊。Google新提出的解決方案,克服了服務之間的安全性痛點,包括在客戶端和伺服器上管理和安裝證書,或是從可信的CA綁定身份和發布證書,甚至是輪替證書等。

Google提到,在基礎設施中提供工作負載身份、CA和證書管理等功能,同時工作負載函式庫也在服務網格通訊中,利用這些設施來提供服務到服務的TLS/mTLS和身份驗證,這將能大幅節省開發人員和管理員的時間。現在用戶可以使用Traffic Director配置gRPC服務,在服務之間以自動化的方式,建立安全性功能,只需要在客戶端和伺服器配置安全政策,Traffic Director就能夠將其發布到服務中。

使用這項Google新提供的安全功能,用戶就可以替網格中所有服務,快速提供金鑰和證書,而金鑰和證書也會自動輪替,因此增加了整體安全性,同時還與GKE整合,並且能和以Envoy為基礎的服務網格無縫互通,像是服務可以位在Envoy代理之後,但是客戶端卻使用gRPC無代理服務網格。

Google還會繼續更新gRPC無代理服務,增加服務到服務間通訊的身份驗證功能,並且支援其他部署模型,讓gRPC除了在GKE運作,還能在Compute Engine等服務上執行。

熱門新聞

Advertisement