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

Questo documento descrive come i produttori di servizi possono migrare i propri servizi basati sul 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 vengano migrate contemporaneamente.

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

Ogni producer di servizi determina 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, consulta 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, implementa le risorse del 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 è necessario in un secondo momento per creare l'endpoint.

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

Arresta il servizio basato sul peering

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

Crea un intervallo interno

Prima di eliminare la subnet del producer, crea un intervallo interno per impedire il riutilizzo dell'intervallo di indirizzi IP della subnet da parte di altre subnet nella rete del producer o del consumer.

Per ulteriori informazioni su questo intervallo interno, vedi 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 subnet 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 forwarding, gruppi di istanze, controlli di integrità e indirizzi IP riservati. Dopo aver eliminato le risorse, puoi eliminare la subnet.

Creare risorse consumer

Collabora con il consumer 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 service agent.

Crea una subnet di migrazione 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 l'utilizzo della subnet per risorse diverse dagli endpoint Private Service Connect.

Per saperne di più, consulta Subnet di migrazione peer.

Console

  1. Nella console Google Cloud , vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.

  3. Fai clic sulla scheda Subnet.

  4. Fai clic su Aggiungi subnet. Nel riquadro visualizzato:

    1. Fornisci un nome.
    2. Seleziona una regione.
    3. Nella sezione Scopo, seleziona Migrazione peer.
    4. In Tipo di stack IP, seleziona IPv4 (stack singolo).
    5. Inserisci l'intervallo di indirizzi IPv4 da allocare alla nuova subnet. Questo intervallo deve corrispondere all'intervallo CIDR dell'intervallo interno.

      Se selezioni un intervallo che non è un indirizzo RFC 1918, verifica che l'intervallo non sia in conflitto con una configurazione esistente. Per saperne di più, vedi Intervalli di subnet IPv4.

  5. Fai clic su Aggiungi.

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 subnet consumer
  • CONSUMER_PROJECT: l'ID del progetto consumer
  • CONSUMER_NETWORK: il nome della rete consumer
  • 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

Crea un endpoint Private Service Connect

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

Console

  1. Nella console Google Cloud , vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Endpoint connessi.

  3. Fai clic su Connetti endpoint.

  4. In Destinazione, seleziona Servizio pubblicato.

  5. Per Servizio di destinazione, inserisci l'URI del collegamento al servizio a cui vuoi connetterti.

    L'URI del collegamento al servizio ha questo formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. In Nome endpoint, inserisci un nome da utilizzare per l'endpoint.

  7. In Rete, seleziona la rete VPC consumer per l'endpoint.

  8. In Subnet, seleziona la subnet di migrazione peer consumer.

  9. Per prenotare un indirizzo IP per l'endpoint:

    1. Fai clic sul menu a discesa Indirizzo IP e seleziona Crea indirizzo IP.
    2. Inserisci un nome e, facoltativamente, una descrizione per l'indirizzo IP.
    3. Fai clic su Indirizzo IP statico e seleziona Scelta manuale.
    4. Inserisci l'indirizzo IP personalizzato da prenotare. Questo indirizzo IP deve essere lo stesso utilizzato nel bilanciatore del carico del servizio.
    5. Fai clic su Prenota.
  10. Fai clic su Aggiungi 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 dell'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; questo indirizzo deve essere lo stesso indirizzo IP utilizzato nel bilanciatore del carico del servizio
    • CONSUMER_SUBNET: il nome della subnet di migrazione peer consumer
  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 consumer
    • 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

Elimina l'intervallo interno del produttore

Dopo aver creato la subnet di migrazione consumer, 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 producer

Verifica che l'endpoint funzioni

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 finalizzare la migrazione aggiornando la subnet di migrazione peer del consumer a una subnet normale.

Aggiorna la subnet di migrazione peer del consumatore

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

Console

  1. Nella console Google Cloud , vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.

  3. Fai clic sulla scheda Subnet.

  4. Fai clic sul nome della subnet da aggiornare.

  5. Fai clic su Modifica.

  6. Nella sezione Scopo, seleziona Privato.

  7. Fai clic su Salva.

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 subnet consumer
  • REGION: la regione della subnet consumer
  • 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 che per il producer.

Esegui il rollback della migrazione

Puoi eseguire il rollback della migrazione solo se la subnet consumer non è ancora stata aggiornata a una subnet 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 consumer. Durante il rollback, l'origine della migrazione è la subnet consumer e la destinazione della migrazione è la subnet producer.

    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 dell'indirizzo IP del consumatore.

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

  6. Ricrea le risorse necessarie per fornire il servizio nella subnet del producer.

  7. Il consumer verifica di poter accedere al servizio tramite la connessione di peering.