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