Un record di indirizzo DNS, chiamato 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 designare facoltativamente un'etichetta di servizio in modo che Google Cloud crea un DNS interno di Compute Engine univoco predefinito del bilanciatore del carico. Questo nome DNS interno è creato a partire dall'ID progetto, dal nome della regola di forwarding e da un'etichetta di servizio da te specificato.
Specifiche
Questa funzionalità è supportata dalle regole di forwarding per i seguenti bilanciatori del carico:
Per informazioni sul formato del record DNS, consulta Formato del record DNS il nome DNS creato da Google Cloud per il bilanciatore del carico. Poiché il nome DNS contiene il nome della regola di forwarding, ogni nome DNS è univoco anche se utilizzi la stessa etichetta di servizio per più regole di forwarding.
A meno che non venga fornito un server dei nomi alternativo configurate, le VM client regione nello stesso progetto e nella stessa rete VPC possa eseguire ricerche DNS per trovare il nome DNS interno del bilanciatore del carico. Per accedere del bilanciatore del carico, le VM client devono trovarsi nello stesso regione, a meno che l'accesso globale è disponibile e abilitato. Se abiliti l'accesso globale, un client in qualsiasi regione possono accedere al bilanciatore del carico.
Puoi specificare un'etichetta di servizio solo quando crei una regola di forwarding. Tu Impossibile aggiungere un'etichetta di servizio a una regola di forwarding esistente. Tuttavia, puoi sostituire una regola di forwarding esistente con una nuova con un dell'etichetta di servizio. La sostituzione può utilizzare lo stesso indirizzo Indirizzo IP come originale se elimini prima la regola di forwarding originale.
I nomi DNS interni creati dalle etichette di servizio hanno quanto segue restrizioni:
- Non vengono creati record inversi (PTR) corrispondenti.
- Ogni regola di forwarding può avere una sola etichetta di servizio.
- Non puoi modificare se non il nome dell'etichetta di servizio e della regola di forwarding
qualsiasi altra parte del nome DNS interno. Sono inclusi il formato e
nome di dominio (
.internal
).
Se hai bisogno di nomi DNS più flessibili per il bilanciatore del carico interno, puoi creare record personalizzati in un ambiente privato gestito di Cloud DNS zona di destinazione.
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 che utilizza uno dei seguenti 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:
SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal
SERVICE_LABEL è l'etichetta di servizio della regola di forwarding che hai specificare. Deve avere questo formato:
- Puoi utilizzare fino a 63 lettere minuscole (da
a
az
), numeri (da0
a9
) o trattini (-
). - L'etichetta del servizio deve iniziare con una lettera minuscola.
- L'etichetta del servizio deve terminare con una lettera minuscola o un numero.
FORWARDING_RULE_NAME è il nome della regola di forwarding che stai in fase di creazione.
REGION è la regione del bilanciatore del carico.
PROJECT_ID è il tuo progetto
ID.
Gli ID progetto nel 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
.
Creazione di una regola di forwarding con un'etichetta di servizio
Questa procedura mostra come creare una regola di forwarding con un'etichetta di servizio per un bilanciatore del carico di rete passthrough interno o un bilanciatore del carico delle applicazioni interno.
Questa procedura è incentrata solo su come creare una regola di forwarding con un dell'etichetta di servizio. Proprietà della configurazione backend del bilanciatore del carico e altre della sua configurazione frontend. Se non hai mai utilizzato bilanciatori del carico di rete passthrough interni o bilanciatori del carico delle applicazioni interni, consulta queste pagine per il completamento esempi:
- Configura un bilanciatore del carico di rete passthrough interno
Configura un bilanciatore del carico delle applicazioni interno
Console
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
- Fai clic su Crea bilanciatore del carico.
- Completa i passaggi della procedura guidata per creare un bilanciatore del carico di rete passthrough interno o un bilanciatore del carico delle applicazioni interno e fai clic su Configura.
- Specifica un nome per il bilanciatore del carico.
- Fai clic su Continua.
- Completa la configurazione del backend.
Fai clic su Configurazione frontend. Completa la configurazione frontend, specificando un'Etichetta di servizio nella parte inferiore di quella sezione.
- Fai clic su Fine, 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
Creare una regola di forwarding con un'etichetta di servizio per un protocollo HTTPS interno bilanciatore del carico:
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=443 \ --service-label=SERVICE_LABEL
Creare una regola di forwarding con un'etichetta di servizio per un carico HTTP interno bilanciatore del carico:
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 i valori appropriati:
- FORWARDING_RULE_NAME è il nome del bilanciatore del carico di una regola di forwarding.
- REGION è la regione del bilanciatore del carico.
- BACKEND_SERVICE_NAME è il nome del bilanciatore del carico di servizio di backend.
- TARGET_PROXY_NAME è il nome del proxy HTTPS di destinazione (per un bilanciatore del carico HTTPS interno) o il proxy HTTP di destinazione (per un del bilanciatore del carico di rete).
- NETWORK è il nome della rete VPC in cui viene creato un bilanciatore del carico.
- SUBNET è il nome di una subnet nella rete VPC. La subnet deve trovarsi nella stessa regione del servizio di backend del bilanciatore del carico o proxy di destinazione.
- INTERNAL_IP è un indirizzo IP interno nell'intervallo IP principale di
la subnet scelta. Puoi omettere il flag
--address
per avere Google Cloud sceglie per te un indirizzo IP disponibile. - Per i bilanciatori del carico di rete passthrough interni, PROTOCOL è
TCP
oUDP
, corrispondente al protocollo del servizio di backend del bilanciatore del carico. Per Application Load Balancer interni, il protocollo deve essereTCP
. - Per i bilanciatori del carico di rete passthrough interni, PORTS è un array composto da un massimo di
cinque porte per numero o la parola
ALL
. Per i bilanciatori del carico HTTPS interni, devi usare443
per la porta; per i bilanciatori del carico HTTP interni, utilizza80
o8080
per PORT. Vedi Porta specifiche nei concetti relativi alle regole di forwarding. - SERVICE_LABEL è l'etichetta di servizio che preferisci. Deve rispettare convenzioni di denominazione.
api
Gli esempi seguenti creano regole di forwarding utilizzando il metodo
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" }
Creare una regola di forwarding con un'etichetta di servizio per un protocollo HTTPS interno bilanciatore del carico:
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": 443, "serviceLabel": "SERVICE_LABEL" }
Creare una regola di forwarding con un'etichetta di servizio per un carico HTTP interno bilanciatore del carico:
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 i valori appropriati:
- FORWARDING_RULE_NAME è il nome del bilanciatore del carico di una regola di forwarding.
- REGION è la regione del bilanciatore del carico.
- BACKEND_SERVICE_NAME è il nome del bilanciatore del carico di rete passthrough interno di servizio di backend.
- TARGET_PROXY_NAME è il nome del proxy HTTPS di destinazione (per un bilanciatore del carico HTTPS interno) o il proxy HTTP di destinazione (per un del bilanciatore del carico di rete).
- NETWORK è il nome della rete VPC in cui viene creato un bilanciatore del carico.
- SUBNET è il nome di una subnet nella rete VPC. La subnet deve trovarsi nella stessa regione del servizio di backend del bilanciatore del carico o proxy di destinazione.
- INTERNAL_IP è un indirizzo IP interno nell'intervallo IP principale di
la subnet scelta. Puoi omettere la chiave
IPAddress
per avere Google Cloud sceglie per te un indirizzo IP disponibile. - Per i bilanciatori del carico di rete passthrough interni, PROTOCOL è
TCP
oUDP
, corrispondente al protocollo del servizio di backend del bilanciatore del carico. Per Application Load Balancer interni, il protocollo deve essereTCP
. - Per i bilanciatori del carico di rete passthrough interni, PORTS è un array composto da un massimo di
cinque porte per numero o la parola
ALL
. Per i bilanciatori del carico HTTPS interni, devi usare443
per la porta; per i bilanciatori del carico HTTP interni, utilizza80
o8080
per PORT. Vedi Porta specifiche nei concetti relativi alle regole di forwarding. - SERVICE_LABEL è l'etichetta di servizio che preferisci. Deve rispettare convenzioni di denominazione.
Visualizzazione delle etichette dei servizi
Console
Puoi visualizzare il nome DNS interno di Compute Engine (creato dalla etichetta di servizio) per ogni regola di forwarding interno di un carico interno bilanciatore del carico:
Nella console Google Cloud, vai alla pagina Bilanciamento del carico.
Fai clic sul nome del bilanciatore del carico interno per visualizzarne i dettagli .
Le regole di forwarding interno assegnate al bilanciatore del carico sono elencate in sezione Frontend. La colonna Nome DNS mostra la Nome DNS interno di Compute Engine assegnato a ogni di una regola di forwarding. L'etichetta del servizio è la prima parte di quel nome (prima del primo punto). Se non viene visualizzato alcun nome, la regola di forwarding non ha definita dall'etichetta di servizio.
gcloud
Elenca le regole di forwarding nel progetto utilizzate dai bilanciatori del carico di rete passthrough interni o dei bilanciatori del carico delle applicazioni interni. Individua quella che ti serve, prendi nota del suo nome e regione per il passaggio successivo.
gcloud compute forwarding-rules list \ --filter="loadBalancingScheme=SCHEME"
Il valore di SCHEME dipende dalle regole di forwarding di cui hai bisogno dall'elenco:
- Per i bilanciatori del carico di rete passthrough interni, utilizza
INTERNAL
. - Per i bilanciatori del carico delle applicazioni interni, utilizza
INTERNAL_MANAGED
.
- Per i bilanciatori del carico di rete passthrough interni, utilizza
Descrivi la regola di forwarding, sostituendo FORWARDING_RULE_NAME con il nome e REGION con la 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
forwardingRules.get
[method]
La risposta alla richiesta API include l'etichetta di servizio (serviceLabel
)
e nome DNS interno di Compute Engine (serviceName
).
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
Risposta TCP/UDP:
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal", ... }
Risposta HTTP(S):
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal", ... }
Esempio
La procedura seguente illustra come sostituire una regola di forwarding con una che ha un'etichetta di servizio. Questa procedura funziona sia per i bilanciatori del carico di rete passthrough interni dei bilanciatori del carico delle applicazioni interni.
Se non hai ancora creato una regola di forwarding per il bilanciatore del carico interno, ignora questo esempio e consulta l'articolo Creazione di una regola di forwarding con un servizio l'etichetta.
Descrivi la regola di forwarding esistente del bilanciatore del carico, annotando il forwarding indirizzo IP interno della regola:
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \ --region=REGION \ --format="get(IPAddress)"
Elimina la regola di forwarding:
gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Crea una regola di forwarding sostitutiva con lo stesso nome e lo stesso IP interno con un'etichetta di servizio. Consulta la sezione Creazione di una regola di forwarding con un etichetta di servizio per le indicazioni stradali.
Passaggi successivi
- Ad esempio sulle configurazioni del bilanciatore del carico interno, consulta Impostare un bilanciatore del carico di rete passthrough interno e configurare un bilanciatore del carico delle applicazioni interno.
- Per informazioni sulla configurazione di Logging e Monitoraggio per i bilanciatori del carico di rete passthrough interni, consulta Logging del bilanciatore del carico di rete passthrough interno e monitoraggio
- Per informazioni su come risolvere i problemi relativi al bilanciatore del carico di rete passthrough interno, consulta Risoluzione dei problemi bilanciatori del carico di rete passthrough interni.