カスタム アドレス範囲をアドバタイズする
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 セッションを確立するをご覧ください。
始める前に
gcloud
このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
API
このガイドの API の例を使用する場合は、API アクセスを設定します。
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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。説明: このカスタム アドバタイズ ルートの目的がわかるような説明を追加し、[完了] をクリックします。
カスタム アドバタイズ ルートの追加が完了したら、[保存] をクリックします。
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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。
次の例では、
my-routerCloud Router を更新して、すべてのサブネットとカスタム IP 範囲(192.0.2.0/24と198.51.100.0/24)をアドバタイズします。gcloud compute routers update my-router \ --advertisement-mode custom \ --set-advertisement-groups=all_subnets \ --set-advertisement-ranges='192.0.2.0/24,198.51.100.0/24'
次の例では、
my-routerCloud Router を更新して、すべてのサブネットとデフォルトの IPv6 範囲をアドバタイズします。gcloud compute routers update my-router \ --advertisement-mode custom \ --set-advertisement-groups=all_subnets \ --set-advertisement-ranges='2001:db8:abcd:12::/64'
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 アドレス範囲の新しい配列の内容
次の例は、
203.0.113.1カスタム IP アドレスを Cloud Router のアドバタイズに追加します。gcloud compute routers update my-router \ --add-advertisement-ranges='203.0.113.1'
次の例は、
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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。次の例では、2 つの IPv4 アドレス範囲と 1 つの IPv6 アドレス範囲が含まれています。
{ "range": "192.0.2.0/24", "description": "First example range" }, { "range": "198.51.100.0/24", "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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。説明: このルート アドバタイズの目的がわかるような説明を追加し、[完了] をクリックします。
カスタムルートの追加が完了したら、[保存] をクリックします。
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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。
次の例では、
my-routerCloud Router のmy-bgp-sessionBGP セッションを更新して、すべてのサブネットとカスタム IP 範囲(192.0.2.1、198.51.100.0/24、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='192.0.2.1,198.51.100.0/24,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 セッションでのみアドバタイズされます。
サブネット マスクのない IP アドレスのプレフィックスを指定すると、IPv4 の場合は
/32サブネット マスク、IPv6 の場合は/128サブネット マスクとして解釈されます。使用できるカスタム学習ルートの最大数については、上限をご覧ください。
次の例は、
198.51.100.1カスタム IP アドレスを Cloud Router のアドバタイズに追加します。gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges='198.51.100.1'次の例は、
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 の詳細を表示するをご覧ください。
カスタム アドバタイズ ルートに関する問題を解決する。トラブルシューティングをご覧ください。