Application Awareness を利用すると、トラフィックの分類に DSCP(Differentiated Services Code Point)フィールドを使用して、Cross-Cloud Interconnect 接続をより効率的に使用できます。
Cloud Interconnect の Application Awareness を使用して、アウトバウンド Cross-Cloud Interconnect データ転送のトラフィック分類を構成できます。
Cloud Interconnect で Application Awareness を有効にして、アウトバウンド データ転送の IP ヘッダーで DSCP をマークし、トラフィック クラスにマッピングすると、アウトバウンド データ転送は Cloud Interconnect で差別化された処理を受けます。
Application Awareness により、次のことが可能になります。
2 つのポリシータイプ(厳密な優先度ポリシーまたは帯域幅の割合ポリシー)のいずれかを選択して、異なるトラフィック クラスに分類されたアウトバウンド データ転送を Cloud Interconnect が処理する方法を指定します。
Cross-Cloud Interconnect のアウトバウンド データ転送帯域幅を 6 個の異なるトラフィック クラスに割り当てます。
トラフィック シェーピング コントロールと、いずれかのポリシータイプを使用して、Cross-Cloud Interconnect のアウトバウンド データ転送で各トラフィック クラスが使用できる最大帯域幅を設定します。
以降のセクションでは、Cloud Interconnect の Application Awareness と、Cross-Cloud Interconnect 接続用に Application Awareness を構成する方法について説明します。
Cross-Cloud Interconnect で Application Awareness を有効にするには、アカウント担当者にお問い合わせください。
始める前に
始める前に、次のことを行います。
Cloud Interconnect の構成、特に十分な容量の冗長 Cloud Interconnect 接続を作成する際のベスト プラクティスを理解する。
Cross-Cloud Interconnect 接続でネットワーク トラフィックがないことを確認する。
Application Awareness の構成については、次の点を考慮してください。
アウトバウンド データ トラフィックの IP ヘッダーの DSCP は、トラフィックの分類を提供する Application Awareness トラフィック クラスを決定します。アウトバウンド IP データ トラフィック ヘッダーの DSCP に適切なマークを付けます。
Google API から送信されるアウトバウンド Cloud Interconnect データ転送で特定の DSCP をマークするには、Google API リクエスト パケットで、Google API レスポンス トラフィックの目的の DSCP として同じ 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 範囲に基づくトラフィック クラスのコンセプトを使用して、Cross-Cloud 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 帯域幅の割合を使用できます。
トラフィック クラスが割り当てられた割合を使用せず、使用可能な帯域幅が残っている場合、残りの帯域幅は他のすべてのトラフィック クラス間で均等に共有されます。
トラフィック シェーピング制御
アプリケーション認識では、2 つのポリシータイプに加えて、各トラフィック クラスが使用できる最大帯域幅を指定できるトラフィック シェーピング コントロールも提供されます。トラフィック シェーピング制御は、厳密な優先度ポリシーと帯域幅の割合ポリシーで使用できます。
厳格な優先度ポリシータイプを構成する
厳格な優先度ポリシータイプを構成する手順は次のとおりです。
gcloud
次のコマンドを使用します。
gcloud 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 個のトラフィック クラス(TC1
~TC6
)のすべてに対して定義できます。
gcloud
次のコマンドを使用して、厳密な優先度ポリシーを構成します。
gcloud compute interconnects application-awareness \ configure-strict-priority-policy INTERCONNECT_NAME \ --profile-description=DESCRIPTION \ --enabled
次のように置き換えます。
INTERCONNECT_NAME
: パッチを適用するインターコネクトの名前DESCRIPTION
: アプリケーション認識のプロファイルの説明
次のコマンドを使用して、トラフィック シェーピング プロファイルを構成します。
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
: アプリケーション認識のプロファイルの説明TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE
: 各トラフィック クラスのシェーピングの平均割合を表す数値。100 以下の値を指定してください。トラフィック シェーピング プロファイルは、サブセットまたは 6 個のトラフィック クラス(TC1
~TC6
)のすべてに対して定義できます。
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 個のトラフィック クラス(TC1
~TC6
)のすべてに対して定義できます。
ネットワーク障害を防ぐには、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
: アプリケーション認識のプロファイルの説明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
次のコマンドを使用して、帯域幅の割合ポリシーを構成します。
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
: アプリケーション認識のプロファイルの説明TC1_PERCENTAGE ... TC6_PERCENTAGE
: 各トラフィック クラスの帯域幅の割合を表す数値。100 以下の値を指定してください。
次のコマンドを使用して、トラフィック シェーピング プロファイルを構成します。
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
: アプリケーション認識のプロファイルの説明TC1_SHAPE_PERCENTAGE ... TC6_SHAPE_PERCENTAGE
: 各トラフィック クラスのシェーピングの平均割合を表す数値。100 以下の値を指定してください。トラフィック シェーピング プロファイルは、サブセットまたは 6 個のトラフィック クラス(TC1
~TC6
)のすべてに対して定義できます。
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 個のトラフィック クラス(TC1
~TC6
)のすべてに対して定義できます。
ネットワーク障害を防ぐには、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
}