簡體   English   中英

CloudRun 中的服務到服務

[英]Service-to-service in CloudRun

我有兩項服務,一項是公開提供的,另一項僅供內部使用。 這兩種服務都不需要authentication 我通過 VPC 連接器連接了這兩項服務,但我仍然無法訪問internal服務。 有什么想法我可能會遺漏嗎?

在此處輸入圖像描述

另一部分讓我感到困惑的是Route all traffic through VPC 如果該服務是公共的,流量將如何流動?

在此處輸入圖像描述

非常感謝@guillaume blaquiere。 我在這個問題上加了點汁:

這是帶有詳細信息的可視化圖表: 在此處輸入圖像描述

這是正確的,它正在工作。 我從計算測試。

您仍然可以訪問內部,這也不例外,這完全取決於您從哪里進行測試,如果您需要更多幫助,請添加詳細信息,但我可以保證該功能有效!

我不需要出口。 那是純粹僅針對應用程序中特定邏輯的服務。

無服務器 VPC 連接器僅與出口流量有關。 因此,入口(內部或公共)行為與該部分無關。

如您所見,它僅來自Service External -> Service Internal

除非你想從你的入口所有服務到達入口內部服務。 在這種情況下,您必須設置出口連接器(無服務器 VPC 連接器)並將流量設置為全部。

這是否意味着只有在需要啟用這兩種服務時它才會起作用Route all traffic through the VPC connecter 我假設需要從該無服務器 VPC 連接器設置egress規則。

確實,即使Cloud Run的ingress設置為internal,Cloud Run的域名也是公開的。 因此,如果您嘗試訪問它,您將訪問公共 IP,因此您必須通過無服務器 VPC 連接器路由私有和公共流量。

如果流量設置為內部,您只能通過您的 VPC、Load Balancer、共享 VPC 或 VPC SC(詳述)訪問該服務。

您仍然可以訪問內部,這也不例外,這完全取決於您從哪里進行測試,如果您需要更多幫助,請添加詳細信息,但我可以保證該功能有效!

無服務器 VPC 連接器僅與出口流量有關。 因此,入口(內部或公共)行為與該部分無關。

除非你想從你的入口所有服務到達入口內部服務。 在這種情況下,您必須設置出口連接器(無服務器 VPC 連接器)並將流量設置為全部。

確實,即使Cloud Run的ingress設置為internal,Cloud Run的域名也是公開的。 因此,如果您嘗試訪問它,您將訪問公共 IP,因此您必須通過無服務器 VPC 連接器路由私有和公共流量。

請記住,入口內部“僅”是對流量來源執行的附加檢查,它不是您在遺留環境中所擁有的“私人”暴露。

那些可能感興趣的人。 我找不到適合我的設置的解決方案。 所以我有三個選擇:在端點上添加 auth 驗證檢查,通過pubsub更改模式或在公共端點前面構建 LB 並切換到內部( haven't tested though )。 由於這是一項需要在后台運行的服務,我決定通過pubsub調用。

就總結問題而言:

  1. 可用的入口設置

在此處輸入圖像描述

  1. 訪問內部服務

根據文檔,似乎可以通過VPC connector連接到另一個服務,但我遇到了同樣的問題。 假設我們仍然保留另一個服務為allow unauthenticated 通過VPC connectoregress流量切換到 go 后,我front-end無法到達端點,這似乎是 .network 需要的其他東西。

在此處輸入圖像描述

另外,當我測試時,我正在使用Custom domain ,這樣可能會解析 public.network 或其他東西。

在此處輸入圖像描述

它對我不起作用,但它可能對你有用。 聽到會很有趣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM