設定地端部署主機的私人 Google 存取權
內部部署主機的私人 Google 存取權可讓內部部署系統透過 Cloud VPN 通道或 Cloud Interconnect 的 VLAN 附件,將流量路由至 Google API 和服務。內部部署主機專用的私人 Google 存取權是透過網路連線至 Google API 和服務的替代方案。
本文將說明如何為內部部署主機啟用私人 Google 存取權。
規格和需求
內部部署主機的私人 Google 存取權具有下列需求條件:
您必須將內部部署系統傳送的 Google API 和服務流量,導向與
private.googleapis.com
或restricted.googleapis.com
特殊網域名稱相關聯的 IP 位址。如要進一步瞭解可在各個網域存取哪些服務,請參閱「網域選項」。您必須使用 Cloud VPN 通道或 VLAN 附件,將內部部署網路連線至 VPC 網路。
內部部署網路連線的 VPC 網路必須有
private.googleapis.com
或restricted.googleapis.com
目的地 IP 範圍的適當路徑。詳情請參閱「虛擬私有雲網路轉送」。內部部署網路連線的 VPC 網路必須有適當的路徑,才能連線至內部部署網路。這些路徑的下一個躍點 Cloud VPN 通道或 VLAN 連結,必須連結至內部部署網路,且位於要求來源所在的區域。如果下一個躍點位於與私人 Google 存取權要求來源不同的區域,私人 Google 存取權的回應就無法傳送至地端部署網路。
您的內部部署網路必須有
private.googleapis.com
或restricted.googleapis.com
目的地 IP 範圍的路徑。這些路徑必須將流量導向連結至虛擬私有雲網路的適當 Cloud VPN 通道或 VLAN 連結。詳情請參閱「使用 Cloud Router 進行內部部署轉送」。如要讓內部部署環境中的 IPv6 用戶端使用
private.googleapis.com
或restricted.googleapis.com
存取 Google API,您必須設定連線至 VPC 網路的連線,以便支援 IPv6。如需詳細資訊,請參閱下列頁面:內部部署用戶端可以從任何 IPv6 GUA 或 ULA 位址傳送要求,但 ULA 範圍
fda3:e722:ac3:cc00::/64
除外,因為該範圍僅供內部使用。如果您的專案只提供 Google API 存取權給內部主機,就不需要為專案啟用 Google API。
不過,如果專案中的資源需要存取 Google API,您可能需要針對這些資源需要存取的服務,分別啟用 API。如要進一步瞭解如何在專案中使用私人 Google 存取權,請參閱「設定私人 Google 存取權」。
權限
具有網路管理員角色的專案擁有者、編輯者和身分與存取權管理主體,可以建立或更新子網路及指派 IP 位址。
如要進一步瞭解角色,請參閱 身分與存取權管理角色說明文件。
網路設定
內部部署主機的私人 Google 存取權有特定網路需求,適用於內部部署系統和內部部署系統透過該網路傳送流量至 Google API 和服務的虛擬私人雲端網路。
網域選項
如要使用內部部署主機的私人 Google 存取權,您必須將服務導向下列其中一個特殊網域。您選擇的特殊網域會決定您可以存取哪些服務。
private.googleapis.com
和 restricted.googleapis.com
VIP 僅支援透過 TCP 的 HTTP 通訊協定 (HTTP、HTTPS 和 HTTP/2)。系統不支援其他通訊協定,包括 MQTT 和 ICMP。
網域和 IP 位址範圍 | 支援的服務 | 應用實例 |
---|---|---|
|
啟用 API 存取權,可存取大多數 Google API 和服務,無論這些服務是否受 VPC Service Controls 支援。包括 Google 地圖、Google Ads、 Google Cloud和大多數其他 Google API 的 API 存取權,包括以下清單。不支援 Google Workspace 網路應用程式,例如 Gmail 和 Google 文件。不支援任何互動式網站。 符合下列條件的網域名稱:
|
使用 在下列情況下,請選擇
|
|
啟用 API 存取權,可存取 VPC Service Controls 支援的 Google API 和服務。 封鎖對不支援 VPC Service Controls 的 Google API 和服務的存取權。不支援 Google Workspace API 或 Google Workspace 網頁應用程式,例如 Gmail 和 Google 文件。 |
使用 如果您只需要存取 VPC Service Controls 支援的 Google API 和服務,請選擇
|
restricted.googleapis.com
,因為這可進一步降低資料外洩的風險。使用 restricted.googleapis.com
可拒絕存取 VPC Service Controls 不支援的 Google API 和服務。詳情請參閱 VPC Service Controls 說明文件中的「設定私人連線」。private.googleapis.com
和 restricted.googleapis.com
的 IPv6 支援
下列 IPv6 位址範圍可用於將來自 IPv6 用戶端的流量導向 Google API 和服務:
private.googleapis.com
:2600:2d00:0002:2000::/64
restricted.googleapis.com
:2600:2d00:0002:1000::/64
如果您想使用 private.googleapis.com
或 restricted.googleapis.com
網域,且有使用 IPv6 位址的用戶端,請考慮設定 IPv6 位址。已設定 IPv4 位址的 IPv6 用戶端可以使用 IPv4 位址存取 Google API 和服務。並非所有服務都接受來自 IPv6 用戶端的流量。
DNS 設定
您的內部部署網路必須設定 DNS 區域和記錄,讓 Google 網域名稱解析為 private.googleapis.com
或 restricted.googleapis.com
的 IP 位址組合。您可以建立 Cloud DNS 代管私人區域,並使用 Cloud DNS 傳入伺服器政策,也可以設定內部部署名稱伺服器。舉例來說,您可以使用 BIND 或 Microsoft Active Directory DNS。
以下各節說明如何使用 DNS 區域,將封包傳送至與所選 VIP 相關聯的 IP 位址。請按照適用於您情況的所有情境操作說明操作:
- 如果您使用的是具有
*.googleapis.com
網域名稱的服務,請參閱「為googleapis.com
設定 DNS」一文。 如果您使用其他網域名稱的服務,請參閱為其他網域設定 DNS。
舉例來說,如果您使用 Google Kubernetes Engine (GKE),也需要設定
*.gcr.io
和*.pkg.dev
;如果您使用 Cloud Run,則需要設定*.run.app
。如果您使用 Cloud Storage 值區,並將要求傳送至 Cloud Storage 自訂網域名稱,請參閱「為 Cloud Storage 自訂網域名稱設定 DNS」一文。
如果您使用 Cloud DNS 實作 DNS 設定,請參閱「為內部部署系統設定 DNS」。
為 VIP 設定 DNS 記錄時,請只使用下列步驟所述的 IP 位址。請勿混用 private.googleapis.com
和 restricted.googleapis.com
VIP 的地址。這可能會導致間歇性失敗,因為提供的服務會根據封包的目的地而有所不同。
設定 googleapis.com
的 DNS
建立 googleapis.com
的 DNS 區域和記錄:
- 為
googleapis.com
建立私人 DNS 區域。建議您建立 Cloud DNS 私人可用區。 在
googleapis.com
區域中,針對private.googleapis.com
或restricted.googleapis.com
建立下列私人 DNS 記錄,具體取決於您選擇使用的網域。針對
private.googleapis.com
:為
private.googleapis.com
建立A
記錄,指向下列 IP 位址:199.36.153.8
、199.36.153.9
、199.36.153.10
、199.36.153.11
。如要使用 IPv6 位址連線至 API,請為
private.googleapis.com
設定AAAA
記錄,並指向2600:2d00:0002:2000::
。
針對
restricted.googleapis.com
:為
restricted.googleapis.com
建立A
記錄,指向下列 IP 位址:199.36.153.4
、199.36.153.5
、199.36.153.6
、199.36.153.7
。如要使用 IPv6 位址連線至 API,請一併為
restricted.googleapis.com
建立指向2600:2d00:0002:1000::
的AAAA
記錄。
如要在 Cloud DNS 中建立私人 DNS 記錄,請參閱新增記錄。
在
googleapis.com
可用區中,為*.googleapis.com
建立CNAME
記錄,指向您已設定的網域:private.googleapis.com
或restricted.googleapis.com
。
設定其他網域的 DNS
部分 Google API 和服務會使用其他網域名稱提供,包括 *.gcr.io
、*.gstatic.com
、*.pkg.dev
、pki.goog
、*.run.app
和 *.gke.goog
。請參閱「網域選項」中的網域和 IP 位址範圍表格,判斷是否可以使用 private.googleapis.com
或 restricted.googleapis.com
存取額外網域的服務。然後針對每個額外網域:
為
DOMAIN
建立 DNS 區域 (例如gcr.io
)。如果您使用 Cloud DNS,請確認這個區域位於與googleapis.com
私人區域相同的專案中。在這個 DNS 區域中,請根據您選擇使用的網域,為
private.googleapis.com
或restricted.googleapis.com
建立下列私人 DNS 記錄。針對
private.googleapis.com
:為
DOMAIN
建立A
記錄,指向下列 IP 位址:199.36.153.8
、199.36.153.9
、199.36.153.10
、199.36.153.11
。如要使用 IPv6 位址連線至 API,請為
DOMAIN
建立指向2600:2d00:0002:2000::
的AAAA
記錄。
針對
restricted.googleapis.com
:為
DOMAIN
建立A
記錄,指向下列 IP 位址:199.36.153.4
、199.36.153.5
、199.36.153.6
、199.36.153.7
。如要使用 IPv6 位址連線至 API,請一併為
restricted.googleapis.com
建立指向2600:2d00:0002:1000::
的AAAA
記錄。
在
DOMAIN
區域中,為*.DOMAIN
建立指向DOMAIN
的CNAME
記錄。例如,為*.gcr.io
建立指向gcr.io
的CNAME
記錄。
設定 Cloud Storage 自訂網域名稱的 DNS
如果您使用 Cloud Storage 值區,並將要求傳送至 Cloud Storage 自訂網域名稱,則為自訂 Cloud Storage 網域名稱設定 DNS 記錄,指向 private.googleapis.com
或 restricted.googleapis.com
的 IP 位址,並不足以允許存取 Cloud Storage 值區。
如果您想將要求傳送至 Cloud Storage 自訂網域名稱,還必須明確將 HTTP 要求的 Host 標頭和 TLS SNI 設為 storage.googleapis.com
。private.googleapis.com
和 restricted.googleapis.com
的 IP 位址不支援在 HTTP 要求 Host 標頭和 TLS SNI 中使用自訂 Cloud Storage 主機名稱。
設定內部部署系統的 DNS
如果您已使用 Cloud DNS 實作 DNS 設定,就必須設定內部部署系統,讓系統能夠向 Cloud DNS 管理的私人區域提出查詢:
- 在內部部署網路連線的虛擬私有雲網路中,建立傳入伺服器政策。
- 在 Cloud VPN 通道和 VLAN 連結所在的區域,找出內送轉送器的輸入點,也就是與內部部署網路連線的 VPC 網路。
- 設定內部部署系統和內部部署 DNS 名稱伺服器,將
googleapis.com
和任何其他網域名稱轉送至與連線至虛擬私有雲網路的 Cloud VPN 通道或 VLAN 連結相同區域的傳入轉送器進入點。
虛擬私有雲網路路由
內部部署網路連線的虛擬私有雲網路,必須為 private.googleapis.com
或 restricted.googleapis.com
使用的 IP 位址範圍建立路徑。這些路徑必須使用預設網際網路閘道的下一個躍點。
Google 不會針對 private.googleapis.com
或 restricted.googleapis.com
網域使用的 IP 位址範圍,在網際網路上發布路徑。因此,即使 VPC 網路中的路徑會將流量傳送至預設網際網路閘道的下一個躍點,傳送至這些 IP 位址範圍的封包仍會保留在 Google 網路中。
如果內部部署網路連線的虛擬私人雲端網路包含下一個躍點為預設網際網路閘道的預設路徑,該路徑就符合內部部署主機私人 Google 存取權的轉送需求。
虛擬私有雲網路自訂轉送
如果您已取代或變更預設路徑,請務必為 private.googleapis.com
或 restricted.googleapis.com
使用的目的地 IP 範圍設定自訂靜態路徑。如要查看特定網路中 Google API 和服務的自訂路徑設定,請按照下列指示操作。
主控台
前往 Google Cloud 控制台的「Routes」頁面。
使用「Filter table」文字欄位,根據下列條件篩選路徑清單,並將
NETWORK_NAME
替換為您內部網路連線的虛擬私人雲端網路名稱:- 網路:
NETWORK_NAME
- 下一個躍點類型:
default internet gateway
- 網路:
查看每個路徑的「目的地 IP 範圍」欄。尋找目的地範圍相符的路線:
199.36.153.8/30
(如果您選擇了private.googleapis.com
)199.36.153.4/30
(如果您選擇了restricted.googleapis.com
)
gcloud
請使用下列 gcloud
指令,將 NETWORK_NAME
替換為內部部署網路連線的 VPC 網路名稱:
gcloud compute routes list \ --filter="default-internet-gateway NETWORK_NAME"
除非您使用 --format
標記自訂指令,否則路線會以表格格式列出。在 DEST_RANGE
欄中尋找目的地範圍符合下列條件的路線:
199.36.153.8/30
(如果您選擇了private.googleapis.com
)199.36.153.4/30
(如果您選擇了restricted.googleapis.com
)
如果您需要在虛擬私有雲網路中建立路徑,請參閱「新增靜態路徑」。
透過 Cloud Router 進行內部部署轉送
您必須設定內部部署網路中的路徑,將 private.googleapis.com
或 restricted.googleapis.com
網域使用的 IP 位址範圍流量,導向至下一個躍點 Cloud VPN 通道,或連線至虛擬私人雲端網路的 VLAN 連結。
您可以使用雲端路由器自訂路徑通告,宣告 private.googleapis.com
和 restricted.googleapis.com
網域使用的 IP 範圍路徑。
只有在啟用 IPv6 的 BGP 工作階段中,才會宣傳 IPv6 路徑。
主控台
如要更新 Cloud Router 上所有 BGP 工作階段的路徑通告模式,但不包括使用自訂 BGP 廣告的 BGP 工作階段:
前往 Google Cloud 控制台的「Cloud Router」頁面。
選取 Cloud Router,管理 Cloud VPN 通道或 VLAN 連結,以便將內部部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中選取 [編輯]。
展開 [公告路徑] 區段。
在「路徑」欄位,選取 [建立自訂路徑]。
如要向 Cloud Router 通告所有可用的子網路路徑,請選取「公告 Cloud Router 可使用的所有子網路」。這項設定會將預設設定複製到自訂設定。
針對您要新增的每個廣告路線,請執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中,選取「自訂 IP 範圍」。
- 在「IP address range」中,輸入要使用的任一範圍:
- 如果您使用
private.googleapis.com
:- IPv4 連線:
199.36.153.8/30
- IPv6 連線:
2600:2d00:0002:2000::/64
- IPv4 連線:
- 如果您使用
restricted.googleapis.com
:- IPv4 連線:
199.36.153.4/30
- IPv6 連線:
2600:2d00:0002:1000::/64
- IPv4 連線:
- 如果您使用
- 按一下 [完成]。
新增路徑完畢後,請選取 [儲存]。
如要更新特定 BGP 工作階段的路徑廣告模式:
前往 Google Cloud 控制台的「Cloud Router」頁面。
選取 Cloud Router,管理 Cloud VPN 通道或 VLAN 連結的 BGP 工作階段,以便將內部部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中,選取要更新的 BGP 工作階段。
在 BGP 工作階段詳細資料頁面中,按一下「編輯」。
在「路徑」欄位,選取 [建立自訂路徑]。
如要使用 Cloud Router 的預設行為,請選取「公告 Cloud Router 可使用的所有子網路」,向 Cloud Router 通告所有可用的子網路路徑。
針對您要新增的每個廣告路線,請執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中,選取「自訂 IP 範圍」。
- 在「IP address range」中,輸入要使用的任一範圍:
- 如果您使用
private.googleapis.com
:- IPv4 連線:
199.36.153.8/30
- IPv6 連線:
2600:2d00:0002:2000::/64
- IPv4 連線:
- 如果您使用
restricted.googleapis.com
:- IPv4 連線:
199.36.153.4/30
- IPv6 連線:
2600:2d00:0002:1000::/64
- IPv4 連線:
- 如果您使用
- 按一下 [完成]。
新增路徑完畢後,請選取 [儲存]。
gcloud
找出 Cloud Router 的名稱和地區,該路由器會在 Cloud VPN 通道上管理 BGP 工作階段,或連結地端部署網路和虛擬私有雲網路的 VLAN 連結。
使用
compute routers update
更新所有 Cloud Router 的 BGP 工作階段路徑通告模式,但不包括使用自訂 BGP 廣告的 BGP 工作階段:gcloud compute routers update ROUTER_NAME \ --region=REGION \ --advertisement-mode=CUSTOM \ --set-advertisement-groups=ALL_SUBNETS \ --set-advertisement-ranges=CUSTOM_RANGES
如果您已為 Cloud Router 使用
CUSTOM
廣告模式,可以附加新的廣告範圍。這會更新所有 Cloud Router BGP 工作階段的路徑通告模式,但不適用於使用自訂 BGP 廣告的 BGP 工作階段:gcloud compute routers update ROUTER_NAME \ --region=REGION \ --add-advertisement-ranges=CUSTOM_RANGES
或者,您也可以使用
compute routers update-bgp-peer
在 Cloud Router 上設定特定 BGP 對等:如果您要新增 IPv6 自訂範圍,且 BGP 工作階段已停用 IPv6 流量,可以使用
--enable-ipv6
標記啟用這項功能。gcloud compute routers update-bgp-peer ROUTER_NAME \ --region=REGION \ --peer-name=PEER_NAME \ --advertisement-mode=CUSTOM \ --set-advertisement-groups=ALL_SUBNETS \ --set-advertisement-ranges=CUSTOM_RANGES
如果您已在 Cloud Router 上使用 BGP 工作階段的
CUSTOM
廣告模式,可以附加新的廣告範圍如果您要新增 IPv6 自訂範圍,且 BGP 工作階段已停用 IPv6 流量,可以使用
--enable-ipv6
標記啟用這項功能。gcloud compute routers update-bgp-peer ROUTER_NAME \ --region=REGION \ --peer-name=PEER_NAME \ --add-advertisement-ranges=CUSTOM_RANGES
在上述指令中,將下列值替換為有效值:
ROUTER_NAME
:Cloud Router 的名稱REGION
:Cloud Router 的區域PEER_NAME
:建立專屬互連網路的 VLAN 連結、建立合作夥伴互連網路的 VLAN 連結、建立 HA VPN 通道或使用動態轉送模式建立 Classic VPN 通道時,所設定的 BGP 對等點名稱。- 請保留
--set-advertisement-groups=ALL_SUBNETS
,以便向 Cloud Router 通告所有可用的子網路路徑。這是 Cloud Router 的預設行為。 CUSTOM_RANGES
:以半形逗號分隔的自訂範圍清單,用於宣傳。- 針對
private.googleapis.com
:- IPv4 連線:
199.36.153.8/30
- 針對 IPv4 和 IPv6 連線:
199.36.153.8/30,2600:2d00:0002:2000::/64
- IPv4 連線:
- 針對
restricted.googleapis.com
:- IPv4 連線:
199.36.153.4/30
- 針對 IPv4 和 IPv6 連線:
199.36.153.4/30,2600:2d00:0002:1000::/64
- IPv4 連線:
- 針對
防火牆注意事項
Google Cloud 內部部署網路連線的虛擬私有雲網路中的防火牆規則不會影響以下項目:
- 透過與虛擬私有雲網路連結的 Cloud VPN 通道傳送的封包
- 透過連結至 VPC 網路的 VLAN 連結傳送的封包
- 傳入至虛擬私有雲網路中 Cloud DNS 傳入轉寄站 IP 位址的封包
請確認內部部署系統的防火牆設定允許傳出流量,並回應適當 IP 位址:
- 如果您使用
private.googleapis.com
:- IPv4 連線:
199.36.153.8/30
- IPv6 連線:
2600:2d00:0002:2000::/64
- IPv4 連線:
- 如果您使用
restricted.googleapis.com
:- IPv4 連線:
199.36.153.4/30
- IPv6 連線:
2600:2d00:0002:1000::/64
- IPv4 連線:
- 任何 Cloud DNS 傳入轉寄站 IP 位址 (如果您使用 Cloud DNS 進行DNS 設定)
後續步驟
- 如果您需要讓 Google Cloud 虛擬私人雲端網路中的 VM 存取 Google API 和服務,請參閱「設定虛擬私人雲端的私人 Google 存取權」。