Bilanciamento del carico interno e nomi DNS

Un record di indirizzo DNS, noto come record A, viene utilizzato per mappare un nome DNS a un indirizzo IP. Quando crei la regola di forwarding per un bilanciatore del carico interno, puoi facoltativamente designare un'etichetta di servizio in modo che Google Cloud crei un nome DNS interno di Compute Engine univoco per il bilanciatore del carico. Questo nome DNS interno viene creato a partire dall'ID progetto, dal nome della regola di forwarding e da un'etichetta di servizio che specifichi.

Specifiche

Formato del record DNS

Quando aggiungi un'etichetta di servizio a una regola di forwarding, Google Cloud crea un record A DNS interno di Compute Engine utilizzando uno di questi formati:

  • Per i bilanciatori del carico di rete passthrough interni:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.internal

  • Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal

SERVICE_LABEL è l'etichetta di servizio della regola di forwarding che specifichi. Deve rispettare questo formato:

  • Puoi utilizzare fino a 63 lettere minuscole (a - z), numeri (0 - 9) o trattini (-).
  • L'etichetta di servizio deve iniziare con una lettera minuscola.
  • L'etichetta di servizio deve terminare con una lettera minuscola o un numero.

FORWARDING_RULE_NAME è il nome della regola di forwarding che stai creando.

REGION è la regione del bilanciatore del carico.

PROJECT_ID è il tuo ID progetto. Gli ID progetto con il formato organization:project-id vengono convertiti in project-id.organization. Ad esempio, se l'ID progetto è example.com:example-marketing-prod, Google Cloud utilizza example-marketing-prod.example.com.

Creare una regola di forwarding con un'etichetta di servizio

Questa procedura mostra come creare una regola di forwarding con un'etichetta di servizio.

Questa procedura si concentra solo su come creare una regola di forwarding con un'etichetta di servizio. Le proprietà della configurazione del backend del bilanciatore del carico e altre proprietà della configurazione del frontend vengono omesse. Se non hai familiarità con i bilanciatori del carico di rete passthrough interni, i bilanciatori del carico delle applicazioni interni regionali o i bilanciatori del carico di rete proxy interni regionali, consulta queste pagine per esempi completi:

Console

  1. Nella Google Cloud console, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic su Crea bilanciatore del carico.
  3. Completa i passaggi della procedura guidata per creare un bilanciatore del carico di rete passthrough interno o un bilanciatore del carico delle applicazioni interno regionale e fai clic su Configura.
  4. Specifica un nome per il bilanciatore del carico.
  5. Fai clic su Continua.
  6. Completa la Configurazione backend.
  7. Fai clic su Configurazione frontend. Completa la configurazione del frontend, specificando un'etichetta di servizio nella parte inferiore della sezione.

  8. Fai clic su Fine e poi su Esamina e finalizza.

gcloud

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico di rete passthrough interno:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL \
    --region=REGION \
    --backend-service-region=REGION \
    --backend-service=BACKEND_SERVICE_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=PROTOCOL \
    --ports=PORTS \
    --service-label=SERVICE_LABEL

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico di rete proxy interno regionale:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-tcp-proxy-region=REGION \
    --target-tcp-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico delle applicazioni interno regionale con HTTPS:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-https-proxy-region=REGION \
    --target-https-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico delle applicazioni interno regionale con HTTP:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-http-proxy-region=REGION \
    --target-http-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

Sostituisci i segnaposto con valori appropriati:

  • FORWARDING_RULE_NAME è il nome della regola di forwarding del bilanciatore del carico.
  • REGION è la regione del bilanciatore del carico.
  • BACKEND_SERVICE_NAME è il nome del servizio di backend del bilanciatore del carico.
  • TARGET_PROXY_NAME è il nome del proxy di destinazione.
  • NETWORK è il nome della rete VPC in cui viene creato il bilanciatore del carico.
  • SUBNET è il nome di una subnet nella rete VPC. La subnet deve trovarsi nella stessa regione del servizio di backend o del proxy di destinazione del bilanciatore del carico.
  • INTERNAL_IP è un indirizzo IP interno nell'intervallo IP principale di la subnet scelta. Puoi omettere il flag --address per consentire di scegliere un indirizzo IP disponibile.Google Cloud
  • Per i bilanciatori del carico di rete passthrough interni, PROTOCOL è TCP o UDP, a seconda del protocollo del servizio di backend del bilanciatore del carico. Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali, il protocollo deve essere TCP.
  • Per i bilanciatori del carico di rete passthrough interni, PORTS è un array di un massimo di cinque porte per numero o la parola ALL. Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali, puoi fare riferimento a una sola porta compresa tra 1 e 65535. Per maggiori dettagli, consulta Specifiche delle porte nei concetti delle regole di forwarding.
  • SERVICE_LABEL è l'etichetta di servizio scelta. Deve rispettare le convenzioni di denominazione.

api

Gli esempi seguenti creano regole di forwarding utilizzando il forwardingRules.insert metodo

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico di rete passthrough interno:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL",
  "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/backendServices/BACKEND_SERVICE_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "PROTOCOL",
  "ports": PORTS,
  "serviceLabel": "SERVICE_LABEL"
}

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico di rete proxy interno regionale:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetTcpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico delle applicazioni interno regionale con HTTPS:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpsProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Per creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico delle applicazioni interno regionale con HTTP:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

Sostituisci i segnaposto con valori appropriati:

  • FORWARDING_RULE_NAME è il nome della regola di forwarding del bilanciatore del carico.
  • REGION è la regione del bilanciatore del carico.
  • BACKEND_SERVICE_NAME è il nome del servizio di backend del bilanciatore del carico di rete passthrough interno.
  • TARGET_PROXY_NAME è il nome del proxy di destinazione.
  • NETWORK è il nome della rete VPC in cui viene creato il bilanciatore del carico.
  • SUBNET è il nome di una subnet nella rete VPC. La subnet deve trovarsi nella stessa regione del servizio di backend o del proxy di destinazione del bilanciatore del carico.
  • INTERNAL_IP è un indirizzo IP interno nell'intervallo IP principale di la subnet scelta. Puoi omettere la chiave IPAddress per consentire Google Cloud di scegliere un indirizzo IP disponibile.
  • Per i bilanciatori del carico di rete passthrough interni, PROTOCOL è TCP o UDP, a seconda del protocollo del servizio di backend del bilanciatore del carico. Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali, il protocollo deve essere TCP.
  • Per i bilanciatori del carico di rete passthrough interni, PORTS è un array di un massimo di cinque porte per numero o la parola ALL. Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali, puoi fare riferimento a una sola porta compresa tra 1 e 65535. Per maggiori dettagli, consulta Specifiche delle porte nei concetti delle regole di forwarding.
  • SERVICE_LABEL è l'etichetta di servizio scelta. Deve rispettare le convenzioni di denominazione.

Visualizzare le etichette di servizio

Console

Puoi visualizzare il nome DNS interno di Compute Engine (creato dall'etichetta di servizio) per ogni regola di forwarding interna di un bilanciatore del carico interno:

  1. Nella Google Cloud console, vai alla pagina Bilanciamento del carico.

    Vai a Bilanciamento del carico

  2. Fai clic sul nome del bilanciatore del carico interno per visualizzare la pagina dei dettagli.

  3. Le regole di forwarding interne assegnate al bilanciatore del carico sono elencate nella sezione Frontend. La colonna Nome DNS mostra il nome DNS interno di Compute Engine assegnato a ogni regola di forwarding. L'etichetta di servizio è la prima parte del nome (prima del primo punto). Se non viene visualizzato alcun nome, la regola di forwarding non ha un'etichetta di servizio definita.

gcloud

  1. Elenca le regole di forwarding nel tuo progetto utilizzate dai bilanciatori del carico di rete passthrough interni o dai bilanciatori del carico delle applicazioni interni regionali. Individua quella di cui hai bisogno e prendi nota del nome e della regione per il passaggio successivo.

    gcloud compute forwarding-rules list \
        --filter="loadBalancingScheme=SCHEME"
    

    Il valore di SCHEME dipende dalle regole di forwarding che devi elencare:

    • Per i bilanciatori del carico di rete passthrough interni, utilizza INTERNAL.
    • Per i bilanciatori del carico delle applicazioni interni regionali e i bilanciatori del carico di rete proxy interni regionali, utilizza INTERNAL_MANAGED.
  2. Descrivi la regola di forwarding, sostituendo FORWARDING_RULE_NAME con il relativo nome e REGION con la relativa regione:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(serviceLabel)"
    

api

Visualizza la regola di forwarding e l'etichetta di servizio con il forwardingRules.get metodo

La risposta alla richiesta API include l'etichetta di servizio (serviceLabel) e il nome DNS interno di Compute Engine (serviceName).

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME

Risposta del bilanciatore del carico di rete passthrough interno:

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal",
  ...
}

Risposta del bilanciatore del carico di rete proxy interno regionale e del bilanciatore del carico delle applicazioni interno regionale:

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal",
  ...
}

Esempio

La procedura seguente mostra come sostituire una regola di forwarding con una che ha un'etichetta di servizio. Questa procedura funziona per tutti i bilanciatori del carico supportati.

Se non hai ancora creato una regola di forwarding per il bilanciatore del carico interno, salta questo esempio e consulta invece Creare una regola di forwarding con un'etichetta di servizio invece.

  1. Descrivi la regola di forwarding esistente del bilanciatore del carico, annotando l'indirizzo IP interno della regola di forwarding:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(IPAddress)"
    
  2. Elimina la regola di forwarding:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
        --region=REGION
    
  3. Crea una regola di forwarding sostitutiva con lo stesso nome e lo stesso indirizzo IP interno con un'etichetta di servizio. Per le istruzioni, consulta Creare una regola di forwarding con un' etichetta di servizio.

Passaggi successivi