カスタム IP 範囲のアドバタイズ

既存の Cloud Router または Cloud Router の BGP セッションを更新して、Virtual Private Cloud (VPC)ネットワークのサブネット IP アドレス範囲以外の IP 範囲をアドバタイズできます。たとえば、VPC ネットワーク ピアリングで接続されているピア VPC ネットワークのサブネットの IP アドレス範囲から、外部 IP アドレス、任意の内部 IP アドレス、または内部 IP アドレスをアドバタイズできます。

Cloud Router の作成時または BGP セッションの構成時にアドバタイズを指定する場合は、Cloud Router の作成または BGP セッションの確立をご覧ください。

Cloud Router でのアドバタイズの指定

既存の Cloud Router でアドバタイズを指定するには、次の手順を行います。

Console

  1. Google Cloud Console で [Cloud Router] ページに移動します。

    [Cloud Router] に移動

  2. 更新する Cloud Router を選択します。

  3. [ルーターの詳細] ページで、[ 編集] をクリックします。

  4. [アドバタイズされたルート] セクションの [ルート] で、[カスタムルートの作成] を選択します。

  5. [Cloud Router に表示されるすべてのサブネットにアドバタイズする] チェックボックスを選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。

  6. [カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。

  7. ルート アドバタイズを構成します。

    • ソース: [カスタム IP 範囲] を選択します。
    • IP アドレス範囲: CIDR 表記でカスタム IP 範囲を指定します。 IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます(プレビュー)。
    • 説明: このルート アドバタイズの目的がわかるような説明を追加し、[完了] をクリックします。
  8. カスタムルートの追加が完了したら、[保存] をクリックします。

gcloud

update コマンドを実行します。カスタム IP 範囲を指定するには、--set-advertisement-ranges フラグまたは --add-advertisement-ranges フラグを使用します。

  1. --set-advertisement-ranges フラグを使用します。既存のカスタム アドバタイズはすべて置換されます。

    gcloud compute routers update ROUTER_NAME \
       --project=PROJECT_ID \
       --advertisement-mode custom \
       --set-advertisement-groups=ADVERTISED_GROUPS \
       --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

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

    • ROUTER_NAME: Cloud Router の名前
    • PROJECT_ID: Cloud Router が含まれるプロジェクト
    • ADVERTISED_GROUPS: Cloud Router が動的にアドバタイズする Google 定義のグループ

      有効な値は all_subnets です。VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

    • ADVERTISED_IP_RANGES: IP アドレス範囲の新しい配列の内容IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます(プレビュー)。

    次の例では、my-router クラウド ルーターを更新して、すべてのサブネットとカスタム IP 範囲(1.2.3.46.7.0.0/16)をアドバタイズします。

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-groups all_subnets \
       --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    

    次の例では、my-router Cloud Router を更新して、すべてのサブネットとデフォルトの IPv6 範囲をアドバタイズします(プレビュー)。

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-groups all_subnets \
       --set-advertisement-ranges ::/0
    

    Cloud Router は、IPv6 が有効になっている BGP セッションでのみ IPv6 範囲をアドバタイズします。

    --set-advertisement-groups フラグには、Cloud Router が動的にアドバタイズする Google 定義のグループを指定できます。--set-advertisement-groups フラグを削除して、サブネット アドバタイズを除外できます。すべてのアドバタイズ グループのリストについては、Google の SDK ドキュメントの set-advertisement-groups フラグをご覧ください。

  2. --add-advertisement-ranges フラグを使用します。Cloud Router のアドバタイズ モードがすでに custom に設定されている必要があります。

    gcloud compute routers update ROUTER_NAME \
       --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

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

    • ROUTER_NAME: Cloud Router の名前
    • ADVERTISED_IP_RANGES: IP アドレス範囲の新しい配列の内容

    次の例は、1.2.3.5 カスタム IP アドレスを Cloud Router のアドバタイズに追加します。

    gcloud compute routers update my-router \
       --add-advertisement-ranges 1.2.3.5
    

    次の例は、2001:db8:abcd:12::/64 カスタム IPv6 範囲を Cloud Router のアドバタイズに追加します(プレビュー)。

    gcloud compute routers update my-router \
       --add-advertisement-ranges 2001:db8:abcd:12::/64
    

    Cloud Router は、IPv6 が有効になっている BGP セッションでのみ IPv6 範囲をアドバタイズします。

API

routers.patch メソッドを使用して、bgp.advertisedGroups[] フィールドと bgp.advertisedIpRanges[] フィールドを更新します。

bgp.advertisedGroups[] フィールドと bgp.advertisedIpRanges[] フィールドには、アドバタイズされたグループと IP アドレス範囲の配列が格納されます。これらのフィールドに PATCH を実行すると、既存の配列がリクエスト内の新しい配列で上書きされます。

  1. GET リクエストを送信して、ルーターでアドバタイズされたグループと IP アドレス範囲の現在の配列を取得します。詳しくは、BGP セッション構成の表示をご覧ください。

  2. アドバタイズされたグループと IP アドレス範囲の新しい配列を指定して、PATCH リクエストを送信します。前の手順の GET リクエストで取得した配列を使用して、ルーターに必要なグループまたは IP アドレス範囲を追加します。

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "advertisedGroups": [
        "ADVERTISED_GROUPS"
       ],
        "advertisedIpRanges": [
        ADVERTISED_IP_RANGES
       ]
     }
    }
    

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

    • PROJECT_ID: Cloud Router が含まれるプロジェクト
    • REGION: Cloud Router が配置されているリージョン
    • ROUTER_NAME: Cloud Router の名前
    • ADVERTISED_GROUPS: Cloud Router が動的にアドバタイズする Google 定義のグループ

      有効な値は ALL_SUBNETS です。VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

    • ADVERTISED_IP_RANGES: IP アドレス範囲の新しい配列の内容IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます(プレビュー)。

    次の例では、2 つの IPv4 アドレス範囲と 1 つの IPv6 アドレス範囲が含まれています。

        {
          "range": "1.2.3.4",
          "description": "First example range"
        },
        {
          "range": "6.7.0.0/16",
          "description": "Second example range"
        },
        {
          "range": "2001:db8:abcd:12::/64",
          "description: "Third example range"
        }
    

BGP セッションのアドバタイズを指定する

既存の BGP セッションでアドバタイズを指定するには、次の手順を行います。

Console

  1. Google Cloud Console で [Cloud Router] ページに移動します。

    [Cloud Router] に移動

  2. 更新する BGP セッションを含む Cloud Router を選択します。

  3. [ルーターの詳細] ページで、更新する BGP セッションを選択します。

  4. [BGP セッションの詳細] ページで、 [編集] を選択します。

  5. [ルート] で、[カスタムルートの作成] を選択します。

  6. [Cloud Router に表示されるすべてのサブネットにアドバタイズする] チェックボックスを選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。

  7. [カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。

  8. ルート アドバタイズを構成します。

    • ソース: [カスタム IP 範囲] を選択します。
    • IP アドレス範囲: CIDR 表記でカスタム IP 範囲を指定します。 IPv4 アドレス範囲に加えて、IPv6 カスタム IP アドレス範囲を指定できます。ただし、IPv6 範囲は、この BGP セッションで IPv6 交換を有効にした場合にのみアドバタイズされます(プレビュー)。
    • 説明: このルート アドバタイズの目的がわかるような説明を追加し、[完了] をクリックします。
  9. カスタムルートの追加が完了したら、[保存] をクリックします。

gcloud

update-bgp-peer コマンドを実行します。カスタム IP 範囲を指定するには、--set-advertisement-ranges フラグまたは --add-advertisement-ranges フラグを使用します。

  1. --set-advertisement-ranges フラグを使用します。既存のカスタム アドバタイズはすべて置換されます。

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --advertisement-mode custom \
        --set-advertisement-groups=ADVERTISED_GROUPS \
        --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

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

    • ROUTER_NAME: Cloud Router の名前
    • PEER_NAME: BGP ピアの名前
    • カスタム IPv6 範囲を追加する場合は、必要に応じて --enable-ipv6 フラグを追加します(プレビュー)。
    • ADVERTISED_GROUPS: Cloud Router が動的にアドバタイズする Google 定義のグループ

      有効な値は all_subnets です。VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

    • ADVERTISED_IP_RANGES: IP アドレス範囲の新しい配列の内容

    次の例では、my-router Cloud Router の my-bgp-session BGP セッションを更新して、すべてのサブネットとカスタム IP 範囲(1.2.3.46.7.0.0/162001:db8:abcd:12::/64)をアドバタイズします。

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --enable-ipv6 \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16,2001:db8:abcd:12::/64
    

    --set-advertisement-groups フラグには、BGP セッションが動的にアドバタイズする Google 定義のグループを指定できます。--add-advertisement-groups フラグを削除して、サブネット アドバタイズを除外できます。すべてのアドバタイズ グループのリストについては、Google の SDK ドキュメントの set-advertisement-groups フラグをご覧ください。

  2. --add-advertisement-ranges フラグを使用します。Cloud Router のアドバタイズ モードがすでに custom に設定されている必要があります。

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

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

    • ROUTER_NAME: Cloud Router の名前
    • PEER_NAME: BGP ピアの名前
    • ADVERTISED_IP_RANGES: IP アドレス範囲の新しい配列の内容IPv4 アドレス範囲に加えて、IPv6 カスタム IP アドレス範囲を指定できます。ただし、IPv6 範囲は、この BGP セッションで IPv6 交換を有効にした場合にのみアドバタイズされます(プレビュー)。

    次の例は、1.2.3.5 カスタム IP アドレスを Cloud Router のアドバタイズに追加します。

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --add-advertisement-ranges 1.2.3.5
    

    次の例では、2001:db8:abcd:12::/64 カスタム IPv6 アドレスを Cloud Router のアドバタイズに追加します。

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --enable-ipv6 \
        --add-advertisement-ranges 2001:db8:abcd:12::/64
    

API

routers.patch メソッドを使用して bgpPeers[] フィールドを更新します。

bgpPeers[] フィールドには、BGP ピアの配列を指定します。このフィールドに PATCH を実行すると、BGP ピアの既存の配列がリクエストに含まれる新しい配列で上書きされます。

  1. GET リクエストを送信して、ルーターの BGP ピアの現在の配列を取得します。詳しくは、BGP セッション構成の表示をご覧ください。

  2. BGP ピアの新しい配列を指定して PATCH リクエストを送信します。アドバタイズを追加する BGP ピアごとに、次の操作を行います。

    • 必要な IP アドレス範囲のアドバタイズを bgpPeers[].advertisedIpRanges[] フィールドに追加します。
    • 必要なグループのアドバタイズを bgpPeers[].advertisedGroups[] フィールドに追加します。有効な値は ALL_SUBNETSALL_VPC_SUBNETS です。これらの値の詳細については、API ドキュメントの routers.patch をご覧ください。
    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

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

    • PROJECT_ID: Cloud Router が含まれるプロジェクト
    • REGION: Cloud Router が配置されているリージョン
    • ROUTER_NAME: Cloud Router の名前
    • BGP_PEERS: BGP ピアの新しい配列の内容

    次の例では、カスタム アドバタイズを持つ 2 つの BGP ピアが含まれています。

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "enableIpv6": true,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedGroups": ["ALL_SUBNETS"],
          "advertisedIpRanges": [
            {
              "range": "1.2.3.4",
              "description": "First example range"
            },
            {
              "range": "6.7.0.0/16",
              "description": "Second example range"
            },
            {
              "range": "2001:db8:abcd:12::/64",
              "description: "Third example range"
            }
          ]
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedIpRanges": [
            {
              "range": "192.168.10.0/24",
              "description": "Fourth example range"
            }
          ]
        }
    

次のステップ

  • Cloud Router の構成、その BGP セッション、Cloud Router がアドバタイズしているルートを表示するには、Cloud Router の詳細を表示するをご覧ください。

  • カスタムルート アドバタイズの問題のトラブルシューティングを行う。トラブルシューティングをご覧ください。