Configura i criteri di connessione al servizio

In questa pagina viene descritto in che modo un amministratore di rete può configurare i criteri di connessione al servizio per automatizzare la connettività privata a un servizio gestito.

Prima di iniziare

  • Assicurati che il servizio gestito di cui vuoi eseguire il deployment supporti i criteri di connessione al servizio. La disponibilità dei servizi per il deployment tramite i criteri di connessione al servizio è disponibile in un'anteprima limitata. Per ulteriori informazioni sui servizi che supportano i criteri di connessione ai servizi, consulta Servizi supportati.

  • Devi conoscere il nome della classe di servizio dell'istanza di servizio gestito di cui vuoi eseguire il deployment della connettività.

  • Ulteriori informazioni sugli endpoint Private Service Connect.

  • Devi disporre di una rete Virtual Private Cloud (VPC) e di una subnet.

  • Devi enable l'API Compute Engine nel tuo progetto.

  • Devi enable l'API Network Connectivity nel progetto.

  • Devi enable l'API Service Consumer Management nel progetto consumer in cui è stato eseguito il deployment degli endpoint Private Service Connect. Questa API consente a Google Cloud di creare l'account di servizio Network Connectivity che esegue il deployment degli endpoint Private Service Connect.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare una rete e creare un criterio di connessione al servizio, chiedi all'amministratore di concederti il ruolo IAM Amministratore rete Compute (roles/compute.networkAdmin) per il tuo progetto.

Per utilizzare i criteri di connessione al servizio con il VPC condiviso, è necessario concedere i ruoli agli account di servizio per la connettività di rete nei progetti di servizio e host. Questi account di servizio vengono configurati automaticamente quando viene creato un criterio di connessione al servizio, ma i ruoli possono essere rimossi manualmente. Se noti errori relativi ad autorizzazioni mancanti, un amministratore account di servizio potrebbe dover concedere di nuovo i ruoli. Per maggiori informazioni, consulta Configurare gli account di servizio per il VPC condiviso.

Crea un criterio di connessione al servizio

Un criterio di connessione al servizio consente di autorizzare la classe di servizio specificata a creare una connessione Private Service Connect tra reti VPC producer e consumer.

Puoi creare un massimo di un criterio per ogni combinazione di classe di servizio, regione e rete VPC. Un criterio determina l'automazione della connettività dei servizi per quella specifica combinazione. Quando configuri un criterio, seleziona una subnet. La subnet viene utilizzata per allocare indirizzi IP per gli endpoint creati tramite il criterio. Puoi riutilizzare la stessa subnet in più criteri di connessione se questi condividono la stessa regione.

Ad esempio, se vuoi utilizzare l'automazione della connettività dei servizi con due servizi in tre regioni diverse, Puoi utilizzare un minimo di tre subnet, una per ogni regione.

Dopo aver creato un criterio di connessione al servizio, puoi aggiornare solo il limite di subnet e connessioni del criterio. Se devi aggiornare altri campi, elimina il criterio e creane uno nuovo.

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Criteri di connessione.

  3. Fai clic su Crea criterio di connessione.

  4. Inserisci un nome per il criterio di connessione.

  5. Specifica la classe di servizio.

    • Per i servizi Google, segui questi passaggi:
      1. In Classe del servizio di origine, seleziona Servizi Google.
      2. Seleziona la classe di servizio dal menu Classe di servizio.
    • Per i servizi di terze parti, segui questi passaggi:
      1. Per Classe del servizio di origine, seleziona Servizi di terze parti.
      2. In Classe di servizio, inserisci il nome della classe di servizio.
  6. Nella sezione Ambito degli endpoint di destinazione, seleziona una rete e una regione a cui si applica questo criterio.

  7. Nella sezione Criterio, seleziona una o più subnet dal menu Subnet. Le subnet vengono utilizzate per allocare indirizzi IP per gli endpoint.

  8. (Facoltativo) Specifica un Limite di connessioni per il criterio. Il limite determina il numero di endpoint che possono essere creati utilizzando questo criterio di connessione. Se omesso, non è previsto alcun limite.

  9. Fai clic su Crea criterio.

gcloud

Utilizza il comando service-connection-policies create.

gcloud network-connectivity service-connection-policies create POLICY_NAME \
    --network=NETWORK \
    --project=PROJECT_ID \
    --region=REGION \
    --service-class=SERVICE_CLASS \
    --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \
    --psc-connection-limit=LIMIT \
    --description=DESCRIPTION

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di connessione al servizio.
  • NETWORK: la rete a cui applicare questo criterio.
  • PROJECT_ID: l'ID o il numero del progetto della rete VPC. Per le reti VPC condivise, i criteri di connessione al servizio devono essere sottoposti a deployment nel progetto host e non sono supportati nei progetti di servizio.
  • REGION: la regione a cui applicare questo criterio. Deve esistere lo stesso criterio per ogni regione in cui vuoi automatizzare la connettività dei servizi.
  • SERVICE_CLASS: l'identificatore di risorsa fornito dal producer della classe di servizio.
  • SUBNETS: una o più subnet consumer normali utilizzate per assegnare indirizzi IP per gli endpoint Private Service Connect. Questi indirizzi IP vengono allocati e restituiti automaticamente al pool della subnet man mano che le istanze di servizio gestito vengono create ed eliminate. Le subnet devono trovarsi nella stessa regione del criterio di connessione al servizio. Puoi riutilizzare la stessa subnet in più criteri di connessione se questi condividono la stessa regione. Puoi inserire più subnet in un elenco separato da virgole.
  • LIMIT: il numero massimo di endpoint che possono essere creati utilizzando questo criterio. Se non è specificato, non c'è alcun limite.
  • DESCRIPTION: una descrizione facoltativa del criterio di connessione al servizio.

Ad esempio, il comando seguente crea un criterio di connessione al servizio per la classe di servizio gcp-database-service che alloca gli indirizzi IP dalla subnet managed-services. Utilizzando questo criterio è possibile creare un massimo di 10 endpoint Private Service Connect. Gli endpoint devono essere creati in progetti che si trovano nella stessa organizzazione dell'istanza del servizio gestito.

gcloud network-connectivity service-connection-policies create gcp-database-cxn-policy \
    --network=default \
    --project=my-project \
    --region=us-central1 \
    --service-class=gcp-database-service \
    --subnets=managed-service-subnet \
    --psc-connection-limit=10

Terraform

Puoi utilizzare la risorsa Terraform per creare un criterio di connessione al servizio.

# Create a VPC network
resource "google_compute_network" "default" {
  name                    = "consumer-network"
  auto_create_subnetworks = false
}

# Create a subnetwork
resource "google_compute_subnetwork" "default" {
  name          = "consumer-subnet"
  ip_cidr_range = "10.0.0.0/16"
  region        = "us-central1"
  network       = google_compute_network.default.id
}

# Create a service connection policy
resource "google_network_connectivity_service_connection_policy" "default" {
  name          = "service-connection-policy"
  location      = "us-central1"
  service_class = "gcp-memorystore-redis"
  network       = google_compute_network.default.id
  psc_config {
    subnetworks = [google_compute_subnetwork.default.id]
    limit       = 2
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del progetto.
  • REGION: la regione del criterio di connessione al servizio.
  • POLICY_NAME: il nome del criterio di connessione al servizio.
  • DESCRIPTION: una descrizione facoltativa del criterio di connessione al servizio.
  • NETWORK: la rete del criterio di connessione al servizio.
  • LIMIT: il numero massimo di endpoint che è possibile creare utilizzando questo criterio. Se non è specificato, non c'è alcun limite.
  • SUBNET: una o più subnet consumer normali utilizzate per allocare indirizzi IP per gli endpoint Private Service Connect. Questi indirizzi IP vengono allocati e restituiti automaticamente al pool della subnet man mano che le istanze di servizio gestito vengono create ed eliminate. Le subnet devono trovarsi nella stessa regione del criterio di connessione al servizio. Puoi riutilizzare la stessa subnet in più criteri di connessione se questi condividono la stessa regione. Puoi inserire più URL di subnet in un elenco separato da virgole.
  • SERVICE_CLASS: l'identificatore di risorsa della classe di servizio fornito dal producer.

Metodo HTTP e URL:

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME

Corpo JSON della richiesta:

{
  "description": "DESCRIPTION",
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "pscConfig": {
    "limit": "LIMIT",
    "subnetworks": [
      "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
    ]
  },
  "serviceClass": "SERVICE_CLASS"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
    "createTime": "2023-08-15T16:59:29.236110917Z",
    "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Elenca i criteri di connessione al servizio

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Criteri di connessione.

  3. Vengono visualizzati i criteri di connessione.

gcloud

Utilizza il comando service-connection-policies list.

gcloud network-connectivity service-connection-policies list \
    --region=REGION

Sostituisci REGION con la regione in cui vuoi elencare i criteri di connessione al servizio.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del progetto.
  • REGION: la regione in cui elencare i criteri di connessione al servizio.

Metodo HTTP e URL:

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "serviceConnectionPolicies": [
    {
      "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-1",
      "createTime": "2023-08-15T15:33:54.712819865Z",
      "updateTime": "2023-08-15T15:33:54.945630882Z",
      "description": "descriptor",
      "network": "projects/project-id/global/networks/network-two",
      "serviceClass": "service-class",
      "infrastructure": "PSC",
      "pscConfig": {
        "subnetworks": [
          "projects/project-id/regions/us-west1/subnetworks/us-west1-subnet"
        ],
        "limit": "12"
      },
      "etag": "zCqDFBG1dS7B4gNdJKPR98YMUXpSrBIz0tZB_hwOIZI"
    },
    {
      "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-2",
      "createTime": "2023-08-15T16:59:29.230257109Z",
      "updateTime": "2023-08-15T16:59:29.508994923Z",
      "description": "descriptor",
      "network": "projects/project-id/global/networks/custom-test",
      "serviceClass": "service-class",
      "infrastructure": "PSC",
      "pscConfig": {
        "subnetworks": [
          "projects/project-id/regions/us-central1/subnetworks/subnet-one"
        ],
        "limit": "25"
      },
      "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8"
    }
  ]
}

Descrivere un criterio di connessione al servizio

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Criteri di connessione.

  3. Fai clic sul criterio di connessione al servizio che vuoi visualizzare.

gcloud

Utilizza il comando service-connection-policies describe.

gcloud network-connectivity service-connection-policies describe POLICY_NAME \
    --region=REGION

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di connessione al servizio che vuoi descrivere.
  • REGION: l'area geografica del criterio di connessione al servizio che vuoi descrivere.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del progetto.
  • REGION: la regione del criterio di connessione al servizio.
  • POLICY_NAME: il nome del criterio di connessione al servizio da descrivere.

Metodo HTTP e URL:

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name",
  "createTime": "2023-08-15T16:59:29.230257109Z",
  "updateTime": "2023-08-15T16:59:29.508994923Z",
  "description": "description",
  "network": "projects/project-id/global/networks/custom-test",
  "serviceClass": "gcp-memorystore-redis",
  "infrastructure": "PSC",
  "pscConfig": {
    "subnetworks": [
      "projects/project-id/regions/us-central1/subnetworks/subnet-one"
    ],
    "limit": "25"
  },
  "etag": "nB603i61nRGMZpNjWoWMM6wRzsgM8QN9C9v5QFLyOa8"
}

Aggiorna un criterio di connessione al servizio

Puoi aggiornare le subnet e il limite di connessioni per un criterio di connessione al servizio.

Se rimuovi una subnet dal criterio di connessione al servizio, si applica quanto segue:

  • Gli endpoint Private Service Connect esistenti non sono interessati.
  • I nuovi endpoint non utilizzano la subnet rimossa.

Se aggiorni il limite di connessione di un criterio di connessione al servizio, si applica quanto segue:

  • Gli endpoint esistenti non sono interessati.
  • Se il nuovo limite di connessioni è inferiore al numero esistente di endpoint associati al criterio, l'automazione della connettività dei servizi blocca la creazione di nuovi endpoint che utilizzano questo criterio.
  • Se il nuovo limite di connessioni è superiore al numero esistente di endpoint associati al criterio, è possibile creare gli endpoint che erano stati bloccati in precedenza dal limite di connessioni.

Se aggiorni un criterio di connessione al servizio e non specifichi un limite di connessioni, il criterio aggiornato non ha limiti di connessioni.

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Criteri di connessione.

  3. Fai clic sul criterio di connessione al servizio che vuoi modificare.

  4. Fai clic su Modifica.

  5. Per aggiornare le subnet del criterio, segui questi passaggi:

    1. Fai clic su Subnet, quindi seleziona le subnet che vuoi associare al criterio.
    2. Fai clic su Ok.
  6. Per aggiornare il limite di connessioni del criterio, inserisci un nuovo valore nel campo Limite di connessioni.

  7. Fai clic su Aggiorna criterio.

gcloud

Utilizza il comando service-connection-policies update.

gcloud network-connectivity service-connection-policies update POLICY_NAME \
    --region=REGION
    --project=PROJECT_ID
    --subnets=SUBNETS
    --psc-connection-limit=LIMIT
  • POLICY_NAME: il nome del criterio di connessione al servizio.
  • REGION: la regione del criterio di connessione al servizio. Non puoi aggiornare la regione di un criterio.
  • PROJECT_ID: l'ID o il numero del progetto del criterio.
  • SUBNETS: una o più subnet consumer normali utilizzate per assegnare indirizzi IP per gli endpoint Private Service Connect. Questi indirizzi IP vengono allocati e restituiti automaticamente al pool della subnet man mano che le istanze di servizio gestito vengono create ed eliminate. Le subnet devono trovarsi nella stessa regione del criterio di connessione al servizio. Puoi riutilizzare la stessa subnet in più criteri di connessione se questi condividono la stessa regione. Puoi inserire più subnet in un elenco separato da virgole.
  • LIMIT: il numero massimo di endpoint che possono essere creati utilizzando questo criterio. Se non è specificato, non c'è alcun limite.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del progetto.
  • REGION: la regione del criterio di connessione al servizio. Non puoi aggiornare la regione di un criterio.
  • POLICY_NAME: il nome del criterio di connessione al servizio.
  • LIMIT: il numero massimo di endpoint che è possibile creare utilizzando questo criterio. Se non è specificato, non c'è alcun limite.
  • SUBNET: una o più subnet consumer normali utilizzate per allocare indirizzi IP per gli endpoint Private Service Connect. Questi indirizzi IP vengono allocati e restituiti automaticamente al pool della subnet man mano che le istanze di servizio gestito vengono create ed eliminate. Le subnet devono trovarsi nella stessa regione del criterio di connessione al servizio. Puoi riutilizzare la stessa subnet in più criteri di connessione se questi condividono la stessa regione. Puoi inserire più URL di subnet in un elenco separato da virgole.
  • NETWORK: la rete del criterio di connessione al servizio.

Metodo HTTP e URL:

PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME

Corpo JSON della richiesta:

{
  "pscConfig": {
    "limit": "LIMIT",
    "subnetworks": [
      "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
    ]
  },
  "network": "projects/PROJECT_ID/global/networks/NETWORK"
}

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-1692118768698-602f91a204523-8c6a2d93-d5c20a6a",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
    "createTime": "2023-08-15T16:59:29.236110917Z",
    "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Elimina un criterio di connessione al servizio

Puoi eliminare un criterio di connessione al servizio se hai finito di utilizzare il servizio o vuoi interrompere l'automazione della connettività. L'eliminazione del criterio è bloccata se al criterio sono associate connessioni Private Service Connect attive. Prima di eliminare un criterio di connessione al servizio, elimina tutte le connessioni attive ritirando tutte le istanze di servizio associate.

Console

  1. Nella console Google Cloud, vai alla pagina Private Service Connect.

    Vai a Private Service Connect

  2. Fai clic sulla scheda Criteri di connessione.

  3. Seleziona i criteri di connessione al servizio che vuoi eliminare, quindi fai clic su Elimina.

gcloud

Utilizza il comando service-connection-policies delete.

gcloud network-connectivity service-connection-policies delete POLICY_NAME \
    --region=REGION

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di connessione al servizio che vuoi eliminare.
  • REGION: la regione del criterio di connessione al servizio che vuoi eliminare.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • PROJECT_ID: l'ID del progetto.
  • REGION: la regione del criterio di connessione al servizio.
  • POLICY_NAME: il nome del criterio di connessione al servizio da eliminare.

Metodo HTTP e URL:

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME

Per inviare la richiesta, espandi una di queste opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "name": "projects/project-id/locations/us-central1/operations/operation-1692128792549-602fb6f98194a-e0275435-36edc095",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
    "createTime": "2023-08-15T19:46:32.605032867Z",
    "target": "projects/project-id/locations/us-central1/serviceConnectionPolicies/policy-name",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Configura gli account di servizio per il VPC condiviso

Gli account di servizio vengono configurati automaticamente quando utilizzi i criteri di connessione al servizio con il VPC condiviso, ma i ruoli possono essere rimossi manualmente. Se riscontri errori relativi alle autorizzazioni mancanti, prova a concedere di nuovo i ruoli.

Per concedere i ruoli richiesti, un amministratore account di servizio può eseguire le seguenti operazioni.

Concedi ruoli all'account di servizio nel progetto di servizio

gcloud

  1. Concedi il ruolo Agente di servizio Network Connectivity (roles/networkconnectivity.serviceAgent) all'account di servizio Network Connectivity del progetto di servizio. Concedi il ruolo nel progetto di servizio.

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_NUMBER \
        --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \
        --role=roles/networkconnectivity.serviceAgent
    

    Sostituisci SERVICE_PROJECT_NUMBER con il numero del progetto di servizio.

  2. Concedi il ruolo Utente di rete Compute (roles/compute.networkUser) all'account di servizio per la connettività di rete del progetto di servizio. Esegui una delle seguenti operazioni.

    • Concedi il ruolo nel progetto host.

      gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \
          --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \
          --role=roles/compute.networkUser
      

      Sostituisci HOST_PROJECT_NUMBER con il numero del progetto host.

    • Concedi il ruolo in ciascuna delle subnet nel progetto host associate al criterio di connessione al servizio. Utilizza il seguente comando per ogni subnet.

      gcloud compute networks subnets add-iam-policy-binding SUBNET \
          --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \
          --role=roles/compute.networkUser \
          --region=REGION \
          --project=HOST_PROJECT_NUMBER
      

      Sostituisci quanto segue:

      • SUBNET: nome della subnet associata al criterio di connessione al servizio.
      • REGION: la regione della subnet.

Concedi il ruolo all'account di servizio nel progetto host

gcloud

  1. Concedi il ruolo Agente di servizio Network Connectivity (roles/networkconnectivity.serviceAgent) all'account di servizio Network Connectivity del progetto host. Concedi il ruolo nel progetto host.

    gcloud projects add-iam-policy-binding HOST_PROJECT_NUMBER \
        --member=serviceAccount:service-HOST_PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com \
        --role=roles/networkconnectivity.serviceAgent
    

    Sostituisci HOST_PROJECT_NUMBER con il numero del progetto host.

Passaggi successivi