Puedes migrar tus datos a través de redes privadas estableciendo la conectividad entre las direcciones IP privadas de tus bases de datos de origen y de destino. Para configurar direcciones IP privadas en tu base de datos de destino, puedes usar el acceso a servicios privados o Private Service Connect.
Cada método de conexión ofrece ventajas e inconvenientes distintos. Elige el método que mejor se adapte a tu situación. Para obtener más información sobre el acceso a servicios privados y Private Service Connect en AlloyDB para PostgreSQL, consulta el resumen de IP privada en la documentación de AlloyDB para PostgreSQL.
Configurar la conectividad mediante el emparejamiento de VPCs
El emparejamiento de VPCs funciona configurando las VPCs para que se comuniquen entre sí. Si tu origen está en el mismo proyecto de Google Cloud AlloyDB o Compute Engine, esto permite que el destino se comunique directamente con el origen. Si se puede acceder a la fuente con una VPN, configura la red de origen y Cloud VPN para que se comuniquen entre sí con la VPN. Para obtener más información, consulta el artículo sobre cómo conectar VPCs mediante VPNs.No se admite el encadenamiento de VPCs. Si tu origen está en un Google Cloud proyecto diferente, consulta la información general sobre la VPC compartida para saber cómo conectar recursos de varios proyectos a una red de VPC común para el emparejamiento entre VPCs.
El cortafuegos del servidor de la base de datos de origen debe configurarse para permitir todo el intervalo de IPs internas asignado a la conexión de servicio privada de la red de VPC que va a usar la instancia de destino de AlloyDB.
Para encontrar el intervalo de IP internas en la consola, sigue estos pasos:
Ve a la página Redes de VPC de la consola de Google Cloud .
Selecciona la red de VPC que quieras usar.
Selecciona la pestaña CONEXIÓN DE SERVICIO PRIVADA.
pg_hba.conf
o las definiciones de los grupos de seguridad de AWS RDS en la base de datos de origen se hayan actualizado para aceptar conexiones del intervalo de direcciones IP de la VPC de AlloyDB.
El emparejamiento entre VPCs usa el acceso a servicios privados, que debe configurarse una vez en cada proyecto que use el emparejamiento entre VPCs. Una vez que hayas establecido la private services access
, prueba la tarea de migración para verificar la conectividad.
Configurar el acceso privado a servicios para Database Migration Service
Si usas una IP privada en alguna de tus instancias de Database Migration Service, solo tienes que configurar el acceso a servicios privados una vez por cada proyecto de Google Cloud que tenga o necesite conectarse a una instancia de Database Migration Service.
Para establecer el acceso privado a servicios, se requiere el rol de gestión de identidades y accesos compute.networkAdmin. Una vez que se haya establecido el acceso a servicios privados en tu red, ya no necesitarás el rol de IAM compute.networkAdmin
para configurar una instancia de forma que use una IP privada.
Para usar el acceso a servicios privados, primero debes asignar un intervalo de direcciones IP internas, crear una conexión privada y, a continuación, exportar una ruta personalizada.
Un intervalo asignado es un bloque CIDR reservado que no se puede usar en tu red de VPC local. Cuando creas una conexión privada, especificas 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 VPC para que la red del proveedor de servicios pueda importarlas y dirigir correctamente el tráfico a tu red local.
Una configuración de emparejamiento establece la intención de conectarse a otra red de VPC. Tu red y la otra red no estarán conectadas hasta que cada una tenga una configuración de emparejamiento para la otra. Una vez que la otra red tenga una configuración correspondiente para emparejarse con la suya, el estado de emparejamiento cambiará a ACTIVO en ambas redes y se conectarán. Si no hay ninguna configuración de emparejamiento coincidente en la otra red, el estado del emparejamiento será INACTIVE, lo que indica que tu red no está conectada a la otra.
Una vez conectadas, las dos redes siempre intercambian rutas de subred. Si una red emparejada se ha configurado para exportar rutas personalizadas estáticas y dinámicas, puedes importarlas opcionalmente.
El proceso de configuración del acceso privado a servicios se divide en dos partes:
- Asignando un intervalo de direcciones IP. El intervalo abarca todas tus instancias.
- Crear una conexión privada desde tu red de VPC a la red del productor de servicios.
Asignar un intervalo de direcciones IP
Consola
- Ve a la página Redes de VPC de la Google Cloud consola.
- Selecciona la red de VPC que quieras usar.
- Selecciona la pestaña Conexión de servicio privada.
- Seleccione la pestaña Intervalos de direcciones IP asignados para los servicios.
- Haz clic en Asignar intervalo de IPs.
En Nombre del intervalo asignado, especifica
google-managed-services-VPC_NETWORK_NAME
, dondeVPC_NETWORK_NAME
es el nombre de la red VPC a la que te vas a conectar (por ejemplo,google-managed-services-default
). El campo Descripción es opcional.Haz clic en ASIGNAR para crear el intervalo asignado.
gcloud
Elige una de estas opciones:
Para especificar un intervalo de direcciones y una longitud de prefijo (máscara de subred), usa las marcas
addresses
yprefix-length
. Por ejemplo, para asignar el bloque CIDR192.168.0.0/16
, especifica192.168.0.0
para la dirección y16
para la longitud del 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 la longitud del prefijo (máscara de subred), usa la marca
prefix-length
. Si omites el intervalo de direcciones, Google Cloud se seleccionará automáticamente un intervalo de direcciones sin usar en tu red de VPC. En el siguiente ejemplo se selecciona un intervalo 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]
Sustituye [VPC_NETWORK_NAME]
por el nombre de tu red de VPC, como my-vpc-network
.
En el siguiente ejemplo se asigna un intervalo de IPs que permite que los recursos de la red VPC my-vpc-network
se conecten a instancias del servicio de migración de bases de datos 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
Crear una conexión privada
Consola
- Ve a la página Redes de VPC de la Google Cloud consola.
- Selecciona la red de VPC que quieras usar.
- Selecciona la pestaña Conexión de servicio privada.
- Selecciona la pestaña Conexiones privadas a los servicios.
- Haz clic en Crear conexión para crear una conexión privada entre tu red y un productor de servicios.
- En Asignación asignada, seleccione uno o varios intervalos asignados que no estén usando otros productores de servicios y, a continuación, haga 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]
Sustituye
[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 devuelve un nombre de operación.
Comprueba si la operación se ha realizado correctamente.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]
Sustituye
[OPERATION_NAME]
por el nombre de la operación que se devolvió en el paso anterior.
Puedes especificar más de un intervalo asignado al crear una conexión privada. Por ejemplo, si se ha agotado un intervalo, puedes asignar intervalos adicionales. El servicio usa las direcciones IP de todos los intervalos proporcionados en el orden que hayas especificado.
Exportar rutas personalizadas
Actualiza una conexión de emparejamiento entre redes de VPC para cambiar si tu red de VPC exporta o importa rutas personalizadas a la red de VPC emparejada o desde ella.
Tu red importa rutas personalizadas solo si la red de peer también exporta rutas personalizadas, y la red de peer recibe rutas personalizadas solo si las importa.
Consola
- Ve a la página Emparejamiento entre redes de VPC de la Google Cloud consola.
Ve a la página Emparejamiento entre redes de VPC - Selecciona la conexión de peering que quieras actualizar.
- Haz clic en EDITAR.
- Para actualizar la configuración de tus rutas personalizadas, selecciona o desmarca Importar rutas personalizadas o Exportar rutas personalizadas.
- Haz clic en GUARDAR.
gcloud
Actualiza la conexión de peering 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]
Conceder 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"
Configurar la conectividad mediante interfaces Private Service Connect
En las migraciones homogéneas de AlloyDB para PostgreSQL, AlloyDB para PostgreSQL puede usar interfaces de Private Service Connect para establecer una conexión a través de redes privadas. Este método de conectividad solo está disponible cuando migras a una instancia ya creada.
Para usar las interfaces de Private Service Connect, haz lo siguiente:
Crea un clúster de AlloyDB para PostgreSQL habilitado para Private Service Connect y una instancia principal en ese clúster. Consulta Habilitar Private Service Connect en la documentación de AlloyDB para PostgreSQL.
Configura Private Service Connect para la conectividad saliente en tu instancia. Consulta Configurar la conectividad saliente en la documentación de AlloyDB para PostgreSQL.
Asegúrate de que la red de VPC en la que creas el acoplamiento de red sea la red en la que puedas acceder a la dirección IP privada de tu base de datos de origen.
Más adelante, cuando crees la tarea de migración, selecciona Interfaz PSC como método de conectividad.