このページでは、マネージド トラフィック分類を構成して、送信パケットの DSCP(Differentiated Services Code Point)ビットの割り当てを自動化する方法について説明します。
マネージド トラフィック分類を構成するには、トラフィック分類ルールのコンテナとして機能するネットワーク ポリシー リソースを作成します。これらのルールは、送信パケットをマークする方法を Cloud Interconnect に指示します。次のセクションでは、ネットワーク ポリシーとトラフィック分類ルールの連携について説明します。
ネットワーク ポリシー
ネットワーク ポリシーは、トラフィック分類ルールのコレクションを保持できるコンテナです。新しいネットワーク ポリシーを作成するときに、ポリシーを適用するリージョンを指定します。次に、ポリシーにルールを追加してから、1 つ以上の VPC ネットワークに関連付けます。Cloud Interconnect は、指定されたリージョン内の関連付けられた各ネットワーク内のすべての仮想マシン インスタンスにルールを適用します。または、セキュアタグを使用して、各ネットワーク内のインスタンスのサブセットにのみルールを適用することもできます。
リージョンごとに、各 VPC ネットワークに関連付けることができるネットワーク ポリシーは 1 つだけです。つまり、異なるリージョンにある複数のネットワーク ポリシーを 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 の範囲で指定できます。
ネットワーク ポリシーを構成する
次の手順では、ネットワーク ポリシーを作成してリージョンに割り当てる方法について説明します。
コンソール
Google Cloud コンソールで、[トラフィック分類] タブに移動します。
[ポリシーを作成] をクリックします。
[名前] フィールドに、ネットワーク ポリシーの名前を入力します。
[リージョン] リスト ボックスで、ネットワーク ポリシーを適用するリージョンを選択します。
[作成] をクリックします。
gcloud
gcloud compute network-policies create NETWORK_POLICY_NAME \ --region REGION
次のように置き換えます。
NETWORK_POLICY_NAME: ネットワーク ポリシーに付ける名前REGION: ネットワーク ポリシーを適用するリージョン
トラフィック分類ルールを構成する
以降のセクションでは、トラフィック分類ルールを作成して既存のネットワーク ポリシーに適用する方法について説明します。
宛先 IP アドレス範囲を使用してパケットを照合する
宛先 IP アドレス範囲に基づいてパケットを照合するルールを作成する手順は次のとおりです。
コンソール
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 アドレス範囲のカンマ区切りリスト
ポートまたはプロトコルを使用してパケットを照合する
次の手順で、ポートまたはプロトコルに基づいてパケットを照合するルールを作成します。
コンソール
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 つのポート:
タグを使用してパケットを照合する
次の手順で、ターゲット セキュアタグに基づいてパケットを照合するルールを作成します。セキュアタグを構成するには、タグの作成と管理をご覧ください。
コンソール
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 つ以上のネットワークに関連付けます。
コンソール
Google Cloud コンソールで、[トラフィック分類] タブに移動します。
ネットワークに関連付けるネットワーク ポリシーの名前をクリックします。
[関連付け] タブを選択します。
[関連付けを追加] をクリックします。
ネットワーク ポリシーを関連付ける各ネットワークのチェックボックスをオンにします。
[関連付け] をクリックします。
gcloud
次のコマンドを使用して、ネットワーク ポリシーを各ネットワークに関連付けます。
gcloud compute network-policies associations create \ --network-policy NETWORK_POLICY_NAME \ --network NETWORK_NAME
次のように置き換えます。
NETWORK_POLICY_NAME: 関連付けるネットワーク ポリシーの名前NETWORK_NAME: ネットワーク ポリシーを関連付けるネットワークの名前