カスタム IP 範囲のアドバタイジング

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

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

既存の Cloud Router でアドバタイズを指定するには:

Console


  1. Google Cloud Console の [クラウド ルーター] ページに移動します。
    Cloud Router リスト
  2. 更新する Cloud Router を選択します。
  3. Cloud Router の詳細ページで [編集] を選択します。
  4. [アドバタイズされたルート] セクションを展開します。
  5. [ルート] で、[カスタムルートの作成] を選択します。
  6. [Cloud Router に表示されるすべてのサブネットにアドバタイズする] を選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。
  7. [カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。
  8. ルート アドバタイズを構成します。
    • ソース - [カスタム IP 範囲] を選択して、カスタム IP 範囲を指定します。
    • IP アドレス範囲 - CIDR 表記でカスタム IP 範囲を指定します。
    • 説明 - このルート アドバタイズの目的がわかるような説明を追加します。
  9. ルートの追加が完了したら、[保存] を選択します。

gcloud


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

  • --set-advertisement-ranges フラグを使用し、カスタム IP 範囲を設定します。既存のカスタム アドバタイズがすべて置換されます。次の例では、my-router クラウド ルーターを更新して、すべてのサブネットとカスタム IP 範囲(1.2.3.4 および 6.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
    

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

  • カスタム IP 範囲を既存のアドバタイズに追加するには、--add-advertisement-ranges フラグを使います。このフラグを設定するには、Cloud Router のアドバタイズ モードがすでに custom になっている必要があるので注意してください。次の例は、1.2.3.5 カスタム IP を Cloud Router のアドバタイズに追加します。

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

API

Cloud Router でアドバタイズを指定するには、routers.patch メソッドを使用して bgp.advertisedGroups[] フィールドと bgp.advertisedIpRanges[] フィールドを更新します。

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

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

  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 アドレス範囲の新しい配列の内容。

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

      {
        "range": "1.2.3.4",
        "description": "First example range"
      },
      {
        "range": "6.7.0.0/16",
        "description": "Second example range"
      }
      

既存の BGP セッションでアドバタイズを指定するには:

Console


  1. Google Cloud Console の [クラウド ルーター] ページに移動します。
    Cloud Router リスト
  2. 更新する BGP セッションを含む Cloud Router を選択します。
  3. Cloud Router の詳細ページで、更新する BGP セッションを選択します。
  4. BGP セッションの詳細ページで、[編集] を選択します。
  5. [ルート] で、[カスタムルートの作成] を選択します。
  6. [Cloud Router に表示されるすべてのサブネットにアドバタイズする] を選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。
  7. [カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。
  8. ルート アドバタイズを構成します。
    • ソース - [カスタム IP 範囲] を選択して、カスタム IP 範囲を指定します。
    • IP アドレス範囲 - CIDR 表記でカスタム IP 範囲を指定します。
    • 説明 - このルート アドバタイズの目的がわかるような説明を追加します。
  9. ルートの追加が完了したら、[保存] を選択します。

gcloud


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

  • --set-advertisement-ranges フラグを使用し、カスタム IP 範囲を設定します。既存のカスタム アドバタイズがすべて置換されます。次の例では、my-router Cloud Router の my-bgp-session BGP セッションを更新して、すべてのサブネットとカスタム IP 範囲 1.2.3.4 および 6.7.0.0/16 をアドバタイズします。

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

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

  • 既存のアドバタイズにカスタム IP 範囲を追加するには、--add-advertisement-ranges フラグを使用します。このフラグを設定するには、Cloud Router のアドバタイズ モードがすでに custom になっている必要があるので注意してください。次の例は、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
    

API

BGP セッションでアドバタイズを指定するには、routers.patch メソッドを使用して bgpPeers[] フィールドを更新します。

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

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

  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,
        "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"
          }
        ]
      },
      {
        "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": "Third example range"
          }
        ]
      }
      

次のステップ