建立及管理虛擬私有雲網路

本文件說明如何建立、修改及刪除虛擬私有雲 (VPC) 網路和子網路。閱讀本文前,請務必熟悉「私人雲端網路」中說明的私人雲端網路特性。在 Google Cloud中,網路和子網路是不同的資源

如果您打算在子網路中啟用 IPv6 範圍,請參閱「IPv6 子網路範圍」。

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 VPC 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用虛擬私有雲

建立網路

您可以選擇建立自動模式或自訂模式虛擬私有雲網路。您建立的每一個網路,在專案中的名稱均不可重複。

您可以選擇使用Google Cloud 提供的網路設定檔,針對特定用途建立網路。只有在您要執行需要 RDMA NIC 的 AI Hypercomputer 工作負載時,才需要設定網路設定檔。詳情請參閱 RDMA 網路設定檔總覽

建立自動模式 VPC 網路

建立自動模式 VPC 網路時,系統會在每個 Google Cloud區域中建立一個子網路。如有新的地區可用,也會自動將這些地區的新子網路新增至自動模式虛擬私有雲網路中。自動建立的子網路,其 IPv4 範圍來自一組預先定義的範圍。所有自動模式虛擬私有雲網路都使用相同的 IPv4 範圍。

自動模式虛擬私人雲端網路不支援 IPv6 位址範圍的子網路。如果您想建立 IPv6 位址範圍的子網路,請建立自訂模式虛擬私有雲網路

如要建立自動模式的虛擬私有雲網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下「建立虛擬私有雲網路」

  3. 輸入網路的 [Name] (名稱)

  4. 最大傳輸單位 (MTU):選擇網路的 MTU 為 1460 (預設)、15008896。將 MTU 設為高於 1460 的值前,請先參閱「最大傳輸單位」。

  5. 在「Subnet creation mode」(建立子網路模式) 選擇 [Aotomatic] (自動)

  6. 在「防火牆規則」部分,選取零個或多個預先定義的防火牆規則。這些規則可解決與執行個體連線的常見用途。

    無論您是否選取預先定義的規則,建立網路後,您都可以自行建立防火牆規則

    每個預先定義的規則名稱都會以您建立的虛擬私有雲網路名稱 NETWORK 開頭。在「IPv4 防火牆規則」分頁中,您可以編輯名為 NETWORK-allow-custom 的預先定義輸入防火牆規則。預設會指定來源範圍 10.128.0.0/9,其中包含自動模式網路中子網路的目前和未來 IPv4 範圍。在含有規則的資料列右側,按一下「編輯」,選取子網路、新增其他 IPv4 範圍,並指定通訊協定和通訊埠。

  7. 選擇虛擬私人雲端網路的「Dynamic routing mode」(動態轉送模式)

    詳情請參閱動態轉送模式。您可以之後再變更動態轉送模式

  8. 按一下 [建立]。

gcloud

使用 networks create 指令

gcloud compute networks create NETWORK \
    --subnet-mode=auto \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

更改下列內容:

  • NETWORK:虛擬私有雲網路的名稱。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 globalregional。預設為 regional。詳情請參閱動態轉送模式
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

Terraform

使用 google_compute_network Terraform 資源

MTU 是網路的最大傳輸單位,或最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

resource "google_compute_network" "vpc_network" {
  project                 = var.project_id # Replace this with your project ID in quotes
  name                    = "my-auto-mode-network"
  auto_create_subnetworks = true
  mtu                     = 1460
}

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

API

networks.insert 方法發出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": true,
  "name": "auto-network1",
  "mtu": MTU
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

如要指定 VPC 網路的動態轉送模式,請加入 routingConfig 欄位:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  },
  "autoCreateSubnetworks": true,
  "name": "NETWORK",
  "mtu": MTU
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • NETWORK:虛擬私有雲網路的名稱。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 GLOBALREGIONAL。預設為 REGIONAL。詳情請參閱動態轉送模式
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

建立僅限 IPv4 的子網路,並以自訂模式建立 VPC 網路

針對自訂模式 VPC 網路,請建立網路,然後在區域內建立所需的子網路。您不必立即為所有區域指定子網路,甚至完全不需要這麼做,但未定義子網路的區域無法建立執行個體。最後,請為網路定義防火牆規則。

虛擬私有雲網路中的每個子網路都可以有不同的設定,因此您不必將所有子網路都設為僅限 IPv4。您也可以稍後將僅限 IPv4 的子網路變更為雙重堆疊

如要建立自訂模式 VPC 網路,並使用僅限 IPv4 的子網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下「建立虛擬私有雲網路」

  3. 輸入網路的 [Name] (名稱)

  4. 最大傳輸單位 (MTU):選擇網路的 MTU 為 1460 (預設)、15008896。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

  5. 在「Subnet creation mode」(建立子網路模式) 選擇 [Custom] (自訂)

  6. 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:

    1. 提供這個子網路的 [Name] (名稱)
    2. 選擇一個 [Region] (地區)
    3. 輸入 [IP address range] (IP 位址範圍)。這是子網路的主要 IPv4 範圍

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    4. 若要定義子網路的次要範圍,請按一下 [Create secondary IP range] (建立次要 IP 範圍)

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    5. 「Private Google Access」(私人 Google 存取權):選擇是否要在建立子網路時啟用該子網路的私人 Google 存取權,或之後再進行編輯。

    6. 「Flow logs」(流程記錄):選擇是否要在建立子網路時啟用虛擬私有雲流量記錄,或之後再進行編輯。

    7. 按一下 [完成]

  7. 如要新增其他子網路,請按一下「Add subnet」(新增子網路),然後重複上述步驟。建立網路後,您也可以新增更多子網路

  8. 在「防火牆規則」區段中,選取「IPv4 防火牆規則」中的零個或多個預先定義的防火牆規則。這些規則可解決與執行個體連線的常見用途。

    如果您沒有選取任何預先定義的規則,建立網路後,您可以自行建立防火牆規則

    每個預先定義的規則名稱都會以您建立的虛擬私有雲網路名稱 NETWORK 開頭。在「IPv4 防火牆規則」分頁中,您可以編輯名為 NETWORK-allow-custom 的預先定義輸入防火牆規則。在包含規則的資料列右側,按一下「編輯」,即可選取子網路、新增其他 IPv4 範圍,以及指定通訊協定和通訊埠。

    如果您日後新增其他子網路,NETWORK-allow-custom 防火牆規則不會自動更新。如果您需要為新子網路設定防火牆規則,請務必更新防火牆設定來新增規則。

  9. 選擇虛擬私人雲端網路的「Dynamic routing mode」(動態轉送模式)

    詳情請參閱動態轉送模式。您可以之後再變更動態轉送模式

  10. 按一下 [建立]。

gcloud

使用 networks create 指令

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

更改下列內容:

  • NETWORK:虛擬私有雲網路的名稱。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 globalregional。預設為 regional。詳情請參閱動態轉送模式
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

接下來,請新增子網路

Terraform

使用 google_compute_network Terraform 資源

MTU 是網路的最大傳輸單位,或最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

resource "google_compute_network" "vpc_network" {
  project                 = var.project_id # Replace this with your project ID in quotes
  name                    = "my-custom-mode-network"
  auto_create_subnetworks = false
  mtu                     = 1460
}

接下來,請新增子網路

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

API

networks.insert 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK",
  "mtu": MTU,
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • NETWORK:虛擬私有雲網路的名稱。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 GLOBALREGIONAL。預設為 REGIONAL。詳情請參閱動態轉送模式
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

接下來,請新增子網路至網路。

建立含有雙重堆疊子網路的自訂模式 VPC 網路

您可以在建立網路時���立子網路,也可以之後再新增。

雙重堆疊子網路可為其主要 IP 位址範圍採用下列其中一種設定:

  • 內部 IPv4 範圍和內部 IPv6 範圍
  • 內部 IPv4 範圍和外部 IPv6 範圍

虛擬私有雲網路中的每個子網路都可以有不同的設定,因此您不必將所有子網路都設為雙重堆疊。如果子網路的 IPv6 存取類型為外部,您也可以稍後將雙重堆疊子網路變更為僅支援 IPv4

如要設定內部 IPv6 範圍的子網路,請啟用虛擬私有雲網路專屬位址 (ULA) 內部 IPv6 範圍。內部 IPv6 子網路範圍會從這個範圍分配。

如要建立雙重堆疊子網路的自訂模式 VPC 網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下「建立虛擬私有雲網路」

  3. 輸入網路的 [Name] (名稱)

  4. 最大傳輸單位 (MTU):選擇網路的 MTU 值為 1460 (預設)、15008896。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

  5. 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。

  6. 如要在這個網路的子網路上設定內部 IPv6 位址範圍,請完成下列步驟:

    1. 在「私人 IPv6 位址設定」部分,選取「為此 VPC 網路設定 ULA 內部 IPv6 範圍」
    2. 在「Allocate internal IPv6 range」(分配內部 IPv6 範圍) 部分,選取「自動」或「手動」

      如果您選取「手動」,請在 fd20::/20 範圍內輸入 /48 範圍。如果範圍已在使用中,系統會提示您提供其他範圍。

  7. 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:

    1. 提供這個子網路的 [Name] (名稱)
    2. 選擇一個 [Region] (地區)
    3. 如要建立雙重堆疊子網路,請選取「IP 堆疊類型」的「IPv4 和 IPv6 (雙重堆疊)」
    4. 輸入 IPv4 範圍。這是子網路的主要 IPv4 範圍

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    5. 選取 IPv6 存取類型外部內部

    6. 按一下 [完成]

  8. 若要新增其他子網路,請按一下 [Add subnet] (新增子網路),接著重複以上步驟。

    虛擬私有雲網路中的每個子網路都可以有不同的堆疊類型和 IPv6 存取類型設定。您不需要將特定網路中的所有子網路都設為雙重堆疊子網路。

    建立網路後,您也可以在網路中新增更多子網路 (任何堆疊類型)。

  9. 在「防火牆規則」區段中,在「IPv4 防火牆規則」和「IPv6 防火牆規則」分頁中選取零個或多個預先定義的防火牆規則。這些規則可解決與執行個體連線的常見用途。

    如果您沒有選取任何預先定義的規則,建立網路後,您可以自行建立防火牆規則

    每個預先定義的規則名稱都會以您建立的虛擬私有雲網路名稱 NETWORK 開頭。在「IPv4 防火牆規則」分頁和「IPv6 防火牆規則」分頁中,都有可編輯的預先定義輸入防火牆規則;IPv4 規則名稱為 NETWORK-allow-custom,IPv6 規則名稱為 NETWORK-allow-ipv6-custom。在包含規則的列右側,按一下「編輯」,即可選取子網路、新增其他 IP 範圍,以及指定通訊協定和連接埠。

    如果您日後新增其他子網路,NETWORK-allow-customNETWORK-allow-ipv6-custom 防火牆規則不會自動更新。如果您需要為新子網路設定防火牆規則,請務必更新防火牆設定來新增規則。

  10. 選擇虛擬私人雲端網路的「Dynamic routing mode」(動態轉送模式)

    詳情請參閱動態轉送模式。您可以之後再變更動態轉送模式

  11. 按一下 [建立]。

gcloud

使用 networks create 指令。建立網路後,您可以新增子網路

如果您想在這個網路的任何子網路上設定內部 IPv6 範圍,請使用 --enable-ula-internal-ipv6 標記。這個選項會從 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍中,指派 /48 ULA 前置碼。如果您想選取已指派的 /48 IPv6 範圍,請使用 --internal-ipv6-range 標記指定範圍。

如果您只想在這個 VPC 網路的子網路上設定外部 IPv6,可以省略這兩個標記。

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

更改下列內容:

  • NETWORK:虛擬私有雲網路的名稱。

  • ULA_IPV6_RANGE:Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍內 /48 前置碼。如果您未使用 --internal-ipv6-range 標記,Google 會為網路選取 /48 前置字串。

  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 globalregional。預設為 regional。詳情請參閱動態轉送模式

  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

API

networks.insert 方法提出 POST 要求。建立網路後,您可以新增子網路

如果您想在這個網路的任何子網路上設定內部 IPv6 範圍,請將 enableUlaInternalIpv6 設為 true。這個選項會從 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍中,指派 /48 範圍。如果您想選取要指派的 /48 IPv6 範圍,請在指定範圍時使用 internalIpv6Range 欄位。

如要只在這個 VPC 網路的子網路上設定外部 IPv6,請略過這兩個欄位。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK",
  "mtu": MTU,
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • NETWORK:虛擬私有雲網路的名稱。
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。
  • ULA_IPV6_RANGE:Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍內 /48 前置碼。如果您未提供 internalIpv6Range 的值,Google 會為網路選取 /48 前置字串。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 GLOBALREGIONAL。預設為 REGIONAL。詳情請參閱動態轉送模式

建立自訂模式 VPC 網路,其中包含僅限 IPv6 的子網路

您可以在建立網路時建立子網路,也可以之後再新增。

僅支援 IPv6 的子網路可以有內部 IPv6 範圍或外部 IPv6 範圍。如要設定內部 IPv6 範圍的子網路,請啟用虛擬私有雲網路 ULA 內部 IPv6 範圍。內部 IPv6 子網路範圍會從這個範圍分配。

虛擬私有雲網路中的每個子網路都可以有不同的設定,因此您不必將所有子網路都設為僅 IPv6。

您無法將雙重堆疊或僅限 IPv4 的子網路變更為僅限 IPv6 (預先發布版)。反之,您無法將僅限 IPv6 的子網路變更為僅限 IPv4 或雙重堆疊。

如要建立自訂模式 VPC 網路,並使用僅限 IPv6 的子網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下「建立虛擬私有雲網路」

  3. 輸入網路的 [Name] (名稱)

  4. 最大傳輸單位 (MTU):選擇網路的 MTU 值為 1460 (預設)、15008896。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

  5. 在 [Subnet creation mode] (子網路建立模式) 中,選擇 [Custom]。

  6. 如要在這個網路的子網路上設定內部 IPv6 位址範圍,請完成下列步驟:

    1. 在「私人 IPv6 位址設定」部分,選取「為此 VPC 網路設定 ULA 內部 IPv6 範圍」
    2. 在「Allocate internal IPv6 range」(分配內部 IPv6 範圍) 部分,選取「自動」或「手動」

      如果您選取「手動」,請在 fd20::/20 範圍內輸入 /48 範圍。如果範圍已在使用中,系統會提示您提供其他範圍。

  7. 在「New subnet」(新子網路) 部分,指定子網路的以下設定參數:

    1. 提供這個子網路的 [Name] (名稱)
    2. 選擇一個 [Region] (地區)
    3. 如要建立僅限 IPv6 的子網路,請選取「IP 堆疊類型」的「IPv6 (單一堆疊)」
    4. 選取 IPv6 存取權類型:「外部」或「內部」
    5. 按一下 [完成]
  8. 若要新增其他子網路,請按一下 [Add subnet] (新增子網路),接著重複以上步驟。

    虛擬私有雲網路中的每個子網路都可以有不同的堆疊類型和 IPv6 存取類型設定。您不需要將特定網路中的所有子網路都設為僅限 IPv6 的子網路。

    建立網路後,您也可以在網路中新增更多子網路 (任何堆疊類型)。

  9. 在「防火牆規則」區段中,選取「IPv6 防火牆規則」分頁中零個或多個預先定義的防火牆規則。這些規則可解決與執行個體連線的常見用途。

    如果您沒有選取任何預先定義的規則,建立網路後,您可以自行建立防火牆規則

    每個預先定義的規則名稱都會以您建立的虛擬私有雲網路名稱 NETWORK 開頭。在「IPv6 防火牆規則」分頁中,有一個名為 NETWORK-allow-ipv6-custom 的預先定義輸入防火牆規則,可供您編輯。在包含規則的資料列中,��一下「編輯��,選取子網路、新增其他 IP 範圍,並指定通訊協定和通訊埠。

    如果您日後新增其他子網路,NETWORK-allow-ipv6-custom 防火牆規則不會自動更新。如果您需要為新子網路設定防火牆規則,請務必更新防火牆設定來新增規則。

  10. 選擇虛擬私人雲端網路的「Dynamic routing mode」(動態轉送模式)

    詳情請參閱「動態轉送模式」。您可以之後再變更動態轉送模式

  11. 按一下 [建立]。

gcloud

使用 networks create 指令。建立網路後,您可以新增子網路

如果您想在這個網路的任何子網路上設定內部 IPv6 範圍,請使用 --enable-ula-internal-ipv6 標記。這個選項會從 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍中,指派 /48 ULA 前置碼。如果您想選取已指派的 /48 IPv6 範圍,請使用 --internal-ipv6-range 標記指定範圍。

如果您只想在這個 VPC 網路的子網路上設定外部 IPv6,可以省略這兩個標記。

gcloud compute networks create NETWORK \
    --subnet-mode=custom \
    [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE \
    --mtu=MTU

更改下列內容:

  • NETWORK:虛擬私有雲網路的名稱。

  • ULA_IPV6_RANGE:Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍內 /48 前置碼。如果您未使用 --internal-ipv6-range 標記,Google 會為網路選取 /48 前置字串。

  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 globalregional。預設為 regional。詳情請參閱「動態轉送模式」。

  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

API

networks.insert 方法提出 POST 要求。建立網路後,您可以新增子網路

如果您想在這個網路的任何子網路上設定內部 IPv6 範圍,請將 enableUlaInternalIpv6 設為 true。這個選項會從 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍中,指派 /48 範圍。如果您想選取要指派的 /48 IPv6 範圍,請使用 internalIpv6Range 欄位指定範圍。

如果您只想在這個 VPC 網路的子網路上設定外部 IPv6,可以省略這兩個欄位。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
{
  "autoCreateSubnetworks": false,
  "name": "NETWORK",
  "mtu": MTU,
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
  "routingConfig": {
    "routingMode": "DYNAMIC_ROUTING_MODE"
  }
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • NETWORK:虛擬私有雲網路的名稱。
  • MTU:最大傳輸單位 (MTU),即網路的最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。
  • ULA_IPV6_RANGE:Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍內 /48 前置碼。如果您未提供 internalIpv6Range 的值,Google 會為網路選取 /48 前置字串。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 GLOBALREGIONAL。預設為 REGIONAL。詳情請參閱動態轉送模式

關於防火牆規則

建立網路後,請建立防火牆規則,允許或拒絕網路中資源之間的流量,例如 VM 執行個體之間的通訊。您也可以使用防火牆規則,控管從虛擬私有雲網路傳出或傳入網際網路的流量。

查看網路

查看專案中的虛擬私人雲端網路和舊版網路。您可以查看虛擬私人雲端網路的子網路相關資訊及子網路建立模式。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

    主控台會列出您的所有虛擬私人雲端網路及舊版雲端網路。

  2. 選擇一個虛擬私人雲端網路開始查看其詳細資料,例如對等互連連線及子網路。

gcloud

  1. 如要列出專案中的網路,請使用 networks list 指令

    gcloud compute networks list
    

    這個指令會列出您的所有虛擬私有雲網路及舊版雲端網路。舊版網路顯示的子網路建立模式會是 LEGACY,虛擬私有雲網路則會顯示 AUTOCUSTOM

    NAME             SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE     GATEWAY_IPV4
    custom-network   CUSTOM       REGIONAL
    default          AUTO         REGIONAL
    legacy-network1  LEGACY       REGIONAL          10.240.0.0/16  10.240.0.1
    
  2. 如要說明網路並查看其詳細資料 (例如對等互連連線和子網路),請使用 networks describe 指令

    gcloud compute networks describe NETWORK
    

    請將 NETWORK 替換成網路名稱。

API

  1. 如要列出專案中的所有網路,請對 networks.list 方法發出 GET 要求。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks
    

    PROJECT_ID 替換為含有要列出的 VPC 網路的專案 ID。

  2. 如要說明網路並查看詳細資料,請對 networks.get 方法發出 GET 要求。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
    

    更改下列內容:

    • PROJECT_ID:含有虛擬私有雲端網路的專案 ID。
    • NETWORK:要描述的 VPC 網路名稱。

使用子網路

下列各節說明如何建立及管理子網路。

列出子網路

您可以看到專案下的所有現有子網路。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 如要查看子網路,請執行下列任一操作:

    • 按一下網路的名稱,然後點選「虛擬私人雲端網路詳細資料」頁面中的「子網路」分頁。

      這個檢視畫面可讓您為所選單一網路新增子網路,以及修改其他設定。

    • 按一下「目前專案中的子網路」分頁,然後從「虛擬私有雲網路」清單中選取一或多個網路。

      這個檢視畫面可讓您列出多個網路中的子網路。

gcloud

您可以列出專案中所有網路的所有子網路,也可以只顯示特定網路或地區的子網路。下列範例說明如何使用 subnets list 指令

  • 如要列出所有虛擬私有雲網路中的所有子網路,請使用下列指令:

    gcloud compute networks subnets list
    
  • 如要列出特定虛擬私有雲網路中的所有子網路,請使用下列指令:

    gcloud compute networks subnets list \
       --network=NETWORK
    

    請將 NETWORK 替換為網路名稱。

  • 如要列出特定地區中的所有子網路,請使用下列指令:

    gcloud compute networks subnets list \
       --filter="region:( REGION … )"
    

    REGION 替換為區域名稱。

API

如要列出專案中的所有子網路,請對 subnetworks.aggregatedList 方法發出 GET 要求。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/subnetworks

PROJECT_ID 替換為包含要列出的子網路的專案 ID。

說明子網路

您可以按照本節的步驟查看現有子網路的詳細資料,例如主要 IPv4 範圍、次要 IP 範圍、IPv6 範圍和地區。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

    專案中的所有網路和子網路會以階層視圖顯示,其中,子網路會顯示成網路當中的項目。

  2. 若只要查看特定網路中的子網路,請按一下網路名稱。在該網路的「VPC network details」(虛擬私人雲端網路詳細資料) 頁面中,按一下「Subnets」(子網路) 分頁標籤裡某個子網路的名稱,即可查看其「Subnet details」(子網路詳細資料) 頁面。

gcloud

  1. 列出子網路,用於判斷專案中現有子網路的名稱和地區。

  2. 使用 subnets describe 指令

    gcloud compute networks subnets describe SUBNET \
        --region=REGION
    

    更改下列內容:

    • SUBNET:要說明的子網路
    • REGION:要說明的子網路區域

API

  1. 如要列出特定區域中的子網路,並查看子網路名稱,請向 subnetworks.list 方法提出 GET 要求。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
    

    更改下列內容:

    • PROJECT_ID:包含要列出的子網路的專案 ID。
    • REGION:包含要列出的子網路的 Google Cloud 區域名稱。
  2. subnetworks.get 方法提出 GET 要求。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
    

    更改下列內容:

    • PROJECT_ID:包含要說明的子網路的專案 ID。
    • REGION:包含要說明的子網路的 Google Cloud 區域名稱。
    • SUBNET:要描述的子網路名稱。

新增僅限 IPv4 的子網路

建立子網路時,須設定名稱、地區,以及至少一個主要 IPv4 位址 (以名稱IPv4 子網路範圍限制為準)。

如要建立僅限 IPv4 的子網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下 [Add subnet] (新增子網路)。在顯示的面板中:

    1. 提供「Name」(名稱)
    2. 選擇一個 [Region] (地區)
    3. 輸入 [IP address range] (IP 位址範圍)。這是子網路的主要 IPv4 範圍

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    4. 若要定義子網路的次要範圍,請按一下 [Create secondary IP range] (建立次要 IP 範圍)

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    5. 「Private Google access」(私人 Google 存取權):您可以在建立子網路時啟用該子網路的私人 Google 存取權,也可以之後再進行編輯。

    6. 「Flow logs」(流程記錄):您可以在建立子網路時啟用虛擬私有雲流程記錄,也可以之後再進行編輯。

    7. 按一下「新增」。

gcloud

使用 subnets create 指令

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --range=PRIMARY_RANGE \
    --region=REGION

更改下列內容:

  • SUBNET:新子網路的名稱。
  • NETWORK:包含新子網路的 VPC 網路名稱。
  • PRIMARY_RANGE:新子網路的主要 IPv4 範圍,採用 CIDR 標記法。詳情請參閱「IPv4 子網路範圍」。
  • REGION:建立新子網路的 Google Cloud 地區。

您可以使用下列非必要標記修改上述指令:

  • --secondary-range=SECONDARY_RANGE_NAME=SECONDARY_RANGE:將 SECONDARY_RANGE_NAME 替換為次要範圍的名稱。將 SECONDARY_RANGE 替換為 CIDR 標記法中的次要範圍。「每個網路限制」會說明您為每個子網路定義的次要範圍數量上限。
  • --enable-flow-logs:在建立子網路時啟用該子網路中的虛擬私有雲流量記錄
  • --enable-private-ip-google-access:在建立子網路時啟用該子網路中的私人 Google 存取權
  • --purpose:可讓您指定子網路的用途
  • --role:可讓您為僅限 Proxy 的子網路指定角色 (活動或備份)。

接下來,請建立防火牆規則

Terraform

使用 Terraform ��組

MTU 是網路的最大傳輸單位,或最大封包大小。MTU 可設為 13008896 之間的任何值。預設為 1460。將 MTU 設為大於 1460 的值前,請先參閱「最大傳輸單位」。

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 10.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-custom-mode-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "subnet-01"
      subnet_ip     = "10.10.10.0/24"
      subnet_region = "us-west1"
    },
    {
      subnet_name           = "subnet-02"
      subnet_ip             = "10.10.20.0/24"
      subnet_region         = "us-west1"
      subnet_private_access = "true"
      subnet_flow_logs      = "true"
    },
    {
      subnet_name               = "subnet-03"
      subnet_ip                 = "10.10.30.0/24"
      subnet_region             = "us-west1"
      subnet_flow_logs          = "true"
      subnet_flow_logs_interval = "INTERVAL_10_MIN"
      subnet_flow_logs_sampling = 0.7
      subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
      subnet_flow_logs_filter   = "false"
    }
  ]
}

接著,建立防火牆規則

API

subnetworks.insert 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET"
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • REGION:新增子網路的 Google Cloud 區域名稱。
  • IP_RANGE:子網路的主要 IPv4 位址範圍。詳情請參閱「IPv4 子網路範圍」。
  • NETWORK_URL:您要新增子網路的 VPC 網路網址。
  • SUBNET:子網路名稱。

接著,建立防火牆規則

新增雙堆疊子網路

雙重堆疊子網路同時包含 IPv4 和 IPv6 位址範圍。

您可以建立啟用外部或內部 IPv6 位址的子網路。在子網路上設定 IPv6 範圍,不會在���線至該子網路的虛擬機器 (VM) 執行個體上設定 IPv6。如要進一步瞭解如何在 VM 上設定 IPv6,請參閱「為執行個體和執行個體範本設定 IPv6」。

如要建立雙層子網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下 [Add subnet] (新增子網路)。在顯示的面板中:

    1. 提供「Name」(名稱)
    2. 選擇一個 [Region] (地區)
    3. 在「IP 堆疊類型」中,選取「IPv4 和 IPv6 (雙重堆疊)」
    4. 輸入 IPv4 範圍。這是子網路的主要 IPv4 範圍

      如果您選取的範圍不是 RFC 1918 位址,請確認該範圍不會與現有設定衝突。詳情請參閱「IPv4 子網路範圍」。

    5. 選取 IPv6 存取類型內部外部

      如果您想將存取類型設為「內部」,但「內部」選項無法使用,請確認網路上是否已指派內部 IPv6 範圍

    6. 按一下「新增」。

gcloud

使用 subnets create 指令

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --range=PRIMARY_IPv4_RANGE \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

更改下列內容:

  • SUBNET:新子網路的名稱。
  • NETWORK:虛擬私人雲端網路的名稱,此網路將包含新的子網路。
  • PRIMARY_IPv4_RANGE:新子網路的主要 IPv4 範圍,採用 CIDR 標記法。詳情請參閱「IPv4 子網路範圍」。
  • IPv6_ACCESS_TYPE:IPv6 存取權類型。可以是 EXTERNALINTERNAL
  • REGION: Google Cloud 將建立新子網路的區域。

API

subnetworks.insert 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV4_IPV6,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • REGION:新增子網路的 Google Cloud 區域名稱。
  • IP_RANGE:子網路的主要 IPv4 位址範圍。詳情請參閱「IPv4 子網路範圍」。
  • NETWORK_URL:您要新增子網路的 VPC 網路網址。
  • SUBNET:子網路名稱。
  • IPv6_ACCESS_TYPE:IPv6 存取權類型。可以是 EXTERNALINTERNAL

新增僅支援 IPv6 的子網路

您可以建立僅支援 IPv6 的子網路,並啟用外部或內部 IPv6 位址。在子網路上設定 IPv6 範圍,不會在連線至該子網路的 VM 上設定 IPv6。如要進一步瞭解如何在 VM 上設定 IPv6,請參閱「為執行個體和執行個體範本設定 IPv6」。

如要建立僅限 IPv6 的子網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 如要查看「VPC 網路詳細資料」頁面,請按一下 VPC 網路的名稱。

  3. 在「子網路」分頁中,按一下 「新增子網路」。在顯示的面板中:

    1. 提供「Name」(名稱)
    2. 選擇一個 [Region] (地區)
    3. 在「IP 堆疊類型」中,選取「IPv6 (單一堆疊)」
    4. 選取 IPv6 存取類型:內部外部

      如果您想將存取權類型設為「內部」,但「內部」選項無法使用,請確認網路上是否已指派內部 IPv6 範圍

    5. 按一下「新增」。

gcloud

使用 gcloud compute networks subnets create 指令

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

更改下列內容:

  • SUBNET:新子網路的名稱。
  • NETWORK:要包含新子網路的虛擬私人雲端網路名稱。
  • IPv6_ACCESS_TYPE:IPv6 存取權類型。存取類型可以是 EXTERNALINTERNAL
  • REGION:要建立新子網路的 Google Cloud 區域。

API

subnetworks.insert 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV6_ONLY,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • REGION:新增子網路的 Google Cloud 區域名稱。
  • NETWORK_URL:您要新增子網路的 VPC 網路網址。
  • SUBNET:子網路名稱。
  • IPv6_ACCESS_TYPE:IPv6 存取權類型。存取類型可以是 EXTERNALINTERNAL

將僅限 IPv4 的子網路變更為雙重堆疊

雙重堆疊子網路同時包含 IPv4 和 IPv6 子網路範圍。您可以在自訂模式虛擬私有雲網路中,將內部或外部 IPv6 子網路範圍新增至現有的僅限 IPv4 子網路。詳情請參閱「IPv6 子網路範圍」。

將 IPv6 子網路範圍新增至子網路,並不會在連線的 VM 上設定 IPv6。如要瞭解如何設定 VM,請參閱「在 VM 上設定 IPv6」。

如要將子網路的堆疊類型變更為雙重堆疊,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下網路名稱,查看「虛擬私有雲網路詳細資料」頁面。

  3. 在「Subnets」(子網路) 分頁中,按一下要修改的子網路名稱。

  4. 在「子網路詳細資料」頁面中,按一下「編輯」

  5. 在「IP 堆疊類型」中,選取「IPv4 和 IPv6 (雙重堆疊)」

  6. 選取 IPv6 存取類型內部外部

    如果您想將存取權類型設為「內部」,但「內部」選項無法使用,請確認網路已指派內部 IPv6 範圍

  7. 按一下 [儲存]

gcloud

使用 subnets update 指令

gcloud compute networks subnets update SUBNET \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

更改下列內容:

  • SUBNET:子網路名稱。
  • REGION:子網路的地區。
  • IPv6_ACCESS_TYPE:子網路的 IPv6 存取類型。可以是 EXTERNALINTERNAL

API

subnetworks.patch 方法發出 PATCH 要求。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
{
  "stackType": IPV4_IPV6,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • REGION:子網路的區域。
  • SUBNET:子網路名稱。
  • IPv6_ACCESS_TYPE:IPv6 存取權類型。可以是 EXTERNALINTERNAL

將雙重堆疊子網路變更為僅限 IPv4

如果 IPv6 存取權類型為「外部」,您可以將子網路的堆疊類型從 IPv4 和 IPv6 (雙重堆疊) 變更為 IPv4 專用 (單一堆疊)。

如果您進行這項變更,就無法建立與該子網路連結的新雙重堆疊 VM。不過,現有的雙堆疊 VM 不會受到影響。如果您需要將 VM 的堆疊類型變更為僅 IPv4,請參閱「變更 VM 的堆疊類型」。

只有 Google Cloud CLI 和 API 支援這項變更。

如果 IPv6 存取類型為「內部」,則不支援將堆疊類型從 IPv4 和 IPv6 (雙重堆疊) 變更為僅 IPv4 (單一堆疊)。

如要將子網路的堆疊類型變更為僅限 IPv4,請按照下列步驟操作。

gcloud

使用 subnets update 指令

gcloud compute networks subnets update SUBNET \
    --stack-type=IPV4_ONLY \
    --region=REGION

更改下列內容:

  • SUBNET:子網路名稱。
  • REGION:子網路的 Google Cloud 區域

API

subnetworks.patch 方法提出 PATCH 要求。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
{
  "stackType": IPV4_ONLY,
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • REGION:子網路的 Google Cloud 區域。
  • SUBNET:子網路名稱。

使用 IPv6 BYOIP 位址範圍建立子網路

您可以自備 IP 位址 (BYOIP),用於雙重堆疊或僅限 IPv6 的子網路的外部 IPv6 位址範圍。BYOIP 提供的外部 IPv6 子網路範圍只能由 VM 使用。

詳情請參閱「建立及使用 IPv6 子前置字」。

刪除子網路

按照下列操作說明刪除自動建立的子網路。刪除子網路前,您必須刪除使用該子網路的所有資源。舉例來說,您需要刪除 VM、預留的內部 IP 位址、內部轉送規則,以及使用該子網路的 Cloud NAT 閘道。

如要刪除子網路,請按照下列步驟操作。

主控台

  1. ��� Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

    專案中的所有網路和子網路會以階層視圖顯示,其中,子網路會顯示成網路當中的項目。

  2. 如要查看特定網路,請按一下網路名稱。在該網路的「VPC network details」(虛擬私人雲端網路詳細資料) 頁面中,按一下「Subnets」(子網路) 分頁裡某個子網路的名稱,即可查看其「Subnet details」(子網路詳細資料) 頁面。

  3. 按一下 [Delete subnet] (刪除子網路)

  4. 在出現的訊息中,按一下 [Delete] (刪除) 完成確認。

gcloud

使用 subnets delete 指令

gcloud compute networks subnets delete SUBNET \
    --region=REGION

更改下列內容:

  • SUBNET:要刪除的子網路名稱。
  • REGION:要刪除的子網路區域。

API

subnetworks.delete 方法提出 DELETE 要求。

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET

更改下列內容:

  • PROJECT_ID:包含要刪除的子網路的專案 ID。
  • REGION:包含要刪除的子網路的 Google Cloud 區域名稱。
  • SUBNET:要刪除的子網路名稱。

延伸主要 IPv4 範圍

如要擴大現有子網路的主要 IPv4 範圍,您可以修改子網路遮罩,並將前置長度設為「較小的」數字即可。您針對子網路輸入的新次要 IPv4 範圍必須遵循 IPv4 子網路範圍限制中的規則。

在自動模式虛擬私有雲網路中自動建立之子網路 (或者之前在自動模式虛擬私有雲網路中建立之自動模式虛擬私有雲網路) 的 IPv4 範圍,您可以使用的最大前置詞 (子網路遮罩) 範圍是 /16。如前置字串超過 /16,會與其他自動建立的子網路的主要 IPv4 範圍發生衝突。

您無法擴充專門用於負載平衡器 Proxy 的子網路。詳情請參閱「負載平衡器適用的僅限 Proxy 子網路」。

延伸子網路的主要 IPv4 範圍可能需要數分鐘的時間才能完成。延伸期間,子網路內的流量不會中斷。

如果您擴充子網路的主要 IPv4 範圍,可能需要修改假設此 IP 位址範圍的其他設定。

如要延伸子網路的主要 IPv4 範圍,請按照下列步驟操作:

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

    專案中的所有網路和子網路會以階層視圖顯示,其中,子網路會顯示成網路當中的項目。

  2. 若只要查看特定網路中的子網路,請按一下網路名稱。在該網路的「VPC network details」(虛擬私人雲端網路詳細資料) 頁面中,按一下「Subnets」(子網路) 分頁裡某個子網路的名稱,即可查看其「Subnet details」(子網路詳細資料) 頁面。

  3. 按一下 [Edit] (編輯)

  4. 在 [IP address range] (IP 位址範圍) 欄位中輸入範圍更大的新 CIDR 區塊。

    如需有效範圍,請參閱「IPv4 子網路範圍」。

  5. 按一下 [儲存]

gcloud

使用 subnets expand-ip-range 指令

gcloud compute networks subnets expand-ip-range SUBNET \
  --region=REGION \
  --prefix-length=PREFIX_LENGTH

更改下列內容:

  • SUBNET:子網路名稱。
  • REGION:子網路所在的地區。
  • PREFIX_LENGTH:子網路遮罩大小,單位為位元。如果主要 IPv4 範圍是 10.1.2.0/24,您可以提供 20 將子網路遮罩減少到 20 位元,也會將主要 IPv4 範圍變更為 10.1.2.0/20。如需有效範圍的相關資訊,請參閱「IPv4 子網路範圍」。

API

subnetworks.expandIpCidrRange 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET/expandIpCidrRange
{
  "ipCidrRange": "IP_RANGE"
}

更改下列內容:

  • PROJECT_ID:包含要修改的子網路的專案 ID。
  • REGION:包含要修改的子網路的 Google Cloud 區域名稱。
  • SUBNET:要修改的子網路名稱。
  • IP_RANGE:子網路的擴充 IPv4 位址範圍。如需有效範圍的相關資訊,請參閱「IPv4 子網路範圍」。

編輯次要 IPv4 範圍

您可以為子網路新增次要 IPv4 範圍,也可以移除沒有任何資源使用其中任何 IP 位址的次要 IPv4 範圍。

gcloud

如要在子網路中新增新的次要 IPv4 範圍,請使用 subnets update 指令

gcloud compute networks subnets update SUBNET \
  --region=REGION \
  --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE

更改下列內容:

  • SUBNET:子網路名稱。
  • REGION:子網路所在的地區。
  • SECONDARY_RANGE_NAME:次要範圍的名稱。
  • SECONDARY_RANGE:採用 CIDR 標記法的次要 IPv4 範圍。��需有效範圍的相關資訊,請參閱「IPv4 子網路範圍」。

如要從子網路移除次要 IPv4 範圍,請使用 subnets update 指令

gcloud compute networks subnets update SUBNET \
  --region=REGION \
  --remove-secondary-ranges=SECONDARY_RANGE_NAME

更改下列內容:

  • SUBNET:子網路名稱。
  • REGION:子網路所在的地區。
  • SECONDARY_RANGE_NAME:要移除的次要範圍名稱。

API

如要修改現有子網路的次要 IPv4 位址範圍,請對 subnetworks.patch 方法發出 PATCH 要求。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
{
  "secondaryIpRanges": [
  {
    "rangeName": "SECONDARY_RANGE_NAME",
    "ipCidrRange": "IP_RANGE"
  },
  {
    "rangeName": "SECONDARY_RANGE_NAME",
    "ipCidrRange": "IP_RANGE"
  }],
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

更改下列內容:

  • PROJECT_ID:包含要修改的子網路的專案 ID。
  • REGION:包含要修改的子網路的 Google Cloud 區域名稱。
  • SUBNET:要修改的子網路名稱。
  • SECONDARY_RANGE_NAME:次要 IPv4 位址範圍的名稱。
  • IP_RANGE:子網路的擴充 IPv4 位址範圍。如需有效範圍的相關資訊,請參閱「IPv4 子網路範圍」。
  • SUBNET_FINGERPRINT:現有子網路的指紋 ID,可在描述子網路時提供。

修改網路

將自動模式虛擬私有雲網路轉換為自訂模式

您可以按照以下程序將自動模式虛擬私有雲網路轉換成自訂模式虛擬私有雲網路。參閱自動模式虛擬私有雲網路的考量事項,瞭解建議您這麼做的理由有何背景資訊。

將自動模式 VPC 網路轉換為自訂模式 VPC 網路時,系統會保留所有自動建立的子網路和您所新增的任何子網路。子網路名稱和 IP 範圍不變。

將自動模式 VPC 網路轉換成自訂模式後,您必須檢查所有隱性參照網路仍在自動模式下自動建立之任何子網路的 API 呼叫和 gcloud CLI 指令。您必須修改 API 呼叫和指令,使其明確參照子網路。gcloud CLI 指令若含指定子網路的標記 (--subnet),該標記必須參照自訂模式 VPC 網路中的子網路。

如要將自動模式虛擬私有雲網路轉換為自訂模式虛擬私有雲網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下 [編輯]

  4. 在「Subnet creation mode」(子網路建立模式) 部分,選擇 [Custom] (自訂)

  5. 按一下 [儲存]

gcloud

使用 networks update 指令

gcloud compute networks update NETWORK \
    --switch-to-custom-subnet-mode

NETWORK 替換為要更新的網路名稱。

API

networks.switchToCustomMode 方法提出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK/switchToCustomMode

更改下列內容:

  • PROJECT_ID:含有要轉換的 VPC 網路的專案 ID。
  • NETWORK:要轉換的虛擬私有雲網路名稱。

將內部 IPv6 範圍指派給網路

如果您想在子網路上設定內部 IPv6 位址,必須先在虛擬私有雲網路上啟用內部 IPv6 位址。啟用內部 IPv6 後,系統會將 /48 專屬區域位址 (ULA) 範圍指派給網路。

為虛擬私有雲網路啟用內部 IPv6 範圍後,您可以執行下列操作:

如要將內部 IPv6 範圍指派給網路,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下 [編輯]

  4. 在「私人 IPv6 位址設定」部分,選取「為此 VPC 網路設定 ULA 內部 IPv6 範圍」

  5. 選用:您可以提供內部 IPv6 範圍要使用的前置字串。

    1. 在「分配 ULA 內部 IPv6 範圍」部分,按一下「手動」
    2. 請輸入 fd20::/20 範圍內的 /48 範圍。

      如果範圍已在使用中,系統會提示您輸入其他範圍。

  6. 按一下 [儲存]

gcloud

使用 networks update 指令

--enable-ula-internal-ipv6 標記會將 /48 前置字串指派給 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍。如果您想選取已指派的 /48 IPv6 範圍,請使用 --internal-ipv6-range 標記指定範圍。

gcloud compute networks update NAME \
    --enable-ula-internal-ipv6 \
    [ --internal-ipv6-range=ULA_IPV6_RANGE ]

更改下列內容:

  • NAME:虛擬私有雲網路的名稱。
  • ULA_IPV6_RANGE:您需要分配 ULA 前置碼的 IPv6 位址範圍。

API

networks.insert 方法提出 PATCH 要求。

如果將 enableUlaInternalIpv6 設為 true,系統會從 Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍中,指派 /48 範圍。如果您想選取要指派的 /48 IPv6 範圍,請使用 internalIpv6Range 欄位指定範圍。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networksa/NETWORK
{
  "enableUlaInternalIpv6": true,
  "internalIpv6Range": "ULA_IPV6_RANGE",
}

更改下列內容:

  • PROJECT_ID:建立 VPC 網路的專案 ID。
  • NETWORK:虛擬私有雲網路的名稱。
  • ULA_IPV6_RANGE:Google 用於內部 IPv6 子網路範圍的 fd20::/20 範圍內 /48 前置碼。如果您未提供 internalIpv6Range 的值,Google 會為網路選取 /48 前置字串。

變更動態轉送模式

每個虛擬私人雲端網路各有一個相關的動態轉送模式,負責控制雲端路由器在雲端中的行為。請參閱「虛擬私人雲端網路」中的「動態轉送模式」一節,瞭解各個模式如何影響雲端路由器共用路徑與套用任何已知路徑的方式。

如要變更 VPC 網路的動態轉送模式,請按照下列步驟操作。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下 [編輯]

  4. 在「動態轉送模式」區段中,選擇「全球」或「地區」

  5. 按一下 [儲存]

gcloud

使用 networks update 指令

gcloud compute networks update NETWORK \
    --bgp-routing-mode=DYNAMIC_ROUTING_MODE

更改下列內容:

  • NETWORK:要更新的 VPC 網路名稱。
  • DYNAMIC_ROUTING_MODE:控制網路中 Cloud Router 的行為。可以是 globalregional。預設為 regional。詳情請參閱動態轉送模式

API

subnetworks.patch 方法提出 PATCH 要求。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK
{
  "routingConfig": {
    "routingMode": "ROUTING_MODE"
  }
}

更改下列內容:

  • PROJECT_ID:含有要修改的 VPC 網路的專案 ID。
  • NETWORK:要修改的虛擬私有雲網路名稱。
  • ROUTING_MODE:控制網路中 Cloud Router 的��為。可以是 GLOBALREGIONAL。預設為 REGIONAL。詳情請參閱動態轉送模式

變更網路的 MTU

如要瞭解如何變更虛擬私有雲網路的 MTU,請參閱「變更虛擬私有雲網路的 MTU 設定」。

刪除網路

您可以刪除不再使用的網路。刪除網路前,您必須刪除其子網路中的所有資源,以及所有參照該網路的資源。參照該網路的資源包括虛擬私人雲端網路對等互連連線Cloud VPN 閘道雲端路由器無伺服器虛擬私人雲端存取連接器及其連線的服務、防火牆規則自訂靜態路徑

如要刪除 VPC 網路,請執行下列步驟。

主控台

  1. 在 Google Cloud 控制台中,前往「VPC Networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 按一下虛擬私有雲網路的名稱,顯示其「VPC network details」(虛擬私有雲網路詳細資料) 頁面。

  3. 按一下「刪除虛擬私有雲網路」

  4. 在出現的訊息中,按一下 [Delete] (刪除) 完成確認。

gcloud

使用 networks delete 指令

gcloud compute networks delete NETWORK

NETWORK 替換為要刪除的網路名稱。

API

networks.delete 方法提出 DELETE 要求。

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK

更改下列內容:

  • PROJECT_ID:含有要刪除的 VPC 網路的專案 ID。
  • NETWORK:要刪除的虛擬私有雲網路名稱。

監控虛擬私有雲網路

您可以啟用 VM 網路進出流程的記錄,操作說明請參閱使用虛擬私人雲端網路流程記錄

您也可以啟用防火牆規則記錄,即可查看每項規則允許或封鎖的流量。請參閱使用防火牆規則記錄以瞭解操作說明。

遷移 VM

您可以在特定專案中,將虛擬機器 (VM) 執行個體從一個網路遷移至另一個網路。如需操作說明,請參閱在網路之間遷移 VM

疑難排解

錯誤:Constraint constraints/compute.requireVpcFlowLogs violated

如果同時符合下列兩個條件,就會發生這個錯誤:

  • 已設定組織政策限制,要求您設定虛擬私有雲流量記錄。

  • 您建立子網路,或更新現有子網路的虛擬私有雲流量記錄設定,但設定不符合政策規定。

如要進一步瞭解這項限制條件及其對子網路建立和更新的影響,請參閱「VPC 流量記錄的機構政策限制條件」。

找不到資源錯誤

刪除 VPC 網路時,您可能會看到類似以下的訊息:The resource "aet-uscentral1-subnet--1-egrfw" was not found.

如要瞭解這項錯誤及其解決方法,請參閱 VPC 防火牆規則說明文件中的「找不到資源的錯誤」。

因存在 gk3- 資源,因此無法刪除子網路

如果您無法刪除子網路,因為現有的資源名稱為 gk3-,即使您沒有任何與該子網路相關聯的現有 GKE 叢集,請與 Google Cloud 支援團隊聯絡。詳情請參閱使用 Private Service Connect 的已刪除 GKE 叢集剩餘資源

錯誤訊息示例:

The subnetwork resource 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME' is already being used by 'projects/PROJECT_ID/regions/REGION/addresses/gk3-ID'

後續步驟

歡迎試用

如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 VPC 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。

免費試用虛擬私有雲