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