設定網路級別

本頁面說明如何為工作負載指定網路級別。 手動設定網路級別之前,請先查看「網路服務級別總覽」中的資訊。

規格

只有符合資格的 Google Cloud 資源才支援網路服務級別。 標準級和進階級 適用於所有 Google Cloud 區域。

外部 IP 位址集區

要確認從哪個集區中選擇外部 IP 位址,需要瞭解外部 IP 位址為區域性還是全域 (以及若為區域性,其網路級別為何)。您無法將某個集區的 IP 位址移到另一個集區。

在標準級中,區域性外部 IP 位址的集區專屬於各自所在區域,而不是依符合資格的資源類型來區分。例如,使用標準級的虛擬機器 (VM) 執行個體和 Google Cloud 負載平衡器 (外部應用程式負載平衡器、外部 Proxy 網路負載平衡器和外部直通式網路負載平衡器),全都使用來自所選區域標準級集區的 IP 位址。

在進階級中,外部應用程式負載平衡器和外部 Proxy 網路負載平衡器使用全域外部 IP 位址,而外部直通式網路負載平衡器和 VM 執行個體則使用區域性外部 IP 位址。在每個區域中,進階級區域性外部 IP 位址集區不同於全域外部 IP 位址集區。

未指派的 IP 位址

標準級中未使用的區域性外部 IP 位址行為不同於進階級中未使用的 IP 位址。

標準級 IP 位址若未指派給符合資格的資源,就會自動寄存。IP 位址寄存後,負載平衡器會回應傳送到該 IP 位址的特定要求,例如 HTTP 要求傳送到寄存的標準級 IP 位址時,會導向 Google 託管的「HTTP 404 (找不到)」網頁。也就是說,傳送到寄存的標準級 IP 位址時,流量不會直接遭到捨棄。此外,正在進行處理以指派給資源的標準級 IP 位址,也可能會表現出類似寄存的行為。

即時遷移期間,如果遷移時間超過 20 分鐘,指派給 VM 執行個體的標準級外部 IP 位址會移至寄存狀態。

指派給 VM 的進階級外部 IP 位址,則會在長時間即時遷移期間捨棄流量。

為專案設定預設網路級別

請按照下列指示,為專案定義預設網路級別。除非為資源指定級別,否則專案中新建立的符合資格資源都會使用此級別。如果變更專案的預設網路級別,不會改變現有資源的級別,但如果在建立新資源時未指定網路級別,新資源會使用新的預設網路級別。

控制台

  1. 前往 Google Cloud 控制台的「Network Service Tiers」(網路服務級別) 頁面。

    前往網路服務級別頁面

  2. 按一下「Change tier」(變更級別)

  3. 選取「Premium」(進階)或「Standard」(標準),然後按一下「Change」(變更)

gcloud

gcloud compute project-info update \
    --default-network-tier NETWORK_TIER

NETWORK_TIER 替換為 PREMIUMSTANDARD。 預設值為 PREMIUM

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setNetworkTier
{
  "networkTier": "STANDARD"
}

PROJECT_ID 替換為專案 ID。

Terraform

您可以使用 Terraform 資源,為專案設定網路級別。以下範例將級別設為 STANDARD

resource "google_compute_project_default_network_tier" "project-tier" {
  project      = var.project_id # Replace this with your project ID in quotes
  network_tier = "STANDARD"
}

為資源指定的網路級別一律優先於為專案定義的預設網路級別。例如,即使專案的預設網路級別為進階級,仍可在標準級中建立執行個體或負載平衡器。

級別設定層級。
級別設定層級 (按一下即可放大)。

建立靜態外部 IP 位址

建立靜態區域性外部 IP 位址時,可為其網路級別指定 PREMIUMSTANDARD。如未指定網路級別,系統會使用專案預設級別建立位址。

如要保留使用標準級的靜態區域性外部 IP 位址,請執行下列操作。

控制台

  1. 前往 Google Cloud 控制台的「External IP addresses」(外部 IP 位址) 頁面。

    前往外部 IP 位址頁面

  2. 按一下「Reserve static address」(保留靜態位址)

  3. 在「Type」(類型) 下方,選取「Regional」(區域性),然後選取支援標準級的區域

  4. 在「Network Service Tier」(網路服務級別) 下方,選取「Standard」(標準)

  5. 視情況填入其他欄位

  6. 按一下「Reserve」(保留)

gcloud

gcloud compute addresses create my-standard-tier-ip-address \
     --region REGION \
     --network-tier STANDARD

REGION 替換為要建立區域性 IP 位址的區域。

如需其他指令列旗標,請參閱「gcloud compute 位址」。

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
{
  "name": "my-standard-tier-ip-address",
  "networkTier": "STANDARD"
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • REGION:要建立轉送規則的區域

Terraform

您可以使用 Terraform 資源,為區域性外部 IP 位址設定網路級別。 以下範例將級別設為 STANDARD

resource "google_compute_address" "ip-address" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "my-standard-tier-ip-address"
  region       = "us-central1"
  network_tier = "STANDARD"
}

建立轉送規則

建立新的轉送規則時,可以指定網路級別;可能的值為 PREMIUM (預設) 和 STANDARD。如未指定網路級別,系統會使用專案預設級別建立轉送規則:

  • 如果使用 --address 旗標指定外部 IP 位址,該 IP 位址必須與為轉送規則指定的級別相同。
  • 如果建立轉送規則時未指定 --address 旗標,Google Cloud 會分配適當級別的暫時 IP 位址。

標準級僅適用於區域性轉送規則。全域轉送規則一律使用進階級。

負載平衡器可同時使用進階級和標準級,方法是設定兩個不同的轉送規則,一個級別各一個規則。這在某些情況下很有用,例如一個應用程式需要進階級,因為可以縮短延遲時間;另一個應用程式可能提供靜態內容,在延遲時間較長的情況下也可正常運作,可以使用標準級。

控制台

如要在 Google Cloud 控制台中建立標準級轉送規則,必須建立或更新現有負載平衡器。在多個區域中擁有後端服務的負載平衡器無法使用標準級。如需選擇及建立負載平衡器的操作說明,請參閱負載平衡說明文件。

  1. 前往 Google Cloud 控制台的「Load balancing」(負載平衡) 頁面。

    前往負載平衡頁面

  2. 按一下現有負載平衡器的名稱,然後按一下「Edit」(編輯)

  3. 按一下「Frontend configuration」(前端設定)

  4. 按一下「Add Frontend IP and port」(新增前端 IP 和通訊埠)

  5. 在「Network Service Tier」(網路服務級別) 下方,按一下「Standard」(標準)

  6. 視情況填入其他欄位。

  7. 按一下「Done」(完成),然後按一下「Update」(更新)

gcloud

gcloud compute forwarding-rules create my-standard-tier-regional-rule \
     --load-balancing-scheme=SCHEME \
     --network-tier STANDARD \
     --address my-standard-tier-ip-address \
     --region REGION \
     --ports PORTS \
     [--target-http-proxy=TARGET_HTTP_PROXY \
     | --target-https-proxy=TARGET_HTTPS_PROXY \
     | --target-ssl-proxy=TARGET_SSL_PROXY \
     | --target-tcp-proxy=TARGET_TCP_PROXY \
     | --target-pool=TARGET_POOL \
     | --target-instance=TARGET_INSTANCE]

更改下列內容:

  • SCHEME:負載平衡器的負載平衡配置
  • REGION:要建立轉送規則的區域
  • TARGET_HTTP_PROXYTARGET_HTTPS_PROXYTARGET_SSL_PROXYTARGET_TCP_PROXYTARGET_POOLTARGET_INSTANCE:根據指定的目標旗標,替換為適當規則目標

如需其他指令列旗標,請參閱「gcloud compute 轉送規則」。

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
{
  "name": "my-standard-tier-regional-rule",
  "networkTier": "STANDARD",
    "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/my-standard-tier-ip-address",
  "IPProtocol": "tcp",
    "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/targetPools/TARGET_POOL"
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • REGION:要建立轉送規則的區域
  • TARGET_HTTP_PROXYTARGET_HTTPS_PROXYTARGET_SSL_PROXYTARGET_TCP_PROXYTARGET_POOLTARGET_INSTANCE:根據指定的目標旗標,替換為適當規則目標

Terraform

您可以使用 Terraform 資源,為轉送規則設定網路級別。針對指向目標執行個體的轉送規則,以下範例將級別設為 STANDARD

resource "google_compute_forwarding_rule" "target-fr" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "target-instance-forwarding-rule"
  region       = "us-east4"
  target       = google_compute_target_instance.target.id
  port_range   = "80"
  network_tier = "STANDARD"
}

VM 執行個體

請按照下列各節的程序,在指定網路服務級別中建立 VM 執行個體、為執行個體新增存取權設定,或更新執行個體的網路級別。

建立 VM 執行個體

建立直接連線網際網路的執行個體時,可以指定網路級別。可能的值為 PREMIUM (預設) 和 STANDARD。如未指定網路級別,系統會使用專案預設級別建立位址。 只有在執行個體使用區域性 IPv4 位址直接與網際網路通訊時,網路級別才有影響。如果是負載平衡器傳送的回應流量,則適用轉送規則的網路級別。

如果使用保留 IP 位址指派靜態外部 IP 位址,IP 位址的網路級別必須與執行個體相同。假如指派暫時外部 IP 位址,則會使用執行個體的網路級別,從對應集區指派 IP 位址。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 按一下「Create instance」(建立執行個體)

  3. 按一下 [Management, security, disks, networking, sole tenancy] (管理、安全性、磁碟、網路、單獨租用)。

  4. 按一下「Networking」(網路) 分頁。

  5. 在「Network interfaces」(網路介面) 下方,按一下預設網路介面中的「Edit」(編輯)

  6. 在「Network Service Tier」(網路服務級別) 下方,選取「Standard」(標準)

  7. 視情況填入其他欄位

  8. 按一下「Create」(建立)

gcloud

gcloud compute instances create my-standard-tier-instance \
    --network-tier STANDARD

如需其他指令列旗標,請參閱「gcloud compute 執行個體」。

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "my-standard-tier-instance",
  "networkInterfaces":[
   {
    "network": "global/networks/default",
    "name": "nic0",
    "accessConfigs": [
     {
     "name": "External NAT",
     "type":"ONE_TO_ONE_NAT",
     "networkTier":"STANDARD"
     }
    ]
   }
  ],
    "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/my-standard-tier-ip-address",
  ... other parameters
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • ZONE:要建立執行個體的可用區
  • REGION:資源的區域

    如需其他必要和選用參數的清單,請參閱「REST 資源:執行個體」。

Terraform

您可以使用 Terraform 資源,為 Compute Engine VM 設定網路級別。 以下範例將級別設為 STANDARD

resource "google_compute_address" "ip-address" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "my-standard-tier-ip-address"
  region       = "us-central1"
  network_tier = "STANDARD"
}

為執行個體新增存取權設定

為執行個體建立存取權設定時 (也就是將暫時或靜態區域性外部 IPv4 位址指派給執行個體的網路介面),可以替執行個體的網路介面指定網路級別。無論是指定現有的區域性外部 IPv4 位址,還是建立新位址,位址和執行個體的網路介面必須使用相同的網路服務級別。可能的值為 PREMIUMSTANDARD。如未指定網路級別和 IP 位址,執行個體的網路介面和新的暫時區域性外部 IPv4 位址都會使用專案預設級別。如未指定網路級別,但指定了 IP 位址,在 IP 位址的網路級別與專案預設級別不相符時, Google Cloud 會傳回錯誤。

gcloud

gcloud compute instances add-access-config INSTANCE_NAME \
    --network-interface INTERFACE_NAME; default="nic0" \
    --access-config-name=ACCESS_CONFIG_NAME; default="external-nat" \
    --address=IP_ADDRESS \
    --network-tier PREMIUM | STANDARD

更改下列內容:

  • INSTANCE_NAME:執行個體的名稱
  • INTERFACE_NAME:介面名稱,預設為 nic0 (執行個體上的預設介面名稱)
  • ACCESS_CONFIG_NAME:介面的存取權設定名稱
  • IP_ADDRESS:IP 位址資源的網址 (如有指定 IP 位址)

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig?networkInterface=nic0
{
  "name": INSTANCE_NAME,
  "networkTier": "STANDARD",
  ... other parameters
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • ZONE:執行個體的可用區
  • INSTANCE_NAME:執行個體的名稱

如需其他必要和選用參數的清單,請參閱「REST 資源:執行個體」。

更新執行個體的網路級別

您可以使用 update-access-config 指令,變更執行個體網路介面的網路級別。網路級別可能的值為 PREMIUMSTANDARD。如果現有存取權設定已為執行個體指派區域性外部 IPv4 位址,必須先移除該外部 IP 位址,才能變更介面的網路級別。如要進一步瞭解區域性外部 IPv4 位址的網路級別,為何必須與執行個體網路介面相符,請參閱「為執行個體新增存取權設定」。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體頁面

  2. 按一下執行個體的名稱。

  3. 按一下「Edit」(編輯)

  4. 在「Network interfaces」(網路介面) 下方,按一下預設網路介面中的「Edit」(編輯)

  5. 在「Network Service Tier」(網路服務級別) 下方,選取「Standard」(標準)

  6. 按一下「Save」(儲存)

gcloud

gcloud compute instances update-access-config INSTANCE_NAME \
    --network-interface nic0 \
    --network-tier STANDARD

INSTANCE_NAME 替換為執行個體名稱。

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
{
  "networkTier": "STANDARD",
  ... other parameters
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • ZONE:執行個體的可用區
  • INSTANCE_NAME:執行個體的名稱

建立使用標準級的執行個體範本

如要在建立執行個體範本期間設定網路級別,請按照下列步驟操作。

控制台

  1. 前往 Google Cloud 控制台的「Instance templates」(執行個體範本) 頁面。

    前往執行個體範本頁面

  2. 按一下「Create instance template」(建立執行個體範本)

  3. 按一下 [Management, security, disks, networking, sole tenancy] (管理、安全性、磁碟、網路、單獨租用)。

  4. 按一下「Networking」(網路) 分頁。

  5. 在「Network Service Tier」(網路服務級別) 下方,選取「Standard」(標準)

  6. 視情況填入其他欄位

  7. 按一下「Create」(建立)

gcloud

gcloud compute instance-templates create my-standard-tier-instance-template \
    --network-tier STANDARD

如需其他指令列旗標,請參閱「gcloud compute 執行個體範本」。

API

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceTemplates
{
  "name": "my-standard-tier-instance-template",
  "networkInterfaces[].accessConfigs[].networkTier": "STANDARD",
  ... other parameters
}

更改下列內容:

  • PROJECT_ID:專案 ID
  • ZONE:執行個體範本的可用區

如需其他必要和選用參數的清單,請參閱「REST 資源:執行個體範本」。

Terraform

您可以使用 Terraform 資源,為 Compute Engine 執行個體範本設定網路級別。以下範例將級別設為 STANDARD

resource "google_compute_instance_template" "template" {
  project      = var.project_id # Replace this with your project ID in quotes
  name         = "template"
  machine_type = "e2-medium"
  disk {
    source_image = "debian-cloud/debian-10"
    boot         = true
  }
  network_interface {
    network = "default"
    access_config {
      network_tier = "STANDARD"
    }
  }
}

使用特定網路級別的 IP 位址設定網路位址轉譯 (NAT)

建立 Cloud NAT 閘道時,您可透過 Google Cloud 指派標準級和進階級的 IP 位址。

詳情請參閱「建立 Cloud NAT 閘道」。