關於服務連線自動化
服務連線自動化功能可讓服務消費者自動部署連線至受管理服務。
假設資料庫管理員部署了資料庫執行個體,並希望服務用戶透過 Private Service Connect 端點存取該資料庫。資料庫管理員可能沒有部署網路資源所需的 Identity and Access Management (IAM) 憑證或專業知識。
如果代管服務支援服務連線自動化,服務執行個體設定和網路設定可以委派給適當的管理員:
服務執行個體管理員可以控管哪些網路可存取服務。
網路管理員可以控管要允許連線的服務。
如果這些設定相符,服務連線自動化功能會在適當的網路中建立端點,提供受管理服務執行個體的連線。
服務連線自動化總覽
以下章節說明單一虛擬私有雲網路中的基本設定,該網路使用服務連線自動化功能。如要瞭解其他設定,請參閱「共用虛擬私有雲」和「具有自訂服務執行個體範圍的 Google 服務」。
如要部署支援服務連線自動化的代管服務執行個體,請按照下列步驟操作:
網路管理員為虛擬私有雲網路建立服務連線政策。
服務連線政策會參照服務類別,這是全域專屬資源,可識別特定生產者服務。單一服務連線政策的範圍僅限於單一服務類別和單一消費者虛擬私有雲網路,可委派在該範圍內設定連線的能力。
服務執行個體管理員會使用服務的管理 API 或 UI 部署代管服務執行個體。服務執行個體設定會指定哪些網路可透過服務連線自動化功能存取服務。
服務連線自動化會在消費者虛擬私有雲網路中建立端點。這個端點可用來將要求傳送至服務執行個體。
製作人設定
以下各節說明服務生產者用來設定服務連線自動化的資源。
服務類別
服務類別是代管服務類型的全域專屬代表。每個生產端都專屬擁有自己的服務類別。消費者會在服務連線政策中參照服務類別,授權部署作業並將連線委派給生產者。
只有具備服務類別的服務,才能建立服務連線政策。
Google 發布的服務可使用服務類別。第三方服務和自架式內部代管服務的預先發布版也提供服務類別,但數量有限。詳情請參閱「支援的服務」。
服務連線地圖
服務連線地圖是由供應商管理的資源,用於儲存授權和建立用戶虛擬私有雲網路與供應商代管服務執行個體之間的 Private Service Connect 連線詳細資料。這份對應表定義了供應商服務執行個體 (以服務連結表示) 與授權連線至服務執行個體的消費者專案和 VPC 網路之間允許的關係。
授權模型
服務連線政策可讓消費者將連線部署作業委派給受管理服務。服務供應商沒有消費者專案的直接存取權或 IAM 權限。而是由供應商在自己的專案中設定服務連線地圖。
建立或更新服務連線對應時 (通常是為了回應用戶端服務管理員對受管理服務管理 API 或 UI 的要求),服務連線自動化功能會執行一系列授權檢查。如果所有檢查都通過,系統會按照要求建立 Private Service Connect 端點。
網路設定 (服務連線政策):
- 網路授權。用戶端虛擬私有雲網路必須具備有效的服務連線政策,授權要求指定的虛擬私有雲網路、區域和服務類別。這項檢查可確保具備 VPC 網路身分與存取權管理權限的消費者網路管理員,明確委派建立指定服務類型 Private Service Connect 端點的能力。
- 服務執行個體範圍。如果代管服務執行個體是 Google 服務,且服務連線政策指定了自訂服務執行個體範圍 (
custom-resource-hierarchy-levels
),則服務連線自動化會檢查所提供的 Resource Manager 節點清單 (--allowed-google-producers-resource-hierarchy-level
)。服務執行個體管理員在代管服務的 UI 或 API 中,為部署及管理服務執行個體指定的專案,必須位於這份清單定義的允許範圍內。範圍可以是機構、資料夾和專案的組合。 - 端點專案驗證。建立連線政策的專案必須與要建立端點的虛擬私有雲網路建立關聯。專案必須包含虛擬私有雲網路,或是附加至共用虛擬私有雲網路的服務專案。
服務執行個體設定:
服務管理員 IAM 授權。消費者服務管理員必須具備建立或更新生產者服務執行個體所需的 IAM 權限。這些權限會因部署的服務而異。
服務執行個體管理員授權。在服務的管理 API 中,建立服務執行個體的服務執行個體管理員必須設定執行個體,允許來自要求連線的虛擬私有雲網路的連線。
製作人設定:
- 生產者 IAM 權限。建立或更新服務連線地圖的生產者服務管理員,必須具備相關聯服務類別的 IAM 權限。這項檢查有助於防止公職類別的虛假陳述。
如果符合所有條件,網路連線服務帳戶會在授權網路中建立要求的端點。Network Connectivity 服務帳戶是服務代理。
端點失敗時自動重試
服務連線自動化功能會全面管理 Private Service Connect 端點的建立和刪除作業。
如果服務連線自動化程序無法建立或刪除授權端點 (例如因配額限制或服務連線政策的子網路沒有 IP 位址),自動程序會定期重試作業,直到解決阻礙問題為止。不過,如果因授權檢查而無法建立或刪除端點,系統不會重試作業。
您可以說明服務連線政策並檢查 pscConnections
欄位,查看導致端點無法建立的錯誤。如要瞭解如何排解端點建立或刪除失敗的問題,請參閱「疑難排解」一節。
共用虛擬私有雲
服務連線自動化功能可用於在共用虛擬私有雲網路中,自動建立 Private Service Connect 端點。由於端點是透過共用虛擬私有雲網路的 IP 位址設定,因此主專案和所有附加的服務專案都能存取端點。
如要建立下圖所示的設定,請完成下列工作:
網路管理員會在
project1
主專案中為vpc1
網路建立服務連線政策,並允許連線至使用google-cloud-sql
服務類別的服務執行個體。端點 IP 位址是從endpoint-subnet
子網路分配。服務執行個體管理員會部署兩個代管服務執行個體:
db-test
位於service-project-test
專案中,db-prod
位於service-project-prod
專案中。管理員會設定服務執行個體,讓服務連線自動化功能在project1
的網路vpc1
中部署端點,並連線至服務執行個體。由於授權檢查全數通過,服務連線自動化功能會建立兩個連線至
endpoint-subnet
的端點,每個服務執行個體各有一個。連線至vm-subnet
子網路的所有 VM 都能存取端點,因為這些 VM 與端點連線至同一個共用虛擬私有雲網路。
具有自訂服務執行個體範圍的 Google 服務
根據預設,服務連線自動化功能會要求服務執行個體和連線至服務執行個體的端點必須位於相同專案中 (如果是共用虛擬私有雲,則必須位於已連線的專案中)。對於支援的 Google 服務,服務執行個體和連線端點可以位於不同專案或機構。
如要建立下圖所示的設定,請完成下列工作:
vpc-1
、vpc-2
和vpc-3
的網路管理員會在各自的虛擬私有雲網路中建立服務連線政策。這些網路可連線至使用google-cloud-sql
服務類別,並部署在機構org-1
專案project-1
中的服務執行個體。服務執行個體管理員會使用服務的管理 API 或 UI,在
project-1
中部署代管服務執行個體db-1
。管理員會設定服務執行個體,讓服務連線自動化功能在vpc-1
和vpc-2
中部署端點,並連線至db-1
。對於
vpc-1
和vpc-2
,授權檢查會全部通過,且服務連線自動化會在每個網路中建立端點。這些網路中的 VM 可以透過端點將流量傳送至服務執行個體。不過,由於該網路未在
db-1
服務執行個體設定中設定自動連線,因此系統不會在vpc-3
中建立端點。如果
vpc-3
需要存取db-1
服務執行個體,網路管理員可以聯絡資料庫管理員,要求他們將vpc-3
新增至db-1
的連線設定。
支援的服務
下列 Google 服務支援服務連線自動化。
如要判斷第三方代管服務是否支援服務連線政策,請與服務供應商聯絡。如果服務支援服務連線政策,服務供應商可以提供相關聯的服務類別。
製作人端的自動化資源僅在預先發布版中提供。如要為自己的代管服務自動建立消費者連線,請與業務代表聯絡。 Google Cloud