設定地端部署主機的私人 Google 存取權
內部部署主機專用的私人 Google 存取權可讓內部部署系統透過 Cloud VPN 通道或 Cloud Interconnect 的 VLAN 連結,將流量轉送至 Google API 和服務。地端部署主機專用的 Private Google Access 可做為透過網際網路連線至 Google API 和服務的替代方案。
本文說明如何為地端部署主機啟用 Private Google Access。
規格和規定
地端部署主機的 Private Google Access 須符合下列條件:
您必須將地端部署系統傳送的 Google API 和服務流量,導向與
private.googleapis.com或restricted.googleapis.com特殊網域名稱相關聯的 IP 位址。如要瞭解各網域可存取的服務,請參閱「網域選項」。地端部署網路必須使用 Cloud VPN 通道或 VLAN 連結,連線至 VPC 網路。
地端部署網路連線的虛擬私有雲網路必須具有
private.googleapis.com或restricted.googleapis.com目的地 IP 範圍的適當路由。詳情請參閱「虛擬私有雲網路轉送」。地端部署網路連線的虛擬私有雲網路必須有適當的路由,才能連到地端部署網路。這些路徑的下一個躍點 Cloud VPN 通道或 VLAN 連結必須位於要求來源的相同區域,才能連線至您的內部部署網路。如果下一個躍點所在的區域,與 Private Google Access 要求發出的區域不同,Private Google Access 的回應就無法送達地端部署網路。
您的地端部署網路必須有
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。如要進一步瞭解如何為專案中的資源使用 Private Google Access,請參閱「設定 Private Google Access」。
權限
具有網路管理員角色的專案擁有者、編輯者和 IAM 主體可建立或更新子網路及指派 IP 位址。
如要進一步瞭解角色,請參閱身分與存取權管理角色說明文件。
網路設定
地端部署主機專用的 Private Google Access,對地端部署系統和虛擬私有雲網路有特定的網路需求,地端部署系統會透過虛擬私有雲網路將流量傳送至 Google API 和服務。
網域選項
如要使用地端部署主機的 Private Google Access,您必須將服務導向下列其中一個特殊網域。您選擇的特殊網域會決定可存取的服務。
private.googleapis.com 和 restricted.googleapis.com VIP 僅支援透過 TCP 的 HTTP 型通訊協定 (HTTP、HTTPS 和 HTTP/2)。系統不支援其他通訊協定,包括 MQTT 和 ICMP。
| 網域和 IP 位址範圍 | 支援的服務 | 應用實例 |
|---|---|---|
|
|
無論是否支援 VPC Service Controls,都能存取大多數 Google API 和服務。 包括 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::/64restricted.googleapis.com:2600:2d00:0002:1000::/64
如果您想使用 private.googleapis.com 或 restricted.googleapis.com 網域,且用戶端使用 IPv6 位址,請考慮設定 IPv6 位址。如果 IPv6 用戶端也設定 IPv4 位址,則可使用 IPv4 位址連線至 Google API 和服務。並非所有服務都接受來自 IPv6 用戶端的流量。
DNS 設定
您必須設定地端網路的 DNS 區域和記錄,讓您存取的服務網域名稱解析為 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),也需要設定
*.;如果您使用 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區域中,為其中一個建立下列私人 DNS 記錄:private.googleapis.com或restricted.googleapis.com,視您選擇使用的網域而定。針對
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設定指向2600:2d00:0002:2000::的AAAA記錄。
針對
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建立AAAA記錄,指向2600:2d00:0002:1000::。
如要在 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,請一併為
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,請一併為
DOMAIN建立AAAA記錄,指向2600:2d00:0002:1000::。
在
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 連結位於同一區域的傳入轉送器進入點,這些通道或連結會連線至 VPC 網路。
虛擬私有雲網路路徑轉送
地端部署網路連線的虛擬私有雲網路,必須有 private.googleapis.com 或 restricted.googleapis.com 使用的 IP 位址範圍路徑。這些路徑必須使用預設網際網路閘道下一個躍點。
Google Cloud 不會在網際網路上發布 private.googleapis.com 或 restricted.googleapis.com 網域使用的 IP 位址範圍路徑。因此,即使虛擬私有雲網路中的路徑將流量傳送至預設網際網路閘道下一個躍點,傳送至這些 IP 位址範圍的封包仍會保留在 Google 網路中。
如果內部部署網路連線的虛擬私有雲網路包含預設路由,且該路由的下一個躍點為預設網際網路閘道,則該路由符合地端部署主機的 Private Google Access 轉送需求。
虛擬私有雲網路自訂轉送
如果您已取代或變更預設路徑,請務必為 private.googleapis.com 或 restricted.googleapis.com 使用的目的地 IP 範圍設定自訂靜態路徑。如要檢查特定網路中 Google API 和服務的自訂路徑設定,請按照下列指示操作。
控制台
前往 Google Cloud 控制台的「Routes」(路徑) 頁面。
使用「篩選資料表」文字欄位,依下列條件篩選路徑清單,並將
NETWORK_NAME替換為內部部署網路連線的虛擬私有雲網路名稱:- 網路:
NETWORK_NAME - 下一個躍點類型:
default internet gateway
- 網路:
查看每條路徑的「目的地 IP 範圍」欄。尋找目的地範圍相符的路線:
199.36.153.8/30(如果您選擇private.googleapis.com199.36.153.4/30(如果您選擇restricted.googleapis.com
gcloud
使用下列 gcloud 指令,並將 NETWORK_NAME 替換為地端部署網路連線的虛擬私有雲網路名稱:
gcloud compute routes list \
--filter="default-internet-gateway NETWORK_NAME"
除非使用 --format 標記自訂指令,否則路徑會以表格格式列出。在 DEST_RANGE 欄中,尋找目的地範圍符合下列條件的路線:
199.36.153.8/30(如果您選擇private.googleapis.com199.36.153.4/30(如果您選擇restricted.googleapis.com
如要在虛擬私有雲網路中建立路徑,請參閱「新增靜態路徑」。
透過 Cloud Router 進行地端部署路由
您必須設定地端部署網路中的路徑,將 private.googleapis.com 或 restricted.googleapis.com 網域使用的 IP 位址範圍流量,導向下一個躍點 Cloud VPN 通道或 VLAN 連結,並連線至您的 VPC 網路。
您可以使用Cloud Router 自訂路徑通告,宣告 private.googleapis.com 和 restricted.googleapis.com 網域使用的 IP 範圍路徑。
只有在啟用 IPv6 的 BGP 工作階段中,才會 advertise IPv6 路由。
控制台
如要更新 Cloud Router 上所有 BGP 工作階段的路徑通告模式,但使用自訂 BGP 通告的 BGP 工作階段除外,請按照下列步驟操作:
前往 Google Cloud 控制台的「Cloud Router」頁面。
選取管理 Cloud VPN 通道或 VLAN 連結 BGP 工作階段的 Cloud Router,將地端部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中選取 [編輯]。
展開 [公告路徑] 區段。
在「Routes」(路由) 欄位,選取「Create custom routes」(建立自訂路由)。
如要通告 Cloud Router 可用的所有子網路路徑,請選取「公告 Cloud Router 可使用的所有子網路」。這項設定會將預設設定複製到自訂設定。
針對要新增的每個 advertise 路由,執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中選取「自訂 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 連線:
- 如果使用
- 按一下「完成」。
新增路由完畢後,請選取「Save」(儲存)。
如要更新特定 BGP 工作階段的路徑通告模式:
前往 Google Cloud 控制台的「Cloud Router」頁面。
選取管理 Cloud VPN 通道或 VLAN 連結 BGP 工作階段的 Cloud Router,將地端部署網路連線至虛擬私有雲網路。
在 Cloud Router 的詳細資料頁面中,選取要更新的 BGP 工作階段。
在 BGP 工作階段詳細資料頁面中,按一下「編輯」。
在「Routes」(路由) 欄位,選取「Create custom routes」(建立自訂路由)。
如要讓 Cloud Router 採用預設行為,請選取「公告向 Cloud Router 公開的所有子網路」,公告 Cloud Router 可用的所有子網路路徑。
針對要新增的每個 advertise 路由,執行下列操作:
- 選取「新增自訂路徑」。
- 在「來源」中選取「自訂 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 連線:
- 如果使用
- 按一下「完成」。
新增路由完畢後,請選取「Save」(儲存)。
gcloud
找出 Cloud Router 的名稱和區域,該路由器會管理 Cloud VPN 通道或 VLAN 連結上的 BGP 工作階段,將地端部署網路連線至虛擬私有雲網路。
使用
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:您為 Dedicated Interconnect 建立 VLAN 連結、為 Partner Interconnect 建立 VLAN 連結,或建立高可用性 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 通道傳送的封包
- 透過連結至虛擬私有雲網路的 VLAN 連結傳送的封包
- 傳入 VPC 網路中 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 和服務,請參閱「設定虛擬私有雲的 Private Google Access」。