Migrar una subred de servicio de una conexión de peering a Private Service Connect
En este documento se describe cómo pueden los productores de servicios migrar sus servicios basados en el peering a Private Service Connect y conservar la dirección IP que se usa para acceder al servicio. Este proceso de migración requiere que todos los recursos conectados a una subred determinada se migren al mismo tiempo.
El proceso de migración lo inicia el productor del servicio, pero implica tareas que completan tanto el productor como el consumidor. Los servicios gestionados por Google pueden usar un agente de servicio para realizar tareas en nombre del consumidor. La migración implica un tiempo de inactividad y un cambio en los precios tanto para el productor como para el consumidor.
Cada productor de servicios determina si va a migrar a Private Service Connect y cuándo. Para saber si un productor de servicios está migrando del emparejamiento entre redes VPC a Private Service Connect, consulta la documentación del servicio o ponte en contacto con el productor de servicios.
Antes de empezar
- Asegúrate de que conoces el proceso de migración, incluidas las consideraciones para la migración.
- Asegúrate de que conoces los precios de los consumidores y productores de Private Service Connect.
- Familiarízate con el proceso para publicar un servicio mediante Private Service Connect.
- Asegúrate de que tienes los permisos necesarios.
Desplegar el servicio mediante Private Service Connect
Crea una red de VPC, implementa recursos de servicio en la red y publica el servicio a través de Private Service Connect.
Cuando crees el balanceador de carga del servicio, usa una dirección IP diferente a la que usaba anteriormente el balanceador de carga. La dirección IP original se necesitará más adelante para crear el endpoint.
Cuando publicas un servicio, creas un archivo adjunto de servicio. El URI de adjunto de servicio también se necesita más adelante para crear el endpoint.
Cerrar el servicio basado en el peer
Para cerrar el servicio basado en el peering, debes crear un intervalo interno para reservar el intervalo de direcciones IP del servicio antes de eliminar la subred del productor.
Crear un intervalo interno
Antes de eliminar la subred del productor, crea un intervalo interno para evitar que otras subredes de la red del productor o del consumidor reutilicen el intervalo de direcciones IP de la subred.
Para obtener más información sobre este intervalo interno, consulta Intervalos internos para la migración.
gcloud
Usa el comando internal-ranges create
.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --project=PRODUCER_PROJECT_ID \ --ip-cidr-range=CIDR_RANGE \ --network=PRODUCER_NETWORK_NAME \ --usage=FOR_MIGRATION \ --migration-source=PRODUCER_SUBNET_URI \ --migration-target=CONSUMER_SUBNET_URI
Haz los cambios siguientes:
RANGE_NAME
: el nombre del nuevo intervalo interno.PRODUCER_PROJECT_ID
: el ID del proyecto del productor.CIDR_RANGE
: el intervalo CIDR que se asignará al nuevo intervalo interno.PRODUCER_NETWORK_NAME
: nombre de la red en la que se va a crear el intervalo interno.PRODUCER_SUBNET_URI
: el URI de la subred del productor que contiene el balanceador de carga del servicio.CONSUMER_SUBNET_URI
: el URI de la subred de consumidor prevista. Esta subred no existe en el momento en que ejecutas este comando.
Eliminar la subred del productor del intercambio de tráfico entre redes
Debes eliminar todos los recursos de la subred del productor para poder eliminar la subred. Por ejemplo, instancias de máquinas virtuales (VMs), reglas de reenvío, grupos de instancias, comprobaciones de estado y direcciones IP reservadas. Una vez que hayas eliminado los recursos, podrás eliminar la subred.
Crear recursos para consumidores
Colabora con el consumidor del servicio para crear los siguientes recursos en su red VPC. Los recursos se pueden crear manualmente o, en el caso de los servicios gestionados por Google, se pueden automatizar mediante un agente de servicio.
Crear una subred de migración entre iguales
Crea una subred de migración de emparejamiento en la red de VPC del consumidor para proporcionar la dirección IP del endpoint de Private Service Connect.
La subred tiene el objetivo PEER_MIGRATION
, que impide que se use para recursos que no sean puntos finales de Private Service Connect.
Para obtener más información, consulta Subredes de migración entre iguales.
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver su página Detalles de la red de VPC.
Haz clic en la pestaña Subredes.
Haz clic en Añadir subred. En el panel que aparece, haz lo siguiente:
- Proporciona un nombre.
- Selecciona una región.
- En la sección Propósito, selecciona Migración entre iguales.
- En Tipo de pila de IP, selecciona IPv4 (pila única).
Introduce el intervalo de direcciones IPv4 que se asignará a la nueva subred. Este intervalo debe coincidir con el intervalo CIDR del intervalo interno.
Si seleccionas un intervalo que no es una dirección RFC 1918, confirma que el intervalo no entra en conflicto con una configuración ya creada. Para obtener más información, consulta la sección sobre los intervalos de subredes IPv4.
Haz clic en Añadir.
gcloud
Usa el comando networks subnets create
.
gcloud compute networks subnets create CONSUMER_SUBNET \ --purpose=PEER_MIGRATION \ --project=CONSUMER_PROJECT \ --network=CONSUMER_NETWORK \ --range=CIDR_RANGE \ --region=REGION
Haz los cambios siguientes:
CONSUMER_SUBNET
: el nombre de la subred del consumidorCONSUMER_PROJECT
: el ID del proyecto de consumidorCONSUMER_NETWORK
: el nombre de la red de consumidoresCIDR_RANGE
: el intervalo CIDR que se asignará a la nueva subred. Este intervalo debe coincidir con el intervalo CIDR del intervalo interno.REGION
: la región en la que se va a crear la subred
Crear un endpoint de Private Service Connect
Crea un endpoint de Private Service Connect en la subred de migración del mismo nivel del consumidor. El consumidor necesita el URI del adjunto de servicio para crear el endpoint.
Consola
En la Google Cloud consola, ve a la página Private Service Connect.
Haz clic en la pestaña Puntos finales conectados.
Haz clic en Conectar punto final.
En Destino, selecciona Servicio publicado.
En Servicio de destino, introduce el URI de la vinculación de servicio al que quieras conectarte.
El URI de la vinculación de servicio tiene este formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
En Endpoint name (Nombre del endpoint), escribe el nombre que quieras usar para el endpoint.
En Red, selecciona la red de VPC del consumidor del endpoint.
En Subred, selecciona la subred de migración entre iguales de consumidor.
Para reservar una dirección IP para el endpoint, siga estos pasos:
- Haga clic en el menú desplegable Dirección IP y seleccione Crear dirección IP.
- Introduce un nombre y una descripción opcional para la dirección IP.
- Haz clic en Dirección IP estática y selecciona Seleccionar.
- Introduce la dirección IP personalizada que quieras reservar. Esta dirección IP debe ser la misma que se usó en el balanceador de carga del servicio.
- Haz clic en Reservar.
Haz clic en Añadir endpoint.
gcloud
Reserva una dirección IP interna para el endpoint.
Usa el comando
addresses create
.gcloud compute addresses create ENDPOINT_ADDRESS_NAME \ --project=CONSUMER_PROJECT \ --region=REGION \ --address=ENDPOINT_ADDRESS \ --subnet=CONSUMER_SUBNET
Haz los cambios siguientes:
ENDPOINT_ADDRESS_NAME
: nombre del recurso de dirección IP.CONSUMER_PROJECT
: el ID del proyecto de consumidorREGION
: la región en la que se va a crear la dirección IPENDPOINT_ADDRESS
: la dirección IP que se va a asignar al recurso de dirección IP. Esta dirección debe ser la misma que se usó en el balanceador de carga del servicio.CONSUMER_SUBNET
: el nombre de la subred de migración entre iguales del consumidor
Crea el endpoint.
Usa el comando
forwarding-rules create
.gcloud compute forwarding-rules create ENDPOINT \ --region=REGION \ --network=CONSUMER_NETWORK \ --address=ENDPOINT_ADDRESS \ --target-service-attachment=SERVICE_ATTACHMENT_URI
Haz los cambios siguientes:
ENDPOINT
: nombre del endpoint.REGION
: la región en la que se creará el endpointCONSUMER_NETWORK
: el nombre de la red de consumidoresENDPOINT_ADDRESS
: la dirección IP reservada que se asignará al endpoint. Puedes especificar la dirección IP directamente o usar el nombre del recurso de dirección IP.SERVICE_ATTACHMENT_URI
: el URI del archivo adjunto de servicio
Eliminar el intervalo interno del productor
Una vez creada la subred de migración de consumidores, ya no se necesita el intervalo interno y se puede eliminar.
gcloud
Usa el comando internal-ranges delete
.
gcloud network-connectivity internal-ranges delete RANGE_NAME \ --project=PRODUCER_PROJECT_ID
Haz los cambios siguientes:
RANGE_NAME
: el nombre del intervalo internoPRODUCER_PROJECT_ID
: el ID del proyecto del productor
Validar que el endpoint funciona
Pide al consumidor que confirme que puede conectarse al servicio a través del endpoint.
Si el endpoint no funciona y los pasos para solucionar el problema no lo resuelven, puedes revertir la migración.
Finalizar la migración
Si el endpoint funciona correctamente, puedes finalizar la migración actualizando la subred de migración entre iguales del consumidor a una subred normal.
Actualizar la subred de migración entre iguales del consumidor
Si actualizas la subred de migración entre iguales del consumidor a una subred normal, el consumidor podrá usar la subred para cualquier tipo de recurso.
Consola
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver su página Detalles de la red de VPC.
Haz clic en la pestaña Subredes.
Haz clic en el nombre de la subred que quieras actualizar.
Haz clic en Editar.
En la sección Propósito, selecciona Privado.
Haz clic en Guardar.
gcloud
Usa el comando networks subnets create
.
gcloud compute networks subnets update CONSUMER_SUBNET \ --purpose=PRIVATE \ --region=REGION \ --project=CONSUMER_PROJECT
Haz los cambios siguientes:
CONSUMER_SUBNET
: el nombre de la subred del consumidorREGION
: la región de la subred del consumidorCONSUMER_PROJECT
: el ID del proyecto de consumidor
Eliminar las conexiones de intercambio de tráfico entre redes
Si ya no necesitas la conexión de peering, elimina las configuraciones de peering tanto del consumidor como del productor.
Restaurar la migración
Solo puedes revertir la migración si la subred de consumidor aún no se ha actualizado a una subred normal. Si reviertes la actualización, el servicio estará disponible a través del emparejamiento entre redes de VPC.
- Si sigue existiendo, elimina el intervalo interno del proyecto del productor.
Crea un intervalo interno en el proyecto del consumidor. Al revertir, la fuente de migración es la subred del consumidor y el destino de migración es la subred del productor.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --project=CONSUMER_PROJECT \ --ip-cidr-range=CIDR_RANGE \ --network=CONSUMER_NETWORK \ --usage=FOR_MIGRATION \ --migration-source=CONSUMER_SUBNET_URI \ --migration-target=PRODUCER_SUBNET_URI
Elimina el endpoint de Private Service Connect del consumidor.
Elimina el recurso de dirección IP del consumidor.
Vuelve a crear la subred del productor con el mismo nombre y el mismo intervalo CIDR. Asigna el valor
PRIVATE
al propósito de la subred.Vuelve a crear los recursos necesarios para proporcionar el servicio en la subred del productor.
El consumidor valida que puede acceder al servicio a través de la conexión de interconexión.