Network Connectivity Center te permite usar un dispositivo virtual de red de terceros para establecer la conectividad entre un sitio externo y tus recursos de red de nube privada virtual (VPC). Para establecer la conectividad de esta manera, debes usar la función de dispositivo de router.
El dispositivo de router es uno de los varios tipos de radio compatibles para Network Connectivity Center. Para obtener información sobre Network Connectivity Center, consulta la descripción general de Network Connectivity Center. Para obtener más información acerca del dispositivo de router, consulta la descripción general del dispositivo de router.
Configuración de ejemplo
En la siguiente topología, un sitio externo se conecta a dos redes de VPC mediante un radio de dispositivo de router.
La VM que aloja la instancia de dispositivo de router tiene una interfaz en cada red de VPC. La instancia de dispositivo de router mantiene las sesiones del Protocolo de puerta de enlace fronteriza (BGP) con los Cloud Routers en ambas redes.
Cada Cloud Router tiene dos interfaces. La interfaz del dispositivo de router en cada red intercambia tráfico con ambas interfaces del Cloud Router apropiado, lo que da un total de cuatro sesiones de intercambio de tráfico.
Tareas obligatorias
A fin de establecer la configuración de muestra, asegúrate de cumplir con los requisitos para realizar este procedimiento y, luego, completa las tareas requeridas:
Crea la máquina virtual (VM) de Compute Engine que actúe como una instancia de dispositivo de router. Puedes crear la VM mediante una solución de socios compatible o tu propia imagen personalizada.
Asegúrate de que se pueda acceder a la instancia del dispositivo de router al tráfico de BGP a través del puerto 179 TCP. Para que sea accesible, es posible que debas crear reglas de firewall.
Crea dos radios, uno en cada red de VPC. Cada radio usa la misma instancia de dispositivo de router que su recurso de respaldo.
Configura dos Cloud Routers, uno en cada red de VPC. Para cada Cloud Router, esta tarea incluye las siguientes subtareas:
Crea un Cloud Router en la misma región que la instancia de dispositivo de router.
Crea dos interfaces en cada Cloud Router
Configura el intercambio de tráfico de BGP en cada Cloud Router
Configura el intercambio de tráfico de BGP en la instancia del dispositivo de router.
La forma en que realizas estas tareas puede variar de forma significativa. Por ejemplo, si creas una instancia de dispositivo de router mediante una solución de socios, es posible que algunas de las tareas posteriores se automaticen.
Antes de comenzar
Antes de empezar, revisa las siguientes secciones.
Crea o elige un proyecto
Para facilitar la configuración de Network Connectivity Center, empieza por identificar un proyecto válido.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Si usas Google Cloud CLI, configura el ID del proyecto con el comando
gcloud config set
.gcloud config set project PROJECT_ID
Reemplaza
PROJECT_ID
por el ID de tu proyecto único.En las instrucciones de la CLI de gcloud de esta página, se supone que estableciste el ID del proyecto.
Para confirmar que configuraste el ID del proyecto de forma correcta, usa el comando
gcloud config list
.gcloud config list --format='text(core.project)'
Habilita la API de Network Connectivity
Antes de que puedas hacer cualquier tarea con Network Connectivity Center, debes habilitar la API de Network Connectivity.
Console
Para habilitar la API de Network Connectivity, sigue estos pasos:
En la consola de Google Cloud, ve a la página Network Connectivity Center.
Haz clic en Habilitar.
Como alternativa, puedes habilitar la API mediante la biblioteca de la API de la consola de Google Cloud, como se describe en Habilita las API.
Obtén acceso
Para trabajar con Network Connectivity Center, necesitas los permisos descritos en Roles y permisos.
Cuando configuras Network Connectivity Center, también trabajas con recursos de Google Cloud, como redes de VPC, subredes y reglas de firewall. Si deseas obtener más información sobre los permisos que necesitas para trabajar con estos recursos, consulta la documentación de control de acceso de Compute Engine.
Direcciones IP e instancias de dispositivo de router
Para configurar una instancia de dispositivo de router, debes establecer el intercambio de tráfico entre la instancia y Cloud Router. Para configurar el intercambio de tráfico, la VM debe usar una dirección IP interna RFC 1918. No puedes intercambiar estos dos recursos si la VM usa un tipo de dirección diferente. Además, ambas direcciones IP deben estar en la misma región.
Si deseas obtener información para ver las direcciones IP de una VM, consulta los siguientes documentos:
- Ubica las direcciones IP de una instancia de VM
- Ve direcciones IP no vinculadas a una instancia de VM
Para obtener definiciones y más información sobre los tipos de direcciones IP, consulta Direcciones IP.
Reserva una dirección IP interna estática (recomendado)
Te recomendamos asignar una dirección IP interna estática a la instancia del dispositivo de router para que no cambie durante el reinicio. Si la dirección cambia, el intercambio de tráfico de BGP falla.
Tienes varias opciones para asignar una dirección IP reservada. Puedes reservar la dirección IP por adelantado. Como alternativa, puedes reservar la dirección IP cuando crees la VM. Si le asignas a la VM una dirección efímera por error, puedes convertirla más adelante en una dirección estática. Para obtener más información sobre las direcciones IP estáticas, consulta Reserva direcciones IP estáticas.
Direcciones IP para el intercambio de tráfico de BGP
Una instancia del dispositivo de router usa su dirección IP interna para intercambiar tráfico con el Cloud Router. La instancia no usa una dirección de vínculo local (como 169.254.x.x
) para el intercambio de tráfico de BGP.
De manera similar, Cloud Router usa dos direcciones IP internas RFC 1918 a fin de intercambiar tráfico con la instancia del dispositivo de router, una para cada interfaz. Estas direcciones IP se pueden asignar de forma manual o automática desde la subred que contiene la instancia de dispositivo de router y el Cloud Router.
Crea recursos de VPC
En las siguientes secciones, se describe cómo crear redes y subredes de VPC.
Crea dos redes de VPC
Si aún no lo hiciste, crea dos redes de VPC. Configura el modo de enrutamiento dinámico de cada red como global
.
Para obtener más información sobre la creación de redes de VPC, consulta Crea redes.
Console
Para crear una red de VPC personalizada con la consola de Google Cloud, consulta Crea una red de modo personalizado.
Asegúrate de configurar el Modo de enrutamiento dinámico en Global. Si deseas seguir las convenciones de nombres que se usan en la configuración de muestra, llama a tus redes network-a
y network-b
.
gcloud
Para crear una red de VPC personalizada, usa el comando gcloud compute networks create
.
gcloud compute networks create NAME \ --subnet-mode custom \ --bgp-routing-mode global
Reemplaza NAME
con el nombre de la red de VPC, por ejemplo, network-a
o network-b
.
API
Para crear una red de VPC personalizada con la API de Compute Engine, consulta Usa VPC.
Crear una subred
Crea una subred en network-a
y una en network-b
.
Console
Para agregar una subred con la consola de Google Cloud, consulta Agrega subredes.
Si deseas seguir las convenciones de nombres que se usan en la configuración de muestra, usa los siguientes valores para la subred en network-a
:
- Nombre:
subnet-a
- Región:
us-central1
- Rango:
10.1.3.0/24
Usa los siguientes valores para la subred en network-b
:
- Nombre:
subnet-b
- Región:
us-central1
- Rango:
192.168.10.0/24
gcloud
Para crear una subred de VPC, usa el comando gcloud compute networks subnets create
.
gcloud compute networks subnets create NAME \ --network=NETWORK \ --region=REGION \ --range=RANGE
Reemplaza lo siguiente:
NAME
es el nombre de la subred que contiene la VM del dispositivo de router, por ejemplo,subnet-a
osubnet-b
.NETWORK
es la red que contiene la subred, por ejemplo,network-a
onetwork-b
REGION
: La región que contiene la VM, por ejemplo,us-central1
RANGE
es el rango de IP de la subred en notación CIDR, por ejemplo,10.1.3.0/24
o192.168.10.0/24
API
Para crear una subred de VPC mediante la API de Compute Engine, consulta Usa VPC.
Crea la VM del dispositivo de router
Crea la VM de Compute Engine que actúa como una instancia de dispositivo de router. La VM se representa en la topología de muestra como router-app-a
. Tiene dos interfaces, una en network-a
y otra en network-b
.
Cuando creas la VM, debes seleccionar una imagen de dispositivo virtual de red. Esta imagen puede ser cualquiera de las siguientes opciones:
Una solución que proporciona un socio compatible de Network Connectivity Center
Una imagen personalizada, como una imagen que creaste
Para obtener más información sobre cómo especificar imágenes, consulta los siguientes recursos:
- Descripción general de imágenes
- Prácticas recomendadas para las familias de imágenes
- Crea, borra y da de baja imágenes personalizadas
Para obtener información detallada sobre cómo crear una VM, consulta Crea y, luego, inicia una instancia de VM.
En los ejemplos de esta sección, se supone que reservaste las direcciones IP para la instancia del dispositivo de router. Para obtener más información, consulta Direcciones IP del dispositivo de router.
Console
Para crear la VM que se usa en la configuración de ejemplo, consulta Crea e inicia una instancia de VM. Cuando crees la VM, toma las siguientes decisiones:
Si deseas seguir las convenciones de nombres usadas en la configuración de muestra, usa los siguientes valores:
- Nombre:
router-app-a
- Región:
us-central1
- Zona:
us-central1-a
- Nombre:
Para seleccionar una imagen, ve al área de Disco de arranque de la página, haz clic en Cambiar y navega hasta la imagen adecuada para la VM.
Expande Opciones avanzadas y, luego, Herramientas de redes. Usa los siguientes valores:
- En Reenvío de IP, selecciona Habilitar.
- En Interfaces de red, crea dos interfaces: una en
network-a
y otra ennetwork-b
. Para crear cada interfaz, selecciona la red adecuada y, luego, haz clic en Agregar una interfaz de red. Completa los siguientes campos:- Selecciona la Subred en la que deseas ubicar la instancia de dispositivo de router, por ejemplo,
subnet-a
osubnet-b
. - En IP interna principal, selecciona la dirección IP interna RFC 1918 reservada que deseas usar, por ejemplo,
10.1.3.8
o192.168.10.3
. - En Nivel de servicio de red, selecciona Premium. Esta opción maximiza la medida en la que el tráfico usa la red de Google.
- Selecciona la Subred en la que deseas ubicar la instancia de dispositivo de router, por ejemplo,
gcloud
Para crear las dos VM de dispositivos del router que se usan en la configuración de ejemplo, usa el comando gcloud compute instances create
.
Ejecuta el comando dos veces: una vez para cada instancia del dispositivo del router. Reemplaza INSTANCE_NAME con el nombre de la VM que actúa como una instancia de dispositivo de router.
En el siguiente ejemplo, debes asignar la dirección IP interna estática y la dirección IP externa estática que reservaste antes para la VM. También debes especificar el proyecto que contiene una imagen proporcionada por el proveedor para la VM junto con el nombre de la imagen.
gcloud compute instances create INSTANCE_NAME \ --project=PROJECT \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --network-tier=NETWORK_TIER \ --network-interface=[subnet=SUBNET,private-network-ip=INTERNAL_IP_ADDRESS] \ --can-ip-forward \ --image-project=IMAGE_PROJECT \ --image=IMAGE
Reemplaza lo siguiente:
INSTANCE_NAME
: El nombre de la VM que funciona como una instancia de dispositivo de router, por ejemplo,router-app-a
orouter-app-b
PROJECT
: El nombre del proyecto que contiene las VM del dispositivo de router, por ejemplo,my-project
ZONE
: La zona de Google Cloud en la que se encuentra la VM, por ejemplo,us-west1-a
MACHINE_TYPE
: El recurso de tipo de máquina que se usará para la VM, por ejemplo,n1-standard-2
NETWORK_TIER
: Cuando crees las VM del dispositivo de router, configura el nivel de red enpremium
. Esta opción maximiza la medida en la que el tráfico usa la red de GoogleSUBNET
: La subred asignada a la interfaz de la red principal para la VM, por ejemplo,subnet-a-1
INTERNAL_IP_ADDRESS
: La dirección IP interna RFC 1918 asignada a la interfaz de VM que se conecta al Cloud Router, por ejemplo,10.0.1.10
IMAGE_PROJECT
: es el nombre del proyecto que contiene la imagen especificada en el campoimage
, por ejemplo,debian-cloud
IMAGE
: El nombre de la imagen que se instalará, por ejemplo,debian-10-buster-v20210217
.
API
Para crear las dos VM de dispositivos del router que se usan en la configuración de ejemplo, usa el método compute.instances.insert
.
Para ver métodos de creación adicionales, consulta Crea y, luego, inicia una instancia de VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "name": "INSTANCE_NAME", "canIpForward": "true", "networkInterfaces": [{ "subnetwork": "regions/REGION/subnetworks/SUBNET", "networkIP": "INTERNAL_IP_ADDRESS", "accessConfigs": [{ "networkTier": "NETWORK_TIER, }] }], "disks": [{ "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true }] }
Reemplaza lo siguiente:
PROJECT
: El nombre del proyecto que contiene las VM del dispositivo de router, por ejemplo,my-project
ZONE
: La zona de Google Cloud en la que se encuentra la VM, por ejemplo,us-west1-a
MACHINE_TYPE
: El recurso de tipo de máquina que se usará para la VM, por ejemplo,zones/us-west1-a/machineTypes/n1-standard-2
INSTANCE_NAME
: El nombre de la VM, por ejemplo,router-app-a
orouter-app-b
REGION
: La región que contiene la VM, por ejemplo,us-west1
SUBNET
: La subred asignada a la interfaz de la red principal para la VM, por ejemplo,regions/us-west1/subnetworks/subnet-a-1
INTERNAL_IP_ADDRESS
: La dirección IP interna RFC 1918 asignada a la VM; configura la dirección para la interfaz de VM que se conecta al Cloud Router, por ejemplo,10.0.1.10
NETWORK_TIER
: Cuando crees las VM del dispositivo de router, configura el nivel de red enpremium
. Esta opción maximiza la medida en la que el tráfico usa la red de GoogleIMAGE_PROJECT
: El nombre del proyecto que contiene la imagen que especificas cuando creas la VM, por ejemplo,debian-cloud
IMAGE
: El nombre de la imagen que se usará cuando se cree la VM, por ejemplo,debian-10-buster-v20210217
Crea una regla de firewall para permitir BGP
Crea dos reglas de firewall, una en network-a
y otra en network-b
. Cada regla debe permitir el tráfico de BGP en el puerto TCP 179
.
Para obtener más información sobre los comandos de firewall, consulta Usa reglas de firewall.
Console
Para crear una regla de firewall de VPC mediante la consola de Google Cloud, consulta Crea reglas de firewall.
gcloud
Para crear una regla de firewall de VPC mediante Google Cloud CLI, consulta Crea reglas de firewall.
API
Para crear una regla de firewall de VPC mediante la API de Compute Engine, consulta Crea reglas de firewall.
Crea recursos de Network Connectivity Center
Para poder usar una VM de dispositivo de router, debes crear los recursos de Network Connectivity Center requeridos.
Crea un concentrador
Antes de crear radios del Network Connectivity Center, debes crear un concentrador.
Console
En la consola de Google Cloud, ve a la página Network Connectivity Center.
Selecciona un proyecto en el menú.
Ingresa un nombre de concentrador.
Ingrese una descripción opcional
Verifica el ID del proyecto. Si el ID del proyecto es incorrecto, selecciona un proyecto diferente mediante el menú desplegable que aparece en la parte superior de la pantalla.
Haz clic en Continuar.
La consola muestra un formulario que te permite crear un radio. Para llenarla ahora, sigue los pasos que se describen en Crea un radio de dispositivo Router.
Haz clic en Listo.
gcloud
Para crear un concentrador, usa el comando gcloud network-connectivity hubs create
.
gcloud network-connectivity hubs create HUB_NAME \ --description="DESCRIPTION" \ --labels="KEY"="VALUE"
Reemplaza los siguientes valores:
HUB_NAME
: nombre del nuevo concentradorDESCRIPTION
: texto opcional que describe el concentradorKEY
: clave en el par clave-valor para el texto de etiqueta opcionalVALUE
: valor en el par clave-valor para el texto de la etiqueta
API
Para crear un concentrador, usa el método networkconnectivity.hubs.create
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs { "name":"HUB_NAME", "description":"DESCRIPTION", "labels": { "KEY": "VALUE" } }
Reemplaza los siguientes valores:
PROJECT_ID
: ID del proyecto que contiene el concentrador nuevoHUB_NAME
: nombre del nuevo concentradorDESCRIPTION
: texto opcional que describe el concentradorKEY
: clave en el par clave-valor para el texto de etiqueta opcionalVALUE
: valor en el par clave-valor para el texto de la etiqueta
Crea dos radios de dispositivo de router
Crea dos radios de dispositivo de router. Ambos radios usan el mismo recurso de respaldo: la instancia de dispositivo de router que acabas de crear. Un radio usa la interfaz en network-a
y el otro usa la interfaz en network-
b
.
Se requiere un radio para habilitar el intercambio de tráfico de BGP entre la instancia del dispositivo del router y el Cloud Router, que crearás en el paso siguiente.
Si deseas obtener más información para crear un radio, consulta Trabaja con concentradores y radios.
Console
Ingresa los detalles básicos del radio
En la consola de Google Cloud, ve a la página Network Connectivity Center.
Selecciona un proyecto en el menú.
Haz clic en la pestaña Radios.
Haz clic en Agregar radios.
En el formulario Nuevo radio, configura el Tipo de radio como dispositivo de router.
Ingresa un Nombre de radio, por ejemplo,
spoke-a
ospoke-b
.De manera opcional, ingresa una Descripción.
Selecciona el campo Región para el radio nuevo.
En Transferencia de datos de sitio a sitio, selecciona Desactivado.
En la lista desplegable Red de VPC, selecciona una red.
Ingresa los detalles del dispositivo de router
- En Adjunta instancias al radio, usa la lista desplegable para seleccionar un dispositivo de router, por ejemplo,
router-app-a
. - Para agregar más instancias de dispositivos de router a este radio, haz clic en Agregar instancia y repite el paso anterior.
- Cuando termines, haz clic en Listo y continúa hasta Guardar tu radio.
Guarda tus radios
- Para agregar los segundos radios, haz clic en Agregar radio y empieza el proceso de nuevo. Comienza por ingresar un Nombre de radio.
- Cuando termines de agregar los radios, haz clic en Crear. La página Network Connectivity Center se actualiza para mostrar los detalles sobre los radios que creaste.
gcloud
Para crear los radios del dispositivo de router, usa el comando gcloud network-connectivity spokes linked-router-appliances create
.
Ejecuta el comando dos veces, una vez por cada radio.
gcloud network-connectivity spokes linked-router-appliances create NAME \ --hub="HUB_URI" \ --description="DESCRIPTION" \ --router-appliance=instance="ROUTER_APPLIANCE_URI",ip=IP_ADDRESS \ --region=REGION \ --labels="KEY"="VALUE"
Reemplaza los siguientes valores:
NAME
: nombre del radio, por ejemplo,spoke-a
HUB_URI
: nombre del concentrador al que adjuntas la radioDESCRIPTION
: Es el texto opcional que describe el radio.ROUTER_APPLIANCE_URI
: el URI de la instancia de dispositivo de router, por ejemplo,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: la dirección IP interna de la instancia de dispositivo de router, en la red de VPC adecuada, por ejemplo,10.1.3.8
o192.168.10.3
REGION
: la región de Google Cloud en la que deseas ubicar el radio, por ejemplo,us-central1
KEY
: clave en el par clave-valor para el texto de etiqueta opcionalVALUE
: valor en el par clave-valor para el texto de la etiquetaPor ejemplo, el siguiente comando crea un radio de dispositivo de router que usa
router-app-a
como sus recursos subyacentes. Este comando hace referencia a la instancia de dispositivo del router mediante la interfaznetwork-a
:gcloud network-connectivity spokes linked-router-appliances create spoke-a \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=10.1.3.8 \ --region=us-central1 \
Por ejemplo, el siguiente comando crea un radio de dispositivo de router que usa
router-app-a
como sus recursos subyacentes. Este comando hace referencia a la instancia de dispositivo de router mediante la interfaznetwork-b
:gcloud network-connectivity spokes linked-router-appliances create spoke-b \ --hub=my-hub \ --description="Test spoke 1" \ --router-appliance=instance="https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a",ip=192.168.10.3\ --region=us-central1 \
API
Para crear un radio de un dispositivo router, usa el método networkconnectivity.spokes.create
.
Para cada instancia de dispositivo de router que desees asociar con el radio, agrega una instancia mediante el array linkedRouterApplianceInstances.instances
.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/spokes/SPOKE_NAME { "hub": "HUB_URI", "labels": {"KEY": "VALUE"}, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "ROUTER_APPLIANCE_URI", "ipAddress": INTERNAL_IP_ADDRESS, }, ], "siteToSiteDataTransfer": BOOLEAN } }
Reemplaza los siguientes valores:
PROJECT_ID
: el ID del proyectoREGION
: la región de Google Cloud en la que deseas ubicar el radio, por ejemplo,us-west1
SPOKE_NAME
: el nombre que deseas asignar al diccionarioHUB_URI
: el URI del concentrador al que adjuntas la radio, por ejemplo,http://networkconnectivity.googleapis.com/v1/projects/PROJECT_NAME/locations/global/hubs/HUB_NAME
KEY
: clave en el par clave-valor para el texto de etiqueta opcionalVALUE
: valor en el par clave-valor para el texto de la etiquetaROUTER_APPLIANCE_URI
: el URI de la instancia de dispositivo de router, por ejemplo,https://www.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
IP_ADDRESS
: la dirección IP interna de la instancia de dispositivo de router para la red de VPC adecuada, por ejemplo,10.1.3.8
o192.168.10.3
BOOLEAN
: valor que determina si está habilitada la transferencia de datos de sitio a sitio para este radio. Para este caso práctico, configura la opción comofalse
Por ejemplo, a fin de crear un radio que use
router-app-a
para la interfaz ennetwork-a
, el cuerpo de la solicitud debe estructurarse de la siguiente manera:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "10.1.3.8", }, ], "siteToSiteDataTransfer": false } }
Para crear un radio que use
router-app-a
para la interfaz ennetwork-b
, el cuerpo de la solicitud debe estructurarse de la siguiente manera:{ "hub": "http://networkconnectivity.googleapis.com/v1/projects/my-project/locations/global/hubs/my-hub", "labels": { "environment" : "test" }, "linkedRouterApplianceInstances": { "instances": [ { "virtualMachine": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/router-app-a", "ipAddress": "192.168.10.3", }, ], "siteToSiteDataTransfer": false } }
Configura Cloud Routers
El dispositivo de router usa Cloud Routers para intercambiar rutas con redes de VPC. Por este motivo, debes crear un Cloud Router en cada red de VPC y completar algunas tareas de configuración.
Crea los Cloud Routers
Si usas los mismos valores que la topología de muestra, crea dos Cloud Routers, uno en network-a
y otro en network-b
. Ambos Cloud Routers deben estar en us-central1
.
Para obtener más información, consulta Crea Cloud Routers.
Console
Para crear un Cloud Router en la consola de Google Cloud, usa uno de los siguientes enfoques:
Usa la página Cloud Router, como se describe en Crea un Cloud Router.
Usa la página de Network Connectivity Center. La ventaja de este enfoque es que te permite crear el router, las interfaces y las sesiones de BGP al mismo tiempo. Si deseas obtener más información para completar todos estos pasos a la vez, consulta Configura el intercambio de tráfico de BGP en el Cloud Router.
gcloud
Para crear un Cloud Router, usa el comando gcloud compute routers create
.
gcloud compute routers create NAME \ --region=REGION \ --network=NETWORK \ --asn=ASN \ --project=PROJECT_ID
Reemplaza lo siguiente:
NAME
: es el nombre del Cloud Router, por ejemplo,cloud-router-a
ocloud-router-b
REGION
: La región que contiene el Cloud Router, por ejemplo,us-central1
NETWORK
: la red de VPC que contiene el Cloud Router, por ejemplo,network-a
onetwork-b
ASN
: El número de sistema autónomo (ASN) para Cloud Router. Este ASN debe ser un ASN privado de 16 bits o de 32 bits, como se define en RFC 6996, por ejemplo,65000
PROJECT_ID
: El ID del proyecto para Cloud Router, por ejemplo,my-project
API
Para crear un Cloud Router, usa el método compute.routers.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers { "name": "NAME", "network": "NETWORK", "bgp": { "asn": ASN } }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto para Cloud Router, por ejemplo,my-project
REGION
: La región que contiene el Cloud Router, por ejemplo,us-central1
NAME
: es el nombre del Cloud Router, por ejemplo,cloud-router-a
ocloud-router-b
NETWORK
: el URI de la red de VPC que contiene el Cloud Router, por ejemplo,/global/networks/network-a
o/global/networks/network-b
ASN
: El número de sistema autónomo (ASN) para Cloud Router. Este ASN debe ser un ASN privado de 16 bits o de 32 bits, como se define en RFC 6996, por ejemplo,65000
Crea dos interfaces en cada Cloud Router
Para establecer redundancia, crea dos interfaces en cada Cloud Router. En cada Cloud Router, las dos interfaces deben estar asociadas a la misma subred que la interfaz del dispositivo de router correspondiente. Si usas los valores de la topología de muestra, haz lo siguiente:
- Para
cloud-router-a
, crea dos interfaces ensubnet-a
. - Para
cloud-router-b
, crea dos interfaces ensubnet-b
.
La interfaz de Cloud Router usa una dirección IP interna regional. Si especificas de forma explícita la dirección IP interna de la interfaz, la dirección IP debe pertenecer al rango de direcciones IP principal de la subred. Otro recurso, como una VM u otra interfaz de Cloud Router, no puede estar usándolo.
No hay instrucciones de la consola de Google Cloud para este paso. Si usas la consola de Google Cloud, cuando completes la siguiente tarea (Crea un intercambio de tráfico de BGP en cada Cloud Router), las interfaces se crearán de forma automática.
gcloud
Para crear interfaces redundantes en los Cloud Routers, usa el comando gcloud compute routers add-interface
.
Completa los siguientes pasos dos veces: una vez para cloud-router-a
y otra vez para cloud-router-b
:
Para cada Cloud Router, crea la primera interfaz:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=FIRST_INTERFACE_NAME \ --ip-address=FIRST_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --region=REGION \ --project=PROJECT_ID
Reemplaza lo siguiente:
ROUTER_NAME
: El nombre del Cloud Router que se actualizará, por ejemplo,cloud-router-a
ocloud-router-b
FIRST_INTERFACE_NAME
: El nombre de la interfaz, por ejemplo,interface-1
FIRST_INTERFACE_IP_ADDRESS
: La dirección IP interna RFC 1918 que se usará para la primera interfaz; Si no especificas un valor, Google intenta encontrar una dirección libre en el rango de direcciones IP principal de la subredSUBNET
: La subred que contiene la interfaz de Cloud Router y la interfaz de la instancia de dispositivo de router correspondienteREGION
: La región de Google Cloud donde reside el Cloud Router, por ejemplo,us-central1
PROJECT_ID
: El ID del proyecto para Cloud Router, por ejemplo,my-project
Para cada Cloud Router, crea la interfaz redundante:
gcloud compute routers add-interface ROUTER_NAME \ --interface-name=SECOND_INTERFACE_NAME \ --ip-address=SECOND_INTERFACE_IP_ADDRESS \ --subnetwork=SUBNET \ --redundant-interface=FIRST_INTERFACE_NAME \ --region=REGION \ --project=PROJECT_ID
Reemplaza lo siguiente:
ROUTER_NAME
: El nombre del Cloud Router que se actualizará, por ejemplo,cloud-router-a
ocloud-router-b
SECOND_INTERFACE_NAME
: El nombre de la interfaz, por ejemplo,interface-2
SECOND_INTERFACE_IP_ADDRESS
: La dirección IP interna RFC 1918 que se usará para la segunda interfaz; Si no especificas un valor, Google intenta encontrar una dirección libre en el rango de direcciones IP principal de la subredSUBNET
: La subred que contiene las dos interfaces de Cloud Router y la interfaz de la instancia de dispositivo de router correspondienteFIRST_INTERFACE_NAME
: El nombre de la interfaz que creaste en el paso 1REGION
: La región de Google Cloud donde reside el Cloud Router, por ejemplo,us-central1
PROJECT_ID
: El ID del proyecto para Cloud Router, por ejemplo,my-project
Comandos de muestra para
cloud-router-a
Con el siguiente comando, se crea la primera interfaz en
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-1 \ --ip-address=10.1.3.14 \ --subnetwork=subnet-a \ --region=us-central1 \ --project=my-project
Con el siguiente comando, se crea la segunda interfaz en
cloud-router-a
:gcloud compute routers add-interface cloud-router-a \ --interface-name=interface-2 \ --ip-address=10.1.3.15 \ --subnetwork=subnet-a \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
Comandos de muestra para
cloud-router-b
Con el siguiente comando, se crea la primera interfaz en
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-1 \ --ip-address=192.168.10.14 \ --subnetwork=subnet-b \ --region=us-central1 \ --project=my-project
Con el siguiente comando, se crea la segunda interfaz en
cloud-router-b
:gcloud compute routers add-interface cloud-router-b \ --interface-name=interface-2 \ --ip-address=192.168.10.15 \ --subnetwork=subnet-b \ --redundant-interface=interface-1 \ --region=us-central1 \ --project=my-project
API
Para crear interfaces redundantes en los Cloud Routers, usa el método compute.routers.patch
.
Usa la siguiente solicitud dos veces, una vez para cloud-router-a
y otra vez para cloud-router-b
:
"PATCH https"://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "region":"REGION", "interfaces":[ { "name":"FIRST_INTERFACE_NAME", "privateIpAddress:"FIRST_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET" }, { "name":"SECOND_INTERFACE_NAME", "privateIpAddress:"SECOND_INTERFACE_IP_ADDRESS", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET", "redundantInterface": "FIRST_INTERFACE_NAME" } ] }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto para Cloud Router, por ejemplo,my-project
REGION
: La región de Google Cloud donde reside el Cloud Router, por ejemplo,us-central1
NAME
: el nombre del Cloud Router que se actualizará, por ejemplo,cloud-router-a
ocloud-router-b
NETWORK
: La red de VPC que contiene el Cloud Router, por ejemplo,network-a
FIRST_INTERFACE_NAME
: El nombre de la primera interfaz, por ejemplo,interface-1
FIRST_INTERFACE_IP_ADDRESS
: La dirección IP interna RFC 1918 que se usará para la primera interfaz; Si no especificas un valor, Google intenta encontrar una dirección libre en el rango de direcciones IP principal de la subredSUBNET
: La subred que contiene las dos interfaces de Cloud Router y la interfaz de la instancia de dispositivo de router correspondienteSECOND_INTERFACE_NAME
: El nombre de la segunda interfaz, por ejemplo,interface-2
SECOND_INTERFACE_IP_ADDRESS
: La dirección IP interna RFC 1918 que se usará para la segunda interfaz; Si no especificas un valor, Google intenta encontrar una dirección libre en el rango de direcciones IP principal de la subredComandos de muestra para
cloud-router-a
Con el siguiente comando, se crean dos interfaces en
cloud-router-a
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-a { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"10.1.3.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a" }, { "name":"router-appliance-interface-1", "privateIpAddress:"10.1.3.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-west1/subnetworks/subnet-a", "redundantInterface": "router-appliance-interface-0" } ] }
Comando de muestra para
cloud-router-b
Con el siguiente comando, se crean dos interfaces en
cloud-router-b
:"PATCH https"://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/routers/cloud-router-b { "region":"us-central1", "interfaces":[ { "name":"router-appliance-interface-0", "privateIpAddress:"192.168.10.14", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b" }, { "name":"router-appliance-interface-1", "privateIpAddress:"192.168.10.15", "subnetwork": "https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1/subnetworks/subnet-b", "redundantInterface": "router-appliance-interface-0" } ] }
Configura el intercambio de tráfico de BGP en cada Cloud Router
Para cada interfaz de la instancia de dispositivo de router, debes crear dos sesiones de intercambio de tráfico de BGP: una para cada interfaz de Cloud Router. Si usas los valores de la topología de muestra, haz lo siguiente:
Crea dos sesiones de intercambio de tráfico entre
cloud-router-a
y la interfaznetwork-a
derouter-app-a
.Crea dos sesiones de intercambio de tráfico entre
cloud-router-b
y la interfaznetwork-b
derouter-app-a
.
Console
Completa los siguientes pasos dos veces: una vez para spoke-a
y otra vez para spoke-b
:
- Dirígete a la página de Network Connectivity Center. Ir a Network Connectivity Center
- Selecciona un proyecto en el menú.
- Haz clic en la pestaña Radios.
- En la columna Nombre del radio, selecciona un radio para ver la página Detalles del radio. Por ejemplo, selecciona
spoke-a
ospoke-b
.
En la columna Nombre, busca
router-app-a
. Haz clic en el ícono de expandir para mostrar los vínculos Configurar sesión de BGP. Haz clic en cualquiera de estos vínculos. En respuesta, el sistema muestra el panel Configura sesiones de Cloud Router y BGP.
-
En la sección Cloud Router, realiza una de las siguientes acciones:
- Para seleccionar un Cloud Router existente, haz clic en Usar existente. Usa el campo Cloud Router para identificar el recurso adecuado y, luego, haz clic en Seleccionar y continuar.
- Para crear un Cloud Router en la página Network Connectivity Center, haz clic en Crear nuevo y sigue las indicaciones para crear el Cloud Router. Luego, haz clic en Crear y continuar.
- En Sesiones de BGP, configura las dos sesiones de BGP. Completa los siguientes pasos dos veces, una vez por cada sesión:
- Haz clic en Editar sesión de BGP.
- Para completar el formulario, ingresa un nombre, un ASN de par y una Prioridad de ruta anunciada (MED). Haz clic en Guardar y continuar.
- Haz clic en Crear.
gcloud
Para crear pares de BGP en tus Cloud Routers, usa el comando gcloud compute routers add-bgp-peer
.
Completa los siguientes pasos dos veces: una vez para cloud-router-a
y otra vez para cloud-router-b
:
Crea el primer intercambio de tráfico de BGP:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Crea el segundo intercambio de tráfico de BGP:
gcloud compute routers add-bgp-peer NAME \ --peer-name=PEER_NAME \ --interface=INTERFACE \ --peer-ip-address=PEER_IP_ADDRESS \ --peer-asn=PEER_ASN \ --instance=ROUTER_APPLIANCE \ --instance-zone=ROUTER_APPLIANCE_ZONE \ --region=REGION
Reemplaza lo siguiente:
NAME
: el nombre del Cloud Router que se actualizará, por ejemplo,cloud-router-a
ocloud-router-b
PEER_NAME
: El nombre de la sesión de intercambio de tráfico de BGP que se establecerá con la instancia de dispositivo de router.INTERFACE
: El nombre de la interfaz para este intercambio de tráfico de BGPPEER_IP_ADDRESS
: la dirección IP interna del router del par (la instancia de dispositivo de router), por ejemplo,10.1.3.8
o192.168.10.3
PEER_ASN
: El número del sistema autónomo de BGP (ASN) para este intercambio de tráfico de BGP: este ASN debe ser un ASN privado de 16 bits o de 32 bits como se define en RFC 6996ROUTER_APPLIANCE
: el nombre de la VM que actúa como la instancia de dispositivo de router, por ejemplo,router-app-a
ROUTER_APPLIANCE_ZONE
: la zona en la que se encuentra la VM que actúa como la instancia de dispositivo de router, por ejemplo,us-central1-a
REGION
: La región en la que se encuentra la VM que actúa como la instancia de dispositivo de router, por ejemplo,us-central1
Comandos de muestra para
cloud-router-a
Usa los siguientes comandos a fin de crear los pares de BGP para
cloud-router-a
:gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-a \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=10.1.3.8 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
Comandos de muestra para
cloud-router-b
Usa los siguientes comandos a fin de crear los pares de BGP para
cloud-router-b
:gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-0 \ --interface=router-appliance-interface-0 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
gcloud compute routers add-bgp-peer cloud-router-b \ --peer-name=router-appliance-bgp-peer-router-app-a-1 \ --interface=router-appliance-interface-1 \ --peer-ip-address=192.168.10.3 \ --peer-asn=65001 \ --instance=router-app-a \ --instance-zone=us-central1-a \ --region=us-central1
API
Para crear pares de BGP en un Cloud Router, usa el método compute.routers.patch
.
Usa este método dos veces, una vez para cloud-router-a
y otra vez para cloud-router-b
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/NAME { "bgpPeers": [ { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN, } { "name": "PEER_NAME", "interfaceName": "INTERFACE_NAME", "ipAddress": "IP_ADDRESS", "peerIpAddress": "PEER_IP_ADDRESS", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zone/ROUTER_APPLIANCE_ZONE/instances/ROUTER_APPLIANCE_INSTANCE", "peerAsn": PEER_ASN } ] }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto para Cloud RouterREGION
: La región en la que se encuentra la VM que actúa como la instancia de dispositivo de routerNAME
: El nombre del Cloud Router que se actualizaráPEER_NAME
: El nombre de la sesión de intercambio de tráfico de BGP que se establecerá con la instancia de dispositivo de router.INTERFACE_NAME
: El nombre de la interfaz de Cloud Router para agregar el intercambio de tráficoIP_ADDRESS
: la dirección IP interna RFC 1918 del Cloud Router que se usará para la sesión de intercambio de tráficoPEER_IP_ADDRESS
: la dirección IP interna de la VM que actúa como una instancia de dispositivo de router, por ejemplo,10.1.3.8
o192.168.10.3
ROUTER_APPLIANCE_INSTANCE
: El nombre en formato de URL para la VM que funciona como la instancia de dispositivo de routerROUTER_APPLIANCE_ZONE
: La zona en la que se encuentra la VM que actúa como la instancia de dispositivo de routerPEER_ASN
: El número del sistema autónomo de BGP (ASN) para este intercambio de tráfico de BGP: este ASN debe ser un ASN privado de 16 bits o de 32 bits como se define en RFC 6996Comandos de muestra para
cloud-router-a
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-a { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "10.1.3.14", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "10.1.3.15", "peerIpAddress": "10.1.3.8", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Comandos de muestra para
cloud-router-b
PATCH https://compute.googleapis.com/compute/v1/projects/my-project/regions/us-west1/routers/cloud-router-b { "bgpPeers": [ { "name": "router-appliance-bgp-peer-router-app-a-0", "interfaceName": "router-appliance-interface-0", "ipAddress": "192.168.10.14", "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001, } { "name": "router-appliance-bgp-peer-router-app-a-1", "interfaceName": "router-appliance-interface-1", "ipAddress": "192.168.10.15, "peerIpAddress": "192.168.10.3", "routerApplianceInstance": "https://compute.googleapis.com/compute/v1/projects/my-project/zone/us-central1-a/instances/router-app-a", "peerAsn": 65001 } ] }
Configura BGP en la instancia de dispositivo de router
Configura la instancia de dispositivo de router para la conectividad de BGP a los dos Cloud Routers. Para ello, consulta la documentación del proveedor de tu imagen de dispositivo de router.
¿Qué sigue?
- Para borrar una instancia del dispositivo de router, consulta Borra instancias del dispositivo de router.
- Para ver una lista de socios cuyas soluciones están integradas en Network Connectivity Center, consulta Socios de Network Connectivity Center.
- Para obtener información sobre los recursos que puedes agregar a los radios, consulta Radios.
- Para ver la información de registro y supervisión del dispositivo de router, consulta Visualiza los registros y las métricas.
- Para encontrar soluciones a problemas del dispositivo de router, consulta Solución de problemas.
- Para obtener más información sobre cómo interactuar con Network Connectivity Center mediante la API o la CLI de gcloud, consulta APIs y referencia.