Gestione delle configurazioni di connettività privata

Puoi utilizzare l'API Datastream per creare, recuperare, elencare ed eliminare le configurazioni di connettività privata. Queste configurazioni consentono a Datastream di comunicare privatamente con le origini dati in Google Cloud o con le origini esterne connesse tramite Cloud VPN o Cloud Interconnect. Puoi stabilire una connettività privata utilizzando il peering di rete Virtual Private Cloud (VPC) o un'interfaccia Private Service Connect.

Per utilizzare una connessione privata, gli stream, i profili di connessione e la configurazione di connettività privata devono trovarsi nella stessa regione. Per evitare di aggiungere manualmente regole firewall tra regioni, esegui il database di origine in una subnet in quella regione.

Crea una configurazione di connettività privata utilizzando il peering VPC

Prima di creare una configurazione di connettività privata, assicurati di:

  • Assicurati di avere una rete VPC per stabilire una connessione in peering con la rete privata di Datastream. Per ulteriori informazioni sulla creazione di una rete VPC, consulta Utilizzo del peering di rete VPC.
  • Avere un intervallo IP disponibile (con un blocco CIDR minimo di /29) sulla rete VPC. Datastream utilizza questo intervallo IP per creare il peering VPC con il VPC fornito, pertanto l'intervallo non può sovrapporsi alle subnet all'interno del VPC. Di conseguenza, Datastream può comunicare con l'origine.

Esistono due parametri associati alla creazione di una configurazione di connettività privata:

  • vpcName: Specifica il nome e il percorso della rete VPC.
  • subnet: Specifica un intervallo IP disponibile sulla rete VPC.

Il codice seguente mostra una richiesta per creare una configurazione di connettività privata e specifica il metodo di connettività utilizzando il peering VPC (vpcPeeringConfig).

REST

POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID
{
  "displayName": "DISPLAY_NAME",
  "vpcPeeringConfig": {
      "vpcName": "VPC_NAME",
      "subnet": "SUBNET"
  }
}

Ad esempio:

POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
  "displayName": "my-private-connection",
  "vpcPeeringConfig": {
    "vpcName": "projects/my-project/global/networks/my-vpc",
    "subnet": "10.11.12.13/29"
  }
}

Una volta creata la configurazione di connettività privata, puoi visualizzare le informazioni corrispondenti chiamando il metodo privateConnections/get. L'output visualizzato è simile al seguente:

{
  "name": "projects/projectId/location/us-central1/privateConnections/myPrivateConnection",
  "createTime": "2019-12-22T16:17:37.159786963Z",
  "updateTime": "2019-12-22T16:17:37.159786963Z",
  "displayName": "my-private-connection",
  "state": "CREATED",
  "vpcPeeringConfig": {
    "vpcName": "projects/my-project/global/networks/my-vpc",
    "subnet": "10.11.12.13/29"
  }  
}

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --vpc=VPC_NAME --subnet=SUBNET

Ad esempio:

gcloud datastream private-connections create my-privateConnection --location=us-central1 --display-name=my-private-connection --vpc=my-vpc --subnet=10.11.12.13/29

Crea una configurazione di connettività privata utilizzando un'interfaccia Private Service Connect

Prima di creare una configurazione di connettività privata, assicurati di:

  • Assicurati di avere una rete VPC che puoi connettere alla rete privata di Datastream. Per ulteriori informazioni sulla creazione di una rete VPC, consulta Crea e gestisci le reti VPC.

  • Crea un collegamento di rete nel progetto VPC.

  • Verifica che Google Cloud e il firewall on-premise consentano il traffico dall'intervallo di indirizzi IP del collegamento di rete al database di origine da cui vuoi trasmettere i flussi di dati.

Il seguente codice mostra una richiesta per creare una configurazione di connettività privata utilizzando le interfacce Private Service Connect. Devi prima eseguire un comando per creare una configurazione di connettività privata con il flag validateOnly (--validate-only per Google Cloud CLI):

REST

POST "https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID&validateOnly=true"

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME --validate-only

Nella risposta, ricevi il nome del progetto producer da approvare. Devi aggiungerlo all'elenco dei progetti consentiti per il collegamento di rete:

  1. Utilizza il metodo describe per ottenere il valore producer-accept-list corrente per il collegamento di rete. Per ulteriori informazioni, consulta la documentazione di Google Cloud SDK di Compute Engine.
  2. Aggiungi il progetto producer a questo elenco utilizzando il metodo update. Per saperne di più, consulta la documentazione di Google Cloud SDK per Compute Engine.

Dopo aver aggiunto il progetto producer all'elenco dei progetti consentiti, esegui il comando per creare nuovamente la configurazione della connettività privata, questa volta senza il flag validateOnly:

REST

POST https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections?privateConnectionId=PRIVATE_CONNECTIVITY_CONFIGURATION_ID
{
  "displayName": "DISPLAY_NAME",
  "pscInterfaceConfig": {
      "networkAttachment": "NETWORK_ATTACHMENT_NAME"
  }
}

Ad esempio:

POST https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections?privateConnectionId=myPrivateConnection
{
  "displayName": "my-private-connection",
  "pscInterfaceConfig": {
    "networkAttachment": "projects/my-project/regions/us-central1/networkAttachments/my-na"
  }
}

gcloud

gcloud datastream private-connections create PRIVATE_CONNECTION_NAME --location=LOCATION --display-name=DISPLAY_NAME --network-attachment=NETWORK_ATTACHMENT_NAME

Ad esempio:

gcloud datastream private-connections create my-private-connection --location=us-central1 --display-name=my-private-connection --network-attachment=my-network-attachment

Ottieni informazioni su una configurazione di connettività privata

Il codice seguente mostra una richiesta per recuperare informazioni su una configurazione di connettività privata creata.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/PRIVATE_CONNECTIVITY_CONFIGURATION_ID

Ad esempio:

GET https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection
     

gcloud

Per saperne di più sull'utilizzo di gcloud per recuperare informazioni sulla configurazione della connettività privata, consulta la documentazione di Google Cloud SDK.

Elenca le configurazioni di connettività privata

Il codice seguente mostra una richiesta per recuperare informazioni su tutte le configurazioni di connettività privata.

REST

GET https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections

gcloud

Per saperne di più sull'utilizzo di gcloud per recuperare informazioni su tutte le configurazioni di connettività privata, consulta la documentazione di Google Cloud SDK.

Eliminazione di una configurazione di connettività privata

Il codice seguente mostra una richiesta di eliminazione di una configurazione di connettività privata. Dopo l'eliminazione della configurazione, i profili di connessione che la utilizzano non funzioneranno. Inoltre, gli stream che utilizzano questi profili di connessione non saranno utilizzabili.

Per risolvere il problema, assegna una configurazione di connettività privata diversa a ogni profilo di connessione. Per saperne di più, consulta Aggiorna un profilo di connessione.

REST

DELETE https://datastream.googleapis.com/v1/projects/PROJECT_ID/locations/
LOCATION/privateConnections/[private-connectivity-configuration-id] {"force": true} 

Ad esempio:

DELETE https://datastream.googleapis.com/v1/projects/myProjectId/locations/
us-central1/privateConnections/myPrivateConnection {"force": true} 

gcloud

Per saperne di più sull'utilizzo di gcloud per eliminare la configurazione della connettività privata, consulta la documentazione di Google Cloud SDK.

Passaggi successivi