Pubblicare servizi utilizzando Private Service Connect
Come producer di servizi, puoi utilizzare Private Service Connect per la pubblicazione che utilizzano indirizzi IP interni nella tua rete VPC. Il tuo i servizi pubblicati sono accessibili ai consumer di servizi tramite IP interno e indirizzi IP nelle reti VPC consumer.
Questa guida descrive come utilizzare Private Service Connect per per pubblicare un servizio. Per pubblicare un servizio:
Ospita il servizio su un bilanciatore del carico supportato con un configurazione.
Creare un servizio allegato che punta alla regola di forwarding associata al bilanciatore del carico.
Private Service Connect fornisce due metodi per la connessione a Google Cloud:
Questi tipi di endpoint richiedono configurazioni del producer leggermente diverse. Per Per saperne di più, consulta la sezione Funzionalità e compatibilità.
Ruoli
Il seguente ruolo IAM fornisce le autorizzazioni necessarie per eseguire le attività descritte in questa guida.
- Amministratore rete Compute
(
roles/compute.networkAdmin
)
Prima di iniziare
Leggi Informazioni sui servizi pubblicati per Informazioni sui servizi di pubblicazione, incluse le relative limitazioni.
Decidi se il servizio deve essere accessibile da chiunque progetti o se vuoi controllare quali progetti può accedere al servizio.
Decidi se vuoi che questo servizio supporti endpoint, backend o entrambi. Per ulteriori informazioni su endpoint e backend, consulta Private Service Connect di classificazione.
Per ulteriori informazioni sui requisiti di configurazione del servizio, consulta Funzionalità e compatibilità.
Decidi se vuoi configurare un nome di dominio per , che automatizza il DNS. per gli endpoint del consumer di servizi. Se configuri un dominio nome, la stessa entità IAM che pubblica il servizio deve e verificare di disporre delle autorizzazioni di proprietario per il dominio in Google Search Console Se configuri un nome di dominio, ma non possiedono il dominio, la pubblicazione del servizio non riesce. Per verificare la proprietà, vai alla Ricerca Google Google Cloud.
Il nome di dominio specificato nel collegamento al servizio può essere un sottodominio del dominio che verifichi. Ad esempio, puoi verificare
example.com
, quindi crea un collegamento a un servizio con il nome di dominious-west1.p.example.com
.
Crea un bilanciatore del carico supportato
Per ospitare il servizio, crea uno dei seguenti bilanciatori del carico in un servizio rete VPC del producer:
Per informazioni sulle configurazioni supportate per ogni tipo di bilanciatore del carico, consulta Funzionalità e compatibilità.
Puoi associare ogni collegamento a un servizio alla regola di forwarding di un singolo con il bilanciatore del carico di rete passthrough esterno regionale. Non puoi associare più collegamenti di servizi al la stessa regola di forwarding.
La versione IP della regola di forwarding del bilanciatore del carico (IPv4 o IPv6) influisce sui consumer che possono connettersi al servizio pubblicato. Le regole di forwarding IPv6 sono disponibili in Anteprima. Per ulteriori informazioni le informazioni, 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 qualsiasi combinazione di queste località.
Puoi anche pubblicare un servizio ospitato su un bilanciatore del carico di rete passthrough interno Google Kubernetes Engine. Questa configurazione, tra cui il bilanciatore del carico del collegamento al 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. Se utilizzi la console Google Cloud per pubblicare un servizio, puoi creare le subnet quella procedura.
Per rendere disponibili più indirizzi IP per un servizio esistente, consulta: Aggiungi o rimuovi subnet da un servizio pubblicato.
Puoi anche creare una subnet Private Service Connect in Progetto host VPC condiviso.
Crea la subnet nella stessa regione del bilanciatore del carico del servizio.
Non puoi convertire una subnet normale in Private Service Connect una subnet.
Se vuoi pubblicare un servizio che gestisce il traffico IPv6 (Anteprima), devi utilizzare subnet a doppio stack.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per visualizzarne la rete VPC dei dettagli.
Fai clic su Subnet.
Fai clic su Aggiungi subnet. Nel riquadro visualizzato, procedi nel seguente modo:
- Specifica un nome.
- Seleziona una Regione.
- Nella sezione Finalità, seleziona Private Service Connect.
- Seleziona un tipo di stack IP.
- Inserisci un intervallo IPv4. Ad esempio,
10.10.10.0/24
. - Fai clic su Aggiungi.
gcloud
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --region=REGION \ --stack-type=STACK_TYPE \ --range=SUBNET_RANGE \ --purpose=PRIVATE_SERVICE_CONNECT
Sostituisci quanto segue:
SUBNET_NAME
: il nome da assegnare alla una subnet.NETWORK_NAME
: il nome del VPC per la nuova subnet.REGION
: la regione per la nuova subnet. Deve essere della stessa regione del servizio che pubblichi.STACK_TYPE
: il tipo di stack della subnet, che puòIPV4_ONLY
oIPV4_IPV6
. Il valore predefinito èIPV4_ONLY
.SUBNET_RANGE
: l'intervallo di indirizzi IPv4 da utilizzare per una subnet, ad esempio10.10.10.0/24
.
API
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": "STACK_TYPE" }
Sostituisci quanto segue:
PROJECT_ID
: il progetto per la subnet.REGION
: la regione per la nuova subnet. Deve essere della stessa regione del servizio che pubblichi.SUBNET_RANGE
: l'intervallo di indirizzi IPv4 da utilizzare per una subnet. Ad esempio,10.10.10.0/24
.SUBNET_NAME
: il nome da assegnare alla una subnet.NETWORK_NAME
: il nome del VPC per la nuova subnet.STACK_TYPE
: il tipo di stack della subnet, che puòIPV4_ONLY
oIPV4_IPV6
.
Configurazione delle regole del firewall
Configura le regole del firewall per consentire il traffico tra tra endpoint o backend e il collegamento al servizio. Le richieste dei client provengono da località diverse a seconda del tipo di Private Service Connect.
Tipo Private Service Connect | Intervalli di indirizzi IP per il traffico client | Dettagli |
---|---|---|
Endpoint (basato su una regola di forwarding) | Gli intervalli di indirizzi IP delle subnet Private Service Connect associati a questo servizio. | Se utilizzi la rete predefinita, i campi precompilati
La regola default-allow-internal consente questo traffico, a meno che non sia presente una
una regola di priorità più alta
che lo blocca. |
Backend (in base a Application Load Balancer esterno globale) |
|
I bilanciatori del carico delle applicazioni esterni globali sono implementati sui Google Front End (GFE), che utilizzano da questi intervalli di indirizzi IP. |
Se la configurazione del firewall non consente già il traffico dall'app tipo di endpoint, configura le regole firewall per consentirlo.
La configurazione di esempio seguente consente di creare regole firewall VPC per consenti il traffico dagli intervalli di indirizzi IP client alle VM di backend nel producer con il bilanciatore del carico del servizio di rete. Questa configurazione presuppone che le VM di backend siano state configurate con una rete del tag.
Esempio di regola in entrata:
gcloud compute firewall-rules create NAME \ --network=NETWORK_NAME \ --direction=ingress \ --action=allow \ --target-tags=TAG \ --source-ranges=CLIENT_IP_RANGES_LIST \ --rules=RULES_LIST
Sostituisci quanto segue:
NAME
: il nome della regola firewall.NETWORK_NAME
: la rete che contiene il servizio Subnet Private Service Connect.TAG
: il tag target applicato alle VM di backend in il bilanciatore del carico del servizio producer.CLIENT_IP_RANGES_LIST
: gli intervalli di indirizzi IP in cui il client da cui proviene il traffico. Per ulteriori informazioni, consulta la tabella precedente.RULES_LIST
: un elenco separato da virgole di protocolli e porte di destinazione a cui la regola . Ad esempio:tcp,udp
.
Esempio di regola in uscita:
gcloud compute firewall-rules create NAME \ --network=NETWORK_NAME \ --direction=egress \ --action=allow \ --target-tags=TAG \ --destination-ranges=CLIENT_IP_RANGES_LIST \ --rules=RULES_LIST
Sostituisci quanto segue:
NAME
: il nome della regola firewall.NETWORK_NAME
: la rete che contiene il servizio Subnet Private Service Connect.TAG
: il tag target applicato alle VM di backend in il bilanciatore del carico del servizio producer.CLIENT_IP_RANGES_LIST
: gli intervalli di indirizzi IP in cui il client da cui proviene il traffico. Per ulteriori informazioni, consulta la tabella precedente.RULES_LIST
: un elenco separato da virgole di protocolli e porte di destinazione a cui la regola . Ad esempio:tcp,udp
.
Per saperne di più sulla configurazione delle regole firewall VPC, consulta Firewall VPC . Per configurare la gerarchia le regole firewall per consentire questo traffico, vedi Criteri firewall gerarchici.
Pubblica un servizio
Per pubblicare un servizio, devi creare il collegamento a un servizio. Puoi rendere il servizio disponibile in uno dei due seguenti modi:
- Puoi pubblicare un servizio con approvazione automatica.
- Puoi pubblicare un servizio con l'approvazione esplicita.
Crea il collegamento al servizio nella stessa regione del carico del servizio con il bilanciatore del carico di rete passthrough esterno regionale.
Ogni collegamento a un servizio può puntare a uno o più con le subnet Private Service Connect, Non è possibile utilizzare una subnet Private Service Connect in più di una collegamento del servizio.
Pubblicare un servizio con approvazione automatica
Utilizza queste istruzioni per pubblicare un servizio e consentire automaticamente a qualsiasi consumer connettersi a questo servizio. Se vuoi approvare esplicitamente le connessioni dei consumatori, consulta la sezione Pubblicazione di un servizio con approvazione esplicita.
Quando pubblichi un servizio, ne crei il collegamento. Consumer dei servizi utilizzare i dettagli del collegamento al servizio per connetterti al tuo servizio.
Se desideri visualizzare le informazioni sulla connessione del consumer, puoi abilitare PROXY sui servizi supportati. Per informazioni sui servizi supportati, vedi Funzionalità e compatibilità. Per Per ulteriori informazioni sul protocollo PROXY, consulta Connessione consumer. informazioni.
Puoi associare subnet a stack singolo o doppio con collegamento allo stesso servizio. Se il bilanciatore del carico è configurato per il traffico IPv6 (Anteprima), devi utilizzare subnet a doppio stack.
Quando pubblichi un servizio con approvazione automatica, la connessione propagata il limite si applica a ogni progetto consumer che si connette al servizio allegato.
Console
Nella console Google Cloud, vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic su Pubblica servizio.
Seleziona il tipo di bilanciatore del carico per il servizio che vuoi pubblicare:
- Bilanciatore del carico di rete passthrough interno
- Bilanciatore del carico di rete proxy interno regionale
- Bilanciatore del carico delle applicazioni interno regionale
Seleziona il bilanciatore del carico interno che ospita il servizio che che vuoi pubblicare. I campi relativi a rete e regione sono compilati con per il bilanciatore del carico interno selezionato.
Amministratori progetti di servizio puoi selezionare un bilanciatore del carico interno che abbia un indirizzo IP da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
Se richiesto, seleziona la Regola di forwarding associata al che vuoi pubblicare.
In Nome servizio, inserisci un nome per il collegamento al servizio.
Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet dell'elenco alla rete VPC del bilanciatore del carico interno, condivise con un progetto di servizio mediante VPC condiviso.
Se il collegamento al servizio utilizza un bilanciatore del carico interno con un indirizzo IP da una rete VPC condiviso, devi selezionare un dalla stessa rete VPC condiviso.
Se vuoi aggiungere una nuova subnet, puoi crearne una:
- Fai clic su Prenota nuova subnet
- Inserisci un Nome e una Descrizione facoltativa per la subnet.
- Seleziona una regione per la subnet.
- Seleziona un tipo di stack IP.
- Inserisci l'intervallo IPv4 da utilizzare per la subnet e fai clic su Aggiungi.
Se desideri visualizzare le informazioni sulla connessione del consumer, seleziona Utilizza proxy Protocollo.
Seleziona Accetta automaticamente tutte le connessioni.
Se vuoi disattivare la riconciliazione della connessione, cancella il contenuto della sezione Casella di controllo Abilita riconciliazione connessioni.
(Facoltativo) Fai clic su Configurazione avanzata, quindi:
Se vuoi configurare un nome di dominio, inserisci un Nome di dominio, incluso un punto finale.
Il formato consigliato per il nome di dominio è
REGION.p.DOMAIN.
Il nome del dominio deve essere di tua proprietà. Per ulteriori informazioni, vedi Configurazione DNS.
Inserisci un limite di connessioni NCC propagate. Se non specificato, il valore predefinito è
250
.
Fai clic su Aggiungi servizio.
gcloud
gcloud compute service-attachments create ATTACHMENT_NAME \ --region=REGION \ --producer-forwarding-rule=RULE_NAME \ --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 alla collegamento del servizio.REGION
: la regione per il collegamento del nuovo servizio. Deve essere la stessa regione del servizio che pubblichi.RULE_NAME
: il nome della regola di forwarding che è associati al servizio che pubblichi.Amministratori progetti di servizio puoi specificare la regola di forwarding di un bilanciatore del carico interno che da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
PSC_SUBNET_LIST
: un elenco di uno o più contenuti separati da virgole i nomi delle subnet da usare con il collegamento a questo servizio.Se crei un servizio collegamento con una regola di forwarding che ha un indirizzo IP da un una rete VPC condiviso, usa subnet condivise Rete VPC condiviso. Per ogni subnet condivisa, specifica URI risorsa, ad esempio
--nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
.PROPAGATED_CONNECTION_LIMIT
: il valore per progetto limite di connessioni propagate. Il valore predefinito è250
.DOMAIN_NAME
: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.
Per ulteriori informazioni, vedi Configurazione DNS.
API
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments { "name": "ATTACHMENT_NAME", "connectionPreference": "ACCEPT_AUTOMATIC", "targetService": "RULE_URI", "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 il collegamento al servizio.REGION
: la regione per il collegamento del nuovo servizio. Deve essere la stessa regione del servizio che pubblichi.ATTACHMENT_NAME
: il nome da assegnare alla collegamento del servizio.RULE_URI
: l'URI della regola di forwarding associati al servizio che stai pubblicando.Amministratori progetti di servizio puoi specificare la regola di forwarding di un bilanciatore del carico interno che da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
PSC_SUBNET_1_URI
ePSC_SUBNET_2_URI
: gli URI della subnet da utilizzare per il collegamento al servizio. Puoi specificare un'opzione o più subnet per URI.Se crei un servizio collegamento con una regola di forwarding che ha un indirizzo IP da un una rete VPC condiviso, usa subnet condivise Rete VPC condiviso.
DOMAIN_NAME
: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.
Per ulteriori informazioni, vedi Configurazione DNS.
PROPAGATED_CONNECTION_LIMIT
: il valore per progetto limite di connessioni propagate. Il valore predefinito è250
.
Pubblicare un servizio con approvazione esplicita
Segui queste istruzioni per pubblicare un servizio se vuoi approvarlo esplicitamente i consumatori prima di potersi connettere a questo servizio. Se vuoi approvare per le connessioni con il consumatore, consulta la pagina sulla pubblicazione di un servizio con approvazione.
Quando pubblichi un servizio, ne crei il collegamento. Consumer dei servizi utilizzare i dettagli del collegamento al servizio per connetterti al tuo servizio.
Ogni collegamento al servizio ha un liste di accettazione dei consumatori e una lista rifiutata dei consumatori, che vengono utilizzati per determinare quali endpoint possono connettersi al servizio. R un determinato collegamento al servizio può utilizzare progetti o reti in questi elenchi, non entrambe. La specifica dei consumer per cartella non è supportata.
Se passi dall'accettazione dei consumatori in base al progetto all'accettazione dei consumatori in base al progetto in base alla rete o viceversa, procedi nel seguente modo:
- Sostituire tutte le reti o tutti i progetti approvati in un'unica operazione.
- Se devi fornire lo stesso accesso di prima, assicurati che il nuovo le liste di accettazione e rifiuto sono equivalenti ai precedenti.
Se aggiungi un progetto o una rete sia all'elenco di accettazione che a quello di rifiuto, richieste di connessione provenienti da quel progetto o da quella rete vengono rifiutate.
Se gli elenchi di accettazione e rifiuto del consumer fanno riferimento a progetti, lo stato propagato il limite di connessioni si applica ai progetti del consumer. Se il consumatore accetta e gli elenchi di contenuti rifiutati si riferiscono a reti VPC, la connessione propagata si applica alle reti VPC consumer.
Console
Nella console Google Cloud, vai alla pagina Private Service Connect.
Fai clic sulla scheda Servizi pubblicati.
Fai clic su Pubblica servizio.
Seleziona il tipo di bilanciatore del carico per il servizio che vuoi pubblicare:
- Bilanciatore del carico di rete passthrough interno
- Bilanciatore del carico di rete proxy interno regionale
- Bilanciatore del carico delle applicazioni interno regionale
Seleziona il bilanciatore del carico interno che ospita il servizio che che vuoi pubblicare. I campi relativi a rete e regione sono compilati con per il bilanciatore del carico interno selezionato.
Amministratori progetti di servizio puoi selezionare un bilanciatore del carico interno che abbia un indirizzo IP da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
Se richiesto, seleziona la regola di forwarding associata al servizio che vuoi pubblicare.
In Nome servizio, inserisci un nome per il collegamento al servizio.
Seleziona una o più subnet Private Service Connect per il servizio. L'elenco viene compilato con le subnet dell'elenco alla rete VPC del bilanciatore del carico interno, condivise con un progetto di servizio mediante VPC condiviso.
Se il collegamento al servizio utilizza un bilanciatore del carico interno con un indirizzo IP da una rete VPC condiviso, devi selezionare un dalla stessa rete VPC condiviso.
Se vuoi aggiungere una nuova subnet, puoi crearne una:
- Fai clic su Prenota nuova subnet
- Inserisci un Nome e una Descrizione facoltativa per la subnet.
- Seleziona una regione per la subnet.
- Seleziona un tipo di stack IP.
- Inserisci l'intervallo IPv4 da utilizzare per la subnet e fai clic su Aggiungi.
Se vuoi visualizzare le informazioni sulla connessione del consumer, seleziona Utilizza proxy Protocollo.
Se vuoi accettare connessioni per i progetti selezionati, seleziona Accetta le connessioni per i progetti selezionati.
- Per ogni progetto da cui vuoi accettare connessioni, esegui questa
seguenti:
- Fai clic su Aggiungi progetto accettato, quindi inserisci quanto segue:
- .
- L'ID o il numero del progetto che vuoi accettare connessioni da.
- Un limite di connessioni per specificare il numero massimo. di endpoint del progetto specificato che possono connettersi.
- Fai clic su Aggiungi progetto accettato, quindi inserisci quanto segue:
- (Facoltativo) Per ogni progetto che vuoi rifiutare esplicitamente per le connessioni da, fai clic su Aggiungi progetto rifiutato e inserisci dell'ID o del numero di progetto.
- Per ogni progetto da cui vuoi accettare connessioni, esegui questa
seguenti:
Se vuoi accettare connessioni per le reti selezionate, seleziona Accetta connessioni per le reti selezionate.
- Per ogni rete da cui vuoi accettare connessioni, segui
seguenti:
- Fai clic su Aggiungi rete accettata, quindi inserisci quanto segue:
- .
- L'ID o il numero del progetto padre del da cui vuoi accettare connessioni.
- Il nome della rete su cui vuoi accettare connessioni da cui proviene.
- Un limite di connessioni per specificare il numero massimo. di endpoint dalla rete specificata che possono connettersi.
- Fai clic su Aggiungi rete accettata, quindi inserisci quanto segue:
- (Facoltativo) Per ogni rete che vuoi rifiutare esplicitamente connessioni da, fai clic su Aggiungi rete rifiutata, quindi inserisci l'ID o il numero del progetto principale della rete e il nome della rete.
- Per ogni rete da cui vuoi accettare connessioni, segui
seguenti:
Se vuoi disattivare la riconciliazione della connessione, cancella il contenuto della sezione Casella di controllo Abilita riconciliazione connessioni.
(Facoltativo) Fai clic su Configurazione avanzata, quindi:
Se vuoi configurare un nome di dominio, inserisci un Nome di dominio, incluso un punto finale.
Il formato consigliato per il nome di dominio è
REGION.p.DOMAIN.
Il nome del dominio deve essere di tua proprietà. Per ulteriori informazioni, vedi Configurazione DNS.
Inserisci un limite di connessioni NCC propagate. Se non specificato, il valore predefinito è
250
.
Fai clic su Aggiungi servizio.
gcloud
gcloud compute service-attachments create ATTACHMENT_NAME \ --region=REGION \ --producer-forwarding-rule=RULE_NAME \ --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 alla collegamento del servizio.REGION
: la regione per il collegamento del nuovo servizio. Deve essere la stessa regione del servizio che pubblichi.RULE_NAME
: il nome della regola di forwarding che è associati al servizio che pubblichi.Amministratori progetti di servizio puoi specificare la regola di forwarding di un bilanciatore del carico interno che da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
ACCEPTED_PROJECT_OR_NETWORK_1
eACCEPTED_PROJECT_OR_NETWORK_2
: gli ID progetto, o URI di rete da accettare.--consumer-accept-list
è facoltativo e può contenere uno o più progetti oppure ma non una combinazione di entrambi i tipi.LIMIT_1
eLIMIT_2
: la connessione per i progetti o le reti. Il limite di connessioni è il numero e endpoint o backend consumer che possono connettersi completamente gestito di Google Cloud. Ogni progetto o rete accettato deve avere un limite di connessioni configurato.REJECTED_PROJECT_OR_NETWORK_1
eREJECTED_PROJECT_OR_NETWORK_2
: gli ID progetto, o URI di rete da rifiutare.--consumer-reject-list
è facoltativo e può contenere uno o più progetti o reti, ma non una combinazione di entrambi i tipi.PSC_SUBNET_LIST
: un elenco di uno o più contenuti separati da virgole i nomi delle subnet da usare con il collegamento a questo servizio.Se crei un servizio collegamento con una regola di forwarding che ha un indirizzo IP da un una rete VPC condiviso, usa subnet condivise Rete VPC condiviso. Per ogni subnet condivisa, specifica URI risorsa, ad esempio
--nat-subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET
.PROPAGATED_CONNECTION_LIMIT
: il valore limite di connessioni propagate. Il valore predefinito è250
.DOMAIN_NAME
: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.
Per ulteriori informazioni, vedi Configurazione DNS.
API
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/REGION/serviceAttachments { "name": "ATTACHMENT_NAME", "region": "REGION", "connectionPreference": "ACCEPT_MANUAL", "targetService": "RULE_URI", "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 il collegamento al servizio.REGION
: la regione per il collegamento al servizio.ATTACHMENT_NAME
: il nome da assegnare alla collegamento del servizio.RULE_URI
: l'URI della regola di forwarding associati al servizio che stai pubblicando.Amministratori progetti di servizio puoi specificare la regola di forwarding di un bilanciatore del carico interno che da un Rete VPC condivisa. Per maggiori informazioni, vedi VPC condiviso.
PSC_SUBNET_1_URI
ePSC_SUBNET_2_URI
: gli URI della subnet da utilizzare per il collegamento al servizio. Puoi specificare un'opzione o più subnet per URI.Se crei un servizio collegamento con una regola di forwarding che ha un indirizzo IP da un una rete VPC condiviso, usa subnet condivise Rete VPC condiviso.
REJECTED_PROJECT_1
eREJECTED_PROJECT_2
: gli ID o i numeri dei progetti progetti da rifiutare.consumerRejectLists
è facoltativo e può contenere per uno o più progetti.ACCEPTED_PROJECT_1
eACCEPTED_PROJECT_2
: gli ID o i numeri del progetto progetti da accettare.consumerAcceptLists
è facoltativo e può contenere per uno o più progetti.LIMIT_1
eLIMIT_2
: il valore di connessione per progetti. Il limite di connessioni è il numero di endpoint o backend consumer che possono connettersi completamente gestito di Google Cloud. Per ogni progetto accettato deve essere configurato un limite di connessioni.
PROPAGATED_CONNECTION_LIMIT
: il valore limite di connessioni propagate. Il valore predefinito è250
.
DOMAIN_NAME
: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.
Per ulteriori informazioni, vedi Configurazione DNS.
a pubblicare un servizio e approvare esplicitamente i consumatori in base rete VPC, invia la richiesta seguente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments { "name": "ATTACHMENT_NAME", "region": "REGION", "connectionPreference": "ACCEPT_MANUAL", "targetService": "RULE_URI", "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_1
eREJECTED_PROJECT_ID_2
: gli ID dei progetti padre reti che vuoi rifiutare.consumerRejectLists
è facoltativo e può contenere una o più reti.REJECTED_NETWORK_1
eREJECTED_NETWORK_2
: i nomi delle reti che vuoi rifiutare.ACCEPTED_PROJECT_ID_1
eACCEPTED_PROJECT_ID_2
: gli ID dei progetti padre dalle reti che vuoi accettare.consumerAcceptLists
è facoltativo e può contenere una o più reti.ACCEPTED_NETWORK_1
eACCEPTED_NETWORK_2
: i nomi delle reti che vuoi accettare.LIMIT_1
eLIMIT_2
: il valore limiti di connessione per le reti. Il limite di connessioni è il numero di endpoint o backend consumer che possono connettersi completamente gestito di Google Cloud. Per ogni progetto accettato deve essere configurato un limite di connessioni.
PROPAGATED_CONNECTION_LIMIT
: il valore limite di connessioni propagate. Il valore predefinito è250
.
DOMAIN_NAME
: un nome di dominio DNS per il servizio, incluso un punto finale. Formato consigliato:REGION.p.DOMAIN.
Per ulteriori informazioni, vedi Configurazione DNS.
Per pubblicare un servizio con la riconciliazione delle connessioni abilitata, invia un simile alle richieste precedenti, ma che includono il campo campo seguente:
{ ... "reconcileConnections": true ... }
Visualizzare le informazioni di connessione del consumer
Per informazioni sulla visualizzazione delle informazioni relative alla connessione del consumatore utilizzando sul protocollo PROXY, consulta la sezione Visualizzazione delle informazioni di connessione dei consumatori.
Gestire le richieste di accesso a un servizio pubblicato
Se hai pubblicato un servizio con l'approvazione esplicita, puoi accettare o rifiutare le richieste di connessione da reti o progetti consumer. Per ulteriori informazioni, vedi Gestire le richieste di accesso a un servizio pubblicato.
Puoi anche passare dall'accettazione automatica a quella esplicita del progetto per un completamente gestito di Google Cloud. Per ulteriori informazioni, vedi Modificare la preferenza di connessione per un servizio pubblicato
Aggiungi o rimuovi subnet da un servizio pubblicato
Puoi aggiungere o rimuovere subnet da un servizio pubblicato. Per ulteriori informazioni, consulta 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.
I collegamenti del servizio Private Service Connect sono visualizzati.
gcloud
Elenca i collegamenti ai servizi.
gcloud compute service-attachments list [--regions=REGION_LIST]
Sostituisci quanto segue:
REGION_LIST
: un elenco di uno o più contenuti separati da virgole regioni per cui vuoi visualizzare i collegamenti ai servizi. Ad esempio:us-central1
ous-west1,us-central1
.
API
Puoi visualizzare tutti i collegamenti ai servizi in una determinata regione o in tutte le regioni.
Visualizza tutti i collegamenti ai servizi in una regione:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
Visualizza tutti i collegamenti ai servizi in tutte le regioni:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
Sostituisci quanto segue:
PROJECT_ID
: il progetto per il collegamento al servizio.REGION
: la regione per il collegamento al servizio.ATTACHMENT_NAME
: il nome del collegamento al servizio.
Visualizzare i dettagli di un servizio pubblicato
Puoi visualizzare i dettagli di configurazione di un servizio pubblicato.
Puoi visualizzare alcuni
di configurazione nella console Google Cloud, ad esempio il servizio
URI dell'allegato necessario ai consumer del servizio per connettersi al tuo servizio. Per visualizzare
tutti i dettagli, inclusi i valori pscConnectionId
per il collegamento al servizio
possono utilizzare Google Cloud CLI o l'API.
Console
Puoi visualizzare i dettagli di un servizio pubblicato. Il collegamento del 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
Puoi visualizzare i dettagli di un servizio pubblicato. Il campo selfLink
contiene
l'URI del collegamento al servizio.
gcloud compute service-attachments describe \ ATTACHMENT_NAME --region=REGION
API
Puoi visualizzare i dettagli di un servizio pubblicato. Il campo selfLink
contiene
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 il collegamento al servizio.REGION
: la regione per il collegamento al servizio.ATTACHMENT_NAME
: il nome del collegamento al servizio.
Elimina un servizio pubblicato
Puoi eliminare un servizio pubblicato, anche se sono presenti al collegamento del servizio. Eliminazione dei contenuti pubblicati rimuove solo il collegamento al servizio. Il bilanciatore del carico associato non è eliminati. Quando elimini un servizio pubblicato, si applica quanto segue:
Traffico proveniente dagli endpoint (in base a regole di forwarding) non è inviate al bilanciatore del carico.
Traffico dai backend (in base a 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
gcloud compute service-attachments delete \ ATTACHMENT_NAME --region=REGION
API
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
Sostituisci quanto segue:
PROJECT_ID
: il progetto per il collegamento al servizio.REGION
: la regione per il collegamento al servizio.ATTACHMENT_NAME
: il nome del collegamento al servizio.
Problemi noti
Disconnessioni dopo l'upgrade del provider Google per Terraform
Se hai utilizzato il provider Google per Terraform con versioni precedenti a
4.76.0 per creare collegamenti ai servizi, non eseguire l'upgrade alle versioni dalla 4.76.0 alla
4.81.x. Quando esegui terraform apply
dopo l'upgrade alla versione 4.76.0
alla versione 4.81.x, Terraform potrebbe eliminare e ricreare il servizio involontariamente
e chiudono le connessioni Private Service Connect esistenti. Ricreata
i collegamenti ai servizi non ristabiliscono automaticamente Private Service Connect
e altre connessioni.
Se esegui l'upgrade alla versione 4.82.0 e poi esegui terraform apply
, il servizio
gli allegati non vengono eliminati, ma la riconciliazione
connessioni
sia impostata su true. Se l'impostazione era precedentemente impostata su false, alcune
Le connessioni Private Service Connect potrebbero chiudersi.
Upgrade al provider Google dalle versioni dalla 4.76.0 alla 4.81.x. In questo l'output di
terraform plan
include quanto segue:-/+ resource "google_compute_service_attachment" "SERVICE_NAME" { ... ~ reconcile_connections = false -> true # forces replacement ...
Utilizza la soluzione alternativa per evitare questo problema.
Upgrade al provider Google versione 4.82.0. In questo scenario, L'output di
terraform plan
include quanto segue:~ reconcile_connections = false -> true
Se ignori questo avviso e applichi le modifiche, Terraform aggiorna la collegamento a un servizio per attivare la riconciliazione delle connessioni. In base alla loro stato della connessione, la modifica da
false
atrue
potrebbe chiudere e altre connessioni. Per ulteriori informazioni, consulta la sezione Connessione riconciliazione.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 in un secondo momento. Questa versione impedisce l'eliminazione e la ricreazione involontaria del servizio allegati.
Se non puoi eseguire l'upgrade immediatamente o se vuoi eseguire l'upgrade impedire a Terraform di modificare l'impostazione di riconciliazione della connessione, aggiornare della configurazione Terraform per impostare esplicitamente la riconciliazione della connessione dell'ambientazione.
Visualizza la configurazione dettagliata del collegamento al servizio e prendi nota 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 per utilizzare in modo esplicito la stessa impostazione usato nel collegamento al servizio.
resource "google_compute_service_attachment" "SERVICE_NAME" { ... reconcile_connections = false }
Per una configurazione di esempio, consulta Collegamento del servizio Reconcile Connessioni su GitHub.
Aggiornamenti delle patch per i collegamenti ai servizi
Quando aggiorni il collegamento a un servizio utilizzando l'API PATCH
, devi fornire
tutti i campi per il collegamento al servizio nel corpo della richiesta, non solo i campi
che stai aggiornando. Utilizza le funzionalità di
serviceAttachments.get
per recuperare tutti i campi.
Risoluzione dei problemi
Errore durante l'aggiornamento del collegamento a un servizio
Se viene visualizzato il seguente messaggio di errore quando aggiorni il collegamento a un servizio,
Accetta o l'elenco degli elementi da rifiutare potrebbe includere progetti eliminati: The
resource PROJECT was not found
.
Rimuovi i progetti eliminati dalla configurazione del collegamento al servizio per risolvere il problema risolvere il problema.
Usa il comando
gcloud compute service-attachments describe
per visualizzare del collegamento al servizio che vuoi modificare.Per generare l'elenco di accettazione in un formato da utilizzare in un secondo momento per aggiornare il collegamento a un servizio, segui questi passaggi:
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 visualizzare l'elenco degli elementi rifiutati in un formato da utilizzare in un secondo momento per aggiornare il collegamento a un servizio, segui questi passaggi:
gcloud compute service-attachments describe ATTACHMENT_NAME \ --region=REGION \ --format="value[delimiter=','](consumerRejectLists[])"
L'output dell'elenco di elementi rifiutati è simile al seguente:
PROJECT_1,PROJECT_2,PROJECT_3
Modifica l'output comando per rimuovere tutti i progetti eliminati dall'elenco di accettazione e l'elenco dei rifiuti.
Aggiorna il collegamento al servizio per rimuovere i progetti eliminati.
Per aggiornare l'elenco di accettazione, procedi nel seguente modo:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-accept-list=UPDATED_ACCEPT_LIST
Per aggiornare l'elenco di elementi rifiutati, procedi nel seguente modo:
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-reject-list=UPDATED_REJECT_LIST
La connettività non è stabilita
Se un consumer ha creato un endpoint o un backend che fa riferimento al tuo servizio collegamento ma la connettività non è stata stabilita, controlla la stato della connessione. Lo stato della connessione potrebbe indicare i passaggi che puoi seguire per risolvere il problema problema.
Timeout delle connessioni con i consumatori
Se le connessioni dei consumatori si interrompono, controlla se il servizio richiede una lunga esecuzione e altre connessioni. Timeout di inattività della connessione stabilita TCP per La durata di Private Service Connect NAT è di 20 minuti. Se il tuo servizio richiede un timeout più lungo, potrebbe essere necessario apportare alcune modifiche alla configurazione per per assicurarti che le connessioni non scadano. Per ulteriori informazioni, vedi Specifiche NAT.
Le connessioni propagate non vengono stabilite
Per informazioni sulla risoluzione dei problemi relativi alle connessioni propagate, consulta Risolvi i problemi di Network Connectivity Center.