Crea e gestisci Private Service Connect interfacce

Questa pagina descrive in che modo gli amministratori di rete dei producer possono creare e gestire Interfacce Private Service Connect. Private Service Connect consentono alle reti Virtual Private Cloud (VPC) del producer di servizi di avviare alle reti VPC consumer.

Prima di iniziare

Ruoli

Per ottenere le autorizzazioni necessarie per creare interfacce Private Service Connect, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.

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 di 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 collega nella subnet del producer. 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. Nel in questo caso, collabora con l'organizzazione consumer per aggiungere il tuo progetto all' dall'elenco di istanze gestite, quindi creo un'interfaccia Private Service Connect.

Quando crei un'interfaccia di Private Service Connect, puoi: Facoltativamente, assegnagli uno o più intervalli IP 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 la subnet del collegamento di rete non contiene un numero sufficiente di indirizzi IP per alloca l'indirizzo IP principale e gli intervalli IP alias, la creazione della VM dell'interfaccia Private Service Connect ha esito negativo. Tu trovare gli indirizzi IP specifici che sono stati assegnati nella descrizione della VM dell'interfaccia.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic su Crea istanza.

  3. Inserisci un Nome.

  4. Seleziona una regione che corrisponda a quella della rete allegato a cui vuoi collegarti.

  5. Seleziona una Zona.

  6. Fai clic su Opzioni avanzate.

  7. Fai clic su Networking.

  8. Nella sezione Interfacce di rete, fai clic sulla prima interfaccia di rete. che è l'interfaccia di rete principale, quindi:

    1. Seleziona una Rete per l'interfaccia di rete principale.
    2. Seleziona una Subnet per l'interfaccia di rete principale. Questa subnet deve trovarsi nella stessa regione Collegamento di rete dell'interfaccia Private Service Connect.
  9. Fai clic su Aggiungi un'interfaccia di rete.

  10. In Tipo di interfaccia, seleziona Private Service Connect.

  11. Inserisci un URL del collegamento di rete.

  12. Seleziona un tipo di stack IP. Per creare un dual stack all'interfaccia Private Service Connect, la rete la subnet del collegamento deve essere a doppio stack.

  13. (Facoltativo) Per aggiungere un intervallo IP alias, inserisci nella casella Lunghezza prefisso 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.

  14. Fai clic su Fine.

  15. Fai clic su Crea.

gcloud

Per creare una VM con un indirizzo IP l'interfaccia di Private Service Connect, utilizza 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 istanza
  • ZONE: la zona della nuova istanza
  • MACHINE_TYPE: il tipo di macchina dell'istanza, che che può essere predefinita o personalizzata.
  • IMAGE_PROJECT: il progetto del image. Ad esempio, se specifichi debian-10-buster-v20230809 sotto forma di l'immagine, specifica debian-cloud come progetto immagine. Puoi visualizza un elenco di immagini, progetti e famiglie di immagini disponibili per utilizzando Comando gcloud compute images list.
  • IMAGE: una versione specifica di un file immagine, ad esempio debian-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 della rete allegato per richiedere una connessione.

Per assegnare all'interfaccia Private Service Connect sia un indirizzo e 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 Private Service Connect solo IPv4 a riga di comando, invia una richiesta POST all'interfaccia 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 specifichi debian-10-buster-v20200309 come immagine, specifica debian-cloud come progetto immagine.
  • IMAGE: una versione specifica di un immagine pubblica, ad esempio debian-10-buster-v20200309.
  • PRODUCER_PROJECT_ID: l'ID progetto del progetto dell'interfaccia.
  • PRODUCER_NETWORK: il nome del produttore rete VPC.
  • SUBNET_REGION: la regione dell'istanza principale nella subnet dell'interfaccia di rete. Questa subnet deve trovarsi nella stessa regione del collegamento di rete dell'interfaccia Private Service Connect.
  • SUBNET: il nome della rete principale nella subnet dell'interfaccia utente.
  • CONSUMER_PROJECT_ID: l'ID del consumatore progetto.
  • ATTACHMENT_REGION: il collegamento di rete regione.
  • ATTACHMENT_NAME: nome del collegamento di rete.

Per assegnare all'interfaccia Private Service Connect sia un indirizzo e 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.

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 alias nell'elenco aliasIpRanges nel seguente formato:

"aliasIpRanges": [
  {
    "ipCidrRange": "/28"
  },
  {
    "ipCidrRange": "/30"
  }
]

Per ulteriori informazioni sulla creazione di istanze VM, consulta Crea e avvia 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

  1. Nella console Google Cloud, vai a Istanze VM:

    Vai a Istanze VM

  2. Fai clic sul nome della VM con Interfaccia di Private Service Connect.

  3. Nella sezione Interfacce di rete, trova e prendi nota del nome del tuo ad esempio l'interfaccia di Private Service Connect, nic1.

gcloud

  1. 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.
  2. Nell'output del comando, trova e annota il nome Google Cloud del tuo ad esempio l'interfaccia di Private Service Connect, 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 del tuo Interfaccia di Private Service Connect, che è diversa dall'interfaccia dell'interfaccia utente in Google Cloud.

Per trovare il nome dell'interfaccia su una VM Debian, procedi nel seguente modo. Per le VM con altri sistemi operativi, consultare la documentazione pubblica del di un sistema operativo completo.

  1. Connettiti alla VM della tua interfaccia Private Service Connect.
  2. 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 email, ad esempio ens5.

Trova l'IP gateway dell'interfaccia Private Service Connect

Per configurare il routing, devi conoscere l'indirizzo IP del tuo Gateway predefinito dell'interfaccia Private Service Connect.

  1. Connettiti alla VM della tua interfaccia Private Service Connect.

  2. Invia la seguente richiesta GET dalla VM della tua interfaccia all'associazione server metadati:

    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 Google Cloud per l'interfaccia di Private Service Connect. Ad esempio, se il nome dell'interfaccia è nic1, utilizza il valore 1.

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. Ciò garantisce che del traffico associato ai dati di rete in uscita dalla rete consumer. Interfaccia di 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 sistema operativo diverso, consulta le documentazione pubblica.

  1. Connettiti alla VM della tua interfaccia Private Service Connect.

  2. Esegui questo comando per ogni subnet consumer che si connette Interfaccia di Private Service Connect:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Sostituisci quanto segue:

Crea un modello di istanza con un'interfaccia di Private Service Connect

Puoi creare modelli di istanze includono le interfacce Private Service Connect.

Console

  1. Vai alla pagina Modelli di istanza.

    Vai a Modelli di istanza

  2. Fai clic su Crea modello istanza.

  3. Inserisci un Nome per il modello di istanza.

  4. Fai clic su Opzioni avanzate.

  5. Fai clic su Networking.

  6. Nella sezione Interfacce di rete, fai clic sul pulsante freccia di espansione.

  7. Seleziona una rete e una subnet per il campo all'interfaccia di rete principale.

  8. Fai clic su Fine.

  9. Fai clic su Aggiungi un'interfaccia di rete.

  10. Fai clic su Private Service Connect.

  11. Seleziona una rete e una subnet per Interfaccia di Private Service Connect.

  12. Fai clic su Fine.

  13. Fai clic su Crea.

gcloud

Usa 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 valore predefinita o tipo di macchina personalizzata per le VM create utilizzando questo modello di istanza, ad esempio f1-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 specifichi debian-10-buster-v20230809 sotto forma di l'immagine, specifica debian-cloud come progetto immagine. Puoi visualizza un elenco di immagini, progetti e famiglie di immagini disponibili per utilizzando Comando gcloud compute images list.
  • IMAGE: una versione specifica di un file immagine, ad esempio debian-10-buster-v20230809.
  • ATTACHMENT_PROJECT_ID: l'ID della rete progetto dell'allegato.
  • ATTACHMENT_REGION: la regione della rete allegato.
  • ATTACHMENT_NAME: il nome della rete allegato. Quando crei una VM utilizzando questo modello di istanza, l'interfaccia di Private Service Connect richiede una connessione a questo collegamento di rete.

    Puoi specificare un'ulteriore configurazione, come il nome dell'immagine e l'avvio dimensioni del disco. Per ulteriori informazioni, vedi Crea un nuovo modello di istanza.

API

Invia una richiesta POST a 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 specifichi debian-10-buster-v20230809 sotto forma di l'immagine, specifica debian-cloud come progetto immagine. Puoi visualizza un elenco delle immagini e dei progetti di immagini disponibili utilizzando Comando gcloud compute images list.
  • IMAGE: una versione specifica di un file immagine, ad esempio debian-10-buster-v20230809.
  • MACHINE_TYPE: il valore predefinito o tipo di macchina personalizzata per le VM create utilizzando questo modello di istanza, ad esempio f1-micro.
  • SUBNET_REGION: la regione dell'istanza della subnet del modello.
  • 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 della rete progetto dell'allegato.
  • ATTACHMENT_REGION: la regione della rete allegato.
  • NETWORK_ATTACHMENT: il nome della rete allegato. Quando crei una VM utilizzando questo modello di istanza, l'interfaccia di Private Service Connect richiede una connessione a questo collegamento di rete.

Per ulteriori informazioni sulla creazione di modelli di istanza, consulta Creare modelli di istanza.

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 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 consentono di aggiornare temporaneamente la tabella di routing per le VM che utilizzano in Debian. Per aggiungere il percorso in modo permanente o aggiornarlo per un altro consulta la documentazione pubblica del sistema operativo.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

  2. Fai clic sul nome della VM con Interfaccia di Private Service Connect.

  3. Esegui questo comando:

    sudo ip route replace default via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Sostituisci quanto segue:

Descrizione di un'interfaccia di Private Service Connect

Puoi descrivere una VM per visualizzarne i dettagli Interfaccia di 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

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sulla VM con Private Service Connect a riga di comando.

  3. Nella sezione Interfacce di rete, visualizza i dettagli dell'interfaccia di Private Service Connect.

gcloud

gcloud compute instances describe VM_NAME
    --zone=ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM della tua 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 di Private Service Connect, è necessario eliminare all'istanza VM a cui è collegato. Per ulteriori informazioni, vedi Eliminare un'istanza.

Passaggi successivi