本頁面說明 VPC Service Controls 和私人叢集的運作方式,以及如何在 Cloud Workstations 中設定這些叢集。
VPC Service Controls
VPC Service Controls 為工作站提供額外的安全性,以降低資料遭到竊取的風險。您可以透過 VPC Service Controls 將專案加入服務範圍內,如此一來,源自服務範圍外的要求就無法存取相關資源及服務。
在虛擬私有雲服務範圍內使用 Cloud Workstations 的需求如下:
- 為協助保護 Cloud Workstations,每當您限制 Cloud Workstations API 時,都必須限制服務範圍內的 Compute Engine API。
請確認 Google Cloud Storage API 和 Artifact Registry API 在服務範圍內 可透過虛擬私有雲存取。這是將映像檔拉到工作站的必要步驟。 雖然使用 Cloud Workstations 時不需要,但我們建議您允許 Cloud Logging API 和 Cloud Error Reporting API 在服務安全防護範圍內透過 VPC 存取。
- 確認工作站叢集為私人。 設定私人叢集後,工作站就無法從虛擬私有雲服務邊界外部連線。Cloud Workstations 服務會禁止在 VPC 服務範圍內建立公開叢集。
- 請務必在工作站設定中關閉公開 IP 位址。否則,專案中的 VM 會擁有公開 IP 位址。強烈建議您使用
constraints/compute.vmExternalIpAccess
機構政策限制,為 VPC 服務安全防護範圍內的所有 VM 關閉公用 IP 位址。詳情請參閱「將外部 IP 位址限制為特定 VM」。
如要進一步瞭解服務範圍,請參閱「服務範圍詳細資料與設定」。
架構
將工作站叢集設為私有時,工作站叢集的控制層只會有內部 IP 位址。也就是說,公用網際網路的用戶端無法連線至工作站叢集的工作站。如要使用私有叢集,您必須透過 Private Service Connect 端點,手動將私有叢集連線至虛擬私有雲 (VPC) 網路。
使用私人叢集時,設定需要兩個 PSC 端點:
根據預設,Cloud Workstations 會建立個別的 PSC 端點,將控制層連線至工作站 VM。
您必須為私人叢集建立額外的 PSC 端點。如要從本機電腦連線至私有叢集中的工作站,本機電腦必須連線至 VPC 網路。使用 Cloud VPN 或 Cloud Interconnect,將執行機器的外部網路連線至虛擬私有雲網路。這個額外的 PSC 端點必須在外部網路連線的網路中建立,並使用 Cloud VPN 或 Cloud Interconnect。
下圖說明私有叢集的範例架構:
事前準備
開始操作前,請務必完成下列必要設定步驟:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Workstations API.
-
請確認您具備專案的 Cloud Workstations 管理員 IAM 角色,才能建立工作站設定。如要在 Google Cloud 控制台中查看 IAM 角色,請前往「IAM」IAM頁面:
-
Cloud Workstations 託管於從 Compute Engine 預先設定的公開 Container-Optimized OS (COS) 映像檔啟動的 VM。如果強制執行
constraints/compute.trustedimageProjects
組織政策限制,您必須設定映像檔存取限制,允許使用者從projects/cos-cloud
或所有公開映像檔建立開機磁碟。 -
選用:啟用 Container File System API,加快工作站啟動速度。
詳情請參閱「使用映像檔串流技術縮短工作站啟動時間」。
前往 Google Cloud 控制台的「Cloud Workstations」頁面。
前往工作站的「叢集管理」頁面。
點選「建立」。
輸入工作站叢集的「名稱」,然後選取「區域」。
在「Networking」(網路) 區段中,選取「Networks in this project」(這項專案中的網路)。
選取「網路」和「子網路」。
在「閘道類型」中,選取「私有閘道」。
選用:指定一或多個額外專案,這些專案會代管 Private Service Connect 端點,以便透過 HTTP 存取私人叢集。根據預設,這個端點只能在工作站叢集專案和虛擬私有雲網路主專案 (如果兩者不同) 中建立。如有需要,您也可以在建立叢集後指定這些專案。
按一下「建立」,叢集建立期間,狀態會顯示為「更新中」。
叢集會在幾分鐘內建立完成。叢集建立完成後,叢集狀態可能會顯示為「Degraded」(已降級)。完成「建立 PSC 端點」一節中的步驟後,叢集的狀態會在幾分鐘內變更為「Ready」(就緒)。
建立 PSC 端點,以工作站服務連結為目標。
使用 Cloud DNS 建立 DNS 記錄,將叢集的主機名稱對應至 PSC 端點。
在 Google Cloud 控制台中,前往 Private Service Connect。
按一下「已連線的端點」分頁,然後點選「新增」「連線端點」。
在「Target」(目標) 中選取「Published service」(已發布的服務)。
在「目標服務」欄位中,輸入為工作站叢集建立的服務連結 URI。如要找出這項資訊,請前往控制台中的工作站叢集,然後在「網路設定」下方尋找「服務附件 URI」欄位。
在「端點」欄位中輸入端點名稱。
選取端點的「網路」,然後選取「子網路」。 這個網路應為您要用來連線至工作站的網路,且必須與外部網路透過 Cloud VPN 或 Cloud Interconnect 連線的網路相同。
選取端點的 IP 位址。
如需新 IP 位址,請選取「建立 IP 位址」:
- 輸入 IP 位址的「名稱」和「說明」 (選填)。
- 如要使用靜態 IP 位址,請選取「自動指派」。 如要使用自訂 IP 位址,請選取「讓我選擇」,然後輸入要使用的 IP 位址。
- 在「用途」部分,選取「非共用」。
- 按一下「保留」。
從下拉式清單中選取「命名空間」,或建立新的命名空間。 系統會根據所選子網路填入「區域」。
按一下「新增端點」。
複製端點的 IP 位址,以便在下一節中建立私人 DNS 區域和 DNS 記錄。
前往 Google Cloud 控制台的「建立 DNS 區域」頁面。
在「Zone type」(區域類型) 中,選取「Private」(不公開)。
輸入「Zone name」(可用區名稱),例如
private-workstations-cluster-zone
。輸入私人區域的「DNS name」(DNS 名稱) 字尾,區域中的所有記錄都會共用這個尾碼。將這個名稱設為
clusterHostname
。如要找出
clusterHostname
,請在 Google Cloud 控制台中依序前往「Cloud Workstations」>「Cluster management」(叢集管理) 頁面,然後按一下工作站叢集即可查看主機名稱。選用:新增說明。
在「選項」下方,選取「預設 (私人)」。
選取您在前一個部分建立 PSC 端點的網路,因為 IP 位址只在該網路上有效。
點選「建立」。
前往 Google Cloud 控制台的「Cloud DNS 區域」頁面。
按一下要新增記錄的代管區域名稱。
在「Zone details」(區域詳細資料) 頁面中,按一下「Add Standard」(新增標準)。
在「Create record set」(建立記錄集) 頁面的「DNS name」(DNS 名稱) 欄位中,輸入
*.<clusterHostname>
。在「IP Address」(IP 位址) 欄位中,輸入您在上一個章節中為 Private Service Connect 端點保留的 IP 位址。
點選「建立」。
您的虛擬私有雲網路現在應已連線至工作站叢集,您可以使用這個網路連線至工作站。
建立私人叢集
請按照下列步驟建立私人叢集:
啟用私人叢集連線
用戶端無法從公開網際網路連線至私人工作站叢集中的工作站。用戶端必須位於可透過 Private Service Connect (PSC) 連線至工作站叢集的網路上。請按照本節的步驟連線至工作站:
建立 Private Service Connect 端點
請按照下列步驟建立 PSC 端點:
建立私有 DNS 區域
請按照下列步驟,為這個工作站叢集建立私人 DNS 區域,並將 DNS 名稱設為 clusterHostname
。如要找出 clusterHostname
,請在控制台中前往工作站叢集。
如要進一步瞭解私人 DNS 區域,請參閱 Cloud DNS 文件,瞭解如何建立私人區域,以及Cloud DNS 私人區域的最佳做法。
建立 DNS 記錄
如要新增記錄,將 *.<clusterHostname>
對應至建立 Private Service Connect 端點時保留的 IP 位址,請按照下列步驟操作:
啟用地端 DNS 解析
如要在工作站上使用預設的瀏覽器型編輯器,請透過連線至虛擬私有雲網路的電腦使用瀏覽器。您可以使用 Cloud VPN 或 Cloud Interconnect,從執行瀏覽器的外部網路連線至虛擬私有雲網路。
如要從外部網路連線,必須在外部網路中設定 DNS。與上述步驟類似,您可以為 clusterHostname
建立 DNS 區域,並新增將 *.<clusterHostname>
對應至建立 Private Service Connect 端點時保留的 IP 位址的記錄。或者,您也可以設定 DNS 轉送區域或 DNS 伺服器政策,允許在內部部署和 Google Cloud 環境之間查詢 DNS 名稱。
您可能也需要在地端基礎架構的許可清單中加入 *cloudworkstations.dev
。