Configurazione dell'IP pubblico Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina descrive come configurare la connettività IP pubblico per un'istanza Cloud SQL.
Introduzione Puoi configurare l'istanza Cloud SQL in modo che abbia un indirizzo IPv4 pubblico e accetti connessioni da indirizzi IP specifici o da un intervallo di indirizzi aggiungendo indirizzi autorizzati all'istanza.
Non puoi specificare una rete privata (ad esempio, 10.x.x.x) come rete autorizzata.
Indirizzi IP pubblici per le istanze PostgreSQL:
IPv6: le istanze non supportano IPv6. IPv4: alle istanze viene assegnato automaticamente un indirizzo IPv4 statico. Viene addebitato un piccolo costo per l'indirizzo IP ogni volta che l'istanza è disattivata. Per assistenza per la connessione di un client di amministrazione alla tua istanza tramite una connessione IP, consulta Connessione del client psql tramite indirizzi IP .
Se configuri l'istanza in modo che accetti connessioni utilizzando il suo indirizzo IP pubblico, configurala anche in modo che utilizzi SSL per proteggere i tuoi dati. Per saperne di più, consulta Configurare SSL per le istanze .
Per configurare l'istanza con un indirizzo IP non esposto a internet pubblico, consulta Configurazione della connettività IP privata .
Attiva l'IP pubblico e aggiungi un indirizzo o un intervallo di indirizzi autorizzato Quando abiliti l'IP pubblico per l'istanza, Cloud SQL la configura con un indirizzo IPv4 pubblico e statico. Dopo aver attivato l'IP pubblico, devi configurare l'autorizzazione per le connessioni al database. Per saperne di più, consulta le opzioni di autorizzazione .
Se utilizzi un'autorità di certificazione (CA) condivisa o una CA gestita dal cliente come serverCaMode
per la tua istanza, quest'ultima richiede un riavvio quando abiliti l'IP pubblico. Per maggiori informazioni sulla configurazione della modalità CA server, vedi Autorità di certificazione (CA) .
Per abilitare l'IP pubblico e aggiungere un indirizzo autorizzato:
Console Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza. Dal menu di navigazione SQL, seleziona Connessioni . Fai clic sulla scheda Networking . Seleziona la casella di controllo IP pubblico . Fai clic su Aggiungi rete . (Facoltativo) Nel campo Nome , inserisci un nome per questa rete. Nel campo Rete , inserisci l'indirizzo IP o l'intervallo di indirizzi da cui vuoi consentire le connessioni. Utilizza la notazione CIDR .
Fai clic su Fine . Fai clic su Salva . gcloud Se non l'hai ancora fatto, aggiungi un indirizzo IPv4 all'istanza:
gcloud sql instances patch INSTANCE_NAME \ --assign-ip Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:
gcloud sql instances describe INSTANCE_NAME Cerca le voci authorizedNetwork in ipConfiguration e annotati gli indirizzi autorizzati che vuoi conservare.
Aggiorna l'elenco delle reti autorizzate, includendo tutti gli indirizzi che vuoi includere.
gcloud sql instances patch INSTANCE_NAME \ --authorized-networks= IP_ADDR1 ,IP_ADDR2 ... Utilizza la notazione CIDR .
Conferma le modifiche:
gcloud sql instances describe INSTANCE_NAME Quando rimuovi un indirizzo autorizzato, le connessioni esistenti da quell'indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
REST v1 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza, inclusi tutti gli indirizzi che vuoi impostare sull'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza network_range_1 Un indirizzo o un intervallo IP autorizzato network_range_2 Un altro indirizzo o intervallo IP autorizzato Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "network_range_1 "}, {"value": "network_range_2 "}] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Utilizza la notazione CIDR .
Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Quando rimuovi un indirizzo autorizzato, le connessioni esistenti da quell'indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Per attivare l'IP pubblico e aggiungere un indirizzo o un intervallo di indirizzi autorizzato, utilizza una risorsa Terraform .
Applica le modifiche Per applicare la configurazione di Terraform in un progetto Google Cloud , completa i passaggi nelle sezioni seguenti.
Prepara Cloud Shell Avvia Cloud Shell . Imposta il progetto Google Cloud predefinito in cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.
Prepara la directory Ogni file di configurazione di Terraform deve avere la propria directory (chiamata anche modulo radice ).
In Cloud Shell , crea una directory e un nuovo file al suo interno. Il nome file deve avere l'estensione .tf
, ad esempio main.tf
. In questo tutorial, il file viene denominato main.tf
.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel main.tf
appena creato.
(Facoltativo) Copia il codice da GitHub. Questa operazione è consigliata quando lo snippet Terraform fa parte di una soluzione end-to-end.
Rivedi e modifica i parametri di esempio da applicare al tuo ambiente. Salva le modifiche. Inizializza Terraform. Devi effettuare questa operazione una sola volta per directory.
terraform init (Facoltativo) Per utilizzare l'ultima versione del provider Google, includi l'opzione -upgrade
:
terraform init -upgrade Applica le modifiche Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
terraform plan Apporta le correzioni necessarie alla configurazione.
Applica la configurazione di Terraform eseguendo il comando seguente e inserendo yes
al prompt:
terraform apply Attendi che Terraform visualizzi il messaggio "Apply complete!" (Applicazione completata).
Apri il tuo Google Cloud progetto per visualizzare i risultati. Nella console Google Cloud , vai alle risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate. Nota: gli esempi di Terraform in genere presuppongono che le API richieste siano attive nel tuo progetto Google Cloud . Elimina le modifiche Per eliminare le modifiche:
Per disattivare la protezione dall'eliminazione, nel file di configurazione Terraform imposta l'argomento deletion_protection
su false
.
deletion_protection = "false" Applica la configurazione Terraform aggiornata eseguendo il comando seguente e inserendo yes
al prompt:
terraform apply Rimuovi le risorse applicate in precedenza con la configurazione Terraform eseguendo il seguente comando e inserendo yes
al prompt:
terraform destroy REST v1beta4 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza, inclusi tutti gli indirizzi che vuoi impostare sull'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza network_range_1 Un indirizzo o un intervallo IP autorizzato network_range_2 Un altro indirizzo o intervallo IP autorizzato Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "network_range_1 "}, {"value": "network_range_2 "}] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Utilizza la notazione CIDR .
Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Quando rimuovi un indirizzo autorizzato, le connessioni esistenti da quell'indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Rimuovere un indirizzo o un intervallo di indirizzi autorizzato Per rimuovere un indirizzo autorizzato:
Console Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza. Seleziona Connections (Connessioni) dal menu di navigazione SQL. Fai clic sull'icona Elimina per l'indirizzo che vuoi eliminare. Fai clic su Salva per aggiornare l'istanza. gcloud Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:
gcloud sql instances describe INSTANCE_NAME Cerca le voci authorizedNetwork in ipConfiguration e annotati gli indirizzi autorizzati che vuoi conservare.
Aggiorna l'elenco delle reti autorizzate, eliminando gli indirizzi che vuoi rimuovere.
gcloud sql instances patch INSTANCE_NAME \ --authorized-networks= IP_ADDR1 ,IP_ADDR2 ... Conferma le modifiche:
gcloud sql instances describe INSTANCE_NAME REST v1 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza includendo tutti gli indirizzi che vuoi conservare e rimuovendo quelli che vuoi eliminare: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza network_range_1 L'indirizzo IP o l'intervallo di rete autorizzato da rimuovere Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "network_range_1 "}] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address : La forma CIDR dell'indirizzo IP ip-address-name : Il nome dell'indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } REST v1beta4 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza includendo tutti gli indirizzi che vuoi conservare e rimuovendo quelli che vuoi eliminare: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza network_range_1 L'indirizzo IP o l'intervallo di rete autorizzato da rimuovere Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "network_range_1 "}] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address : La forma CIDR dell'indirizzo IP ip-address-name : Il nome dell'indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address ", "name": "ip-address-name ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Quando rimuovi un indirizzo autorizzato, le connessioni esistenti da quell'indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Configura un'istanza in modo che rifiuti tutte le connessioni IP pubbliche Per configurare un'istanza in modo che rifiuti tutte le connessioni IP pubbliche:
Console Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza. Seleziona Connections (Connessioni) dal menu di navigazione SQL. Fai clic sull'icona di eliminazione per tutti gli indirizzi autorizzati. Fai clic su Salva per aggiornare l'istanza. gcloud Cancella l'elenco degli indirizzi autorizzati:
gcloud sql instances patch INSTANCE_NAME \ --clear-authorized-networks Conferma le modifiche:
gcloud sql instances describe INSTANCE_NAME REST v1 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza con un elenco di indirizzi vuoto: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } REST v1beta4 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza con un elenco di indirizzi vuoto: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id Corpo JSON della richiesta:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [] } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id " | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "UPDATE", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } }
Quando rimuovi un indirizzo autorizzato, le connessioni esistenti da quell'indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Disabilita l'IP pubblico Puoi disabilitare l'IP pubblico, ma solo se la tua istanza è configurata anche per l'utilizzo dell'IP privato. Per abilitare l'IP privato, consulta Configurazione di un'istanza esistente per l'utilizzo dell'IP privato .
Se utilizzi un'autorità di certificazione (CA) condivisa o una CA gestita dal cliente come serverCaMode
per la tua istanza, quest'ultima richiede un riavvio quando disabiliti l'IP pubblico. Per maggiori informazioni sulla configurazione della modalità CA server, vedi Autorità di certificazione (CA) .
Nota : quando disabiliti l'IP pubblico per un'istanza, rilasci il relativo indirizzo IPv4. Se in un secondo momento riattivi l'IP pubblico per questa istanza, viene assegnato un indirizzo IPv4 diverso e tutte le applicazioni che utilizzano l'indirizzo IP pubblico per connettersi a questa istanza devono essere modificate. Per disabilitare l'IP pubblico:
Console Nella console Google Cloud , vai alla pagina Istanze Cloud SQL .
Vai a Istanze Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza. Seleziona Connections (Connessioni) dal menu di navigazione SQL. Deseleziona la casella di controllo IP pubblico . Fai clic su Salva per aggiornare l'istanza. gcloud Aggiorna l'istanza:
gcloud sql instances patch INSTANCE_NAME \ --no-assign-ip Conferma le modifiche:
gcloud sql instances describe INSTANCE_NAME REST v1 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID: L'ID progetto INSTANCE_ID: L'ID istanza VPC_NETWORK_NAME: Specifica il nome della rete Virtual Private Cloud (VPC) che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per la rete. RANGE_NAME: Facoltativo. Se specificato, imposta un nome di intervallo per cui viene allocato un intervallo IP. Il nome dell'intervallo deve essere conforme a RFC-1035
e contenere da 1 a 63 caratteri. AUTHORIZED_NETWORKS: Per le connessioni con IP pubblico, specifica le connessioni dalle reti autorizzate che possono connettersi alla tua istanza. Per il parametro ipv4Enabled
, imposta il valore su true
se utilizzi un indirizzo IP pubblico per la tua istanza o su false
se la tua istanza ha un indirizzo IP privato.
Se imposti il parametro 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 privata. Se imposti questo parametro su false
, altri Google Cloud servizi non possono accedere ai dati in Cloud SQL tramite una connessione IP privato.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances Corpo JSON della richiesta:
{ "name": "INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } REST v1beta4 Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza ip-address1 : La forma CIDR del primo indirizzo IP ip-address-name1 : Il nome del primo indirizzo IP ip-address2 : La forma CIDR del secondo indirizzo IP ip-address-name2 : Il nome del secondo indirizzo IP machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type 4", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [ { "value": "ip-address1 ", "name": "ip-address-name1 ", "kind": "sql#aclEntry" }, { "value": "ip-address2 ", "name": "ip-address-name2 ", "kind": "sql#aclEntry" } ], "ipv4Enabled": true }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Aggiorna l'istanza: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID: L'ID progetto INSTANCE_ID: L'ID istanza VPC_NETWORK_NAME: Specifica il nome della rete Virtual Private Cloud (VPC) che vuoi utilizzare per questa istanza. L'accesso privato ai servizi deve essere già configurato per la rete. RANGE_NAME: Facoltativo. Se specificato, imposta un nome di intervallo per cui viene allocato un intervallo IP. Il nome dell'intervallo deve essere conforme a RFC-1035
e contenere da 1 a 63 caratteri. AUTHORIZED_NETWORKS: Per le connessioni con IP pubblico, specifica le connessioni dalle reti autorizzate che possono connettersi alla tua istanza. Per il parametro ipv4Enabled
, imposta il valore su true
se utilizzi un indirizzo IP pubblico per la tua istanza o su false
se la tua istanza ha un indirizzo IP privato.
Se imposti il parametro 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 privata. Se imposti questo parametro su false
, altri Google Cloud servizi non possono accedere ai dati in Cloud SQL tramite una connessione IP privato.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances Corpo JSON della richiesta:
{ "name": "INSTANCE_ID ", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID /global/networks/VPC_NETWORK_NAME ", "allocatedIpRange": "RANGE_NAME " "authorizedNetworks": [AUTHORIZED_NETWORKS ], "enablePrivatePathForGoogleCloudServices": true } } } Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Salva il corpo della richiesta in un file denominato request.json
, quindi esegui il comando seguente:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID /instances" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ", "status": "PENDING", "user": "[email protected] ", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "CREATE", "name": "OPERATION_ID ", "targetId": "INSTANCE_ID ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ", "targetProject": "PROJECT_ID " } Conferma le modifiche: Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
project-id : l'ID progetto instance-id : l'ID istanza machine-type Il tipo di macchina dell'istanza zone La zona dell'istanza Metodo HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings Per inviare la richiesta, espandi una di queste opzioni:
curl (Linux, macOS o Cloud Shell) Nota: il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
oppure utilizzando Cloud Shell , che consente di accedere automaticamente all'interfaccia a riga di comando gcloud
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" PowerShell (Windows) Nota: il comando seguente presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo gcloud init
o gcloud auth login
. Puoi controllare l'account attualmente attivo eseguendo gcloud auth list
. Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings" | Select-Object -Expand Content Dovresti ricevere una risposta JSON simile alla seguente:
Risposta
{ "settings": { "authorizedGaeApplications": [], "tier": "machine-type ", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "privateNetwork": "projects/project-id /global/networks/default", "authorizedNetworks": [], "ipv4Enabled": false }, "locationPreference": { "zone": "zone ", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "maintenanceWindow": { "kind": "sql#maintenanceWindow", "hour": 0, "day": 0 }, "backupConfiguration": { "startTime": "03:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "54", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" } } Risoluzione dei problemi Problema Risoluzione dei problemi Aborted connection
. Il problema potrebbe essere: Instabilità Networking. Nessuna risposta ai comandi TCP keep-alive (il client o il server non risponde, probabilmente è sovraccarico) Il lifetime della connessione motore del database è stato superato e il server termina la connessione. Le applicazioni devono tollerare gli errori di rete e seguire le best practice , come il pooling delle connessioni e i nuovi tentativi. La maggior parte dei pool di connessioni rileva questi errori, se possibile. In caso contrario, l'applicazione deve riprovare o non riuscire in modo controllato.
Per il nuovo tentativo di connessione, ti consigliamo i seguenti metodi:
Backoff esponenziale . Aumenta l'intervallo di tempo tra un tentativo e l'altro in modo esponenziale. Aggiungi anche il backoff casuale. La combinazione di questi metodi contribuisce a ridurre la limitazione.
Certificate verify failed
. I certificati client sono scaduti o il percorso ai certificati non è corretto.
Rigenera i certificati ricreandoli .
FATAL: database 'user' does not exist
. gcloud sql connect --user
funziona solo con l'utente postgres
predefinito. Connettiti all'utente predefinito, poi cambia utente.
Vuoi scoprire chi è connesso. Accedi al database ed esegui questo comando:
SELECT datname, usename, application_name as appname, client_addr, state, now() - backend_start as conn_age, now() - state_change as last_activity_age FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY 6 DESC LIMIT 20
Hostname/IP does not match certificate's altnames: Host: localhost. is not in the cert's altnames
. L'indirizzo host non corrisponde all'indirizzo nei nomi alternativi del certificato del server.
Se utilizzi Node.js con verify-full o il suo equivalente, utilizza il nome DNS per il parametro servername . Il nome DNS può essere trovato nel certificato del server utilizzando openssl . Ad esempio, openssl x509 -in server-cert.pem -noout -text |grep 'DNS:'
.
ssl: { rejectUnauthorized: true, ca: fs.readFileSync( "/path/to/server/CA" ) , servername: 'N-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx.us-central1.sql.goog' }
Passaggi successivi