[英]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
調用。
就總結問題而言:
根據文檔,似乎可以通過VPC connector
連接到另一個服務,但我遇到了同樣的問題。 假設我們仍然保留另一個服務為allow unauthenticated
。 通過VPC connector
將egress
流量切換到 go 后,我front-end
無法到達端點,這似乎是 .network 需要的其他東西。
另外,當我測試時,我正在使用Custom domain
,這樣可能會解析 public.network 或其他東西。
它對我不起作用,但它可能對你有用。 聽到會很有趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.