このページでは、マネージド トラフィック分類を構成して、送信パケットの DSCP(Differentiated Services Field Codepoint)ビットの割り当てを自動化する方法について説明します。
マネージド トラフィック分類を構成するには、トラフィック分類ルールのコンテナとして機能するネットワーク ポリシーリソースを作成します。これらのルールは、送信パケットにマークを付ける方法を Cloud Interconnect に指示します。以降のセクションでは、ネットワーク ポリシーとトラフィック分類ルールが連携して動作する仕組みについて説明します。
ネットワーク ポリシー
ネットワーク ポリシーは、トラフィック分類ルールのコレクションを保持できるコンテナです。新しいネットワーク ポリシーを作成するときに、ポリシーを適用するリージョンを指定します。次に、ポリシーにルールを追加したら、1 つ以上の VPC ネットワークに関連付けます。 Cloud Interconnect は、指定されたリージョン内の関連付けられた各ネットワーク内のすべての仮想マシン インスタンスにルールを適用します。または、セキュアタグを使用して、各ネットワーク内のインスタンスのサブセットにのみルールを適用することもできます。
リージョンごとに 1 つのネットワーク ポリシーのみを各 VPC ネットワークに関連付けることができます。つまり、異なるリージョンの複数のネットワーク ポリシーを 1 つの VPC ネットワークに関連付けることも、同じリージョン内の複数のネットワーク ポリシーを異なる VPC ネットワークに関連付けることもできます。
トラフィック分類ルール
トラフィック分類ルールには次の 3 つのコンポーネントがあります。
- 優先度: ネットワーク ポリシー内のルールが評価される順序を決定する数値
- 一致条件: ルールが適用されるパケットを決定する値
- ルール アクション: 一致条件に一致するパケットに対して実行されるアクション。トラフィック分類ルールには、
APPLY_TRAFFIC_CLASSIFICATIONアクションのみを設定できます。
以降のセクションでは、各ルール コンポーネントについて詳しく説明します。
ルールの評価順序
パケットに対してルールが評価される順序は、ルールの優先度(数値)を小さい数値から順に選択されます。数値が最も小さいルールが最も高い論理優先度を割り当てられ、論理優先度がそれより低いルールよりも先に評価されます。つまり、数値優先度が最小のルール(0)が常に最初に評価されます。
同じ優先度で複数のルールを構成することはできません。各ルールの優先度は 0 ~ 2,147,483,646
の数値に設定する必要があります。優先度値 2,147,483,647(INT-MAX)は、ネットワーク ポリシーのデフォルト
ルール用に予約されています。デフォルト ルールは削除できませんが、変更は可能です。
優先度番号には抜けがあります。したがって、将来的にルールを追加または削除しても、残りのルールには影響しません。たとえば、1、2、3、4、5、9、12、16 は一連の有効な優先度番号であり、6 ~ 8、10 ~ 11、13 ~ 15 の番号が付いたルールを将来追加できます。元のルールを変更しなくても、優先度値 7、10、14 のルールを追加すると、実行順序が変わります。
一致条件
一致条件は、ルールの操作を適用するためにパケットが一致する必要がある条件を記述する式です。トラフィック分類ルールでは、検索する属性に応じて、次の一致条件カテゴリを使用できます。
- IP アドレス範囲: パケットの送信元または宛先 IP アドレス範囲と照合します。各ルールには、最大 5, 000 個のクラスレス ドメイン間ルーティング(CIDR)IP アドレス範囲を含めることができます。これらはすべて IPv4 またはすべて IPv6 である必要があります。IPv4 アドレス範囲と IPv6 アドレス範囲の両方で照合する必要がある場合は、複数のルールを作成する必要があります。
ポートとプロトコル: パケットの宛先ポート、 インターネット プロトコル(IP)番号、または次のプロトコル文字列のいずれかと照合します。
tcpudpicmpespahipipsctp
UDP、TCP、SCTP プロトコルを使用する場合、宛先ポートのみを照合できます。
ターゲットタグ: ターゲットに指定された セキュアタグがある受信パケットと照合します。セキュアタグの詳細については、 タグの概要をご覧ください。
これらの照合条件の一部またはすべてを組み合わせて、より詳細な照合を行うことができます。
ルールの操作
ルール アクションは、パケットがルールの一致条件に一致した場合に実行されるアクションです。各パケットに適用されるアクションは 1
つのみです。アクションが適用されると、それ以上のルールは評価されません。トラフィック分類ルールには、APPLY_TRAFFIC_CLASSIFICATION
アクションのみを設定できます。
APPLY_TRAFFIC_CLASSIFICATION アクションは、指定されたトラフィック クラスを IP
パケットに適用します。DSCP 値をトラフィック クラスに基づいて自動的に割り当てるか、カスタム値を割り当てるかを選択します。トラフィック
クラスに基づく自動割り当ては次のとおりです。
| トラフィック クラス | DSCP 値 |
|---|---|
| TC1 | 7(000111) |
| TC2 | 15(001111) |
| TC3 | 23(010111) |
| TC4 | 31(011111) |
| TC5 | 47(101111) |
| TC6 | 63(111111) |
カスタム DSCP 値は 0 ~ 63 の値にできます。
ネットワーク ポリシーを構成する
次の手順では、ネットワーク ポリシーを作成してリージョンに割り当てる方法について説明します。
コンソール
コンソールで、[Traffic Classification] タブに移動します。 Google Cloud
[ポリシーを作成] をクリックします。
[名前] フィールドに、ネットワーク ポリシーの名前を入力します。
[リージョン] リストボックスで、ネットワーク ポリシーを適用するリージョンを選択します。
[作成] をクリックします。
gcloud
gcloud compute network-policies create NETWORK_POLICY_NAME \ --region REGION
次のように置き換えます。
NETWORK_POLICY_NAME: ネットワーク ポリシーに付ける名前REGION: ネットワーク ポリシーを適用するリージョン
トラフィック分類ルールを構成する
以降のセクションでは、トラフィック分類ルールを作成して既存のネットワーク ポリシーに接続する方法について説明します。
宛先 IP アドレス範囲を使用してパケットを照合する
次の手順で、宛先 IP アドレス範囲に基づいてパケットを照合するルールを作成します。
コンソール
コンソールで、[Traffic Classification] タブに移動します。 Google Cloud
ルールを追加するネットワーク ポリシーの名前をクリックします。
[ルールを作成] をクリックします。
[名前] フィールドに、ルールの名前を入力します。
[優先度] フィールドに、ルールの評価順序で使用する数値優先度を入力します。
[クラス] リストボックスで、このパケットを割り当てるトラフィック クラスを選択します。
[DSCP 値] フィールドで、[自動] または [指定] を選択します。[**指定**] を選択した場合は、DSCP 値を入力します。
[宛先フィルタ] フィールドで、IP アドレスのプロトコルと範囲を指定します。
- [IP タイプ] リストボックスで、IP アドレス プロトコルを選択します。
- [IP 範囲] フィールドに、宛先 IP アドレス範囲を 1 つ以上入力します。
[作成] をクリックします。
gcloud
DSCP を自動的に割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode AUTO \ --network-policy NETWORK_POLICY_NAME \ --dest-ip-ranges DESTINATION_RANGES
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: このパケットを割り当てるトラフィック クラスNETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前DESTINATION_RANGES: 照合する宛先 IP アドレス範囲のカンマ区切りリスト
カスタム DSCP 値を割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode CUSTOM \ --dscp-value DSCP_VALUE \ --network-policy NETWORK_POLICY_NAME \ --dest-ip-ranges DESTINATION_RANGES
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: 一致するパケットを割り当てるトラフィック クラスDSCP_VALUE: 一致するパケットに付けるカスタム DSCP 値NETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前DESTINATION_RANGES: 照合する宛先 IP アドレス範囲のカンマ区切りリスト
ポートまたはプロトコルを使用してパケットを照合する
次の手順で、ポートまたはプロトコルに基づいてパケットを照合するルールを作成します。
コンソール
コンソールで、[Traffic Classification] タブに移動します。 Google Cloud
ルールを追加するネットワーク ポリシーの名前をクリックします。
[ルールを作成] をクリックします。
[名前] フィールドに、ルールの名前を入力します。
[優先度] フィールドに、ルールの評価順序で使用する数値優先度を入力します。
[クラス] リストボックスで、このパケットを割り当てるトラフィック クラスを選択します。
[DSCP 値] フィールドで、[自動] または [指定] を選択します。[**指定**] を選択した場合は、DSCP 値を入力します。
[宛先フィルタ] フィールドで、IP アドレスのプロトコルと範囲を指定します。
- [IP タイプ] リストボックスで、IP アドレス プロトコルを選択します。
- [IP 範囲] フィールドに、宛先 IP アドレス範囲を 1 つ以上入力します。
[プロトコルとポート] フィールドで、[指定したプロトコルとポート] を選択します。
照合するプロトコルごとに、チェックボックスをオンにして、[ポート] フィールドにポートを入力します。
省略可: 一覧にないプロトコルを照合するには、[その他のプロトコル] チェックボックスをオンにして、プロトコルのカンマ区切りリストを入力します。
[作成] をクリックします。
gcloud
DSCP を自動的に割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode AUTO \ --network-policy NETWORK_POLICY_NAME \ --layer4-configs PROTOCOLS
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: このパケットを割り当てるトラフィック クラスNETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前PROTOCOLS: 照合するプロトコルのカンマ区切りリスト。各プロトコルにポートまたはポート範囲を指定するには、次の形式を使用します。- 1 つのポート:
protocol:port。例:tcp:80 - ポート範囲:
protocol:port1-port2。例:tcp:20000-25000
- 1 つのポート:
カスタム DSCP 値を割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode CUSTOM \ --dscp-value DSCP_VALUE \ --network-policy NETWORK_POLICY_NAME \ --layer4-configs PROTOCOLS
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: 一致するパケットを割り当てるトラフィック クラスDSCP_VALUE: 一致するパケットに付けるカスタム DSCP 値NETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前PROTOCOLS: 照合するプロトコルのカンマ区切りリスト。各プロトコルにポートまたはポート範囲を指定するには、次の形式を使用します。- 1 つのポート:
protocol:port。例:tcp:80 - ポート範囲:
protocol:port1-port2。例:tcp:20000-25000
- 1 つのポート:
タグを使用してパケットを照合する
次の手順で、ターゲットのセキュアタグに基づいてパケットを照合するルールを作成します。セキュアタグを構成するには、 タグの作成と管理をご覧ください。
コンソール
コンソールで、[Traffic Classification] タブに移動します。 Google Cloud
ルールを追加するネットワーク ポリシーの名前をクリックします。
[ルールを作成] をクリックします。
[名前] フィールドに、ルールの名前を入力します。
[優先度] フィールドに、ルールの評価順序で使用する数値優先度を入力します。
[クラス] リストボックスで、このパケットを割り当てるトラフィック クラスを選択します。
[DSCP 値] フィールドで、[自動] または [指定] を選択します。[**指定**] を選択した場合は、DSCP 値を入力します。
[ターゲット] フィールドで、[セキュアタグ] を選択します。
[タグのスコープを選択] をクリックします。新しいウィンドウで、スコープ(プロジェクト、フォルダ、組織)を選択します。セキュアタグを指定します。
- [キー 1] フィールドで、リストボックスからキーを選択します。
- [値 1] フィールドで、リストボックスから値を選択します。
- 省略可: セキュアタグを追加するには、[タグを追加] をクリックして、前の 2 つの手順を繰り返します。
[宛先フィルタ] フィールドで、IP アドレスのプロトコルと範囲を指定します。
- [IP タイプ] リストボックスで、IP アドレス プロトコルを選択します。
- [IP 範囲] フィールドに、宛先 IP アドレス範囲を 1 つ以上入力します。
[作成] をクリックします。
gcloud
DSCP を自動的に割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode AUTO \ --network-policy NETWORK_POLICY_NAME \ --target-secure-tags TAG_KEY/TAG_VALUE
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: このパケットを割り当てるトラフィック クラスNETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前TAG_KEY: セキュアタグキーTAG_VALUE: セキュアタグキーに割り当てる値
カスタム DSCP 値を割り当てるトラフィック分類ルールを作成するには、次のコマンドを使用します。
gcloud compute network-policies traffic-classification-rules create PRIORITY \ --action APPLY_TRAFFIC_CLASSIFICATION \ --traffic-class TRAFFIC_CLASS \ --dscp-mode CUSTOM \ --dscp-value DSCP_VALUE \ --network-policy NETWORK_POLICY_NAME \ --target-secure-tags TAG_KEY/TAG_VALUE
次のように置き換えます。
PRIORITY: ルールの評価順序で使用する数値優先度TRAFFIC_CLASS: 一致するパケットを割り当てるトラフィック クラスDSCP_VALUE: 一致するパケットに付けるカスタム DSCP 値NETWORK_POLICY_NAME: このルールを追加するネットワーク ポリシーの名前TAG_KEY: セキュアタグキーTAG_VALUE: セキュアタグキーに割り当てる値
ネットワーク ポリシーをネットワークに関連付ける
トラフィック分類ルールをネットワーク ポリシーに接続したら、次の手順でネットワーク ポリシーを 1 つ以上のネットワークに関連付けます。
コンソール
コンソールで、[Traffic Classification] タブに移動します。 Google Cloud
ネットワークに関連付けるネットワーク ポリシーの名前をクリックします。
[関連付け] タブを選択します。
[関連付けを追加] をクリックします。
ネットワーク ポリシーを関連付ける各ネットワークのチェックボックスをオンにします。
[関連付け] をクリックします。
gcloud
次のコマンドを使用して、ネットワーク ポリシーを各ネットワークに関連付けます。
gcloud compute network-policies associations create \ --network-policy NETWORK_POLICY_NAME \ --network NETWORK_NAME
次のように置き換えます。
NETWORK_POLICY_NAME: 関連付けるネットワーク ポリシーの名前NETWORK_NAME: ネットワーク ポリシーを関連付けるネットワークの名前