Eseguire la migrazione di una subnet di servizio dal peering a Private Service Connect

Questo documento descrive in che modo i produttori di servizi possono eseguire la migrazione dei propri servizi basati su peering a Private Service Connect e conservare l'indirizzo IP utilizzato per accedere al servizio. Questo processo di migrazione richiede che tutte le risorse connesse a una determinata subnet debbano essere migrate contemporaneamente.

Il processo di migrazione viene avviato dal producer di servizi, ma prevede attività completate sia dal producer sia dal consumer. I servizi gestiti da Google possono utilizzare un agente di servizio per eseguire attività per conto del consumatore. La migrazione comporta un tempo di riposo e una variazione dei prezzi sia per il produttore sia per il consumatore.

Ogni producer di servizi decide se e quando eseguire la migrazione a Private Service Connect. Per sapere se un producer di servizi sta eseguendo la migrazione dal peering di rete VPC a Private Service Connect, controlla la documentazione del servizio o contatta il producer di servizi.

Prima di iniziare

Esegui il deployment del servizio utilizzando Private Service Connect

Crea una nuova rete VPC, esegui il deployment delle risorse di servizio nella rete e pubblica il servizio tramite Private Service Connect.

Quando crei il bilanciatore del carico per il servizio, utilizza un indirizzo IP diverso da quello utilizzato in precedenza dal bilanciatore del carico. L'indirizzo IP originale sarà necessario in seguito per creare l'endpoint.

Quando pubblichi un servizio, crei un collegamento a un servizio. L'URI del collegamento al servizio è necessario anche in un secondo momento per creare l'endpoint.

Arresta il servizio basato su peering

Per arrestare il servizio basato su peering, devi creare un intervallo interno per prenotare l'intervallo di indirizzi IP del servizio prima di eliminare la subnet del producer.

Crea un intervallo interno

Prima di eliminare la subnet del produttore, crea un intervallo interno per impedire che l'intervallo di indirizzi IP della subnet venga riutilizzato da altre subnet nella rete del produttore o del consumatore.

Per ulteriori informazioni su questo intervallo interno, consulta Intervalli interni per la migrazione.

gcloud

Utilizza il 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

Sostituisci quanto segue:

  • RANGE_NAME: il nome del nuovo intervallo interno.
  • PRODUCER_PROJECT_ID: l'ID del progetto del produttore.
  • CIDR_RANGE: l'intervallo CIDR da allocare al nuovo intervallo interno.
  • PRODUCER_NETWORK_NAME: il nome della rete in cui creare l'intervallo interno.
  • PRODUCER_SUBNET_URI: l'URI della sottorete del produttore che contiene il bilanciatore del carico per il servizio.
  • CONSUMER_SUBNET_URI: l'URI della subnet consumer prevista. Questa subnet non esiste al momento dell'esecuzione di questo comando.

Elimina la subnet del producer del peering

Prima di poter eliminare la subnet, devi eliminare tutte le risorse al suo interno, ad esempio istanze di macchine virtuali (VM), regole di inoltro, gruppi di istanze, controlli di integrità e indirizzi IP riservati. Dopo aver eliminato le risorse, puoi eliminare la sottorete.

Creare risorse consumer

Collabora con il consumatore di servizi per creare le seguenti risorse nella sua rete VPC. Le risorse possono essere create manualmente o, per i servizi gestiti da Google, possono essere automatizzate tramite un agente di servizio.

Crea una subnet di migrazione dei peer

Crea una subnet di migrazione peer nella rete VPC del consumer per fornire l'indirizzo IP per l'endpoint Private Service Connect. La subnet ha lo scopo PEER_MIGRATION che impedisce di utilizzarla per risorse diverse dagli endpoint Private Service Connect.

Per ulteriori informazioni, consulta la sezione Subnet per la migrazione dei peer.

gcloud

Utilizza il 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

Sostituisci quanto segue:

  • CONSUMER_SUBNET: il nome della sottorete del consumatore
  • CONSUMER_PROJECT: l'ID del progetto consumer
  • CONSUMER_NETWORK: il nome della rete del consumatore
  • CIDR_RANGE: l'intervallo CIDR da allocare alla nuova subnet; questo intervallo deve corrispondere all'intervallo CIDR dell'intervallo interno
  • REGION: la regione in cui creare la subnet

Creare un endpoint Private Service Connect

Crea un endpoint Private Service Connect nella subnet di migrazione del peer del consumer. Il consumatore ha bisogno dell'URI del collegamento al servizio per creare l'endpoint.

gcloud

  1. Prenota un indirizzo IP interno per l'endpoint.

    Utilizza il comando addresses create.

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

    Sostituisci quanto segue:

    • ENDPOINT_ADDRESS_NAME: un nome per la risorsa indirizzo IP
    • CONSUMER_PROJECT: l'ID del progetto consumer
    • REGION: la regione in cui creare l'indirizzo IP
    • ENDPOINT_ADDRESS: l'indirizzo IP da assegnare alla risorsa indirizzo IP. Deve essere lo stesso indirizzo IP utilizzato nel bilanciatore del carico del servizio
    • CONSUMER_SUBNET: il nome della sottorete del consumatore
  2. Crea l'endpoint.

    Utilizza il comando forwarding-rules create.

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

    Sostituisci quanto segue:

    • ENDPOINT: un nome per l'endpoint
    • REGION: la regione in cui creare l'endpoint
    • CONSUMER_NETWORK: il nome della rete del consumatore
    • ENDPOINT_ADDRESS: l'indirizzo IP riservato da assegnare all'endpoint. Puoi specificare l'indirizzo IP direttamente o utilizzare il nome della risorsa dell'indirizzo IP
    • SERVICE_ATTACHMENT_URI: l'URI del collegamento al servizio

Eliminare l'intervallo interno del produttore

Dopo aver creato la sottorete di migrazione dei consumatori, l'intervallo interno non è più necessario e può essere eliminato.

gcloud

Utilizza il comando internal-ranges delete.

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

Sostituisci quanto segue:

  • RANGE_NAME: il nome dell'intervallo interno
  • PRODUCER_PROJECT_ID: l'ID del progetto del produttore

Verificare il funzionamento dell'endpoint

Chiedi al consumatore di confermare di potersi connettere al servizio tramite l'endpoint.

Se l'endpoint non funziona e la risoluzione dei problemi non risolve il problema, puoi eseguire il rollback della migrazione.

Finalizzare la migrazione

Se l'endpoint funziona come previsto, puoi completare la migrazione aggiornando la sottorete di migrazione del peer del consumatore in una sottorete normale.

Aggiorna la subnet di migrazione dei peer del consumatore

L'aggiornamento della subnet di migrazione dei peer del consumatore a una subnet normale consente al consumatore di utilizzare la subnet per qualsiasi tipo di risorsa.

gcloud

Utilizza il comando networks subnets create.

gcloud compute networks subnets update CONSUMER_SUBNET \
    --purpose=PRIVATE \
    --region=REGION \
    --project=CONSUMER_PROJECT

Sostituisci quanto segue:

  • CONSUMER_SUBNET: il nome della sottorete del consumatore
  • REGION: la regione della subnet del consumatore
  • CONSUMER_PROJECT: l'ID del progetto consumer

Elimina le connessioni in peering

Se la connessione di peering non è più necessaria, elimina le configurazioni di peering sia per il consumatore sia per il produttore.

Esegui il rollback della migrazione

Puoi eseguire il rollback della migrazione solo se la sottorete del consumer non è ancora stata aggiornata a una sottorete normale. Se esegui il rollback, il servizio viene reso disponibile tramite il peering di rete VPC.

  1. Se esiste ancora, elimina l'intervallo interno nel progetto del produttore.
  2. Crea un intervallo interno nel progetto del consumatore. Durante il rollback, la sorgente della migrazione è la subnet del consumatore e la destinazione della migrazione è la subnet del produttore.

    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. Elimina l'endpoint Private Service Connect del consumer.

  4. Elimina la risorsa indirizzo IP del consumatore.

  5. Ricrea la subnet del produttore utilizzando lo stesso nome e lo stesso intervallo CIDR. Imposta lo scopo della sottorete su PRIVATE.

  6. Ricrea le risorse necessarie per fornire il servizio nella sottorete del produttore.

  7. Il consumatore convalida di poter accedere al servizio tramite la connessione di peering.