Migra una subred de servicio del intercambio de tráfico a Private Service Connect

En este documento, se describe cómo los productores de servicios pueden migrar sus servicios basados en el intercambio de tráfico 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 de servicios, pero incluye tareas que completan tanto el productor como el consumidor. Los servicios administrados 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 para el productor y el consumidor.

Cada productor de servicios determina si migrará a Private Service Connect y cuándo lo hará. Para saber si un productor de servicios está migrando del intercambio de tráfico entre redes de VPC a Private Service Connect, consulta la documentación del servicio o comunícate con el productor de servicios.

Antes de comenzar

Implementa el servicio con Private Service Connect

Crea una red de VPC nueva, implementa recursos de servicio en la red y publica el servicio a través de Private Service Connect.

Cuando crees el balanceador de cargas para el servicio, usa una dirección IP diferente de la que usaba anteriormente el balanceador de cargas. La dirección IP original se necesita más adelante para crear el extremo.

Cuando publicas un servicio, creas un adjunto de servicio. El URI del adjunto de servicio también se necesita más adelante para crear el extremo.

Apaga el servicio basado en el intercambio de tráfico

Para apagar el servicio basado en el intercambio de tráfico, debes crear un rango interno para reservar el rango de direcciones IP del servicio antes de borrar la subred del productor.

Crear un rango interno

Antes de borrar la subred del productor, crea un rango interno para evitar que otras subredes reutilicen el rango de direcciones IP de la subred en la red del productor o del consumidor.

Para obtener más información sobre este rango interno, consulta Rangos 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

Reemplaza lo siguiente:

  • RANGE_NAME: el nombre del rango interno nuevo.
  • PRODUCER_PROJECT_ID: el ID del proyecto del productor.
  • CIDR_RANGE: El rango de CIDR que se asignará al nuevo rango interno.
  • PRODUCER_NETWORK_NAME: el nombre de la red en la que se creará el rango interno.
  • PRODUCER_SUBNET_URI: el URI de la subred del productor que contiene el balanceador de cargas para el servicio.
  • CONSUMER_SUBNET_URI: el URI de la subred del consumidor deseada. Esta subred no existe cuando ejecutas este comando.

Borra la subred del productor de intercambio de tráfico

Debes borrar todos los recursos de la subred del productor antes de poder borrar la subred, por ejemplo, las instancias de máquina virtual (VM), las reglas de reenvío, los grupos de instancias, las verificaciones de estado y las direcciones IP reservadas. Después de borrar los recursos, puedes borrar la subred.

Crea recursos del consumidor

Trabaja con el consumidor de servicios para crear los siguientes recursos en su red de VPC. Los recursos se pueden crear de forma manual o, en el caso de los servicios administrados por Google, se pueden automatizar a través de un agente de servicio.

Crea una subred de migración de intercambio de tráfico

Crea una subred de migración de intercambio de tráfico en la red de VPC del consumidor para proporcionar la dirección IP del extremo de Private Service Connect. La subred tiene el propósito PEER_MIGRATION, que impide que se use para recursos que no sean extremos de Private Service Connect.

Para obtener más información, consulta Subredes de migración de intercambio de tráfico.

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.

  3. Haz clic en la pestaña Subredes.

  4. Haz clic en Agregar subred. En el panel que aparece, haz lo siguiente:

    1. Proporciona un nombre.
    2. Selecciona una región.
    3. En la sección Propósito, selecciona Migración de intercambio de tráfico.
    4. En Tipo de pila de IP, elige IPv4 (pila única).
    5. Ingresa el rango de direcciones IPv4 que se asignará a la subred nueva. Este rango debe coincidir con el rango de CIDR del rango interno.

      Si seleccionas un rango que no es una dirección RFC 1918, confirma que el rango no entre en conflicto con una configuración existente. Para obtener más información, consulta Rangos de subredes IPv4.

  5. Haz clic en Agregar.

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

Reemplaza lo siguiente:

  • CONSUMER_SUBNET: el nombre de la subred del consumidor
  • CONSUMER_PROJECT: el ID del proyecto del consumidor
  • CONSUMER_NETWORK: el nombre de la red del consumidor
  • CIDR_RANGE: el rango de CIDR que se asignará a la subred nueva; este rango debe coincidir con el rango de CIDR del rango interno
  • REGION: la región en la que se creará la subred

Crear un extremo de Private Service Connect

Crea un extremo de Private Service Connect en la subred de migración de intercambio de tráfico del consumidor. El consumidor necesita el URI del adjunto de servicio para crear el extremo.

Console

  1. En la Google Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados.

  3. Haz clic en Conectar extremo.

  4. En Destino, selecciona Servicio publicado.

  5. En Servicio de destino, ingresa el URI del adjunto de servicio al que deseas conectarte.

    El URI del adjunto de servicio tiene el siguiente formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. En Nombre del extremo, ingresa un nombre para usar en el extremo.

  7. En Red, selecciona la red de VPC del consumidor para el extremo.

  8. En Subred, selecciona la subred de migración de intercambio de tráfico del consumidor.

  9. Para reservar una dirección IP para el extremo, haz lo siguiente:

    1. Haz clic en el menú desplegable Dirección IP y selecciona Crear dirección IP.
    2. Ingresa un nombre y una descripción opcional para la dirección IP.
    3. Haz clic en Dirección IP estática y selecciona Permitirme elegir.
    4. Ingresa la dirección IP personalizada que deseas reservar. Esta dirección IP debe ser la misma que se usó en el balanceador de cargas del servicio.
    5. Haz clic en Reservar.
  10. Haz clic en Agregar extremo.

gcloud

  1. Reserva una dirección IP interna para el extremo.

    Usa el addresses create comando.

    gcloud compute addresses create ENDPOINT_ADDRESS_NAME \
        --project=CONSUMER_PROJECT \
        --region=REGION \
        --address=ENDPOINT_ADDRESS \
        --subnet=CONSUMER_SUBNET
    

    Reemplaza lo siguiente:

    • ENDPOINT_ADDRESS_NAME: un nombre para el recurso de dirección IP
    • CONSUMER_PROJECT: el ID del proyecto del consumidor
    • REGION: la región en la que se creará la dirección IP
    • ENDPOINT_ADDRESS: la dirección IP que se asignará al recurso de dirección IP; esta dirección debe ser la misma que se usó en el balanceador de cargas del servicio
    • CONSUMER_SUBNET: el nombre de la subred de migración de intercambio de tráfico del consumidor
  2. Crea el extremo.

    Usa el forwarding-rules create comando.

    gcloud compute forwarding-rules create ENDPOINT \
        --region=REGION \
        --network=CONSUMER_NETWORK \
        --address=ENDPOINT_ADDRESS \
        --target-service-attachment=SERVICE_ATTACHMENT_URI
    

    Reemplaza lo siguiente:

    • ENDPOINT: un nombre para el extremo
    • REGION: la región en la que se creará el extremo
    • CONSUMER_NETWORK: el nombre de la red del consumidor
    • ENDPOINT_ADDRESS: la dirección IP reservada que se asignará al extremo; puedes especificar la dirección IP directamente o usar el nombre del recurso de dirección IP
    • SERVICE_ATTACHMENT_URI: el URI del adjunto del servicio

Borra el rango interno del productor

Después de crear la subred de migración del consumidor, ya no se necesita el rango interno y se puede borrar.

gcloud

Usa el comando internal-ranges delete.

gcloud network-connectivity internal-ranges delete RANGE_NAME \
    --project=PRODUCER_PROJECT_ID

Reemplaza lo siguiente:

  • RANGE_NAME: el nombre del rango interno
  • PRODUCER_PROJECT_ID: el ID del proyecto del productor

Valida que el extremo funcione

Pídele al consumidor que confirme que puede conectarse al servicio a través del extremo.

Si el extremo no funciona y la solución de problemas no resuelve el problema, puedes revertir la migración.

Finaliza la migración

Si el extremo funciona como se espera, puedes finalizar la migración actualizando la subred de migración de intercambio de tráfico del consumidor a una subred normal.

Actualiza la subred de migración de intercambio de tráfico del consumidor

Si actualizas la subred de migración de intercambio de tráfico del consumidor a una subred normal, el consumidor puede usar la subred para cualquier tipo de recurso.

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.

  3. Haz clic en la pestaña Subredes.

  4. Haz clic en el nombre de la subred que quieres actualizar.

  5. Haz clic en Editar.

  6. En la sección Propósito, selecciona Privado.

  7. 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

Reemplaza lo siguiente:

  • CONSUMER_SUBNET: el nombre de la subred del consumidor
  • REGION: la región de la subred del consumidor
  • CONSUMER_PROJECT: el ID del proyecto del consumidor

Borra las conexiones de intercambio de tráfico

Si ya no se necesita la conexión de intercambio de tráfico, borra las configuraciones de intercambio de tráfico para el consumidor y el productor.

Revierte la migración

Solo puedes revertir la migración si la subred del consumidor aún no se actualizó a una subred normal . Si reviertes, el servicio estará disponible a través del intercambio de tráfico entre redes de VPC.

  1. Si aún existe, borra el rango interno en el proyecto del productor.
  2. Crea un rango interno en el proyecto del consumidor. Cuando se revierte, 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
    
  3. Borra el extremo de Private Service Connect del consumidor.

  4. Borra el recurso de dirección IP del consumidor.

  5. Vuelve a crear la subred del productor con el mismo nombre y rango CIDR. Establece el propósito de la subred en PRIVATE.

  6. Vuelve a crear los recursos necesarios para proporcionar el servicio en la subred del productor.

  7. El consumidor valida que puede acceder al servicio a través de la conexión de intercambio de tráfico.