Crea e gestisci Private Service Connect interfacce
Questa pagina descrive in che modo gli amministratori di rete dei produttori possono creare e gestire le interfacce Private Service Connect. Le interfacce Private Service Connect consentono alle reti Virtual Private Cloud (VPC) dei producer di servizi di avviare connessioni alle reti VPC dei consumer.
Prima di iniziare
- Devi abilitare l'API Compute Engine nel tuo progetto.
- Individua l'URL del collegamento di rete a cui vuoi connetterti.
- Se il collegamento di rete è configurato per accettare manualmente le connessioni, assicurati che un amministratore di rete abbia aggiunto il tuo progetto all'elenco di accettazione del collegamento di rete.
Ruoli
Per ottenere le autorizzazioni necessarie per creare interfacce Private Service Connect, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Amministratore rete Compute (
roles/compute.networkAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Il ruolo Amministratore istanze Compute (v1) contiene le
Autorizzazione compute.instances.pscInterfaceCreate
, necessaria per creare
Interfacce Private Service Connect.
Crea e configura un'interfaccia di Private Service Connect
Per creare e configurare un'istanza di una macchina virtuale (VM) con un'interfaccia Private Service Connect, completa i seguenti passaggi.
Crea una VM con un'interfaccia Private Service Connect
Quando crei un'interfaccia di Private Service Connect, crei una VM che abbia almeno due interfacce di rete. La prima interfaccia si connette a una subnet del produttore. La seconda interfaccia è un Interfaccia di Private Service Connect che richiede una connessione a un collegamento di rete in una rete consumer.
Se la connessione viene accettata, Google Cloud assegna all'interfaccia di Private Service Connect, un indirizzo IP interno una subnet specificata dal collegamento di rete.
Se crei un'interfaccia di Private Service Connect che fa riferimento un collegamento di rete configurato accettare manualmente le connessioni e il progetto dell'interfaccia non è nell'elenco di accettazione del collegamento di rete, la creazione della VM dell'interfaccia Private Service Connect ha esito negativo. Nella in questo caso, collabora con l'organizzazione consumer per aggiungere il tuo progetto all' dall'elenco di istanze gestite di Private Service Connect, quindi creerò un'interfaccia Private Service Connect.
Quando crei un'interfaccia Private Service Connect, puoi optionally assegnare uno o più intervalli IP di alias interni. Se prevedi di assegnare intervalli IP alias, contatta l'organizzazione consumer per determinare gli intervalli di indirizzi IP appropriati.
Per assegnare un intervallo IP alias, specifica la lunghezza del prefisso dell'intervallo nel CIDR la notazione. Quando assegni uno o più intervalli IP alias a un'interfaccia Private Service Connect, Google Cloud alloca gli intervalli IP alias dall'indirizzo IP principale dell'intervallo di indirizzi della subnet associata collegamento di rete. L'interfaccia di Private Service Connect l'indirizzo IP principale viene allocato dall'esterno di qualsiasi intervallo IP alias. Se nella subnet dell'attacco alla rete non sono presenti indirizzi IP sufficienti per allocare l'indirizzo IP principale e gli intervalli IP alias, la creazione della VM dell'interfaccia Private Service Connect non va a buon fine. Puoi trovare gli indirizzi IP specifici assegnati descrivendo la VM dell'interfaccia.
Console
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic su Crea istanza.
Inserisci un nome.
Seleziona una Regione corrispondente alla regione dell'attacco alla rete a cui vuoi connetterti.
Seleziona una Zona.
Fai clic su Opzioni avanzate.
Fai clic su Networking.
Nella sezione Interfacce di rete, fai clic sulla prima interfaccia di rete, ovvero l'interfaccia di rete principale, e poi segui questi passaggi:
- Seleziona una Rete per l'interfaccia di rete principale.
- Seleziona una subnet per l'interfaccia di rete principale. Questa subnet deve trovarsi nella stessa regione del collegamento di rete dell'interfaccia Private Service Connect.
Fai clic su Aggiungi un'interfaccia di rete.
Per Tipo di interfaccia, seleziona Private Service Connect.
Inserisci un URL del collegamento di rete.
Seleziona un tipo di stack IP. Per creare un'interfaccia Private Service Connect a doppio stack, la subnet dell'attacco alla rete deve essere a doppio stack.
(Facoltativo) Per aggiungere un intervallo IP alias, nella casella Lunghezza prefisso, inserisci la lunghezza del prefisso, ad esempio
/30
. Puoi aggiungere più intervalli IP alias facendo clic su Aggiungi intervallo IP. e inserendo la lunghezza del prefisso per ogni intervallo IP alias aggiuntivo. che vuoi aggiungere.Fai clic su Fine.
Fai clic su Crea.
gcloud
Per creare una VM con un'interfaccia Private Service Connect solo IPv4, utilizza il comando instances create
.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image=IMAGE \ --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME'
Sostituisci quanto segue:
INSTANCE_NAME
: il nome della nuova istanzaZONE
: la zona della nuova istanzaMACHINE_TYPE
: il tipo di macchina dell'istanza, che può essere predefinito o personalizzato.IMAGE_PROJECT
: il progetto dell'immagine. Ad esempio, se specifichidebian-10-buster-v20230809
come immagine, specificadebian-cloud
come progetto immagine. Puoi visualizza un elenco di immagini, progetti e famiglie di immagini disponibili per utilizzando Comandogcloud compute images list
.IMAGE
: una versione specifica di un'immagine pubblica, ad esempiodebian-10-buster-v20230809
.PRODUCER_NETWORK
: la rete dell'istanza.PRODUCER_SUBNET
: la subnet della macchina virtuale all'interfaccia di rete principale. Questa subnet deve trovarsi nella stessa regione del collegamento di rete dell'interfaccia Private Service Connect.CONSUMER_PROJECT_ID
: l'ID del consumatore a cui vuoi connetterti.ATTACHMENT_NAME
: il nome del collegamento di rete a cui richiedere una connessione.
Per assegnare all'interfaccia Private Service Connect sia un indirizzo IPv4 che un indirizzo IPv6, specifica stack-type='IPV4_IPv6'
. La rete
collegamento a cui fa riferimento l'interfaccia deve essere associato a un
subnet a doppio stack.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image=IMAGE \ --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME,stack-type='IPV4_IPV6''
Per assegnare all'interfaccia Private Service Connect una o più intervalli IP alias, specifica la lunghezza del prefisso di ciascun intervallo IP alias che vuoi assegnare:
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image=IMAGE \ --network-interface='network=PRODUCER_NETWORK,subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME,aliases=ALIAS_IP_RANGE'
Sostituisci ALIAS_IP_RANGE
con uno o più
della lunghezza dei prefissi nella notazione CIDR. Puoi includere più lunghezze per i prefissi
in un elenco separato da punti e virgola, ad esempio /24;/28
.
API
Per creare una VM con un'interfaccia Private Service Connect solo IPv4, invia una richiesta POST
al metodo instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET" }, { "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME" } ] }
Sostituisci quanto segue:
PRODUCER_PROJECT_ID
: l'ID del progetto del producer.INSTANCE_ZONE
: la zona della nuova istanza.MACHINE_TYPE_ZONE
: la zona del tipo di macchina.MACHINE_TYPE
: il tipo di macchina della nuova VM, che possono essere predefiniti personalizzato.VM_NAME
: il nome della nuova VM.IMAGE_PROJECT
: il progetto contenente l'immagine. Ad esempio, se specifichidebian-10-buster-v20200309
come immagine, specificadebian-cloud
come progetto immagine.IMAGE
: una versione specifica di un immagine pubblica, ad esempiodebian-10-buster-v20200309
.PRODUCER_PROJECT_ID
: l'ID progetto dell'interfaccia.PRODUCER_NETWORK
: il nome del produttore rete VPC.SUBNET_REGION
: la regione della subnet dell'interfaccia di rete principale. Questa subnet deve trovarsi nella stessa regione del collegamento di rete dell'interfaccia Private Service Connect.SUBNET
: il nome della subnet dell'interfaccia di rete principale.CONSUMER_PROJECT_ID
: l'ID del progetto consumer.ATTACHMENT_REGION
: la regione del collegamento di rete.ATTACHMENT_NAME
: nome del collegamento di rete.
Per assegnare all'interfaccia Private Service Connect sia un indirizzo IPv4 che un indirizzo IPv6, specifica "stack-type": "IPV4_IPv6"
. Il collegamento alla rete a cui fa riferimento l'interfaccia deve essere associato a una subnet a doppio stack.
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET" }, { "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME", "stackType": "IPV4_IPV6" } ] }
Per assegnare all'interfaccia Private Service Connect una o più intervalli IP alias, specifica la lunghezza del prefisso di ogni intervallo IP alias che desideri assegnare.
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET" }, { "aliasIpRanges": [ { "ipCidrRange": "ALIAS_IP_RANGE" } ], "networkAttachment": "projects/CONSUMER_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME" } ] }
Sostituisci ALIAS_IP_RANGE
con una lunghezza del prefisso in CIDR
notazione, ad esempio /28
. Puoi specificare più intervalli IP di alias
nell'elenco aliasIpRanges
nel seguente formato:
"aliasIpRanges": [ { "ipCidrRange": "/28" }, { "ipCidrRange": "/30" } ]
Per ulteriori informazioni sulla creazione di istanze VM, consulta Creare e avviare un'istanza VM.
Consenti connettività SSH
Assicurati che le regole firewall siano configurate su consenti connessioni SSH in entrata alla VM della tua interfaccia Private Service Connect.
Trova il nome Google Cloud dell'interfaccia Private Service Connect
Per configurare il routing, devi conoscere il nome Google Cloud del tuo Interfaccia di Private Service Connect.
Console
Nella console Google Cloud, vai a Istanze VM:
Fai clic sul nome della VM con l'interfaccia Private Service Connect.
Nella sezione Interfacce di rete, trova e prendi nota del nome del tuo ad esempio l'interfaccia di Private Service Connect,
nic1
.
gcloud
Usa il comando
compute instances describe
.gcloud compute instances describe VM_NAME --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM a cui si trova il tuo Interfaccia di Private Service Connect.ZONE
: la zona della VM.
Nell'output del comando, individua e prendi nota del nome di Google Cloud dell'interfaccia Private Service Connect, ad esempio
nic1
.
Trovare il nome del sistema operativo guest dell'interfaccia di Private Service Connect
Per configurare il routing, devi conoscere il nome del sistema operativo guest della tua interfaccia Private Service Connect, che è diverso dal nome dell'interfaccia in Google Cloud.
Per trovare il nome dell'interfaccia su una VM Debian, procedi nel seguente modo. Per le VM con altri sistemi operativi, consulta la documentazione pubblica del sistema operativo.
- Connettiti alla VM della tua interfaccia Private Service Connect.
Esegui questo comando:
ip address
Nell'elenco delle interfacce di rete, individua e prendi nota del nome dell'interfaccia associato all'IP della tua interfaccia Private Service Connect indirizzo IP, ad esempio
ens5
.
Trova l'IP gateway dell'interfaccia di Private Service Connect
Per configurare il routing, devi conoscere l'indirizzo IP del gateway predefinito dell'interfaccia Private Service Connect.
Connettiti alla VM dell'interfaccia Private Service Connect.
Invia la seguente richiesta
GET
dalla VM dell'interfaccia al server di metadati associato:curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
Sostituisci
INTERFACE_NUMBER
con la parte numerica del nome di Google Cloud per l'interfaccia Private Service Connect. Ad esempio, se il nome dell'interfaccia ènic1
, utilizza il valore1
.
Aggiungi route per le subnet consumer
Devi aggiungere una route all'interfaccia di Private Service Connect gateway predefinito per ogni subnet consumer che si connette Interfaccia di Private Service Connect. In questo modo, il traffico destinato alla rete del consumatore esce dall'interfaccia Private Service Connect.
I passaggi seguenti spiegano come aggiornare temporaneamente la tabella di routing per un VM che utilizza il sistema operativo Debian. Per aggiornare la tabella in modo permanente o per aggiornare il percorso su un altro sistema operativo, consulta la documentazione pubblica del sistema operativo.
Connettiti alla VM della tua interfaccia Private Service Connect.
Esegui il seguente comando per ogni subnet consumer che si connette all'interfaccia Private Service Connect:
sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
Sostituisci quanto segue:
CONSUMER_SUBNET_RANGE
: l'intervallo di indirizzi IP della subnet del consumatore.GATEWAY_IP
: l'indirizzo IP del gateway predefinito per la subnet della tua interfaccia.OS_INTERFACE_NAME
: il nome del sistema operativo guest per l'interfaccia di Private Service Connect, ad esempioens5
.
Crea un modello di istanza con un'interfaccia Private Service Connect
Puoi creare modelli di istanze includono le interfacce Private Service Connect.
Console
Vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Inserisci un Nome per il modello di istanza.
Fai clic su Opzioni avanzate.
Fai clic su Networking.
Nella sezione Interfacce di rete, fai clic sul pulsante
freccia di espansione.Seleziona una rete e una subnet per il campo all'interfaccia di rete principale.
Fai clic su Fine.
Fai clic su Aggiungi un'interfaccia di rete.
Fai clic su Private Service Connect.
Seleziona una rete e una subnet per Interfaccia di Private Service Connect.
Fai clic su Fine.
Fai clic su Crea.
gcloud
Utilizza il comando instance-templates create
.
gcloud compute instance-templates create NAME \ --machine-type=MACHINE_TYPE \ --network-interface=subnet=SUBNET \ --region=REGION \ --image-project=IMAGE_PROJECT \ --image=IMAGE \ --network-interface=network-attachment=projects/ATTACHMENT_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/ATTACHMENT_NAME
Sostituisci quanto segue:
NAME
: il nome del modello di istanza.MACHINE_TYPE
: il predefinita o tipo di macchina personalizzata per le VM create utilizzando questo modello di istanza, ad esempiof1-micro
.SUBNET
: la subnet del modello di istanza. Quando crei una VM utilizzando questo modello di istanza, la rete principale a un'interfaccia utente è assegnato a un indirizzo IP interno da questa subnet.REGION
: la regione del campo una subnet.IMAGE_PROJECT
: il progetto del image. Ad esempio, se specifichidebian-10-buster-v20230809
come immagine, specificadebian-cloud
come progetto immagine. Puoi visualizzare un elenco di immagini, progetti di immagini e famiglie di immagini disponibili utilizzando il comandogcloud compute images list
.IMAGE
: una versione specifica di un file immagine, ad esempiodebian-10-buster-v20230809
.ATTACHMENT_PROJECT_ID
: l'ID della rete progetto dell'allegato.ATTACHMENT_REGION
: la regione del collegamento alla rete.ATTACHMENT_NAME
: il nome del collegamento alla rete. Quando crei una VM utilizzando questo modello di istanza, l'interfaccia Private Service Connect richiede una connessione a questo collegamento di rete.Puoi specificare una configurazione aggiuntiva, ad esempio il nome dell'immagine e le dimensioni del disco di avvio. Per saperne di più, consulta Creare un nuovo modello di istanza.
API
Invia una richiesta POST
al
metodo instanceTemplates.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/SUBNET" }, { "networkAttachment": "projects/ATTACHMENT_PROJECT_ID/regions/ATTACHMENT_REGION/networkAttachments/NETWORK_ATTACHMENT" } ] } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto per la creazione del modello di istanza.NAME
: il nome del modello di istanza.IMAGE_PROJECT
: il progetto del image. Ad esempio, se specifichidebian-10-buster-v20230809
come immagine, specificadebian-cloud
come progetto immagine. Puoi visualizzare un elenco di immagini e progetti di immagini disponibili utilizzando il comandogcloud compute images list
.IMAGE
: una versione specifica di un'immagine pubblica, ad esempiodebian-10-buster-v20230809
.MACHINE_TYPE
: il valore predefinito o tipo di macchina personalizzata per le VM create utilizzando questo modello di istanza, ad esempiof1-micro
.SUBNET_REGION
: la regione della subnet del modello di istanza.SUBNET
: la subnet del modello di istanza. Quando crei una VM utilizzando questo modello di istanza, la rete principale a un'interfaccia utente è assegnato a un indirizzo IP interno da questa subnet.ATTACHMENT_PROJECT_ID
: l'ID del progetto dell'allegato della rete.ATTACHMENT_REGION
: la regione della rete allegato.NETWORK_ATTACHMENT
: il nome del collegamento alla rete. Quando crei una VM utilizzando questo modello di istanza, l'interfaccia di Private Service Connect richiede una connessione a questo collegamento di rete.
Per saperne di più sulla creazione di modelli di istanze, consulta Creare modelli di istanze.
Utilizza un'interfaccia Private Service Connect con Controlli di servizio VPC
Puoi utilizzare le interfacce Private Service Connect con Controlli di servizio VPC. Questo consente a un producer Accesso di rete VPC alle API e ai servizi Google tramite un consumer sulla rete VPC, mentre l'organizzazione consumer può applicare vantaggi in termini di sicurezza dei Controlli di servizio VPC.
Per utilizzare un'interfaccia Private Service Connect con Controlli di servizio VPC, devi aggiornare la tabella di routing del Private Service Connect dell'interfaccia utente. Sostituisci la route predefinita con una che invia traffico tramite l'interfaccia di Private Service Connect Gateway predefinito dell'interfaccia Private Service Connect.
I passaggi seguenti aggiornano temporaneamente la tabella di routing per le VM che utilizzano Debian. Per aggiungere il percorso in modo permanente o per aggiornarlo per un sistema operativo diverso, consulta la documentazione pubblica del sistema operativo.
Console
Nella console Google Cloud, vai alla pagina Istanze VM:
Fai clic sul nome della VM con Interfaccia di Private Service Connect.
Esegui questo comando:
sudo ip route replace default via GATEWAY_IP dev OS_INTERFACE_NAME
Sostituisci quanto segue:
GATEWAY_IP
: l'indirizzo IP del gateway predefinito per la subnet dell'interfaccia.OS_INTERFACE_NAME
: il nome del sistema operativo guest per l'interfaccia Private Service Connect, ad esempioens5
.
Descrivere un'interfaccia Private Service Connect
Puoi descrivere una VM per visualizzare i dettagli della sua interfaccia Private Service Connect. L'indirizzo IP dell'interfaccia, gli intervalli IP alias, i collegamenti di rete e le subnet consumer sono elencati della descrizione della VM.
Console
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sulla VM con Private Service Connect a riga di comando.
Nella sezione Interfacce di rete, visualizza i dettagli della tua interfaccia Private Service Connect.
gcloud
gcloud compute instances describe VM_NAME --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM dell'interfaccia.ZONE
: la zona della VM.
API
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: ID progetto della VM.ZONE
: la zona della VM.VM_NAME
: il nome della VM.
Elimina una VM con un'interfaccia Private Service Connect
Per eliminare un'interfaccia Private Service Connect, devi eliminare l'istanza VM a cui è collegata. Per ulteriori informazioni, vedi Eliminare un'istanza.
Passaggi successivi
- Configura la sicurezza per una rete con una connessione dell'interfaccia Private Service Connect.
- Gestire la sovrapposizione delle destinazioni in una rete con un'interfaccia Private Service Connect connessione.