設定網路級別

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

規格

只有符合資格的 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 位址的特定要求,例如傳送到寄存的標準級 IP 位址的 HTTP 要求,會收到 Google 託管的「HTTP 404 (找不到)」網頁。也就是說,傳送到寄存的標準級 IP 位址的流量不會直接捨棄。此外,正在進行處理以指派給資源的標準級 IP 位址,也可能會表現出類似寄存的行為。

指派給 VM 執行個體的標準級外部 IP 位址,可能會在即時遷移期間,在遷移作業花費超過 20 分鐘的情況下,移至寄存狀態。

指派給 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 閘道」。