コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

ポリシーベースのルートを使用する

ポリシーベースのルートを使用すると、パケットの宛先 IP アドレス以外の条件も使用してネクストホップを選択できます。このページでは、ポリシーベースのルートの作成、一覧表示、詳細の取得、削除を行う方法について説明します。

始める前に

必要なロール

ポリシーベースのルートを使用するために必要な権限を取得するには、プロジェクトに対する Compute ネットワーク管理者(roles/compute.networkAdmin) IAM ロールを付与するように管理者に依頼してください。ロールの付与の詳細については、アクセスの管理をご覧ください。

ポリシーベース ルートを作成する

ポリシーベースのルートを作成するときに、複数の一致条件を指定できます。選択したすべての条件と一致する場合、トラフィックは指定された内部 TCP / UDP ロードバランサにリダイレクトされます。一致条件を指定しない場合、ルートは VPC ネットワーク内のすべての IPv4 トラフィックに適用されます。

VPC ネットワーク内のトラフィックにポリシーベースのルートを作成する

gcloud

VPC ネットワーク内のトラフィックにポリシーベースのルートを作成するには、policy-based-routes create コマンドを使用します。

gcloud network-connectivity policy-based-routes create ROUTE_NAME \
    --source-range=IP_RANGE_A \
    --destination-range=IP_RANGE_B \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --tags=NETWORK_TAGS \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

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

  • ROUTE_NAME: ポリシーベースのルートの名前
  • IP_RANGE_A: 送信元 IP の CIDR 範囲
  • IP_RANGE_B: 宛先 IP の CIDR 範囲
  • IP_PROTOCOL: 転送するトラフィックの IP プロトコル。ALLTCP、または UDP を指定できます。デフォルトは ALL です。
  • PROJECT_ID: プロジェクトの ID
  • NETWORK: トラフィックを転送するネットワークの名前
  • NETWORK_TAGS: 1 つ以上のオプションのネットワーク タグ。ポリシーベースのルートは、これらのタグが 1 つ以上あるインスタンスに適用されます。複数のタグをカンマ区切りリストで指定できます。
  • LOAD_BALANCER_IP: 内部 TCP / UDP ロードバランサの IP アドレス
  • DESCRIPTION: ルートの説明(省略可)
  • PRIORITY: 他のポリシーベースのルートと比較したポリシーベースのルートの優先度

ポリシーベースのルートと同じ方法でレスポンス トラフィックをルーティングするには、同じネクストホップとプロトコルで 2 つ目のポリシーベースのルートを作成します。ただし、送信元 IP アドレスと宛先 IP アドレス範囲は入れ替えます。

gcloud network-connectivity policy-based-routes create RETURN_ROUTE_NAME \
    --source-range=IP_RANGE_B \
    --destination-range=IP_RANGE_A \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --tags=NETWORK_TAGS \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

RETURN_ROUTE_NAME は、戻りルートの名前に置き換えます。

API

VPC ネットワーク内のトラフィックにポリシーベースのルートを作成するには、policyBasedRoutes.create メソッドに POST リクエストを送信します。

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_A",
    "destRange": "IP_RANGE_B",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

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

  • PROJECT_ID: プロジェクトの ID
  • ROUTE_NAME: ポリシーベースのルートの名前
  • IP_RANGE_A: 送信元 IP の CIDR 範囲
  • IP_RANGE_B: 宛先 IP の CIDR 範囲
  • IP_PROTOCOL: 転送するトラフィックの IP プロトコル。ALLTCP、または UDP を指定できます。デフォルトは ALL です。
  • NETWORK: ネットワークの名前
  • LOAD_BALANCER_IP: 内部 TCP / UDP ロードバランサの IP アドレス
  • DESCRIPTION: ルートの説明(省略可)
  • PRIORITY: 他のポリシーベースのルートと比較したポリシーベースのルートの優先度
  • NETWORK_TAGS: 1 つ以上のオプションのネットワーク タグ。ポリシーベースのルートは、これらのタグが 1 つ以上あるインスタンスに適用されます。複数のタグを使用する場合は、"tag1","tag2","tag3" の形式で指定します。

ポリシーベースのルートと同じ方法でレスポンス トラフィックをルーティングするには、同じネクストホップとプロトコルで 2 つ目のポリシーベースのルートを作成します。ただし、送信元 IP アドレスと宛先 IP アドレス範囲は入れ替えます。

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=RETURN_ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_B",
    "destRange": "IP_RANGE_A",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

RETURN_ROUTE_NAME は、戻りルートの名前に置き換えます。

Cloud Interconnect 接続で使用するポリシーベースのルートを作成する

Cloud Interconnect 接続を介してオンプレミス ネットワークから VPC ネットワークに送信されるトラフィックにポリシーベースのルートを作成できます。Cloud Interconnect トラフィックにポリシーベースのルートを作成するときにリージョンを指定すると、そのリージョン内のすべての Cloud Interconnect 接続に対してルートが有効になります。特定の Cloud Interconnect 接続に対してポリシーベースのルートを作成することはできません。

gcloud

オンプレミス ネットワークから発信されるトラフィックにポリシーベースのルートを作成するには、policy-based-routes create コマンドを使用します。

gcloud network-connectivity policy-based-routes create ROUTE_NAME \
    --interconnect-attachment-region=INTERCONNECT_REGION \
    --tags=NETWORK_TAGS \
    --source-range=IP_RANGE_A \
    --destination-range=IP_RANGE_B \
    --ip-protocol=IP_PROTOCOL \
    --network="projects/PROJECT_ID/global/networks/NETWORK" \
    --next-hop-ilb-ip=LOAD_BALANCER_IP \
    --description=DESCRIPTION \
    --priority=PRIORITY

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

  • ROUTE_NAME: ポリシーベースのルートの名前
  • INTERCONNECT_REGION: ポリシーベースのルートを適用する Cloud Interconnect 接続のリージョン
  • NETWORK_TAGS: 1 つ以上のオプションのネットワーク タグ。ポリシーベースのルートは、これらのタグが 1 つ以上あるインスタンスに適用されます。複数のタグをカンマ区切りリストで指定できます。
  • IP_RANGE_A: 送信元 IP の CIDR 範囲
  • IP_RANGE_B: 宛先 IP の CIDR 範囲
  • IP_PROTOCOL: 転送するトラフィックの IP プロトコル。ALLTCP、または UDP を指定できます。デフォルトは ALL です。
  • PROJECT_ID: プロジェクトの ID
  • NETWORK: トラフィックを転送するネットワークの名前
  • LOAD_BALANCER_IP: 内部 TCP / UDP ロードバランサの IP アドレス
  • DESCRIPTION: ルートの説明(省略可)
  • PRIORITY: 他のポリシーベースのルートと比較したポリシーベースのルートの優先度

API

オンプレミス ネットワークから発信されるトラフィックにポリシーベースのルートを作成するには、policyBasedRoutes.create メソッドに POST リクエストを送信します。

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
{
  "filter": {
    "srcRange": "IP_RANGE_A",
    "destRange": "IP_RANGE_B",
    "ipProtocol": "IP_PROTOCOL",
    "protocolVersion": "IPv4"
  },
  "interconnectAttachment": {
    "region": "INTERCONNECT_REGION"
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "nextHopIlbIp": "LOAD_BALANCER_IP",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "virtualMachine": {
    "tags": [
      "NETWORK_TAGS"
    ]
  }
}

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

  • PROJECT_ID: プロジェクトの ID
  • ROUTE_NAME: ポリシーベースのルートの名前
  • IP_RANGE_A: 送信元 IP の CIDR 範囲
  • IP_RANGE_B: 宛先 IP の CIDR 範囲
  • IP_PROTOCOL: 転送するトラフィックの IP プロトコル。ALLTCP、または UDP を指定できます。デフォルトは ALL です。
  • INTERCONNECT_REGION: ポリシーベースのルートを適用する Cloud Interconnect 接続のリージョン
  • NETWORK: ネットワークの名前
  • LOAD_BALANCER_IP: 内部 TCP / UDP ロードバランサの IP アドレス
  • DESCRIPTION: ルートの説明(省略可)
  • PRIORITY: 他のポリシーベースのルートと比較したポリシーベースのルートの優先度
  • NETWORK_TAGS: 1 つ以上のオプションのネットワーク タグ。ポリシーベースのルートは、これらのタグが 1 つ以上あるインスタンスに適用されます。複数のタグを使用する場合は、"tag1","tag2","tag3" の形式で指定します。

ポリシーベースのルートの接続を確認する

接続テストは、ネットワーク内のエンドポイント間の接続を確認できる診断ツールです。構成を分析し、場合によってはランタイム検証を行うこともあります。接続テストでは、ポリシーベースのルートがサポートされています。ポリシーベースのルートで接続テストを実行するには、接続テストを作成して実行するをご覧ください。

ポリシーベースのルートを一覧表示する

ポリシーベース ルートを一覧表示すると、プロジェクト内のすべてのポリシーベースのルートを表示できます。

gcloud

ポリシーベースのルートを一覧表示するには、policy-based-routes list コマンドを使用します。

gcloud network-connectivity policy-based-routes list

API

ポリシーベースのルートを一覧表示するには、policyBasedRoutes.list メソッドに GET リクエストを送信します。

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes

PROJECT_ID は、ポリシーベースのルートを一覧表示するプロジェクトの ID に置き換えます。

ポリシーベースのルートの説明を取得する

ポリシーベースのルートの説明を取得して、ルートの詳細を確認できます。

gcloud

ポリシーベースのルートの説明を取得するには、policy-based-routes describe コマンドを使用します。

gcloud network-connectivity policy-based-routes describe NAME

NAME は、説明を取得するルートの名前に置き換えます。

API

ポリシーベースのルートの説明を取得するには、policyBasedRoutes.get メソッドに GET リクエストを送信します。

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

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

  • PROJECT_ID: プロジェクトの ID
  • ROUTE_NAME: 説明を取得するポリシーベースのルートの名前

ポリシーベースのルートを削除する

ポリシーベースのルートを削除して、VPC ネットワークから削除できます。

gcloud

ポリシーベースのルートを削除するには、policy-based-routes delete コマンドを使用します。

gcloud network-connectivity policy-based-routes delete NAME

NAME は、削除するルートの名前に置き換えます。

API

ポリシーベースのルートを削除するには、policyBasedRoutes.delete メソッドに DELETE リクエストを送信します。

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

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

  • PROJECT_ID: プロジェクトの ID
  • ROUTE_NAME: 削除するポリシーベースのルートの名前