Pubblicare servizi utilizzando Private Service Connect
In qualità di producer di servizi, puoi utilizzare Private Service Connect per pubblicare servizi utilizzando indirizzi IP interni nella tua rete VPC. I servizi pubblicati sono accessibili ai consumer di servizi utilizzando indirizzi IP interni nelle reti VPC consumer.
Questa guida descrive come utilizzare Private Service Connect per pubblicare un servizio. Per pubblicare un servizio:
- Crea un servizio di destinazione, che può essere uno dei seguenti:
- La regola di forwarding di un bilanciatore del carico supportato con una configurazione supportata
- Un'istanza di Secure Web Proxy
- Crea un collegamento di servizio che rimanda al servizio di destinazione.
Private Service Connect offre due metodi per connettersi ai servizi pubblicati:
Questi tipi di endpoint richiedono configurazioni del produttore leggermente diverse. Per saperne di più, consulta Funzionalità e compatibilità.
Ruoli
Il seguente ruolo IAM fornisce le autorizzazioni necessarie per eseguire le attività descritte in questa guida.
- Compute Network Admin
(
roles/compute.networkAdmin)
Prima di iniziare
Leggi Informazioni sui servizi pubblicati per informazioni sulla pubblicazione dei servizi, incluse le limitazioni.
Decidi se il servizio deve essere accessibile da tutti i progetti o se vuoi controllare quali progetti possono accedere al tuo servizio.
Decidi se vuoi che questo servizio supporti endpoint, backend o entrambi. Per saperne di più su endpoint e backend, consulta Tipi di Private Service Connect.
Per ulteriori informazioni sui requisiti di configurazione del servizio, consulta Funzionalità e compatibilità.
Decidi se vuoi configurare un nome di dominio per il servizio, che automatizza la configurazione DNS per gli endpoint consumer di servizi. Se configuri un nome di dominio, lo stesso principal IAM che pubblica il servizio deve verificare di disporre delle autorizzazioni di proprietario per il dominio in Google Search Console. Se configuri un nome di dominio, ma non ne sei il proprietario, la pubblicazione del servizio non va a buon fine. Per verificare la proprietà, vai a Google Search Console.
Il nome di dominio specificato nell'allegato di servizio può essere un sottodominio del dominio che verifichi. Ad esempio, puoi verificare
example.come poi creare un collegamento del servizio con un nome di dominious-west1.p.example.com.Decidi se il tuo servizio utilizzerà il protocollo PROXY per fornire dettagli sulle connessioni dei consumatori. Se prevedi di utilizzare il protocollo PROXY, assicurati che sia supportato sia dal tipo di servizio di destinazione sia dal software del server web di backend del servizio. Per informazioni sui tipi di servizi di destinazione che supportano il protocollo PROXY, vedi Funzionalità e compatibilità.
Crea un servizio di destinazione
Per ospitare il servizio, crea uno dei seguenti servizi di destinazione in una rete VPC del producer di servizi:
Bilanciatore del carico delle applicazioni interno regionale
Bilanciatore del carico delle applicazioni interno tra regioni
Per informazioni sulle configurazioni supportate per ogni servizio di destinazione, vedi Funzionalità e compatibilità.
Un collegamento di servizio può avere un solo servizio di destinazione. Tuttavia, più service attachment possono condividere lo stesso servizio di destinazione.
La versione IP del servizio di destinazione (IPv4 o IPv6) influisce sui consumer che possono connettersi al servizio pubblicato. Per saperne di più, vedi Traduzione della versione IP.
Per i bilanciatori del carico di rete proxy interni regionali, i backend possono trovarsi in Google Cloud, in altri cloud, in un ambiente on-premise o in qualsiasi combinazione di queste posizioni.
Puoi anche pubblicare un servizio ospitato su un bilanciatore del carico di rete passthrough interno su Google Kubernetes Engine. Questa configurazione, inclusa la configurazione del bilanciatore del carico e del collegamento di servizio, è descritta in Creare un bilanciatore del carico di rete passthrough interno con Private Service Connect nella documentazione di GKE.
Crea una subnet per Private Service Connect
Crea una o più subnet dedicate da utilizzare con Private Service Connect. Devi creare la subnet nella stessa regione del bilanciatore del carico del servizio.
Se utilizzi la console Google Cloud per pubblicare un servizio, puoi creare le subnet durante questa procedura.
Puoi creare una subnet Private Service Connect in un progetto host VPC condiviso.
Non puoi convertire una subnet normale in una subnet Private Service Connect.
Il tipo di stack IP della subnet che crei deve essere compatibile con la versione IP della regola di forwarding del bilanciatore del carico:
- Per le regole di forwarding IPv4, crea una subnet solo IPv4 o a doppio stack.
- Per le regole di forwarding IPv6, crea una subnet solo IPv6 o a doppio stack con un intervallo di indirizzi IPv6 interni.
- Se utilizzi una subnet a doppio stack, viene utilizzato l'intervallo di indirizzi IPv4 o IPv6, ma non entrambi.
Se devi rendere disponibili più indirizzi IP per un servizio esistente, consulta Aggiungere o rimuovere subnet da un servizio pubblicato.
Console
Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.
Fai clic su Subnet.
Fai clic su Aggiungi subnet. Nel riquadro visualizzato, segui questi passaggi:
- Fornisci un nome.
- Seleziona una regione.
- Nella sezione Scopo, seleziona Private Service Connect.
- Nella sezione Tipo di stack IP, seleziona un tipo di stack IP.
- Se stai creando una subnet solo IPv4 o a doppio stack,
inserisci un intervallo di indirizzi IPv4, ad esempio
10.10.10.0/24. - Se stai creando una subnet solo IPv6 o a doppio stack, fai clic su Tipo di accesso IPv6 e seleziona Interno.
- Fai clic su Aggiungi.
gcloud
Utilizza il comando gcloud compute networks subnets create.
Per creare una subnet Private Service Connect solo IPv4, procedi nel seguente modo:
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --region=REGION \ --range=SUBNET_RANGE \ --purpose=PRIVATE_SERVICE_CONNECTPer creare una subnet Private Service Connect dual-stack, procedi nel seguente modo:
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL \ --range=SUBNET_RANGE \ --purpose=PRIVATE_SERVICE_CONNECTPer creare una subnet Private Service Connect solo IPv6, procedi nel seguente modo:
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --region=REGION \ --stack-type=IPV6_ONLY \ --ipv6-access-type=INTERNAL \ --purpose=PRIVATE_SERVICE_CONNECT
Sostituisci quanto segue:
SUBNET_NAME: il nome da assegnare alla subnet.NETWORK_NAME: il nome del VPC per la nuova subnet.REGION: la regione per la nuova subnet. Deve trovarsi nella stessa regione del servizio che stai pubblicando.SUBNET_RANGE: l'intervallo di indirizzi IPv4 da utilizzare per la subnet, ad esempio10.10.10.0/24.
API
Invia una richiesta POST al metodo subnetworks.insert.
Per creare una subnet Private Service Connect solo IPv4, procedi nel seguente modo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "ipCidrRange": "SUBNET_RANGE", "name": "SUBNET_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "purpose": "PRIVATE_SERVICE_CONNECT" }Per creare una subnet Private Service Connect dual-stack, procedi nel seguente modo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "ipCidrRange": "SUBNET_RANGE", "name": "SUBNET_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "purpose": "PRIVATE_SERVICE_CONNECT", "stackType": "IPV4_IPV6", "ipv6AccessType": "INTERNAL" }Per creare una subnet Private Service Connect solo IPv6, procedi nel seguente modo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "SUBNET_NAME", "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "purpose": "PRIVATE_SERVICE_CONNECT", "stackType": "IPV6_ONLY", "ipv6AccessType": "INTERNAL" }
Sostituisci quanto segue:
PROJECT_ID: il progetto per la subnet.REGION: la regione per la nuova subnet. Deve trovarsi nella stessa regione del servizio che stai pubblicando.SUBNET_RANGE: l'intervallo di indirizzi IPv4 da utilizzare per la subnet. Ad esempio,10.10.10.0/24.SUBNET_NAME: il nome da assegnare alla subnet.NETWORK_NAME: il nome della rete VPC per la nuova subnet.
Configura le regole firewall
La configurazione di rete deve consentire il traffico dagli intervalli di indirizzi IP di origine appropriati alle istanze o agli endpoint di rete configurati come backend per i tuoi servizi di backend. Se il tuo servizio utilizza controlli di integrità, devi anche consentire il traffico dai probe del controllo di integrità ai backend.
Non devi eseguire alcun passaggio per consentire il traffico tra un endpoint Private Service Connect o un backend Private Service Connect e il collegamento al servizio associato oppure tra un collegamento al servizio e il bilanciatore del carico associato. Endpoint, backend e service attachment sono componenti logici che non partecipano al flusso di traffico.
Se i tuoi backend si trovano in una rete VPC, puoi utilizzare regole firewall di ingresso VPC o policy firewall per consentire questo traffico. Per i backend on-premise o in un altro cloud, configura l'ambiente in modo da consentire il traffico verso i backend.
Quando configuri le regole firewall in entrata per i servizi di backend, l'origine del traffico dipende dal tipo di bilanciatore del carico utilizzato dal servizio:
| Categoria | Origine del traffico verso i backend |
|---|---|
Bilanciatori del carico passthrough:
|
Gli intervalli di indirizzi IP delle subnet Private Service Connect (NAT) associate al servizio |
Bilanciatori del carico proxy:
|
Gli intervalli di indirizzi IP delle subnet solo proxy associate |
| Servizi con controlli di integrità | Gli intervalli di indirizzi IP dei probe del tipo di bilanciatore del carico |
Pubblicare un servizio
Per pubblicare un servizio, crea un collegamento al servizio. Puoi rendere disponibile il servizio in due modi:
- Puoi pubblicare un servizio con approvazione automatica.
- Puoi pubblicare un servizio con approvazione esplicita.
Crea l'allegato del servizio nella stessa regione del bilanciatore del carico del servizio.
Ogni collegamento di servizio può puntare a una o più subnet Private Service Connect, ma una subnet Private Service Connect non può essere utilizzata in più di un collegamento di servizio.
Se vuoi visualizzare le informazioni sulla connessione dei consumatori, puoi attivare il protocollo PROXY sui servizi supportati. Attiva il protocollo PROXY solo se è supportato sia dal tipo di servizio di destinazione (problema noto) sia dal software del server web di backend del servizio. Per informazioni sui tipi di servizi di destinazione che supportano il protocollo PROXY, vedi Funzionalità e compatibilità. Per saperne di più sul protocollo PROXY, consulta Informazioni sulla connessione del consumatore.
Le seguenti sezioni forniscono istruzioni per la pubblicazione di un servizio basato su un bilanciatore del carico. Per informazioni sulla creazione di un collegamento di servizio che fa riferimento a un'istanza di Secure Web Proxy, consulta Deployment di Secure Web Proxy come collegamento di servizio Private Service Connect.
Pubblica un servizio con approvazione automatica
Segui queste istruzioni per pubblicare un servizio e consentire automaticamente a qualsiasi consumer di connettersi a questo servizio. Se vuoi approvare esplicitamente le connessioni dei consumatori, consulta Pubblicare un servizio con approvazione esplicita.
Quando pubblichi un servizio, crei un collegamento al servizio. I consumer di servizi utilizzano i dettagli del collegamento di servizio per connettersi al tuo servizio.
Quando pubblichi un servizio con approvazione automatica, il limite di connessioni propagate si applica a ogni progetto consumer che si connette al tuo collegamento al servizio.
Console
Configura il servizio
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic su Pubblica servizio.
Nella sezione Dettagli della destinazione, seleziona Bilanciatore del carico.
Seleziona un tipo di bilanciatore del carico.
Seleziona il bilanciatore del carico interno che ospita il servizio che vuoi pubblicare. I campi rete e regione vengono compilati con i dettagli del bilanciatore del carico interno selezionato.
Gli amministratori dei progetti di servizio possono selezionare un bilanciatore del carico interno con un indirizzo IP di una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
Se richiesto, seleziona la regola di forwarding associata al servizio che vuoi pubblicare.
In Nome servizio, inserisci un nome per il collegamento del servizio.
Seleziona una subnet Private Service Connect
Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet della rete VPC del bilanciatore del carico interno selezionato, incluse le subnet condivise con un progetto di servizio tramite il VPC condiviso.
Se il collegamento di servizio utilizza un bilanciatore del carico interno con un indirizzo IP di una rete VPC condiviso, devi selezionare una subnet condivisa dalla stessa rete VPC condiviso.
Se vuoi aggiungere una nuova subnet, puoi crearne una:
- Fai clic su Subnet e poi su Riserva nuova subnet.
- Inserisci un nome e una descrizione facoltativa per la subnet.
- Seleziona una regione per la subnet.
- Seleziona un tipo di stack IP.
- Se stai creando una subnet solo IPv4 o a doppio stack, inserisci un intervallo di indirizzi IPv4 da utilizzare per la subnet.
- Fai clic su Aggiungi.
Completare la configurazione
- Se vuoi visualizzare le informazioni sulla connessione dei consumatori, seleziona Utilizza il protocollo proxy.
- Seleziona Accetta automaticamente tutte le connessioni.
- Se vuoi disattivare la riconciliazione delle connessioni, deseleziona la casella di controllo Abilita riconciliazione delle connessioni.
(Facoltativo) Fai clic su Configurazione avanzata e poi segui questi passaggi:
Se vuoi configurare un nome di dominio, inseriscine uno, incluso un punto finale.
Il formato consigliato per il nome di dominio è
REGION.p.DOMAIN.Devi essere il proprietario del nome di dominio. Per saperne di più, consulta Configurazione DNS.
Inserisci un limite di connessioni propagate. Se non specificato, il valore predefinito è
250.
Fai clic su Aggiungi servizio.
gcloud
Utilizza il comando gcloud compute service-attachments create.
gcloud compute service-attachments create ATTACHMENT_NAME \
--region=ATTACHMENT_REGION \
--target-service=TARGET_SERVICE \
--connection-preference=ACCEPT_AUTOMATIC \
--nat-subnets=PSC_SUBNET_LIST \
[ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
[ --enable-proxy-protocol ] \
[ --domain-names=DOMAIN_NAME ]
Sostituisci quanto segue:
ATTACHMENT_NAME: il nome da assegnare all'allegato del servizio.ATTACHMENT_REGION: la regione del nuovo collegamento del servizio. Deve trovarsi nella stessa regione dell'indirizzo IP della regola di forwarding di destinazione.TARGET_SERVICE: l'URI della regola di forwarding associata al servizio che stai pubblicando.- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
projects/PROJECT_ID/global/forwardingRules/RULE_NAME - Per tutte le altre regole di inoltro del produttore, utilizza il seguente formato:
projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME
Gli amministratori del progetto di servizio possono specificare la regola di forwarding di un bilanciatore del carico interno che ha un indirizzo IP da una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
PSC_SUBNET_LIST: un elenco separato da virgole di uno o più nomi di subnet da utilizzare con questo collegamento del servizio.Se crei un collegamento del servizio con una regola di forwarding che ha un indirizzo IP da una rete VPC condiviso, utilizza subnet condivise della stessa rete VPC condiviso. Per ogni subnet condivisa, specifica l'URI completo della risorsa, ad esempio
--nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.PROPAGATED_CONNECTION_LIMIT: il limite di connessioni propagate per progetto. Il valore predefinito è250.DOMAIN_NAME: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.Per saperne di più, consulta Configurazione DNS.
API
Invia una richiesta POST al metodo serviceAttachments.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments
{
"name": "ATTACHMENT_NAME",
"connectionPreference": "ACCEPT_AUTOMATIC",
"targetService": "TARGET_SERVICE",
"enableProxyProtocol": false,
"natSubnets": [
"PSC_SUBNET_1_URI",
"PSC_SUBNET_2_URI"
],
"propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT",
"domainNames": [
"DOMAIN_NAME"
]
}
Sostituisci quanto segue:
PROJECT_ID: il progetto per l'allegato del servizio.ATTACHMENT_REGION: la regione del nuovo collegamento del servizio. Deve trovarsi nella stessa regione dell'indirizzo IP della regola di forwarding di destinazione.ATTACHMENT_NAME: il nome da assegnare all'allegato del servizio.TARGET_SERVICE: l'URI della regola di forwarding associata al servizio che stai pubblicando.- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
projects/PROJECT_ID/global/forwardingRules/RULE_NAME - Per tutte le altre regole di inoltro del produttore, utilizza il seguente formato:
projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME
Gli amministratori di progetti di servizio possono specificare la regola di forwarding di un bilanciatore del carico interno che ha un indirizzo IP da una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
PSC_SUBNET_1_URIePSC_SUBNET_2_URI: gli URI delle subnet da utilizzare per questo collegamento al servizio. Puoi specificare una o più subnet per URI.Se crei un collegamento del servizio con una regola di forwarding che ha un indirizzo IP da una rete VPC condiviso, utilizza subnet condivise della stessa rete VPC condiviso.
DOMAIN_NAME: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.Per saperne di più, consulta Configurazione DNS.
PROPAGATED_CONNECTION_LIMIT: il limite di connessioni propagate per progetto. Il valore predefinito è250.
Pubblica un servizio con approvazione esplicita
Utilizza queste istruzioni per pubblicare un servizio se vuoi approvare esplicitamente i consumatori prima che possano connettersi a questo servizio. Se vuoi approvare automaticamente le connessioni dei consumatori, consulta Pubblicare un servizio con approvazione automatica.
Quando pubblichi un servizio, crei un collegamento al servizio. I consumer di servizi utilizzano i dettagli del collegamento servizio per connettersi al tuo servizio.
Ogni collegamento al servizio ha un elenco di accettazione del consumer e un elenco di rifiuto del consumer. Gli elenchi di consumatori determinano a quali endpoint può connettersi il servizio. Un determinato collegamento del servizio può accettare o rifiutare i consumatori in base a uno dei seguenti tipi:
- Progetto
- Rete VPC
- Endpoint Private Service Connect (anteprima)
Ogni voce negli elenchi di consumatori deve essere dello stesso tipo. Ad esempio, un determinato collegamento di servizio non può accettare alcuni consumer in base al progetto e altri in base alla rete VPC. Inoltre, la specifica dei consumatori per cartella non è supportata.
Se aggiungi un valore sia all'elenco di accettazione sia all'elenco di rifiuto, le richieste di connessione di quel consumatore vengono rifiutate.
Per accettare utenti in base a singoli endpoint Private Service Connect, pubblica un servizio con approvazione esplicita, ma non aggiungere valori agli elenchi di consumer. Dopo che un consumatore si connette al tuo collegamento del servizio, puoi trovare l'URI basato sull'ID dell'endpoint descrivendo il collegamento del servizio o chiedendo al consumatore di descrivere l'endpoint. Per accettare la connessione, aggiungi l'URI basato sull'ID dell'endpoint Private Service Connect all'elenco di accettazione dei consumer del tuo servizio.
Se gli elenchi di accettazione e rifiuto dei consumer fanno riferimento a progetti o singoli endpoint, il limite di connessione propagato si applica ai progetti consumer. Se gli elenchi di accettazione e rifiuto dei consumatori fanno riferimento alle reti VPC, il limite di connessioni propagato si applica alle reti VPC dei consumatori.
Console
Configura il servizio
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic su Pubblica servizio.
Nella sezione Dettagli della destinazione, seleziona Bilanciatore del carico.
Seleziona un tipo di bilanciatore del carico.
Seleziona il bilanciatore del carico interno che ospita il servizio che vuoi pubblicare. I campi rete e regione vengono compilati con i dettagli del bilanciatore del carico interno selezionato.
Gli amministratori dei progetti di servizio possono selezionare un bilanciatore del carico interno con un indirizzo IP da una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
Se richiesto, seleziona la regola di forwarding associata al servizio che vuoi pubblicare.
In Nome servizio, inserisci un nome per il collegamento del servizio.
Seleziona una subnet Private Service Connect
Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet della rete VPC del bilanciatore del carico interno selezionato, incluse le subnet condivise con un progetto di servizio tramite il VPC condiviso.
Se il collegamento di servizio utilizza un bilanciatore del carico interno con un indirizzo IP di una rete VPC condiviso, devi selezionare una subnet condivisa dalla stessa rete VPC condiviso.
Se vuoi aggiungere una nuova subnet, puoi crearne una:
- Fai clic su Subnet e poi su Riserva nuova subnet.
- Inserisci un nome e una descrizione facoltativa per la subnet.
- Seleziona una regione per la subnet.
- Seleziona un tipo di stack IP.
- Se stai creando una subnet solo IPv4 o a doppio stack, inserisci un intervallo di indirizzi IPv4 da utilizzare per la subnet.
- Fai clic su Aggiungi.
Configurare l'accesso dei consumatori
- Se vuoi visualizzare le informazioni sulla connessione dei consumatori, seleziona Utilizza il protocollo proxy.
Per configurare gli elenchi di accettazione e rifiuto dei consumatori, procedi in uno dei seguenti modi.
Per accettare le connessioni per i progetti selezionati, seleziona Accetta connessioni per i progetti selezionati, quindi:
Per ogni progetto da cui vuoi accettare le connessioni, fai clic su Aggiungi progetto accettato e poi inserisci quanto segue:
- L'ID o il numero del progetto da cui vuoi accettare le connessioni.
- Un limite di connessione per specificare il numero massimo di endpoint del progetto specificato che possono connettersi.
(Facoltativo) Per ogni progetto da cui vuoi rifiutare esplicitamente le connessioni, fai clic su Aggiungi progetto rifiutato, quindi inserisci l'ID progetto o il numero di progetto.
Per accettare le connessioni per le reti selezionate, seleziona Accetta connessioni per le reti selezionate e poi:
Per ogni rete VPC da cui vuoi accettare le connessioni, fai clic su Aggiungi rete accettata e poi inserisci quanto segue:
- L'ID o il numero del progetto padre della rete da cui vuoi accettare le connessioni.
- Il nome della rete da cui vuoi accettare le connessioni.
- Un limite di connessione per specificare il numero massimo di endpoint della rete specificata che possono connettersi.
(Facoltativo) Per ogni rete da cui vuoi rifiutare esplicitamente le connessioni, fai clic su Aggiungi rete rifiutata, quindi inserisci l'ID o il numero di progetto del progetto padre della rete e il nome della rete.
Per accettare le connessioni per singoli endpoint Private Service Connect, seleziona Accetta connessioni per i progetti selezionati. Al momento non aggiungere valori all'elenco di accettazione dei consumatori. Dopo che un consumatore richiede una connessione al tuo servizio, puoi aggiungere l'endpoint all'elenco di accettazione dei consumatori.
Completare la configurazione
- (Facoltativo) Se vuoi disattivare la riconciliazione delle connessioni, deseleziona la casella di controllo Abilita riconciliazione delle connessioni.
(Facoltativo) Fai clic su Configurazione avanzata e poi segui questi passaggi:
Se vuoi configurare un nome di dominio, inseriscine uno, incluso un punto finale.
Il formato consigliato per il nome di dominio è
REGION.p.DOMAIN.Devi essere il proprietario del nome di dominio. Per saperne di più, consulta Configurazione DNS.
Inserisci un limite di connessioni propagate. Se non specificato, il valore predefinito è
250.
Fai clic su Aggiungi servizio.
gcloud
Utilizza il comando gcloud compute service-attachments create.
gcloud compute service-attachments create ATTACHMENT_NAME \
--region=ATTACHMENT_REGION \
--target-service=TARGET_SERVICE \
--connection-preference=ACCEPT_MANUAL \
--consumer-accept-list=ACCEPTED_PROJECT_OR_NETWORK_1=LIMIT_1,ACCEPTED_PROJECT_OR_NETWORK_2=LIMIT_2 \
--consumer-reject-list=REJECTED_PROJECT_OR_NETWORK_1,REJECTED_PROJECT_OR_NETWORK_2 \
--nat-subnets=PSC_SUBNET_LIST \
[ --propagated-connection-limit=PROPAGATED_CONNECTION_LIMIT ] \
[ --enable-proxy-protocol ] \
[ --domain-names=DOMAIN_NAME ] \
[ --reconcile-connections ]
Sostituisci quanto segue:
ATTACHMENT_NAME: il nome da assegnare all'allegato del servizio.ATTACHMENT_REGION: la regione del nuovo collegamento del servizio. Deve trovarsi nella stessa regione dell'indirizzo IP della regola di forwarding di destinazione.TARGET_SERVICE: l'URI della regola di forwarding associata al servizio che stai pubblicando.- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
projects/PROJECT_ID/global/forwardingRules/RULE_NAME - Per tutte le altre regole di inoltro del produttore, utilizza il seguente formato:
projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME
Gli amministratori di progetti di servizio possono specificare la regola di forwarding di un bilanciatore del carico interno che ha un indirizzo IP da una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
ACCEPTED_PROJECT_OR_NETWORK_1eACCEPTED_PROJECT_OR_NETWORK_2: gli ID progetto, i nomi dei progetti o gli URI di rete da accettare.--consumer-accept-listè facoltativo e può contenere uno o più progetti o reti, ma non un mix di entrambi i tipi.LIMIT_1eLIMIT_2: i limiti di connessione per i progetti o le reti. Il limite di connessione è il numero di endpoint o backend consumer che possono connettersi a questo servizio. Per ogni progetto o rete accettati deve essere configurato un limite di connessione.REJECTED_PROJECT_OR_NETWORK_1eREJECTED_PROJECT_OR_NETWORK_2: gli ID progetto, i nomi dei progetti o gli URI di rete da rifiutare.--consumer-reject-listè facoltativo e può contenere uno o più progetti o reti, ma non un mix di entrambi i tipi.PSC_SUBNET_LIST: un elenco separato da virgole di uno o più nomi di subnet da utilizzare con questo collegamento del servizio.Se crei un collegamento del servizio con una regola di forwarding che ha un indirizzo IP da una rete VPC condiviso, utilizza subnet condivise della stessa rete VPC condiviso. Per ogni subnet condivisa, specifica l'URI completo della risorsa, ad esempio
--nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET.PROPAGATED_CONNECTION_LIMIT: il limite connessioni propagato. Il valore predefinito è250.DOMAIN_NAME: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.Per saperne di più, consulta Configurazione DNS.
API
Invia una richiesta POST al metodo serviceAttachments.insert.
Per pubblicare un servizio e approvare esplicitamente i consumatori in base al progetto, invia la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments { "name": "ATTACHMENT_NAME", "region": "ATTACHMENT_REGION", "connectionPreference": "ACCEPT_MANUAL", "targetService": "TARGET_SERVICE", "enableProxyProtocol": false, "natSubnets": [ "PSC_SUBNET_1_URI", "PSC_SUBNET_2_URI" ], "consumerRejectLists": [ "REJECTED_PROJECT_1", "REJECTED_PROJECT_2" ], "consumerAcceptLists": [ { "projectIdOrNum": "ACCEPTED_PROJECT_1", "connectionLimit": "LIMIT_1" }, { "projectIdOrNum": "ACCEPTED_PROJECT_2", "connectionLimit": "LIMIT_2" } ], "propagatedConnectionLimit": "PROPAGATED_CONNECTION_LIMIT", "domainNames": [ "DOMAIN_NAME" ] }Sostituisci quanto segue:
PROJECT_ID: il progetto per l'allegato del servizio.ATTACHMENT_REGION: la regione del nuovo collegamento del servizio. Deve trovarsi nella stessa regione dell'indirizzo IP della regola di forwarding di destinazione.ATTACHMENT_NAME: il nome da assegnare all'allegato del servizio.TARGET_SERVICE: l'URI della regola di forwarding associata al servizio che stai pubblicando.- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
projects/PROJECT_ID/global/forwardingRules/RULE_NAME - Per tutte le altre regole di inoltro del produttore, utilizza il seguente formato:
projects/PROJECT_ID/regions/RULE_REGION/forwardingRules/RULE_NAME
Gli amministratori di progetti di servizio possono specificare la regola di forwarding di un bilanciatore del carico interno che ha un indirizzo IP da una rete VPC condivisa. Per saperne di più, consulta VPC condiviso.
- Per i bilanciatori del carico delle applicazioni interni tra regioni, utilizza il seguente formato:
PSC_SUBNET_1_URIePSC_SUBNET_2_URI: gli URI delle subnet da utilizzare per questo collegamento al servizio. Puoi specificare una o più subnet per URI.Se crei un collegamento del servizio con una regola di forwarding che ha un indirizzo IP da una rete VPC condiviso, utilizza subnet condivise della stessa rete VPC condiviso.
REJECTED_PROJECT_1eREJECTED_PROJECT_2: gli ID o i numeri dei progetti da rifiutare.consumerRejectListsè facoltativo e può contenere uno o più progetti.ACCEPTED_PROJECT_1eACCEPTED_PROJECT_2: gli ID o i numeri dei progetti da accettare.consumerAcceptListsè facoltativo e può contenere uno o più progetti.LIMIT_1eLIMIT_2: i limiti di connessione per i progetti. Il limite di connessioni è il numero di endpoint o backend consumer che possono connettersi a questo servizio. Per ogni progetto accettato deve essere configurato un limite per le connessioni.
PROPAGATED_CONNECTION_LIMIT: il limite connessioni propagato. Il valore predefinito è250.
DOMAIN_NAME: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.Per saperne di più, consulta Configurazione DNS.
Per pubblicare un servizio e approvare esplicitamente i consumer in base alla rete VPC, invia la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ATTACHMENT_REGION/serviceAttachments { "name": "ATTACHMENT_NAME", "region": "ATTACHMENT_REGION", "connectionPreference": "ACCEPT_MANUAL", "targetService": "TARGET_SERVICE", "enableProxyProtocol": false, "natSubnets": [ "PSC_SUBNET_1_URI", "PSC_SUBNET_2_URI" ], "consumerRejectLists": [ "projects/REJECTED_PROJECT_ID_1/global/networks/REJECTED_NETWORK_1", "projects/REJECTED_PROJECT_ID_2/global/networks/REJECTED_NETWORK_2" ], "consumerAcceptLists": [ { "networkUrl": "projects/ACCEPTED_PROJECT_ID_1/global/networks/ACCEPTED_NETWORK_1", "connectionLimit": "LIMIT_1" }, { "networkUrl": "projects/ACCEPTED_PROJECT_ID_2/global/networks/ACCEPTED_NETWORK_2", "connectionLimit": "LIMIT_2" } ], "propagatedConnectionLimit": PROPAGATED_CONNECTION_LIMIT, "domainNames": [ "DOMAIN_NAME" ] }Sostituisci quanto segue:
REJECTED_PROJECT_ID_1eREJECTED_PROJECT_ID_2: gli ID dei progetti principali delle reti che vuoi rifiutare.consumerRejectListsè facoltativo e può contenere una o più reti.REJECTED_NETWORK_1eREJECTED_NETWORK_2: i nomi delle reti che vuoi rifiutare.ACCEPTED_PROJECT_ID_1eACCEPTED_PROJECT_ID_2: gli ID dei progetti principali delle reti che vuoi accettare.consumerAcceptListsè facoltativo e può contenere una o più reti.ACCEPTED_NETWORK_1eACCEPTED_NETWORK_2: i nomi delle reti che vuoi accettare.LIMIT_1eLIMIT_2: i limiti di connessione per le reti. Il limite di connessioni è il numero di endpoint o backend consumer che possono connettersi a questo servizio. Per ogni progetto accettato deve essere configurato un limite per le connessioni.
PROPAGATED_CONNECTION_LIMIT: il limite connessioni propagato. Il valore predefinito è250.
DOMAIN_NAME: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.Per saperne di più, consulta Configurazione DNS.
Per pubblicare un servizio con la riconciliazione delle connessioni abilitata, invia una richiesta simile alle precedenti, ma includi il seguente campo:
{ ... "reconcileConnections": true ... }
Visualizzare le informazioni sulla connessione dei consumatori
Per informazioni sulla visualizzazione dei dati di connessione dei consumatori utilizzando il protocollo PROXY, consulta Visualizzazione dei dati di connessione dei consumatori.
Gestire le richieste di accesso a un servizio pubblicato
Se hai un servizio pubblicato con approvazione esplicita, puoi accettare o rifiutare le richieste di connessione da progetti o reti consumer. Per saperne di più, vedi Gestire le richieste di accesso a un servizio pubblicato.
Puoi anche passare dall'accettazione automatica a quella esplicita del progetto per un servizio pubblicato. Per saperne di più, vedi Modificare la preferenza di connessione per un servizio pubblicato
Aggiungere o rimuovere subnet da un servizio pubblicato
Puoi aggiungere o rimuovere subnet da un servizio pubblicato. Per saperne di più, vedi Aggiungere o rimuovere subnet da un servizio pubblicato.
Elenca i servizi pubblicati
Puoi elencare tutti i servizi.
Console
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Vengono visualizzati i collegamenti del servizio Private Service Connect.
gcloud
Utilizza il comando gcloud compute service-attachments list.
gcloud compute service-attachments list [--regions=REGION_LIST]
Sostituisci REGION_LIST con un elenco separato da virgole di una o più regioni per cui vuoi visualizzare gli allegati di servizio. Ad esempio, us-central1 o us-west1,us-central1.
API
Per visualizzare tutti gli allegati di servizio in una determinata regione o in tutte le regioni, invia
una richiesta GET al metodo serviceAttachments.list.
Visualizza tutti gli allegati di servizio in una regione:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
Visualizza tutti gli allegati di servizio in tutte le regioni:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
Sostituisci quanto segue:
PROJECT_ID: il progetto per l'allegato del servizio.REGION: la regione per l'allegato del servizio.ATTACHMENT_NAME: il nome del collegamento del servizio.
Visualizzare i dettagli di un servizio pubblicato
Puoi visualizzare i dettagli di configurazione di un servizio pubblicato.
Puoi visualizzare alcuni
dettagli di configurazione nella console Google Cloud , ad esempio l'URI
dell'allegato di servizio che i consumer di servizi devono connettersi al tuo servizio. Per visualizzare
tutti i dettagli, inclusi i valori pscConnectionId e URI endpoint basato su ID
(endpointWithId) per i consumer del service attachment, utilizza
Google Cloud CLI o invia una richiesta API.
Console
Puoi visualizzare i dettagli di un servizio pubblicato. Il campo Service attachment (Collegamento servizio) contiene l'URI del collegamento al servizio.
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic sul servizio che vuoi visualizzare.
gcloud
Per visualizzare i dettagli di un servizio pubblicato, utilizza il comando
gcloud compute service-attachments describe. Il camposelfLinkcontiene l'URI del collegamento al servizio.gcloud compute service-attachments describe \ ATTACHMENT_NAME --region=REGIONSostituisci quanto segue:
ATTACHMENT_NAME: il nome dell'allegato del servizio.REGION: la regione per l'allegato del servizio.
Per visualizzare i dettagli di un servizio pubblicato, inclusi gli URI dell'endpoint basati sull'ID che puoi utilizzare per accettare singoli endpoint, utilizza il comando
gcloud beta compute service-attachments describe. Per ogni endpoint nell'elenco degli endpoint connessi, il campoendpointWithIdcontiene l'URI basato sull'ID dell'endpoint.gcloud beta compute service-attachments describe \ ATTACHMENT_NAME --region=REGION
API
Per visualizzare i dettagli di un servizio pubblicato, invia una richiesta
GETal metodoserviceAttachments.get. Il camposelfLinkcontiene l'URI del collegamento al servizio.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Sostituisci quanto segue:
PROJECT_ID: il progetto per l'allegato del servizio.REGION: la regione per l'allegato del servizio.ATTACHMENT_NAME: il nome del collegamento del servizio.
Per visualizzare i dettagli di un servizio pubblicato, inclusi gli URI degli endpoint basati sull'ID che puoi utilizzare per accettare singoli endpoint, invia una richiesta
GETalla versione beta del metodoserviceAttachments.get. Per ogni endpoint nell'elenco degli endpoint connessi, il campoendpointWithIdcontiene l'URI basato sull'ID dell'endpoint.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Eliminare un servizio pubblicato
Puoi eliminare un servizio pubblicato, anche se esistono connessioni consumatore al collegamento del servizio. L'eliminazione del servizio pubblicato rimuove solo l'allegato del servizio. Il bilanciatore del carico associato non è stato eliminato. Quando elimini un servizio pubblicato, si applica quanto segue:
Il traffico proveniente dagli endpoint (in base alle regole di forwarding) non viene più inviato al bilanciatore del carico.
Il traffico dai backend (in base ai bilanciatori del carico delle applicazioni esterni globali) viene inviato al bilanciatore del carico finché non viene eliminato.
Console
Nella console Google Cloud , vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic sul servizio che vuoi eliminare.
Fai clic su Elimina.
gcloud
Utilizza il comando gcloud compute service-attachments delete.
gcloud compute service-attachments delete \
ATTACHMENT_NAME --region=REGION
API
Invia una richiesta DELETE al metodo serviceAttachments.delete.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Sostituisci quanto segue:
PROJECT_ID: il progetto per l'allegato del servizio.REGION: la regione per l'allegato del servizio.ATTACHMENT_NAME: il nome del collegamento del servizio.
Problemi noti
Errori del controllo di integrità con endpoint consumer con accesso globale
I consumer possono connettere un endpoint con accesso globale a un servizio pubblicato che non è configurato per l'accesso globale. Tuttavia, i controlli di integrità non funzionano correttamente in questa configurazione. Di conseguenza, il traffico potrebbe essere inviato a backend non integri e abbandonato.
Se pubblichi un servizio utilizzando un bilanciatore del carico di rete passthrough interno o il forwarding del protocollo interno (istanza di destinazione) e il tuo servizio è interessato da questo problema, procedi nel seguente modo.
- Se vuoi utilizzare l'accesso globale, segui questi passaggi:
- Abilita l'accesso globale per la regola di forwarding del bilanciatore del carico.
- Se il bilanciatore del carico è gestito da Google Kubernetes Engine, devi anche aggiornare il manifest del servizio corrispondente e applicarlo al cluster. Per saperne di più su questa configurazione specifica di GKE, consulta Accesso globale.
- Aggiorna qualsiasi automazione in modo che i nuovi bilanciatori del carico del producer che supportano gli endpoint Private Service Connect con accesso globale siano configurati per l'accesso globale.
- Se non vuoi utilizzare l'accesso globale, chiedi al consumatore di disattivare l'accesso globale per l'endpoint.
L'attivazione dell'accesso globale per un servizio pubblicato non interrompe il traffico di rete.
Errori di controllo di integrità con i NEG Private Service Connect con accesso globale
Esiste un problema noto con i NEG Private Service Connect consumer configurati per l'accesso globale. Un NEG Private Service Connect è configurato per l'accesso globale se è associato a un servizio di backend globale.
Se un consumer connette un NEG di Private Service Connect configurato per l'accesso globale a un bilanciatore del carico del producer e il producer di servizi disattiva l'accesso globale per quel bilanciatore del carico, i controlli di integrità non funzionano correttamente. Di conseguenza, il traffico potrebbe essere inviato a backend non integri e abbandonato.
Se pubblichi un servizio utilizzando un bilanciatore del carico interno che supporta l'accesso globale e il tuo servizio è interessato da questo problema, procedi nel seguente modo.
- Se vuoi utilizzare l'accesso globale, segui questi passaggi:
- Attiva l'accesso globale per la regola di forwarding del bilanciatore del carico.
- Se il bilanciatore del carico è gestito da Google Kubernetes Engine, devi anche aggiornare il manifest del servizio corrispondente e applicarlo al cluster. Per saperne di più su questa configurazione specifica di GKE, consulta Accesso globale.
- Aggiorna qualsiasi automazione in modo che i nuovi bilanciatori del carico del producer che supportano i NEG Private Service Connect con accesso globale siano configurati per l'accesso globale.
- Se non vuoi utilizzare l'accesso globale, chiedi al consumatore di riconfigurare il NEG Private Service Connect per l'accesso regionale. Per farlo, il consumer deve rimuovere il NEG Private Service Connect dal servizio di backend globale e poi collegare il NEG a un servizio di backend regionale.
L'attivazione dell'accesso globale per un servizio pubblicato non interrompe il traffico di rete.
Disconnessioni dopo l'upgrade del provider Google per Terraform
Se hai utilizzato il provider Google per Terraform con versioni precedenti alla
4.76.0 per creare service attachment, non eseguire l'upgrade alle versioni da 4.76.0 a
4.81.x. Quando esegui terraform apply dopo l'upgrade alle versioni 4.76.0
fino alla 4.81.x, Terraform potrebbe eliminare e ricreare involontariamente i collegamenti
del servizio e chiudere le connessioni Private Service Connect
esistenti. I service attachment ricreati non ristabiliscono automaticamente le connessioni Private Service Connect.
Se esegui l'upgrade alla versione 4.82.0 e poi esegui terraform apply, gli allegati del servizio non vengono eliminati, ma l'impostazione Riconcilia connessioni è impostata su true. Se l'impostazione era precedentemente impostata su false, alcune
connessioni Private Service Connect potrebbero chiudersi.
Eseguire l'upgrade alle versioni del fornitore Google da 4.76.0 a 4.81.x. In questo scenario, l'output di
terraform planinclude quanto segue:-/+ resource "google_compute_service_attachment" "SERVICE_NAME" { ... ~ reconcile_connections = false -> true # forces replacement ...Utilizza la soluzione alternativa per evitare questo problema.
Eseguire l'upgrade alle versioni 4.82.0 del fornitore Google. In questo scenario, l'output di
terraform planinclude quanto segue:~ reconcile_connections = false -> true
Se ignori questo avviso e applichi le modifiche, Terraform aggiorna l'allegato del servizio per attivare la riconciliazione delle connessioni. A seconda dello stato della connessione, il passaggio da
falseatruepotrebbe chiudere alcune connessioni esistenti. Per saperne di più, vedi Riconciliazione delle connessioni.Utilizza la soluzione alternativa per evitare questo problema.
Soluzione alternativa
Ti consigliamo di eseguire l'upgrade del provider Google per Terraform alla versione 4.82.0 o successiva. Questa versione impedisce l'eliminazione e la ricreazione involontaria degli allegati del servizio.
Se non puoi eseguire l'upgrade immediatamente o se puoi eseguire l'upgrade, ma vuoi anche impedire a Terraform di modificare l'impostazione di riconciliazione della connessione, aggiorna la configurazione di Terraform per impostare esplicitamente l'impostazione di riconciliazione della connessione.
Visualizza la configurazione dettagliata dell'allegato di servizio e prendi nota dell'impostazione
reconcileConnections.gcloud compute service-attachments describe SERVICE_NAME --region=REGION
L'output include il campo
reconcileConnections, che può essere true o false.reconcileConnections: false
Aggiorna il file di configurazione Terraform in modo da utilizzare esplicitamente la stessa impostazione utilizzata nell'allegato di servizio.
resource "google_compute_service_attachment" "SERVICE_NAME" { ... reconcile_connections = false }Per un esempio di configurazione, consulta Service Attachment Reconcile Connections su GitHub.
Errori TLS con il protocollo PROXY
Se pubblichi un servizio con il protocollo PROXY abilitato, ma il tipo di servizio di destinazione non supporta il protocollo PROXY, i consumer possono connettersi al tuo servizio con endpoint. Tuttavia, il traffico non fluisce attraverso la connessione e i workload ricevono errori relativi a TLS.
Per risolvere il problema, aggiorna l'allegato del servizio per disattivare il protocollo PROXY.
Per informazioni sui tipi di servizi di destinazione che supportano il protocollo PROXY, vedi Funzionalità e compatibilità.
Risoluzione dei problemi
Errore durante l'aggiornamento di un collegamento di servizio
Se visualizzi il seguente messaggio di errore quando aggiorni un collegamento del servizio, l'elenco di accettazione o l'elenco di rifiuto potrebbero includere progetti eliminati: The
resource PROJECT was not found.
Rimuovi i progetti eliminati dalla configurazione del collegamento di servizio per risolvere il problema.
Utilizza il comando
gcloud compute service-attachments describeper visualizzare la configurazione del collegamento del servizio che vuoi modificare.Per generare l'elenco di accettazione in un formato che puoi utilizzare in un secondo momento per aggiornare il collegamento del servizio, procedi nel seguente modo:
gcloud compute service-attachments describe ATTACHMENT_NAME \ --region=REGION --flatten="consumerAcceptLists[]" \ --format="csv[no-heading,separator='='](consumerAcceptLists.projectIdOrNum,consumerAcceptLists.connectionLimit)" \ | xargs | sed -e 's/ /,/g'L'output della lista di accettazione è simile al seguente:
PROJECT_1=LIMIT_1,PROJECT_2=LIMIT_2,PROJECT_3=LIMIT_3
Per generare l'elenco di rifiuto in un formato che puoi utilizzare in un secondo momento per aggiornare il collegamento del servizio, procedi nel seguente modo:
gcloud compute service-attachments describe ATTACHMENT_NAME \ --region=REGION \ --format="value[delimiter=','](consumerRejectLists[])"L'output dell'elenco di rifiuto è simile al seguente:
PROJECT_1,PROJECT_2,PROJECT_3
Modifica l'output del comando per rimuovere eventuali progetti eliminati dall'elenco di accettazione e dall'elenco di rifiuto.
Aggiorna il collegamento del servizio per rimuovere i progetti eliminati.
Per aggiornare l'elenco di accettazione:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-accept-list=UPDATED_ACCEPT_LISTPer aggiornare l'elenco dei rifiuti:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-reject-list=UPDATED_REJECT_LIST
La connettività non è stabilita
Se un consumatore ha creato un endpoint o un backend che fa riferimento al tuo collegamento al servizio, ma la connettività non è stabilita, controlla lo stato della connessione del collegamento al servizio. Lo stato della connessione potrebbe indicare i passaggi da seguire per risolvere il problema.
Timeout delle connessioni dei consumatori
Se le connessioni dei consumatori scadono, verifica se il tuo servizio richiede connessioni a lunga esecuzione. Il timeout di inattività della connessione TCP stabilita per Private Service Connect NAT è di 20 minuti. Se il tuo servizio richiede un timeout più lungo, potresti dover apportare alcune modifiche alla configurazione per assicurarti che le connessioni non vadano in timeout. Per ulteriori informazioni, consulta Specifiche NAT.
Errori di connessione propagati
Per informazioni sulla risoluzione dei problemi relativi alle connessioni propagate, consulta Risolvere gli errori di propagazione della connessione Private Service Connect.
Il servizio pubblicato presenta problemi di prestazioni o timeout di connessione
Se il servizio pubblicato presenta problemi di prestazioni o timeout di connessione intermittenti, il problema potrebbe essere dovuto alla perdita di pacchetti. Puoi analizzare i pacchetti eliminati controllando le metriche descritte nelle sezioni seguenti.
Pacchetti persi dai consumatori
La metrica private_service_connect/producer/dropped_received_packets_count monitora i pacchetti da un endpoint o da un backend a un servizio pubblicato che vengono eliminati perché l'endpoint o il backend ha superato il numero massimo di connessioni al servizio.
Se un servizio pubblicato segnala valori per questa metrica, valuta le seguenti soluzioni:
- Aumenta la capacità del servizio pubblicato, ad esempio aggiungendo più istanze di macchine virtuali (VM) o endpoint di rete.
- Chiedi al consumatore di servizi di creare endpoint o backend aggiuntivi che si connettano al servizio pubblicato.
- Chiedi al consumatore di servizi di ridurre il numero di connessioni tramite l'endpoint o il backend.
Pacchetti persi per i consumatori
La metrica
private_service_connect/producer/dropped_sent_packets_count
monitora i pacchetti inviati da un servizio pubblicato a un endpoint o backend che vengono
ignorati perché Private Service Connect non riesce a trovare una
connessione corrispondente per i pacchetti di risposta.
Private Service Connect consente solo le connessioni avviate dalla rete VPC consumer. Quando un consumer avvia una connessione, questa viene monitorata per abbinare i pacchetti di risposta del servizio pubblicato a una connessione esistente. Se Private Service Connect non riesce a trovare una corrispondenza per un pacchetto di risposta, il pacchetto viene eliminato.
Ciò può accadere se un servizio pubblicato invia pacchetti di risposta dopo che una connessione è scaduta. Per informazioni su come evitare problemi di timeout delle connessioni, consulta le specifiche NAT.