トラフィック分類を構成する

Application Awareness を利用すると、トラフィック分類に DSCP(Differentiated Services Field Codepoint)を使用して、Dedicated Interconnect 接続をより効率的に使用できます。

Cloud Interconnect の Application Awareness を使用して、Dedicated Interconnect のアウトバウンド データ転送のトラフィック分類を構成できます。

Cloud Interconnect で Application Awareness を有効にし、アウトバウンド データ転送の IP ヘッダーに含まれる DSCP をマークしてトラフィック クラスにマッピングすると、Cloud Interconnect でアウトバウンド データ転送の処理が差別化されます。

Application Awareness により、次のことが可能になります。

  • 2 つのポリシータイプ(厳密な優先度ポリシーまたは帯域幅の割合ポリシー)のいずれかを選択して、異なるトラフィック クラスに分類されたアウトバウンド データ転送を Cloud Interconnect が処理する方法を指定します。

  • Dedicated Interconnect のアウトバウンド データ転送帯域幅を 6 種類のトラフィック クラスのいずれかに割り当てます。

  • トラフィック シェーピング コントロールと、いずれかのポリシータイプを使用して、Dedicated Interconnect のアウトバウンド データ転送で各トラフィック クラスが使用できる最大帯域幅を設定します。

以降のセクションでは、Cloud Interconnect の Application Awareness と、Dedicated Interconnect 接続用に Application Awareness を構成する方法について説明します。

Dedicated Interconnect で Application Awareness を有効にするには、アカウント チームにお問い合わせください。

始める前に

始める前に、次のことを行います。

  • Cloud Interconnect の構成、特に十分な容量の冗長 Cloud Interconnect 接続を作成する際のベスト プラクティスを理解する。

  • Dedicated Interconnect 接続のネットワーク トラフィックがないことを確認する。

  • Application Awareness の構成については、次の点を考慮してください。

    • アウトバウンド データ トラフィックの IP ヘッダーの DSCP は、トラフィック分類を提供する Application Awareness のトラフィック クラスを決定します。アウトバウンド IP データ トラフィック ヘッダーの DSCP を適切にマークしてください。

    • Google API から発生した Cloud Interconnect のアウトバウンド データ転送で特定の DSCP をマークするには、Google API レスポンス トラフィックの目的の DSCP と同じ Google API リクエスト パケット内の DSCP をマークします。Google API は、対応するお客様のリクエスト IP パケットの DSCP をレスポンス トラフィックでエコーバック(コピー)します。これにより、Google API レスポンス トラフィックの DSCP を制御できます。

    • Private Service Connect を使用する場合、Google API で DSCP のエコーバック動作がサポートされます。リクエスト DSCP を適切に設定することで、Google API レスポンス トラフィックの DSCP を制御できます。これにより、Private Service Connect で接続した Google API からのアウトバウンド データ転送の DSCP を制御できます。

    • Private Service Connect を使用する場合、公開済みの Virtual Private Cloud(VPC)ホスト型サービスでは DSCP のエコーバックはサポートされません。そのため、公開済みの VPC ホスト型サービスからのレスポンス データ トラフィックの DSCP は、リクエスト トラフィックの DSCP で制御できません。代わりに、対応する VPC ホスト型サービス バックエンドがレスポンス パケットの DSCP を決定します。

トラフィック クラス

Application Awareness は、DSCP 範囲に基づくトラフィック クラスのコンセプトを使用して、Dedicated Interconnect のトラフィックを分類します。次の表に、6 個のトラフィック クラスの説明を示します。

トラフィック クラス 内部 DSCP 範囲(バイナリ) 内部 DSCP 範囲(10 進数) 説明と例
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 でアウトバウンド データ転送を分類する方法を決定する 2 種類のポリシータイプがあります。

厳密な優先度

厳密な優先度ポリシータイプでは、アウトバウンド データ転送の各トラフィック クラスに優先度レベルが割り当てられます。優先度が最も高いアウトバウンド データ転送はトラフィック クラス TC6 に割り当てられ、優先度が最も低いアウトバウンド データ転送はトラフィック クラス TC1 に割り当てられます。

厳密な優先度による分類では、各トラフィック クラスの優先度が事前に指定されているため、クラス固有の構成を指定する必要はありません。ただし、輻輳イベント中に優先度の低いトラフィック クラスの帯域幅が枯渇しないように、トラフィック シェーピング プロファイルを指定して、優先度の高いトラフィック クラスで使用される最大帯域幅を制限することをおすすめします。

帯域幅の割合

帯域幅の割合ポリシータイプを使用すると、Cloud Interconnect での輻輳イベント中に各トラフィック クラスが使用できるターゲット帯域幅の割合を指定できます。各トラフィック クラスに割合を割り当てると、Cloud Interconnect での輻輳イベント中に各トラフィック クラスが Cloud Interconnect 帯域幅の指定された割合を使用できます。

トラフィック クラスが割り当てられた割合を完全には使用せず、使用可能な帯域幅が残っている場合、残りの帯域幅は他のすべてのトラフィック クラス間で均等に分配されます。

トラフィック シェーピング コントロール

Application Awareness では、2 つのポリシータイプに加えて、各トラフィック クラスが使用可能な最大帯域幅を指定できるトラフィック シェーピング コントロールも提供されます。トラフィック シェーピング コントロールは、厳密な優先度ポリシー帯域幅の割合ポリシーと併用できます。

厳密な優先度ポリシータイプを構成する

厳密な優先度ポリシータイプを構成する手順は次のとおりです。

gcloud

次のコマンドを使用します。

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

次のように置き換えます。

  • INTERCONNECT_NAME: パッチを適用する相互接続の名前
  • DESCRIPTION: Application Awareness のプロファイルの説明

API

次の JSON オブジェクトを interconnects.patch エンドポイントに送信します。

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

DESCRIPTION は、このプロファイルの説明に置き換えます。

厳密な優先度ポリシータイプとトラフィック シェーピング プロファイルを構成する

必要に応じて、トラフィック シェーピング プロファイルと一緒に厳密な優先度ポリシータイプを構成できます。輻輳イベント中に優先度の高いトラフィック クラスによって優先度の低いトラフィック クラスの帯域幅が枯渇しないように、トラフィック シェーピング プロファイルを使用することをおすすめします。

厳密な優先度ポリシータイプとトラフィック シェーピング プロファイルを構成する手順は次のとおりです。各トラフィック クラスの最大帯域幅の割合を表す数値を指定します。トラフィック シェーピング プロファイルは、トラフィック クラスのサブセットまたは 6 種類すべて(TC1TC6)に対して定義できます。

gcloud

  1. 次のコマンドを使用して、厳密な優先度ポリシーを構成します。

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

    次のように置き換えます。

    • INTERCONNECT_NAME: パッチを適用する相互接続の名前
    • DESCRIPTION: Application Awareness のプロファイルの説明
  2. 次のコマンドを使用して、トラフィック シェーピング プロファイルを構成します。

    gcloud 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: Application Awareness のプロファイルの説明
    • 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 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: Application Awareness のプロファイルの説明
  • 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 になるようにする必要があります。

帯域幅の割合とトラフィック シェーピング プロファイルを構成する

必要に応じて、トラフィック シェーピング プロファイルと一緒に帯域幅の割合ポリシーを構成できます。トラフィック シェーピング プロファイルを使用すると、各トラフィック クラスが使用できる最大帯域幅を設定できます。

帯域幅の割合ポリシーとトラフィック シェーピング プロファイルを構成する手順は次のとおりです。各トラフィック クラスに 0 以外の値を指定する必要があります。また、すべてのトラフィック クラスの帯域幅の割合の合計が 100 になるようにする必要があります。

gcloud

  1. 次のコマンドを使用して、帯域幅の割合ポリシーを構成します。

    gcloud 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: Application Awareness のプロファイルの説明
    • TC1_PERCENTAGE ... TC6_PERCENTAGE: 各トラフィック クラスの帯域幅の割合を表す数値。100 以下の値を指定してください。
  2. 次のコマンドを使用して、トラフィック シェーピング プロファイルを構成します。

    gcloud 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: Application Awareness のプロファイルの説明
    • 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 compute interconnects application-awareness delete INTERCONNECT_NAME

INTERCONNECT_NAME は、トラフィック分類ポリシーを構成した相互接続の名前に置き換えます。

API

次の JSON オブジェクトを interconnects.patch エンドポイントに送信します。

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

トラフィック分類をオフにする

トラフィック分類をオフにする手順は次のとおりです。

gcloud

次のコマンドを使用します。

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

INTERCONNECT_NAME は、更新する相互接続の名前に置き換えます。

API

次の JSON オブジェクトを interconnects.patch エンドポイントに送信します。

{
  "aaiEnabled": false
}

次のステップ