Cloud Router の作成

Virtual Private Cloud(VPC)ネットワークとオンプレミス ネットワークの間でルートを動的に交換できる Cloud Router を作成します。Cloud Router を作成すると、オンプレミス ルーターとの間で BGP セッションを確立できます。

Cloud Router を作成するときに、デフォルトのルート アドバタイズを使用することも、カスタム アドバタイズを指定することもできます。リージョン動的ルーティングの場合、Cloud Router はデフォルトでリージョンのサブネットをアドバタイズします。グローバル動的ルーティングの場合は、VPC ネットワークのすべてのサブネットをアドバタイズします。

カスタムルート アドバタイズでは、Cloud Router がアドバタイズするルート(外部静的 IP アドレスや特定の CIDR 範囲)を選択します。

動的ルーティング モードまたはカスタムルート アドバタイズの詳細については、「Cloud Router の概要」で動的ルーティング モードまたは BGP ルート アドバタイズをご覧ください。

Console

  1. Cloud Console で、[Cloud Router の作成] のページに移動します。

    [Cloud Router の作成] に移動

  2. Cloud Router の詳細を指定します。

    • 名前 - Cloud Router の名前。この名前はコンソールに表示され、gcloud コマンドライン ツールで Cloud Router を参照するために使用されます。例: my-router
    • VPC ネットワーク - 使用するインスタンスを含むネットワーク。例: my-network
    • リージョン - Cloud Router を配置するリージョン。Cloud Router によって、それが存在するリージョンのすべてのサブネットがアドバタイズされます。例: asia-east1
    • Google ASN - 構成する Cloud Router のプライベート ASN(64512~65534、4200000000~4294967294)。同じリージョンおよびネットワークでまだピア ASN として使用していないプライベー ASN を指定できます。例: 65001
  3. カスタムルート アドバタイズを指定するには、[アドバタイズされたルート] を展開します。

    1. [ルート] で、[カスタムルートの作成] を選択します。
    2. Cloud Router に表示されたサブネットをアドバタイズするかどうかを選択します。このオプションを有効にすると、Cloud Router のデフォルトの動作と同じ結果になります。
    3. [カスタムルートの追加] を選択して、アドバタイズするルートを追加して構成します。
      新しい Cloud Router が Cloud Router の一覧ページに表示されます。それを選択して詳細を表示し、BGP セッションを設定します。

gcloud

使用するインスタンスが含まれているリージョンに Cloud Router を作成します。

  • [ASN_NUMBER] を置き換えます。オンプレミス ネットワークでまだ使用されていない、任意のプライベート ASN(64512~65534、4200000000~4294967294)を使用できます。
  • [NETWORK] は、使用するインスタンスが含まれている VPC ネットワークに置き換えます。
  • [REGION] は、Cloud Router を配置するリージョンに置き換えます。Cloud Router によって、それが存在するリージョンのすべてのサブネットがアドバタイズされます。
gcloud compute routers create my-router \
    --network [NETWORK] \
    --asn [ASN_NUMBER]
    --region [REGION]

カスタムルート アドバタイズメントを使用して Cloud Router を作成するには、--advertisement-modecustom に設定し、--set-advertisement-ranges--set-advertisement-groups フラグを使ってルート アドバタイズメントを指定します。

--set-advertisement-ranges には、CIDR 範囲のリストを指定できます。--set-advertisement-groups フラグには、Cloud Router が動的にアドバタイズする Google 定義のグループを指定できます。現在、有効な値は all_subnets だけで、VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

次の例は、サブネットとカスタム IP 範囲(1.2.3.46.7.0.0/16)をアドバタイズします。

gcloud compute routers create my-router \
    --network [NETWORK] \
    --asn [ASN_NUMBER] \
    --advertisement-mode custom \
    --set-advertisement-groups all_subnets \
    --set-advertisement-ranges 1.2.3.4,6.7.0.0/16

API

Cloud Router を作成するには、routers.insert メソッドを使用します。

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "bgp": {
     "asn": "ASN_NUMBER"
   },
   "name": "ROUTER-NAME",
   "network": "NETWORK"
 }

次の値を置き換えます。

  • PROJECT_ID: VPC ネットワークを含むプロジェクトの ID。
  • REGION: Cloud Router を配置するリージョン。Cloud Router によって、それが存在するリージョンのすべてのサブネットがアドバタイズされます。
  • ASN_NUMBER: 構成する Cloud Router のプライベート ASN(64512~65534、4200000000~4294967294)。同じリージョンおよびネットワークでまだピア ASN として使用していない非公開の ASN を指定できます。例: 65001
  • ROUTER-NAME: Cloud Router の名前。この名前は Console に表示され、gcloud コマンドライン ツールで Cloud Router を参照するために使用されます。
  • NETWORK: アクセスするインスタンスを含むネットワーク

カスタムのルート アドバタイズを行う Cloud Router を作成するには、bgp.advertiseMode フィールドを CUSTOM に設定し、bgp.advertisedGroups[]bgp.advertisedIpRanges[] フィールドを使用してルート アドバタイズを指定します。

bgp.advertisedIpRanges[] フィールドには、CIDR 範囲の配列を指定します。bgp.advertisedGroups[] フラグには、Cloud Router が動的にアドバタイズする Google 定義のグループを指定できます。現在、有効な値は ALL_SUBNETS だけで、VPC ネットワークの動的ルーティング モードに基づいてサブネットをアドバタイズします(デフォルトのアドバタイズに類似しています)。

次の例は、サブネットとカスタム IP アドレス範囲(1.2.3.46.7.0.0/16)をアドバタイズします。

 POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
 {
   "bgp": {
     "asn": "ASN_NUMBER",
     "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": "ROUTER-NAME",
   "network": "NETWORK"
 }

Terraform

Terraform モジュールを使用して Cloud Router を作成できます。

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 0.4"

  name   = "my-router"
  region = "us-central1"

  bgp = {
    # The ASN (16550, 64512 - 65534, 4200000000 - 4294967294) can be any private ASN
    # not already used as a peer ASN in the same region and network or 16550 for Partner Interconnect.
    asn = "65001"
  }

  # project = "my-project-id"
  project = var.project
  # network = "my-network"
  network = var.network
}

次のステップ