カスタム IP 範囲のアドバタイズ
Cloud Router でカスタム アドバタイズ モードを使用するか、Cloud Router の Border Gateway Protocol(BGP)セッションでカスタム アドバタイズ モードを使用すると、Virtual Private Cloud(VPC)ネットワークのサブネット IP アドレス範囲以外の IP アドレス範囲をアドバタイズできます。たとえば、VPC ネットワークに接続している他の VPC ネットワークの IP アドレス範囲の外部 IP アドレス範囲、任意の内部 IP アドレス範囲、内部 IP アドレスをアドバタイズできます。VPC ネットワークは、VPC ネットワーク ピアリングまたは Network Connectivity Center の VPC スポークを介して接続される場合があります。
Cloud Router がデフォルトのアドバタイズ モードを使用するように構成されている場合、Cloud Router と同じ VPC ネットワークの一部であるサブネットのルートのみをアドバタイズします。このモードでは、Cloud Router は、VPC ネットワーク ピアリングや Network Connectivity Center の VPC スポークによって学習されたルートなど、他の VPC ネットワークから動的に学習されたルートと静的ルートを除外します。
Cloud Router の作成時または BGP セッションの構成時にカスタム アドバタイズ ルートを指定する場合は、Cloud Router を作成するまたは BGP セッションを確立するをご覧ください。
Cloud Router のカスタム アドバタイズ ルートを指定する
既存の Cloud Router でカスタム アドバタイズ ルートを指定するには、次の操作を行います。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
更新する Cloud Router を選択します。
[ルーターの詳細] ページで、[
編集] をクリックします。[アドバタイズされたルート] セクションの [ルート] で、[カスタムルートの作成] を選択します。
[Cloud Router に表示されるすべてのサブネットにアドバタイズする] チェックボックスを選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、デフォルトのアドバタイズ モードでの Cloud Router の動作が模倣されます。
[カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。
カスタム アドバタイズ ルートを構成します。
- ソース: [カスタム IP 範囲] を選択します。
- IP アドレス範囲: CIDR 表記でカスタム IP 範囲を指定します。IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます。
- 説明: このカスタム アドバタイズ ルートの目的がわかるような説明を追加し、[完了] をクリックします。
カスタム アドバタイズ ルートの追加が完了したら、[保存] をクリックします。
gcloud
update
コマンドを実行します。カスタム IP 範囲を指定するには、--set-advertisement-ranges
フラグまたは --add-advertisement-ranges
フラグを使用します。
--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
Cloud 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
次の例では、
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
フラグをご覧ください。--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
を実行すると、既存の配列がリクエスト内の新しい配列で上書きされます。
GET
リクエストを送信して、ルーターでアドバタイズされたグループと IP アドレス範囲の現在の配列を取得します。詳しくは、BGP セッション構成の表示をご覧ください。アドバタイズされたグループと 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 セッションでカスタム アドバタイズ ルートを指定するには、次の操作を行います。
コンソール
Google Cloud コンソールで [Cloud Router] ページに移動します。
更新する BGP セッションを含む Cloud Router を選択します。
[ルーターの詳細] ページで、更新する BGP セッションを選択します。
[BGP セッションの詳細] ページで、
[編集] を選択します。[ルート] で、[カスタムルートの作成] を選択します。
[Cloud Router に表示されるすべてのサブネットにアドバタイズする] チェックボックスを選択して、Cloud Router に表示されるサブネットのアドバタイズを継続します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。
[カスタムルートの追加] を選択して、アドバタイズされたルートを追加します。
ルート アドバタイズを構成します。
- ソース: [カスタム IP 範囲] を選択します。
- IP アドレス範囲: CIDR 表記でカスタム IP 範囲を指定します。IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます。
- 説明: このルート アドバタイズの目的がわかるような説明を追加し、[完了] をクリックします。
カスタムルートの追加が完了したら、[保存] をクリックします。
gcloud
update-bgp-peer
コマンドを実行します。カスタム IP 範囲を指定するには、--set-advertisement-ranges
フラグまたは --add-advertisement-ranges
フラグを使用します。
--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 アドレス範囲の新しい配列の内容IPv4 と IPv6 の両方のカスタム IP 範囲を指定できます。ただし、IPv6 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます。
次の例では、
my-router
Cloud Router のmy-bgp-session
BGP セッションを更新して、すべてのサブネットとカスタム IP 範囲(1.2.3.4
、6.7.0.0/16
、2001: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
フラグをご覧ください。--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 カスタム範囲は、IPv6 が有効になっている BGP セッションでのみアドバタイズされます。
次の例は、
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 ピアの既存の配列がリクエストに含まれる新しい配列で上書きされます。
GET
リクエストを送信して、ルーターの BGP ピアの現在の配列を取得します。詳しくは、BGP セッション構成の表示をご覧ください。BGP ピアの新しい配列を指定して
PATCH
リクエストを送信します。アドバタイズを追加する BGP ピアごとに、次の操作を行います。- 必要な IP アドレス範囲のアドバタイズを
bgpPeers[].advertisedIpRanges[]
フィールドに追加します。 必要なグループのアドバタイズを
bgpPeers[].advertisedGroups[]
フィールドに追加します。有効な値は
ALL_SUBNETS
です。VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズ モードに類似しています)。これらの値の詳細については、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" } ] }
- 必要な IP アドレス範囲のアドバタイズを
次のステップ
Cloud Router の構成、その BGP セッション、Cloud Router がアドバタイズしているルートを表示する。Cloud Router の詳細を表示するをご覧ください。
カスタム アドバタイズ ルートに関する問題を解決する。トラブルシューティングをご覧ください。