Guía de inicio rápido: Crea un Cloud Router entre una red de VPC y una red local

Crea un Cloud Router entre una red de VPC y una red local

Cloud Router intercambia rutas de forma dinámica entre una red de nube privada virtual (VPC) y tu red local. Después de crear un Cloud Router, puedes establecer sesiones de BGP entre Cloud Router y tu router local.

Cuando creas un Cloud Router, puedes usar sus anuncios de ruta predeterminados o especificar anuncios personalizados. De forma predeterminada, Cloud Router anuncia subredes en su región para el enrutamiento dinámico regional o todas las subredes de una red de VPC para el enrutamiento dinámico global. Con los anuncios de ruta personalizados, tú eliges qué rutas anuncia Cloud Router, como las direcciones IP estáticas externas o los rangos de CIDR específicos.

Para obtener más información, consulta las siguientes secciones de la descripción general de Cloud Router:

Antes de comenzar

Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:

  1. Instala Google Cloud CLI o actualízala a la última versión.
  2. Configura una región y una zona predeterminadas.

Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.

Crea un Cloud Router

Para crear un Cloud Router, sigue estos pasos.

Console

  1. En Cloud Console, ve a la página Crea un Cloud Router.

    Ir a Crea un Cloud Router

  2. Especifica los detalles del Cloud Router:

    • Nombre: El nombre del Cloud Router. Este nombre se muestra en Cloud Console y Google Cloud CLI lo usa para hacer referencia al Cloud Router, por ejemplo, my-router.
    • Descripción (opcional): Es una descripción del Cloud Router.
    • Red: La red de VPC que contiene las instancias a las que deseas llegar, como my-network
    • Región: La región en la que deseas ubicar el Cloud Router, por ejemplo, asia-east1.
    • ASN de Google: El ASN privado (64512 -65534, 4200000000 -4294967294) para el Cloud Router que estás configurando. Puede ser cualquier ASN privado que no estés utilizando como un ASN de intercambio de tráfico en la misma región y red, por ejemplo 65001. Cloud Router requiere que uses un ASN privado, pero tu ASN local puede ser público o privado.
    • Intervalo keepalive de par de BGP: El intervalo entre dos mensajes sucesivos de keepalive de BGP que se envían al router del par. Este valor debe ser un número entero entre 20 y 60 que especifique la cantidad de segundos del intervalo. El tiempo predeterminado es 20 segundos. Para obtener más información, consulta Administra temporizadores de BGP.
  3. Opcional: Para especificar anuncios de ruta personalizados, ve a la sección Rutas anunciadas. Para obtener más información sobre los siguientes pasos, consulta Anuncios de ruta personalizados.

    1. Para especificar Rutas personalizadas, selecciona Crear rutas personalizadas.
    2. Elige si deseas anunciar las subredes visibles para el Cloud Router. Habilitar esta opción imita el comportamiento predeterminado de Cloud Router.
    3. Para agregar una ruta anunciada, selecciona Agregar ruta personalizada y, luego, configúrala.
  4. Para guardar tu configuración y crear un Cloud Router, haz clic en Crear. Tu Cloud Router nuevo aparece en la página de listas de Cloud Router. Para ver sus detalles y configurar una sesión de BGP, selecciónala.

gcloud

  • Para crear un Cloud Router en la región que contiene las instancias a las que deseas llegar, ejecuta el comando create:

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --network=NETWORK \
        --asn=ASN_NUMBER \
        --region=REGION
    

    Reemplaza lo siguiente:

    • ROUTER_NAME es el nombre del Cloud Router
    • PROJECT_ID es el ID del proyecto que contiene el Cloud Router
    • NETWORK es la red de VPC que contiene las instancias a las que quieres llegar
    • ASN_NUMBER: cualquier ASN privado (64512-65534, 4200000000-4294967294) que no estés usando en la red local; Cloud Router requiere que uses un ASN privado, pero tu ASN local puede ser público o privado.
    • REGION es la región en la que quieres ubicar el Cloud Router. El Cloud Router anuncia todas las subredes en la región donde se localiza
  • Para crear un Cloud Router con anuncios de ruta personalizados, establece --advertisement-mode en custom, y usa las marcas --set-advertisement-ranges y --set-advertisement-groups para especificar los anuncios de ruta.

    La marca --set-advertisement-ranges acepta una lista de rangos de CIDR. La marca --set-advertisement-groups acepta grupos definidos por Google que Cloud Router anuncia dinámicamente. Actualmente, el único valor válido es all_subnets, que anuncia subredes según el modo de enrutamiento dinámico de la red de VPC (similar a los anuncios predeterminados).

    En el siguiente ejemplo, se anuncian subredes y los rangos de IP personalizados 1.2.3.4 y 6.7.0.0/16:

    gcloud compute routers create ROUTER_NAME \
        --project=PROJECT_ID \
        --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
    
  • Para establecer el temporizador de keepalive de un par de BGP, usa la opción --keepalive-interval, que establece el intervalo entre los mensajes de keepalive de BGP que se envían al router del par. Este valor debe ser un número entero entre 20 y 60 que especifique la cantidad de segundos del intervalo. El tiempo predeterminado es 20 segundos.

API

  • Usa el método routers.insert:

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

    Reemplaza lo siguiente:

    • PROJECT_ID es el ID del proyecto que contiene la red de VPC.
    • REGION es la región en la que quieres ubicar el Cloud Router.
    • ASN_NUMBER: el ASN privado (64512-65534, 4200000000-4294967294) para el Cloud Router que estás configurando; puede ser cualquier ASN privado que no estés utilizando como un ASN de par en la misma región y red; por ejemplo, 65001. Cloud Router requiere que utilices un ASN privado; sin embargo, tu ASN local puede ser público o privado.
    • KEEPALIVE_INTERVAL (opcional): Es el temporizador de keepalive para Cloud Router que establece el intervalo entre los mensajes de keepalive de BGP que se envían al router del par.

      Este valor debe ser un número entero entre 20 y 60 que especifique la cantidad de segundos del intervalo. El tiempo predeterminado es 20 segundos.

    • ROUTER_NAME: es el nombre del Cloud Router. Este nombre se muestra en Cloud Console y Google Cloud CLI lo usa para hacer referencia al Cloud Router.

    • NETWORK es la red que contiene las instancias a las que deseas llegar.

  • Para crear un Cloud Router con anuncios de ruta personalizados, establece el campo bgp.advertiseMode en CUSTOM y usa los campos bgp.advertisedGroups[] y bgp.advertisedIpRanges[] para especificar los anuncios de ruta.

    El campo bgp.advertisedIpRanges[] acepta un arreglo de rangos CIDR. La marca bgp.advertisedGroups[] acepta grupos definidos por Google que Cloud Router anuncia dinámicamente. Actualmente, el único valor válido es ALL_SUBNETS, que anuncia subredes según el modo de enrutamiento dinámico de la red de VPC (similar a los anuncios predeterminados).

    En el siguiente ejemplo, se anuncian subredes y los rangos de direcciones IP personalizados 1.2.3.4 y 6.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

Usa un módulo de Terraform.

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
}

¿Qué sigue?