設定地端部署主機的私人 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 網路。
內部部署網路連線的虛擬私有雲網路,必須具備
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,您必須設定與虛擬私有雲網路的連線,以支援 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 位址範圍 | 支援的服務 | 應用實例 |
---|---|---|
|
無論是否支援 VPC Service Controls,都能存取大多數 Google API 和服務。包括 Google 地圖、Google Ads、 Cloud de Confiance和大多數其他 Google API 的 API 存取權,包括下列清單。不支援 Gmail 和 Google 文件等 Google Workspace 網頁應用程式。不支援任何互動式網站。 相符的網域名稱:
|
使用 在下列情況下選擇
|
|
啟用 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 位址。如果 IPv6 用戶端也設定了 IPv4 位址,則可使用 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,請一併設定指向
2600:2d00:0002:2000::
的AAAA
記錄。private.googleapis.com
針對
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,請一併建立指向
2600:2d00:0002:1000::
的AAAA
記錄。restricted.googleapis.com
如要在 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 區域中,為其中一個建立下列私人 DNS 記錄:
private.googleapis.com
或restricted.googleapis.com
,視您選擇使用的網域而定。針對
private.googleapis.com
:為
DOMAIN
建立A
記錄,指向下列 IP 位址:199.36.153.8
、199.36.153.9
、199.36.153.10
、199.36.153.11
。如要使用 IPv6 位址連線至 API,請一併建立指向
2600:2d00:0002:2000::
的AAAA
記錄。DOMAIN
針對
restricted.googleapis.com
:為
DOMAIN
建立A
記錄,指向下列 IP 位址:199.36.153.4
、199.36.153.5
、199.36.153.6
、199.36.153.7
。如要使用 IPv6 位址連線至 API,請一併建立指向
2600:2d00:0002:1000::
的AAAA
記錄。restricted.googleapis.com
在
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 連結所在的區域,找出內部轉送器進入點,這些進入點位於地端部署網路連線的虛擬私有雲網路中。
- 設定內部部署系統和內部部署 DNS 名稱伺服器,將
googleapis.com
和任何其他網域名稱轉送至與 Cloud VPN 通道或 VLAN 連結位於相同區域的入埠轉送器進入點,該通道或連結會連至虛擬私有雲網路。
虛擬私有雲網路路徑轉送
內部部署網路連線的虛擬私有雲網路,必須具備 private.googleapis.com
或 restricted.googleapis.com
所用 IP 位址範圍的路徑。這些路徑必須使用預設網際網路閘道下一個躍點。
Google 不會在網際網路上發布 private.googleapis.com
或 restricted.googleapis.com
網域使用的 IP 位址範圍路徑。因此,即使虛擬私有雲網路中的路徑會將流量傳送至預設網際網路閘道下一個躍點,傳送至這些 IP 位址範圍的封包仍會保留在 Google 網路中。
如果內部部署網路連線的虛擬私有雲端網路包含預設路徑,且該路徑的下一個躍點為預設網際網路閘道,則該路徑符合內部部署主機的私人 Google 存取權轉送需求。
虛擬私有雲網路自訂轉送
如果您已取代或變更預設路徑,請務必為 private.googleapis.com
或 restricted.googleapis.com
使用的目的地 IP 範圍設定自訂靜態路徑。如要檢查特定網路中 Google API 和服務的自訂路徑設定,請按照下列指示操作。
主控台
前往 Cloud de Confiance 控制台的「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 工作階段除外,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Cloud Router」頁面。
選取管理 Cloud VPN 通道或 VLAN 連結 BGP 工作階段的 Cloud Router,將內部部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中選取 [編輯]。
展開 [公告路徑] 區段。
在「路徑」欄位,選取 [建立自訂路徑]。
如要通告 Cloud Router 可用的所有子網路路徑,請選取「公告 Cloud Router 可使用的所有子網路」。這項設定會將預設設定複製到自訂設定。
針對要新增的每條宣傳路線,請執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中選取「自訂 IP 範圍」。
- 在「IP address range」(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 連線:
- 如果您使用
- 按一下 [完成]。
新增路徑完畢後,請選取 [儲存]。
如要更新特定 BGP 工作階段的路徑通告模式:
前往 Cloud de Confiance 控制台的「Cloud Router」頁面。
選取管理 Cloud VPN 通道或 VLAN 連結 BGP 工作階段的 Cloud Router,將地端部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中,選取要更新的 BGP 工作階段。
在 BGP 工作階段詳細資料頁面中,按一下「編輯」。
在「路徑」欄位,選取 [建立自訂路徑]。
如要讓 Cloud Router 採用預設行為,請選取「公告 Cloud Router 可使用的所有子網路」,公告 Cloud Router 可用的所有子網路路徑。
針對要新增的每條宣傳路線,請執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中選取「自訂 IP 範圍」。
- 在「IP address range」(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 連線:
- 如果您使用
- 按一下 [完成]。
新增路徑完畢後,請選取 [儲存]。
gcloud
找出 Cloud Router 的名稱和區域,該路由器會管理 Cloud VPN 通道或 VLAN 連結上的 BGP 工作階段,這些通道或連結會將地端部署網路連線至 VPC 網路。
使用
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 連結、建立高可用性 VPN 通道,或使用動態轉送建立傳統 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 連線:
- 針對
防火牆注意事項
Cloud de Confiance 內部部署網路連線的虛擬私有雲網路防火牆規則,不會對下列項目造成影響:
- 透過連線至虛擬私有雲網路的 Cloud VPN 通道傳送的封包
- 透過連線至虛擬私有雲網路的 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 進行 DNS 設定,則為任何 Cloud DNS 傳入轉寄站 IP 位址
後續步驟
- 如要讓 Cloud de Confiance by S3NS VPC 網路中的 VM 存取 Google API 和服務,請參閱「設定虛擬私有雲的私人 Google 存取權」。