雙重堆疊子網路可讓 Cloud Run 服務和作業透過直接虛擬私有雲輸出流量,將 IPv4 和內部 IPv6 流量傳送至虛擬私有雲網路。您可以變更現有 Cloud Run 服務或工作的堆疊類型,或是將現有子網路更新為雙堆疊子網路。
子網路類型
虛擬私有雲網路支援下列 Compute Engine 子網路類型:
僅支援 IPv4 (單一堆疊) 的子網路,僅含 IPv4 子網路範圍
IPv4 和 IPv6 (雙重堆疊) 子網路,同時具有 IPv4 和內部 IPv6 子網路範圍
雙堆疊限制
變更現有 Cloud Run 服務或工作的堆疊類型前,請先考量以下限制:
Cloud Run 僅支援 IPv6 存取權類型設定為「內部」的子網路。進一步瞭解 IPv6 位址的內部和外部存取權類型。
只有自訂模式虛擬私有雲網路中的子網路,才支援雙重堆疊。如要讓雙重堆疊子網路使用內部存取權類型,必須啟用虛擬私有雲網路內部 IPv6 範圍。設定虛擬私有雲網路,或將其轉換為自訂模式。
與僅支援 IPv4 的子網路相比,雙重堆疊子網路的冷啟動延遲時間可能會較長,進而限制應用程式的擴充速度。
不支援 NAT64。
在服務或工作中新增雙堆疊子網路
雙重堆疊子網路同時具有 IPv4 和 IPv6 位址範圍。Cloud Run 服務和作業只能透過使用內部 IPv6 位址的子網路傳送 IPv6 流量。
如要在 Cloud Run 服務或工作中新增具有內部 IPv6 範圍的雙重堆疊子網路,請按照下列步驟操作:
主控台
在 Google Cloud 控制台中:
啟用 Compute Engine API:
前往「VPC networks」(VPC 網路) 頁面:
如要建立新的自訂模式網路,請按一下「建立虛擬私有雲網路」。 如果您使用現有的 VPC 網路,請按一下 VPC 網路的名稱,顯示其「VPC network details」(虛擬私人雲端網路詳細資料) 頁面。
如果您要建立新網路或轉換現有網路,請輸入名稱,並確認「子網路建立模式」設為「自訂」,然後選取「為這個虛擬私有雲網路設定 ULA 內部 IPv6 範圍」。
在「子網路」分頁中,按一下「新增子網路」。在顯示的面板中:
- 提供「Name」(名稱)。
- 選擇一個 [Region] (地區)。
- 在「IP 堆疊類型」部分,選取「IPv4 和 IPv6 (雙重堆疊)」。
- 輸入 IPv4 範圍。這是子網路的主要 IPv4 範圍。
在「IPv6 存取權類型」部分選取「內部」。
如果沒有「內部」選項,請確認網路是否已指派內部 IPv6 範圍。
依序點選「完成」和「建立」。
部署 Cloud Run 服務,或在您建立的雙堆疊子網路上執行工作。輸入所需服務或工作詳細資料時,請按照下列步驟選取新的 IPv6 位址範圍:
- 按一下「容器、磁碟區、網路與安全性」,然後選取「網路」分頁標籤。
- 按一下「連線至虛擬私有雲,以傳出流量」,然後按一下「直接將流量傳送至虛擬私有雲」。
- 選取您在上一個步驟中建立的「網路」。
- 按一下「子網路」欄位,選取新建立的 IPv6 位址範圍。
系統會自動為服務或工作佈建子網路的堆疊類型。
gcloud
- 如要建立支援雙重堆疊子網路的自訂模式網路,請執行下列指令:
gcloud compute networks create NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
將 NETWORK
替換為要包含新子網路的虛擬私有雲網路名稱。
- 如要轉換或更新自訂模式網路,使其支援雙重堆疊子網路,請執行下列指令:
gcloud compute networks update NETWORK \ --subnet-mode=custom \ --enable-ula-internal-ipv6
將 NETWORK
替換為要包含新子網路的虛擬私有雲網路名稱。
- 如要建立具有內部 IPv6 範圍的雙重堆疊子網路,請使用雙重堆疊設定執行
subnets create
指令:
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --range=PRIMARY_IPv4_RANGE \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL \ --region=REGION
更改下列內容:
SUBNET
:新子網路的名稱。NETWORK
:虛擬私有雲網路的名稱,此網路將包含新的子網路。PRIMARY_IPv4_RANGE
:新子網路的主要 IPv4 範圍,採用 CIDR 標記法。詳情請參閱「IPv4 子網路範圍」。REGION
:新子網路的建立 Google Cloud 區域。
- 部署 Cloud Run 服務,或在您建立的雙堆疊子網路上執行工作。系統會自動為服務或工作佈建子網路的堆疊類型。
將子網路從單一堆疊變更為雙重堆疊
如要在自訂模式虛擬私有雲網路中,將內部 IPv6 子網路範圍新增至現有的「僅限 IPv4」子網路,請參閱「將子網路的堆疊類型變更為雙重堆疊」。然後在雙堆疊子網路上部署服務或執行工作。
將子網路從雙重堆疊變更為單一堆疊
由於 Compute Engine IPv6 存取類型為內部,因此不支援將子網路的堆疊類型從 IPv4 和 IPv6 (雙重堆疊) 變更為僅限 IPv4 (單一堆疊)。如要將服務或作業的雙重堆疊子網路變更為單一堆疊子網路,請在僅限 IPv4 (單一堆疊) 的子網路上部署服務或執行作業。
確認網路和子網路
如要確認服務或工作是否位於虛擬私有雲網路,請執行下列指令:
gcloud run services describe SERVICE_NAME --region=REGION
將 REGION
替換為建立新子網路的 Google Cloud 地區。
以下範例輸出內容顯示您的網路和子網路:
VPC Access:
Network: example-network
Subnet: example-subnet
Egress: private-ranges-only