Subnet solo proxy per bilanciatori del carico basati su Envoy

Questa pagina descrive come utilizzare le subnet solo proxy utilizzate dal carico basato su Envoy bilanciatori del carico e bilanciatori del carico. Una subnet solo proxy fornisce un pool di indirizzi IP riservati esclusivamente per i proxy Envoy utilizzati dai bilanciatori del carico Google Cloud. Non può essere utilizzati per altri scopi.

I proxy terminano le connessioni in entrata e quindi valutano dove deve essere eseguita in base alla mappa URL, all'affinità sessione del servizio di backend, la modalità di bilanciamento di ciascun gruppo di istanza di backend o NEG e altri fattori.

  1. Un client stabilisce una connessione all'indirizzo IP e alla porta del bilanciatore del carico di una regola di forwarding.

  2. Ciascun proxy rimane in ascolto sull'indirizzo IP e sulla porta specificati dal la regola di forwarding del bilanciatore del carico. Uno dei proxy riceve e termina connessione di rete del client.

  3. Il proxy stabilisce una connessione alla VM o all'endpoint di backend appropriati in un NEG, come determinato dalla mappa URL e dai servizi di backend del bilanciatore del carico.

A ogni proxy del bilanciatore del carico viene assegnato un indirizzo IP interno. Pacchetti inviati da un proxy a una VM o a un endpoint di backend abbiano un indirizzo IP di origine una subnet solo proxy.

La subnet solo proxy non può essere utilizzata per altri scopi. L'indirizzo IP di la regola di forwarding del bilanciatore del carico non proviene dalla subnet solo proxy. Inoltre, gli indirizzi IP delle VM e degli endpoint di backend non provengono una subnet solo proxy.

Bilanciatori del carico supportati

I seguenti bilanciatori del carico basati su Envoy richiedono subnet solo proxy:

In che modo le subnet solo proxy si adattano all'architettura del bilanciatore del carico

Il seguente diagramma mostra le risorse Google Cloud necessarie per un bilanciatore del carico delle applicazioni interno regionale.

Componenti numerati del bilanciatore del carico delle applicazioni interno regionale.
Componenti numerati del bilanciatore del carico delle applicazioni interno regionale (fai clic per ingrandire).

Come mostrato nei diagrammi, il deployment di un bilanciatore del carico basato su Envoy richiede almeno due subnet:

  • Le VM e gli endpoint di backend del bilanciatore del carico utilizzano una singola subnet il cui intervallo di indirizzi IP principali è 10.1.2.0/24 (in questo esempio). Questa subnet non è solo una subnet proxy. Puoi utilizzare più applicazioni per le VM e gli endpoint di backend, se le subnet si trovano nelle stesse come bilanciatore del carico. Per i bilanciatori del carico delle applicazioni interni, l'indirizzo IP del bilanciatore associato alla regola di forwarding può anche essere in questa subnet (ma non è obbligatorio).
  • La subnet solo proxy è 10.129.0.0/23 (in questo esempio).

Suggerimenti per le dimensioni delle subnet solo proxy

Una subnet solo proxy deve fornire almeno 64 indirizzi IP. Ciò corrisponde a un lunghezza del prefisso pari o inferiore a /26. Ti consigliamo di iniziare con una configurazione subnet con un prefisso /23 (512 indirizzi solo proxy) e modifica il dimensioni in base alle esigenze di modifica del traffico.

I proxy vengono allocati a livello di VPC, non di bilanciatore del carico livello. Devi creare una subnet solo proxy in ogni regione di un Rete VPC in cui viene utilizzato il carico basato su Envoy bilanciatori del carico. Se esegui il deployment di più bilanciatori del carico nella stessa regione e la stessa rete VPC, condividono la stessa subnet solo proxy il bilanciamento del carico.

I bilanciatori del carico basati su Envoy scalano automaticamente il numero di proxy disponibili per gestire il traffico in base alle tue esigenze di traffico. Il proxy il costo delle istanze si basa sul numero di istanze proxy necessarie per soddisfare per soddisfare le tue esigenze di traffico. Ogni proxy aggiuntivo comporta un addebito orario aggiuntivo in base ai prezzi indicati nella tabella dei prezzi.

Il numero di proxy allocati al bilanciatore del carico viene calcolato in base a la capacità misurata necessaria per gestire il traffico in un periodo di 10 minuti punto. Durante questo periodo, osserviamo il numero maggiore tra:

  • Il numero di proxy necessari per gestire la larghezza di banda del traffico le tue esigenze. Ogni istanza proxy può gestire fino a 18 MB al secondo. Me di controllare la larghezza di banda totale richiesta dividere il totale per la larghezza di banda che un'istanza proxy può supportare.
  • Il numero di proxy necessari per gestire le connessioni richieste. Contiamo il totale di ognuna delle seguenti risorse e dividi ogni valore per ciò che un'istanza proxy può gestire:
    • 600 (HTTP) o 150 (HTTPS) nuove connessioni al secondo
    • 3000 connessioni attive
    • 1400 richieste al secondo*

* Un'istanza proxy può gestire 1400 richieste al secondo se Cloud Logging è disabilitato. Se abiliti Logging, i tuoi un'istanza proxy può gestire meno richieste al secondo. Per esempio: il logging del 100% delle richieste riduce la gestione delle richieste del proxy con una capacità di 700 richieste al secondo. Puoi impostare Logging su campionare una percentuale minore di traffico. Questo ti consente di soddisfare le tue esigenze di osservabilità controllando al contempo i costi.

Per un esempio dettagliato di come vengono fatturate le subnet solo proxy, consulta Istanza proxy di fatturazione in Cloud Load Balancing documentazione sui prezzi.

Crea una subnet solo proxy

Devi creare subnet solo proxy per i bilanciatori del carico basati su Envoy indipendentemente indipendentemente dal fatto che la rete sia in modalità automatica o personalizzata. La creazione di una subnet solo proxy è essenzialmente la stessa procedura della creazione di qualsiasi subnet, fatta eccezione per l'aggiunta di alcuni flag.

Per una subnet solo proxy, --purpose deve essere impostato su REGIONAL_MANAGED_PROXY o GLOBAL_MANAGED_PROXY, a seconda del carico Google Cloud.

Non puoi riutilizzare una subnet esistente come subnet solo proxy. tu deve creare una nuova subnet in ogni regione che ha un bilanciatore del carico basato su Envoy. In parte ciò è dovuto al fatto che subnets update comando non consente modificando il campo --purpose di una subnet.

Devi creare una subnet solo proxy che verrà utilizzata dai bilanciatori del carico proxy, prima di creare regole di forwarding per i bilanciatori del carico a livello di regione. Se provi a configurare un bilanciatore del carico senza prima creare una subnet solo proxy per regione, il processo di creazione del bilanciatore del carico ha esito negativo.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.
    Vai alla pagina Reti VPC
  2. Fai clic sul nome della rete VPC condiviso a cui vuoi aggiungere una subnet solo proxy.
  3. Fai clic su Aggiungi subnet.
  4. Inserisci un Nome.
  5. Seleziona una regione.
  6. Imposta Scopo su una delle seguenti opzioni:
      .
    • Per bilanciatori del carico a livello di regione: proxy gestito a livello di regione
    • Per i bilanciatori del carico tra regioni: proxy gestito tra regioni
    • Inserisci un intervallo di indirizzi IP.
    • Fai clic su Aggiungi.

gcloud

Le subnet gcloud compute networks crea crea una subnet solo proxy.

gcloud compute networks subnets create SUBNET_NAME \
    --purpose=SUBNET_PURPOSE \
    --role=ACTIVE \
    --region=REGION \
    --network=VPC_NETWORK_NAME \
    --range=CIDR_RANGE

I campi sono definiti come segue:

  • SUBNET_NAME è il nome della subnet solo proxy.
  • SUBNET_PURPOSE è lo scopo della subnet. Impostalo su una volta REGIONAL_MANAGED_PROXY o GLOBAL_MANAGED_PROXY, a seconda di del bilanciatore del carico.
  • REGION è la regione della subnet solo proxy.
  • VPC_NETWORK_NAME è il nome della rete VPC che contiene la subnet.
  • CIDR_RANGE è l'intervallo di indirizzi IP principali della subnet. Devi utilizzare un parametro subnet mask non più lungo di 26, in modo che vengano disponibili per i proxy nella regione. La lunghezza consigliata per la subnet mask è /23.

Per un esempio di configurazione completo, consulta Configurazione del proxy solo subnet.

Devi configurare una regola firewall per consentire ai backend di accettare le connessioni da solo per la subnet proxy. Per un esempio di configurazione completo, incluso il firewall dell'impostazione delle regole, consulta quanto segue:

Disponibilità proxy

A volte le regioni di Google Cloud non hanno una capacità proxy sufficiente per un nuovo bilanciatore del carico. In questo caso, la console Google Cloud fornisce quando crei il bilanciatore del carico. A risolvere il problema, puoi procedere in uno dei seguenti modi:

  • Seleziona una regione diversa per il bilanciatore del carico. Questo può essere un esempio se hai backend in un'altra regione.
  • Seleziona una rete VPC in cui è già allocata una subnet solo proxy.
  • Attendi che il problema relativo alla capacità venga risolto.

Modifica la dimensione o l'intervallo di indirizzi di una subnet solo proxy

Quando la quantità di traffico gestito dal bilanciatore del carico aumenta, potresti ma devi aumentare le dimensioni della subnet solo proxy per consentire un Proxy Envoy da assegnare al tuo bilanciatore del carico.

Non puoi espandere una subnet solo proxy come faresti per una intervallo di indirizzi principali (con il parametro expand-ip-range ). Devi invece una subnet solo proxy di backup che soddisfi le tue esigenze e poi promuovila al ruolo attivo. Questo perché può essere attiva una sola subnet solo proxy per regione e per rete VPC e dato che puoi espandere dall'intervallo di indirizzi IP principali della subnet.

Il passaggio di una subnet solo proxy da backup ad attiva non interrompe le nuove connessioni:

  • La subnet solo proxy appena attivata viene utilizzata per le nuove connessioni.
  • La subnet solo proxy attiva in precedenza (ora di backup) non viene più utilizzata nuove connessioni.
  • Google Cloud inizia a svuotare le connessioni esistenti dai proxy nel una subnet solo proxy attiva in precedenza (ora di backup).

Puoi creare una sola subnet solo proxy attiva e una di backup per regione, per rete VPC.

Console

  1. Crea una subnet solo proxy di backup nella stessa regione, specificando un di indirizzi IP principali che soddisfa le tue esigenze

    1. Nella console Google Cloud, vai alla pagina Reti VPC.
      Vai alla pagina Reti VPC
    2. Fai clic sul nome della rete VPC condiviso a cui vuoi aggiungere una subnet solo proxy.
    3. Fai clic su Aggiungi subnet.
    4. Inserisci un Nome.
    5. Seleziona una regione.
    6. Imposta Scopo su una delle seguenti opzioni:
        .
      • Per bilanciatori del carico a livello di regione: proxy gestito a livello di regione
      • Per i bilanciatori del carico tra regioni: proxy gestito tra regioni
      • Come Ruolo, seleziona Backup.
      • Inserisci un intervallo di indirizzi IP.
      • Fai clic su Aggiungi.
  2. Crea o modifica le regole firewall di autorizzazione in entrata applicabili alle VM o agli endpoint di backend in modo che includano nell'intervallo di indirizzi IP principali della subnet solo proxy di backup.

  3. Promuovi la subnet solo proxy di backup al ruolo attivo. Questa azione anche la subnet solo proxy attiva in precedenza viene retrocessa ruolo di backup:

    1. Nella console Google Cloud, vai alla pagina Reti VPC.
      Vai alla pagina Reti VPC
    2. Fai clic sul nome della rete VPC condiviso che vuoi modificare.
    3. In Subnet solo proxy riservate per il bilanciamento del carico, individua la una subnet di backup creata nel passaggio precedente.
    4. Fai clic su Attiva.
    5. Specifica un timeout per lo svuotamento facoltativo.
    6. Fai clic su Attiva la subnet.
  4. Dopo il timeout per lo svuotamento della connessione o dopo aver verificato che le connessioni alle VM o agli endpoint di backend non provengono nella subnet solo proxy attiva in precedenza (ora di backup), puoi farlo le seguenti:

    • Modifica le regole firewall di autorizzazione in entrata che si applicano alle VM di backend o in modo che non includano l'intervallo di indirizzi IP principali una subnet solo proxy attiva in precedenza (ora di backup).
    • Elimina l'elemento precedentemente attivo (ora di backup) solo proxy per rilasciare gli indirizzi IP utilizzata per l'intervallo di indirizzi IP principali.

gcloud

I passaggi seguenti presuppongono che esista già un solo proxy attivo una subnet.

  1. Crea una subnet solo proxy di backup nella stessa regione, specificando un che soddisfa le tue esigenze utilizzando lo strumento gcloud compute le subnet di rete creano con il flag --role=BACKUP.

    gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \
       --purpose=SUBNET_PURPOSE \
       --role=BACKUP \
       --region=REGION \
       --network=VPC_NETWORK_NAME \
       --range=BACKUP_PROXY_ONLY_SUBNET_RANGE
    

    Sostituisci quanto segue:

    • BACKUP_PROXY_ONLY_SUBNET_NAME: il nome del subnet solo proxy di backup appena creata
    • SUBNET_PURPOSE: lo scopo dell'account di servizio appena creato subnet solo proxy di backup
    • REGION: la regione del backup appena creato una subnet solo proxy. Deve essere la stessa regione dell'asset attuale una subnet solo proxy.
    • REGION: la rete del backup appena creato una subnet solo proxy. Deve essere la stessa rete di quella attuale una subnet solo proxy attiva.
    • BACKUP_PROXY_ONLY_SUBNET_RANGE: l'intervallo CIDR di la subnet solo proxy di backup appena creata
  2. Crea o modifica le regole firewall di autorizzazione in entrata che si applicano al tuo backend VM o endpoint in modo che ora includano l'intervallo di indirizzi IP principali solo la subnet solo proxy di backup. La regola firewall dovrebbe già essere che accetti connessioni dalla subnet attiva.

    gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
    

    Sostituisci quanto segue:

    • PROXY_ONLY_SUBNET_FIREWALL_RULE: il nome del una regola firewall che consente al traffico dalla subnet solo proxy di raggiungere le tue istanze di backend o gli endpoint
    • ACTIVE_PROXY_ONLY_SUBNET_RANGE: l'intervallo CIDR di la subnet solo proxy attiva attuale
  3. Aggiorna la nuova subnet impostandola come ACTIVE subnet solo proxy in regione e attendere lo svuotamento della subnet precedente. Questa operazione fa retrocedere una subnet solo proxy attiva in precedenza al ruolo di backup.

    Per svuotare immediatamente un intervallo di indirizzi IP, imposta --drain-timeout su 0s. In questo modo, tutte le connessioni ai proxy a cui sono assegnati indirizzi vengono terminate immediatamente nella subnet in fase di svuotamento.

    gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \
       --region=REGION \
       --role=ACTIVE \
       --drain-timeout=CONNECTION_DRAINING_TIMEOUT
    

    Sostituisci quanto segue:

    • CONNECTION_DRAINING_TIMEOUT: la quantità di tempo in usati da Google Cloud per migrare le connessioni esistenti da proxy nella subnet solo proxy attiva in precedenza
  4. Monitora lo stato dello svuotamento utilizzando un comando list o describe. Lo stato della subnet è DRAINING durante lo svuotamento.

    gcloud compute networks subnets list
    

    Attendi il completamento dello svuotamento. Quando la subnet solo proxy precedente viene svuotata, lo stato della subnet è READY.

  5. Aggiorna la regola firewall di subnet solo proxy per consentire solo connessioni da la nuova subnet.

    gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \
      --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
    
  6. Dopo aver verificato che le connessioni alle VM o agli endpoint di backend non provengono da proxy nella piattaforma precedentemente attiva (ora di backup) una subnet solo proxy, puoi eliminare la subnet precedente.

    gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \
      --region=REGION
    

Esegui la migrazione dello scopo di una subnet solo proxy

Se in precedenza hai creato una subnet solo proxy con --purpose=INTERNAL_HTTPS_LOAD_BALANCER, dovrai eseguire la migrazione della subnet lo scopo di REGIONAL_MANAGED_PROXY prima di poter creare altri carichi basati su Envoy nella stessa regione della rete VPC.

Console

Se utilizzi la console Google Cloud per creare il bilanciatore del carico, verrà chiesto di eseguire la migrazione dello scopo di un'istanza una subnet da --purpose=INTERNAL_HTTPS_LOAD_BALANCER a REGIONAL_MANAGED_PROXY durante la creazione del bilanciatore del carico.

gcloud

Per modificare lo scopo di una subnet solo proxy esistente da Da --purpose=INTERNAL_HTTPS_LOAD_BALANCER a REGIONAL_MANAGED_PROXY, usa questo comando:

gcloud compute networks subnets update PROXY_ONLY_SUBNET \
    --purpose=REGIONAL_MANAGED_PROXY \
    --region=REGION

Migrazione dello scopo di una subnet solo proxy da Da --purpose=INTERNAL_HTTPS_LOAD_BALANCER a REGIONAL_MANAGED_PROXY non causare tempi di inattività. La modifica dovrebbe essere applicata quasi istantaneamente.

Elimina una subnet solo proxy

Se elimini una subnet solo proxy, viene rilasciato l'intervallo di indirizzi IP principali, e useremo l'intervallo per un altro scopo. Google Cloud applica quanto segue quando riceve una richiesta di eliminazione di una subnet solo proxy:

  • Impossibile eliminare una subnet solo proxy attiva se ne esiste almeno una bilanciatore del carico a livello di regione nella stessa regione e nello stesso VPC in ogni rete.

  • Impossibile eliminare una subnet solo proxy attiva se è presente un backup una subnet solo proxy nella stessa regione e nella stessa rete VPC.

    Se provi a eliminare una subnet solo proxy attiva prima di eliminare il backup, Viene visualizzato il seguente messaggio di errore: "Utilizzo delle risorse non valido: impossibile eliminare Subnet ATTIVA perché esiste una subnet BACKUP."

In pratica, queste regole hanno il seguente effetto:

  • Se in una determinata regione non è definito alcun bilanciatore del carico rete VPC, puoi eliminare le subnet solo proxy in questo regione. Se esiste una subnet solo proxy di backup, devi prima eliminarla prima puoi eliminare la subnet solo proxy attiva.

  • Se hai almeno un bilanciatore del carico regionale definito in un regione e rete VPC, non puoi eliminare solo il proxy una subnet Tuttavia, puoi promuovere una subnet solo proxy di backup all'istanza che retrocede automaticamente la subnet solo proxy attiva in precedenza a il ruolo di backup. Dopo lo svuotamento delle connessioni, puoi eliminare una subnet solo proxy di backup (precedentemente attiva).

Fai riferimento all'eliminazione di subnet nel documentazione della rete VPC per ulteriori informazioni.

Limitazioni

I seguenti vincoli si applicano alle subnet solo proxy:

  • Non puoi avere sia un INTERNAL_HTTPS_LOAD_BALANCER sia un Subnet REGIONAL_MANAGED_PROXY nella stessa rete e nella stessa regione, nello stesso non è possibile avere due proxy REGIONAL_MANAGED_PROXY o due INTERNAL_HTTPS_LOAD_BALANCER proxy.

  • Puoi creare una sola subnet solo proxy attiva e una di backup in ogni regione in ogni rete VPC.

  • Non puoi creare una subnet solo proxy di backup a meno che non sia già stata creata su una subnet solo proxy attiva in quella regione e rete.

  • Puoi modificare il ruolo di una subnet solo proxy da backup ad attiva aggiornare la subnet. Se lo fai, Google Cloud esegue automaticamente modifica la subnet solo proxy attiva in precedenza in backup. Non puoi impostare in modo esplicito il ruolo di una subnet solo proxy per il backup mediante l'aggiornamento.

  • Durante un periodo di svuotamento della connessione di una subnet solo proxy (--drain-timeout), non puoi modificare il ruolo di una subnet solo proxy da backup ad attivo.

  • Google Cloud non ti avvisa se la subnet solo proxy esaurisce l'IP indirizzi IP esterni. Tuttavia, puoi configurare Monitoring per monitorare Utilizzo dell'indirizzo IP della subnet solo proxy. Puoi definire la gestione degli avvisi norme di configurare un avviso per loadbalancing.googleapis.com/subnet/proxy_only/addresses.

  • Le subnet solo proxy non supportano Log di flusso VPC.

Passaggi successivi