設定流量區隔

Application Awareness 可使用區分服務代碼點 (DSCP) 欄位區分流量,進而提高專屬互連網路連線的使用效率。

您可以使用 Cloud Interconnect 上的 Application Awareness,為專屬互連網路傳出的資料傳輸設定流量差異化。

在 Cloud Interconnect 上啟用應用程式感知功能,並在傳出資料的 IP 標頭中標記 DSCP,將其對應至流量類別後,傳出資料在 Cloud Interconnect 上就會獲得差異化處理。

應用程式感知功能可讓您執行下列操作:

  • 選擇其中一種政策類型,也就是嚴格優先順序政策或頻寬百分比政策,指定 Cloud Interconnect 如何處理分類到不同流量類別的外送資料傳輸。

  • 在六種不同的流量類別之間,分配專屬互連網路的外向資料傳輸頻寬。

  • 除了上述任一政策類型外,您也可以使用流量型態控管機制,設定各個流量類別在專屬互連外送資料傳輸時可使用的頻寬上限。

以下各節說明 Cloud Interconnect 的 Application Awareness 功能,以及如何為專屬互連網路連線設定這項功能。

如要在專屬互連上啟用應用程式感知功能,請與帳戶團隊聯絡。

事前準備

開始之前,請先執行下列操作:

  • 瞭解設定 Cloud Interconnect 時的最佳做法,特別是建立容量充足的備援 Cloud Interconnect 連線

  • 確認專屬互連網路連線沒有網路流量。

  • 設定應用程式感知功能時,請注意下列事項:

    • 傳出資料流量 IP 標頭中的 DSCP 會決定應用程式感知流量類別,以提供流量差異化服務。在傳出 IP 資料流量標頭中,相應標示 DSCP。

    • 如要在從 Google API 傳出的 Cloud Interconnect 外送資料傳輸中標示特定 DSCP,請在 Google API 要求封包中標示與 Google API 回應流量相同的 DSCP。Google API 會在回應流量中,從對應的客戶要求 IP 封包回傳 (複製) DSCP,讓您控管 Google API 回應流量的 DSCP。

    • 使用 Private Service Connect 時,系統支援 Google API 的 DSCP 回應行為。您可以視需要設定要求 DSCP,控管 Google API 回應流量中的 DSCP。這樣一來,您就能控管從 Google API 傳出的資料移轉作業中的 DSCP,這些 API 是您透過 Private Service Connect 連線的對象。

    • 使用 Private Service Connect 時,已發布的虛擬私有雲 (VPC) 代管服務不支援 DSCP 回應。因此,您無法使用要求流量 DSCP 控制已發布 VPC 代管服務的回應資料流量 DSCP。而是由對應的 VPC 代管服務後端,決定回應封包中的 DSCP。

流量類別

Application Awareness 會根據 DSCP 範圍,使用流量類別的概念來區分專屬互連網路上的流量。下表說明六種流量類別:

流量類別 內部 DSCP 範圍 (二進位) 內部 DSCP 範圍 (十進位) 說明和範例
TC1 000xxx 0-7 盡可能取得容量的流量
TC2 001xxx 8-15 大量流量

範例:檔案傳輸

TC3 010xxx 16-23 作業、管理和管理流量

例如:SNMP、SSH、ping、telnet

TC4 011xxx 24-31 串流或直播影片
TC5 10xxxx 32-47 互動流量或面向使用者的流量
TC6 11xxxx 48-63 必要的網路控制流量

例如:來自 BGP 和 BFD 等通訊協定的控制流量

可用的政策類型

Cloud Interconnect 的 Application Awareness 功能提供兩種政策類型,可決定如何區分 Cloud Interconnect 傳出的資料:

嚴格優先順序

嚴格優先順序政策類型會為輸出資料移轉作業的每個流量類別指派優先順序。優先順序最高的外送資料傳輸作業會指派給流量類別 TC6,優先順序最低的外送資料傳輸作業則會指派給流量類別 TC1

嚴格優先順序差異化不需要指定類別專屬設定,因為每個流量類別的優先順序都已預先指定。不過,為避免在壅塞事件期間,優先順序較低的流量類別無法使用頻寬,建議您指定流量型態設定檔,限制每個優先順序較高的流量類別可使用的頻寬上限。

頻寬百分比

頻寬百分比政策類型可讓您指定目標頻寬比例,供各個流量類別在 Cloud Interconnect 發生壅塞事件時使用。為每個流量類別指派百分比,有助於確保每個流量類別在 Cloud Interconnect 發生壅塞事件時,都能使用指定比例的 Cloud Interconnect 頻寬。

如果流量類別未充分使用分配到的頻寬,剩餘頻寬會平均分配給所有其他流量類別。

流量控管

除了這兩種類型的政策,應用程式感知功能也提供流量型態控管機制,可讓您指定每個流量類別可使用的頻寬上限。您可以搭配嚴格優先順序政策頻寬百分比政策,使用流量控管控制項。

設定嚴格優先順序政策類型

請按照下列步驟設定嚴格優先順序政策類型。

gcloud

使用下列指令:

gcloud beta compute interconnects application-awareness \
    configure-strict-priority-policy INTERCONNECT_NAME \
    --profile-description=DESCRIPTION \
    --enabled

更改下列內容:

  • INTERCONNECT_NAME:要修補的互連網路名稱
  • DESCRIPTION:應用程式認知度的設定檔說明

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "aaiEnabled":true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy":{}
  },
}

DESCRIPTION 替換成這個設定檔的說明。

使用流量控管設定檔設定嚴格優先順序政策類型

您也可以視需要設定嚴格優先順序政策類型,以及流量控管設定檔。建議您使用流量控管設定檔,確保在壅塞事件期間,較高優先順序的流量類別不會導致較低優先順序的流量類別資源不足。

請按照下列步驟,使用流量控管設定檔設定嚴格優先順序政策類型。指定數值,代表每個納入的流量類別可使用的頻寬百分比上限。您可以為子集或所有 6 個流量類別 (TC1TC6) 定義流量控管設定檔。

gcloud

  1. 使用下列指令設定嚴格優先順序政策:

    gcloud beta compute interconnects application-awareness \
        configure-strict-priority-policy INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --enabled
    

    更改下列內容:

    • INTERCONNECT_NAME:要修補的互連網路名稱
    • DESCRIPTION:應用程式認知度的設定檔說明
  2. 使用下列指令設定流量控管設定檔:

    gcloud beta compute interconnects application-awareness \
        configure-shaper-average-percentage INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_SHAPE_PERCENTAGE,TC2=TC2_SHAPE_PERCENTAGE,TC3=TC3_SHAPE_PERCENTAGE,TC4=TC4_SHAPE_PERCENTAGE,TC5=TC5_SHAPE_PERCENTAGE,TC6=TC6_SHAPE_PERCENTAGE" \
        --enabled
    

    更改下列內容:

    • INTERCONNECT_NAME:要修補的互連網路名稱
    • DESCRIPTION:應用程式認知度的設定檔說明
    • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE:代表各個流量類別形狀平均百分比的數值。每個值都必須小於或等於 100。您可以為子集或所有 6 個流量類別 (TC1TC6) 定義流量控管設定檔。

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "strictPriorityPolicy": {},
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_SHAPE_PERCENTAGE
          }
        ]
    }
}

TC1_SHAPE_PERCENTAGE ... TC6__SHAPE_PERCENTAGE 改成數值,代表每個流量類別的頻寬百分比上限。您可以為子集或所有 6 個流量類別 (TC1TC6) 定義流量控管設定檔。

為避免網路故障,請務必將 BGP 和 BFD 等網路控制流量納入最高 strict_policy 優先順序類別。

設定頻寬百分比

請按照下列步驟設定頻寬百分比政策。

gcloud

使用下列指令:

gcloud beta compute interconnects application-awareness \
    configure-bandwidth-percentage-policy INTERCONNECT_NAME \
    --profile-description=DESCRIPTION \
    --bandwidth-percentages="TC1=TC1_PERCENTAGE,TC2=TC2_PERCENTAGE,TC3=TC3_PERCENTAGE,TC4=TC4_PERCENTAGE,TC5=TC5_PERCENTAGE,TC6=TC6_PERCENTAGE" \
    --enabled

更改下列內容:

  • INTERCONNECT_NAME:要修補的互連網路名稱
  • DESCRIPTION:應用程式認知度的設定檔說明
  • TC1_PERCENTAGE ... TC6_PERCENTAGE:代表各流量類別頻寬百分比的數值。每個值都必須小於或等於 100。

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_PERCENTAGE
          }
        ]
    }
  }
}

更改下列內容:

  • DESCRIPTION:這個設定檔的說明。
  • TC1_PERCENTAGE ... TC6_PERCENTAGE:代表各流量類別百分比的非零數值。所有流量類別的頻寬百分比總和必須為 100。

使用流量控管設定檔設定頻寬百分比

您可以選擇設定頻寬百分比政策,以及流量控管設定檔。流量型態設定檔可協助您設定個別流量類別可以使用的頻寬上限。

請按照下列步驟,使用流量控管設定檔設定頻寬百分比政策。每個流量類別都必須指定非零值,且所有流量類別的頻寬百分比加總必須為 100。

gcloud

  1. 使用下列指令設定頻寬百分比政策:

    gcloud beta compute interconnects application-awareness \
        configure-bandwidth-percentage-policy INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_PERCENTAGE,TC2=TC2_PERCENTAGE,TC3=TC3_PERCENTAGE,TC4=TC4_PERCENTAGE,TC5=TC5_PERCENTAGE,TC6=TC6_PERCENTAGE" \
        --enabled
    

    更改下列內容:

    • INTERCONNECT_NAME:要修補的互連網路名稱
    • DESCRIPTION:應用程式認知度的設定檔說明
    • TC1_PERCENTAGE ... TC6_PERCENTAGE:代表各流量類別頻寬百分比的數值。每個值都必須小於或等於 100。
  2. 使用下列指令設定流量控管設定檔:

    gcloud beta compute interconnects application-awareness \
        configure-shaper-average-percentage INTERCONNECT_NAME \
        --profile-description=DESCRIPTION \
        --bandwidth-percentages="TC1=TC1_SHAPE_PERCENTAGE,TC2=TC2_SHAPE_PERCENTAGE,TC3=TC3_SHAPE_PERCENTAGE,TC4=TC4_SHAPE_PERCENTAGE,TC5=TC5_SHAPE_PERCENTAGE,TC6=TC6_SHAPE_PERCENTAGE" \
        --enabled
    

    更改下列內容:

    • INTERCONNECT_NAME:要修補的互連網路名稱
    • DESCRIPTION:應用程式認知度的設定檔說明
    • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE:代表各個流量類別形狀平均百分比的數值。每個值都必須小於或等於 100。您可以為子集或所有 6 個流量類別 (TC1TC6) 定義流量控管設定檔。

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "aaiEnabled": true,
  "applicationAwareInterconnect":
    {
      "profileDescription": "DESCRIPTION",
      "bandwidthPercentagePolicy": {
        "bandwidthPercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_PERCENTAGE
          }
        ]
    },
      "shapeAveragePercentages": [
          {
            "trafficClass": "TC1",
            "percentage": TC1_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC2",
            "percentage": TC2_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC3",
            "percentage": TC3_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC4",
            "percentage": TC4_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC5",
            "percentage": TC5_SHAPE_PERCENTAGE
          },
          {
            "trafficClass": "TC6",
            "percentage": TC6_SHAPE_PERCENTAGE
          }
        ]
    }
}

更改下列內容:

  • DESCRIPTION:這個設定檔的說明
  • TC1_PERCENTAGE ... TC6_PERCENTAGE:代表各流量類別百分比的數值
  • TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE:代表各個流量類別形狀平均百分比的數值。每個值都必須小於或等於 100。您可以為子集或所有 6 個流量類別 (TC1TC6) 定義流量控管設定檔。

為避免網路故障,請確保網路控制流量 (例如 BGP 和 BFD) 包含在適當的頻寬百分比設定中。

刪除流量差異化政策

如要刪除流量差異化政策,請按照下列步驟操作。

gcloud

使用下列指令:

gcloud beta compute interconnects application-awareness delete INTERCONNECT_NAME

INTERCONNECT_NAME 替換為您設定流量差異化政策的互連名稱。

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "applicationAwareInterconnect":
  {
    "profileDescription": null,
    "strictPriorityPolicy": null,
    "bandwidthPercentagePolicy": null,
    "shapeAveragePercentages": null
  }
}

關閉流量差異化

如要關閉流量差異化,請按照下列步驟操作:

gcloud

使用下列指令:

gcloud beta compute interconnects application-awareness update INTERCONNECT_NAME \
    --no-enabled

INTERCONNECT_NAME 替換為要更新的互連名稱。

API

將下列 JSON 物件傳送至interconnects.patch端點

{
  "aaiEnabled": false
}

後續步驟