Descripción general
El intercambio de tráfico entre VPC funciona mediante la configuración de las VPC para que se comuniquen entre sí. Si tu fuente está en el mismo proyecto de Google Cloud en AlloyDB o Compute Engine, esto permite que el destino se comunique directamente con la fuente. Si el origen está dentro de una VPN (por ejemplo, en AWS o en tu propia VPN local), configura la VPN de origen y la VPN de Google Cloud para que funcionen en conjunto. Para obtener más información, consulta cómo conectar VPC a través de VPN.No se admite el encadenamiento de VPC. Si tu fuente se encuentra en un proyecto diferente de Google Cloud , consulta la Descripción general de la VPC compartida para obtener información sobre cómo conectar recursos de varios proyectos a una red de VPC común para el intercambio de tráfico de VPC.
El firewall del servidor de la base de datos de origen debe configurarse para permitir todo el rango de IP interna asignado a la conexión de servicio privada de la red de VPC que usará la instancia de destino de AlloyDB.
Para encontrar el rango de IP interna en la consola, sigue estos pasos:
Ve a la página Redes de VPC en la consola de Google Cloud .
Selecciona la red de VPC que deseas usar.
Selecciona la pestaña CONEXIÓN PRIVADA A SERVICIOS.
pg_hba.conf
o las definiciones de los grupos de seguridad en RDS de AWS en la base de datos de origen estén actualizadas para aceptar conexiones del
rango de direcciones IP de la VPC de AlloyDB.
El intercambio de tráfico entre VPC usa el acceso a servicios privados, que se debe configurar una vez para cada proyecto que use el intercambio de tráfico entre VPC. Después de establecer private services access
, prueba tu trabajo de migración para verificar la conectividad.
Configura el acceso privado a servicios para el servicio de Database Migration Service
Si usas una IP privada para cualquiera de las instancias de Database Migration Service, solo necesitas configurar el acceso privado a los servicios una vez en cada proyecto de Google Cloud que tenga una instancia de Database Migration Service o necesite conectarse a una.
Para establecer el acceso a servicios privados, se requiere el rol de IAM compute.networkAdmin. Una vez que se establece el acceso a servicios privados en tu red, ya no necesitas la función compute.networkAdmin
de IAM para configurar una instancia para usar una IP privada.
El acceso privado a servicios requiere que primero asignes un rango de direcciones IP internas, luego crees una conexión privada y, luego, exportes una ruta personalizada.
Un rango asignado es un bloque CIDR reservado que, de otro modo, no se puede usar en tu red de VPC local. Cuando creas una conexión privada, debes especificar una asignación. La conexión privada vincula tu red de VPC con la red de VPC subyacente ("productor de servicios").
Cuando creas una conexión privada, la red de VPC y la red del productor de servicios solo intercambian rutas de subred. Debes exportar las rutas personalizadas de la red de VPC para que la red del proveedor de servicios pueda importarlas y enrutar el tráfico a la red local de forma correcta.
Una configuración de intercambio de tráfico establece el intent para conectarse a otra red de VPC. Tu red y la otra red no están conectadas hasta que cada una tiene una configuración de intercambio de tráfico para la otra. Después de que la otra red tenga la configuración correspondiente para establecer el intercambio de tráfico con tu red, el estado de intercambio de tráfico cambia a ACTIVE en ambas redes y se conectan. Si no hay ninguna configuración de intercambio de tráfico que coincida en la otra red, el estado de intercambio de tráfico seguirá siendo INACTIVE, lo que indica que la red no está conectada a la otra red.
Una vez conectadas, las dos redes siempre intercambian las rutas de subred. De forma opcional, puedes importar rutas personalizadas estáticas y dinámicas desde una red de intercambio de tráfico si se configuró para exportarlas.
El proceso de configuración del acceso privado a servicios se conforma por las siguientes partes:
- Asignación de un rango de direcciones IP El rango abarca todas tus instancias.
- Creación de una conexión privada desde la red de VPC hacia la red del productor de servicios
Asigna un rango de direcciones IP
Console
- Ve a la página Redes de VPC en la consola de Google Cloud .
- Selecciona la red de VPC que deseas usar.
- Selecciona la pestaña Conexión privada a servicios.
- Selecciona la pestaña Rangos de IP asignados para los servicios.
- Haz clic en Asigna rangos de IP.
Para el Nombre del rango asignado, especifica
google-managed-services-VPC_NETWORK_NAME
, en el queVPC_NETWORK_NAME
es el nombre de la red de VPC que conectas (por ejemplo,google-managed-services-default
). La Descripción es opcional.Haz clic en ALLOCATE para crear el rango asignado.
gcloud
Realiza una de las acciones siguientes:
Para especificar un rango de direcciones y una longitud de prefijo (máscara de subred), usa las marcas
addresses
yprefix-length
. Por ejemplo, a fin de asignar el bloque CIDR192.168.0.0/16
, especifica192.168.0.0
para la dirección y16
como la longitud de prefijo.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Para especificar solo una longitud de prefijo (máscara de subred), usa la marca
prefix-length
. Cuando omites el rango de direcciones, Google Cloud selecciona automáticamente un rango de direcciones sin usar en tu red de VPC. En el siguiente ejemplo, se selecciona un rango de direcciones IP sin usar con una longitud de prefijo de16
bits.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Reemplaza [VPC_NETWORK_NAME]
por el nombre de tu red de VPC, como my-vpc-network
.
En el siguiente ejemplo, se asigna un rango de IP que permite que los recursos en la red de VPC my-vpc-network
se conecten a instancias de Database Migration Service mediante una IP privada.
gcloud compute addresses create google-managed-services-my-vpc-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=my-vpc-network \ --project=my-project
Crea una conexión privada
Console
- Ve a la página Redes de VPC en la consola de Google Cloud .
- Selecciona la red de VPC que deseas usar.
- Selecciona la pestaña Conexión privada a servicios.
- Selecciona la pestaña Conexiones privadas a servicios.
- Haz clic en Crear una conexión para crear una conexión privada entre tu red y un productor de servicios.
- Para la Asignación designada, selecciona uno o más rangos asignados existentes que no estén siendo usados por otros productores de servicios y, luego, haz clic en Aceptar.
- Haz clic en CONECTAR para crear la conexión.
gcloud
Crea una conexión privada.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]
Reemplaza
[VPC_NETWORK_NAME]
por el nombre de tu red de VPC y[PROJECT_ID]
por el ID del proyecto que contiene tu red de VPC.El comando inicia una operación de larga duración, y luego muestra un nombre de operación.
Verifica si la operación se realizó correctamente.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]
Reemplaza
[OPERATION_NAME]
por el nombre de la operación que se mostró en el paso anterior.
Puedes especificar más de un rango asignado cuando creas una conexión privada. Por ejemplo, si se agotó un rango, puedes asignar rangos adicionales. El servicio usa direcciones IP de todos los rangos proporcionados, en el orden que especificaste.
Cómo exportar rutas personalizadas
Actualiza una conexión de intercambio de tráfico entre redes de VPC existente para cambiar si tu red de VPC exporta o importa rutas personalizadas a la red de VPC de intercambio de tráfico o desde ella.
Tu red importa rutas personalizadas solo si la red de intercambio de tráfico también exporta rutas personalizadas, y la red de intercambio de tráfico recibe rutas personalizadas solo si las importa.
Console
- Ve a la página Intercambio de tráfico entre redes de VPC en la consola de Google Cloud .
Ir a la página Intercambio de tráfico entre redes de VPC - Selecciona la conexión de intercambio de tráfico que quieres actualizar.
- Haz clic en EDITAR.
- Para actualizar la configuración de la ruta personalizada, selecciona o anula la selección de Importar rutas personalizadas o Exportar rutas personalizadas.
- Haz clic en GUARDAR.
gcloud
Actualiza la conexión de intercambio de tráfico para cambiar la configuración de importación o exportación de las rutas personalizadas.
gcloud compute networks peerings update [PEERING-NAME] \ --network=[MY-LOCAL-NETWORK] \ [--[no-]import-custom-routes] \ [--[no-]export-custom-routes]
Otorga el rol roles/servicenetworking.serviceAgent
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"