Questa pagina descrive come configurare sia l'accesso ai servizi privati sia Private Service Connect.
Configurando l'accesso privato ai servizi, puoi allocare un intervallo di indirizzi IP e creare una connessione di servizio privato per la rete Virtual Private Cloud (VPC) nel tuo progetto Google Cloud. In questo modo, le risorse nella rete VPC possono connettersi alle tue istanze Cloud SQL.
Configurando Private Service Connect, puoi connetterti a un'istanza Cloud SQL principale o a una delle sue repliche di lettura da più reti VPC appartenenti a gruppi, team, progetti o organizzazioni diversi.
Crea un'istanza che supporti l'accesso ai servizi privati e Private Service Connect
Se crei un'istanza Cloud SQL che supporta sia l'accesso privato ai servizi sia Private Service Connect, puoi usufruire dei vantaggi di entrambi i servizi. Per saperne di più, vedi Opzioni di connessione per le istanze.
Con Private Service Connect puoi connetterti a un'istanza Cloud SQL da più reti VPC appartenenti a gruppi, team, progetti o organizzazioni diversi.
Puoi creare un'istanza Cloud SQL che supporti l'accesso privato ai servizi e Private Service Connect utilizzando gcloud CLI o l'API.
gcloud
Per creare un'istanza che supporti sia l'accesso ai servizi privati sia Private Service Connect, utilizza il comando gcloud beta sql instances create
:
gcloud beta sql instances create INSTANCE_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --availability-type=AVAILABILITY_TYPE \ --no-assign-ip \ --allocated-ip-range-name=RANGE_NAME \ --enable-google-private-path \ --tier=MACHINE_TYPE \ --database-version=DATABASE_VERSION \ --network=VPC_NETWORK_NAME \ --psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT
Effettua le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza.
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- REGION_NAME: il nome della regione per l'istanza.
ALLOWED_PROJECTS: un elenco di ID o numeri di progetto consentiti, separati da virgole. Se un progetto non è incluso in questo elenco, non puoi creare endpoint Private Service Connect nel progetto per connetterti all'istanza.
- AVAILABILITY_TYPE: abilita l'alta disponibilità per l'istanza. Per questo parametro, specifica uno dei seguenti valori:
REGIONAL
: abilita la disponibilità elevata ed è consigliato per le istanze di produzione. Viene eseguito il failover dell'istanza in un'altra zona all'interno della regione selezionata.ZONAL
: non forniscono funzionalità di failover. Questo è il valore predefinito.
Per ulteriori informazioni su come impostare e rimuovere l'alta disponibilità per le istanze, consulta Configurare un'istanza esistente per l'alta disponibilità e Disattivare l'alta disponibilità per un'istanza.
- RANGE_NAME: per questo parametro facoltativo, imposta un nome per un intervallo per il quale è allocato un intervallo IP. Il nome dell'intervallo deve essere conforme a
RFC 1035
e contenere da 1 a 63 caratteri. - MACHINE_TYPE: il tipo di macchina per l'istanza.
- DATABASE_VERSION: la versione del database per l'istanza (ad esempio
POSTGRES_13
). - VPC_NETWORK_NAME: il nome e il percorso della rete VPC a cui si connette l'istanza (ad es.
"projects/PROJECT_ID/global/networks/default"
). - VPC_NETWORK_PATH: il percorso della rete VPC da cui deve essere creato l'endpoint Private Service Connect. Ad esempio:
projects/my-host-project/global/networks/default
. SERVICE_PROJECT: il progetto in cui viene creato l'endpoint Private Service Connect. Se la rete VPC non è un VPC condiviso, questo può essere solo il progetto host per la rete. Se si tratta di un VPC condiviso, può essere il progetto host o il progetto di servizio.
Tutti i progetti specificati nei parametri di collegamento automatico vengono aggiunti automaticamente ai progetti consentiti.
Per scoprire come connetterti a un'istanza in cui è abilitato Private Service Connect, consulta Connettersi a un'istanza Cloud SQL.
Per disattivare l'IP pubblico, utilizza il parametro --no-assign-ip
.
Se vuoi, puoi anche utilizzare il parametro --enable-google-private-path
per consentire ad altri servizi Google Cloud come BigQuery di accedere ai dati in Cloud SQL ed eseguire query su questi dati tramite una connessione IP privata. Questo parametro è valido solo se:
- Utilizzi il parametro
--no-assign-ip
. - Utilizza il parametro
--network
per specificare il nome della rete VPC che vuoi utilizzare per creare una connessione privata.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_NAME: il nome dell'istanza.
- REGION_NAME: il nome della regione per l'istanza.
- AVAILABILITY_TYPE: abilita l'alta disponibilità per l'istanza. Per questo parametro, specifica uno dei seguenti valori:
REGIONAL
: abilita la disponibilità elevata ed è consigliato per le istanze di produzione. Viene eseguito il failover dell'istanza in un'altra zona all'interno della regione selezionata.ZONAL
: non forniscono funzionalità di failover. Questo è il valore predefinito.
Per ulteriori informazioni su come impostare e rimuovere l'alta disponibilità per le istanze, consulta Configurare un'istanza esistente per l'alta disponibilità e Disattivare l'alta disponibilità per un'istanza.
- VPC_NETWORK_NAME: il nome e il percorso della rete VPC a cui si connette l'istanza (ad es.
"projects/PROJECT_ID/global/networks/default"
). - RANGE_NAME: per questo parametro facoltativo, imposta un nome per un intervallo per il quale è allocato un intervallo IP. Il nome dell'intervallo deve essere conforme a
RFC 1035
e contenere da 1 a 63 caratteri. ALLOWED_PROJECTS: un elenco di ID o numeri di progetto consentiti, separati da virgole. Se un progetto non è incluso in questo elenco, non puoi creare endpoint Private Service Connect nel progetto per connetterti all'istanza.
- VPC_NETWORK_PATH: il percorso della rete VPC da cui deve essere creato l'endpoint Private Service Connect. Ad esempio:
projects/my-host-project/global/networks/default
. SERVICE_PROJECT: il progetto in cui viene creato l'endpoint Private Service Connect. Se la rete VPC non è un VPC condiviso, questo può essere solo il progetto host per la rete. Se si tratta di un VPC condiviso, può essere il progetto host o il progetto di servizio.
Tutti i progetti specificati nei parametri di collegamento automatico vengono aggiunti automaticamente ai progetti consentiti.
- MACHINE_TYPE: il tipo di macchina per l'istanza.
Per scoprire come connetterti a un'istanza in cui è abilitato Private Service Connect, consulta Connettersi a un'istanza Cloud SQL.
Imposti il parametro ipv4Enabled
su false
perché l'istanza ha un indirizzo IP interno.
Se imposti il parametro facoltativo enablePrivatePathForGoogleCloudServices
su true
, consenti ad altri servizi Google Cloud, come BigQuery, di accedere ai dati in Cloud SQL ed eseguire query su questi dati tramite una connessione IP interna. Se imposti questo parametro su false
, gli altri servizi Google Cloud non possono accedere ai dati in Cloud SQL tramite una connessione IP interna.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Corpo JSON della richiesta:
{ "name": "INSTANCE_NAME", "project": PROJECT_ID", "region": "REGION_NAME", "databaseVersion": "POSTGRES_13", "kind": "sql#instance", "settings": { "availabilityType": "AVAILABILITY_TYPE", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": VPC_NETWORK_NAME, "allocatedIpRange": "RANGE_NAME", "enablePrivatePathForGoogleCloudServices": true, "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscAutoConnections": [ { "consumerProject":"SERVICE_PROJECT", "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH" } ], "pscEnabled": true } }, "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "tier": "MACHINE_TYPE" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "RUNNING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "2023-06-14T18:48:35.499Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Disattivare Private Service Connect per un'istanza
Puoi disattivare Private Service Connect per un'istanza per cui sono abilitati sia l'accesso ai servizi privati sia Private Service Connect. Per motivi di sicurezza, potresti non volerti connettere all'istanza da più reti VPC che appartengono a gruppi, team, progetti o organizzazioni diversi.
Puoi disattivare Private Service Connect per un'istanza utilizzando gcloud CLI o l'API.
gcloud
Per disattivare Private Service Connect per un'istanza, utilizza il comando gcloud beta sql instances patch
:
gcloud beta sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --no-enable-private-service-connect \ --clear-allowed-psc-projects
Effettua le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza
- INSTANCE_NAME: il nome dell'istanza
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Corpo JSON della richiesta:
{ "kind": "sql#instance", "name": "INSTANCE_NAME", "project": "PROJECT_ID", "settings": { "ipConfiguration": { "pscConfig": { "pscEnabled": "false", "allowedConsumerProjects": [{}] } }, "kind": "sql#settings" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "RUNNING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "2023-06-14T18:48:35.499Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Abilita Private Service Connect per un'istanza
Puoi attivare Private Service Connect per un'istanza per cui è già stato attivato l'accesso ai servizi privati. Puoi utilizzare Private Service Connect per connetterti a un'istanza Cloud SQL da più reti VPC.
Puoi attivare Private Service Connect per un'istanza utilizzando gcloud CLI o l'API.
gcloud
Per attivare Private Service Connect per un'istanza, utilizza il comando gcloud beta sql instances patch
:
gcloud beta sql instances patch INSTANCE_NAME \ --project=PROJECT_ID \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --psc-auto-connections=network=VPC_NETWORK_PATH,project=SERVICE_PROJECT
Effettua le seguenti sostituzioni:
- INSTANCE_NAME: il nome dell'istanza
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza
ALLOWED_PROJECTS: un elenco di ID o numeri di progetto consentiti, separati da virgole. Se un progetto non è incluso in questo elenco, non puoi creare endpoint Private Service Connect nel progetto per connetterti all'istanza.
- VPC_NETWORK_PATH: il percorso della rete VPC da cui viene creato l'endpoint Private Service Connect. Ad esempio:
projects/my-host-project/global/networks/default
. SERVICE_PROJECT: il progetto in cui viene creato l'endpoint Private Service Connect. Se la rete VPC non è un VPC condiviso, questo può essere solo il progetto host per la rete. Se si tratta di un VPC condiviso, può essere il progetto host o il progetto di servizio.
Tutti i progetti specificati nei parametri di collegamento automatico vengono aggiunti automaticamente ai progetti consentiti.
Per scoprire come connetterti a un'istanza in cui è abilitato Private Service Connect, consulta Connettersi a un'istanza Cloud SQL.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: l'ID o il numero di progetto del progetto Google Cloud che contiene l'istanza.
- INSTANCE_NAME: il nome dell'istanza.
- ALLOWED_PROJECTS: un elenco di ID o numeri di progetto consentiti, separati da virgole. Questi progetti sostituiscono i progetti già configurati per l'utilizzo di Private Service Connect. Se un progetto non è incluso in questo elenco, non puoi creare endpoint Private Service Connect nel progetto per connetterti all'istanza.
- VPC_NETWORK_PATH: il percorso della rete VPC da cui viene creato l'endpoint Private Service Connect. Ad esempio:
projects/my-host-project/global/networks/default
. SERVICE_PROJECT: il progetto in cui viene creato l'endpoint Private Service Connect. Se la rete VPC non è un VPC condiviso, questo può essere solo il progetto host per la rete. Se si tratta di un VPC condiviso, può essere il progetto host o il progetto di servizio.
Tutti i progetti specificati nei parametri di collegamento automatico vengono aggiunti automaticamente ai progetti consentiti.
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
Corpo JSON della richiesta:
{ "kind": "sql#instance", "name": "INSTANCE_NAME", "project": "PROJECT_ID", "settings": { "ipConfiguration": { "pscConfig": { "pscAutoConnections": [ { "consumerProject":"SERVICE_PROJECT", "consumerNetwork":"projects/SERVICE_PROJECT/global/networks/VPC_NETWORK_PATH" } ], "pscEnabled": "true", "allowedConsumerProjects": [ALLOWED_PROJECTS] } }, "kind": "sql#settings" } }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME", "status": "RUNNING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "startTime": "2023-06-14T18:48:35.499Z", "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "INSTANCE_NAME", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
Per scoprire come connetterti a un'istanza in cui è abilitato Private Service Connect, consulta Connettersi a un'istanza Cloud SQL.