Questa pagina descrive come configurare la connettività IP pubblica per un'istanza Cloud SQL.
Introduzione
Puoi configurare l'istanza Cloud SQL in modo che abbia un indirizzo
IPv4 pubblico e accettare 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 è assegnato automaticamente un indirizzo IPv4 statico. Viene applicato un piccolo addebito per l'indirizzo IP ogni volta che l'istanza è disattivata (disattivata).
Per informazioni su come connettere un client di amministrazione alla tua istanza tramite una connessione IP, consulta la sezione Connessione del client psql tramite indirizzi IP .
Se configuri l'istanza in modo che accetti connessioni tramite il suo indirizzo IP pubblico, configurala anche in modo che utilizzi SSL per proteggere i tuoi dati. Per ulteriori informazioni, consulta Configurare SSL per le istanze .
Per configurare l'istanza con un indirizzo IP non esposto alla rete Internet pubblica, consulta la sezione Configurare la connettività IP privata .
Attiva IP pubblico e aggiungi un indirizzo o un intervallo di indirizzi autorizzati
Quando abiliti l'IP pubblico per la tua istanza, Cloud SQL configura l'istanza con un indirizzo IPv4 pubblico e statico. Dopo aver abilitato l'IP pubblico, devi configurare l'autorizzazione per le connessioni al database. Per ulteriori informazioni, consulta le opzioni di autorizzazione .
Per attivare l'IP pubblico e aggiungere un indirizzo autorizzato:
console
In Google Cloud Console, vai alla pagina Istanze Cloud SQL .
Vai alle istanze di Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (connessioni) nel menu di navigazione SQL.
Seleziona la casella di controllo IP pubblico .
Fai clic su Aggiungi rete .
Nel campo Rete , inserisci l'indirizzo IP o l'intervallo di indirizzi da cui vuoi consentire le connessioni.
Utilizza la
notazione CIDR .
(Facoltativo) Inserisci un nome per questa voce.
Fai clic su Fine .
Fai clic su Salva per aggiornare l'istanza.
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 prendi nota degli indirizzi autorizzati che vuoi conservare.
Aggiorna l'elenco di reti autorizzate, inclusi 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 tale 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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
network_range_1 Un indirizzo o 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 richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}, {"value": network_range_2 "}]
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 tale indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Per abilitare l'IP pubblico e aggiungere un indirizzo o un intervallo di indirizzi autorizzati, utilizza una risorsa Terraform .
REST v1beta4
Mostra tutti gli indirizzi autorizzati esistenti descrivendo l'istanza:
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
network_range_1 Un indirizzo o 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 richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}, {"value": network_range_2 "}]
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 tale indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Rimuovere un indirizzo o un intervallo di indirizzi autorizzati
Per rimuovere un indirizzo autorizzato:
console
In Google Cloud Console, vai alla pagina Istanze Cloud SQL .
Vai alle istanze di Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (connessioni) nel menu di navigazione SQL.
Fai clic sull'icona Elimina in corrispondenza dell'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 prendi nota degli indirizzi autorizzati che vuoi conservare.
Aggiorna l'elenco di reti autorizzate, rimuovendo tutti 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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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
eliminando tutti gli indirizzi che vuoi rimuovere:
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
network_range_1 L'indirizzo IP o l'intervallo di rete autorizzati da rimuovere
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Corpo JSON richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}]
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address : il formato CIDR dell'indirizzo IP
ip-address-name : nome dell'indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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
eliminando tutti gli indirizzi che vuoi rimuovere:
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
network_range_1 L'indirizzo IP o l'intervallo di rete autorizzati da rimuovere
Metodo HTTP e URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Corpo JSON richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}]
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address : il formato CIDR dell'indirizzo IP
ip-address-name : nome dell'indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 tale indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Configurare un'istanza per rifiutare tutte le connessioni IP pubbliche
Per configurare un'istanza in modo che rifiuti tutte le connessioni IP pubbliche:
console
In Google Cloud Console, vai alla pagina Istanze Cloud SQL .
Vai alle istanze di Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (connessioni) nel menu di navigazione SQL.
Fai clic sull'icona Elimina per tutti gli indirizzi autorizzati.
Fai clic su Salva per aggiornare l'istanza.
gcloud
Cancella l'elenco di 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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua 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 richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua 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 richiesta:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 tale indirizzo non vengono disconnesse. Se vuoi disconnettere le connessioni esistenti, riavvia l'istanza.
Disattiva 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 .
Nota: quando disabiliti l'IP pubblico per un'istanza, rilasci il relativo indirizzo IPv4.
Se successivamente riattivi l'IP pubblico per questa istanza, ottiene un indirizzo IPv4 diverso e tutte le applicazioni che utilizzano l'indirizzo IP pubblico per connettersi a questa istanza devono essere modificate.
Per disattivare l'IP pubblico:
console
In Google Cloud Console, vai alla pagina Istanze Cloud SQL .
Vai alle istanze di Cloud SQL
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Connections (connessioni) nel 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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
vpc-name : il nome della rete VPC che vuoi utilizzare per l'istanza
allocated-ip-range : facoltativo. Se specificato, imposta un nome intervallo per cui allocare un intervallo IP. Il nome dell'intervallo deve essere conforme a RFC-1035
e contenere da 1 a 63 caratteri.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances
Corpo JSON richiesta:
{
"name": "instance-id ",
"region": "region",
"databaseVersion": "database-version",
"settings": {
"tier": "machine-type",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/project-id /global/networks/vpc-name ",
"allocatedIpRange": "allocated-ip-range "
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
ip-address1 : il formato CIDR del primo indirizzo IP
ip-address-name1 : il nome del primo indirizzo IP
ip-address2 : il formato CIDR del secondo indirizzo IP
ip-address-name2 : il nome del secondo indirizzo IP
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
vpc-name : il nome della rete VPC che vuoi utilizzare per l'istanza
allocated-ip-range : facoltativo. Se specificato, imposta un nome intervallo per cui allocare un intervallo IP. Il nome dell'intervallo deve essere conforme a RFC-1035
e contenere da 1 a 63 caratteri.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/project-id /instances
Corpo JSON richiesta:
{
"name": "instance-id ",
"region": "region",
"databaseVersion": "database-version",
"settings": {
"tier": "machine-type",
"ipConfiguration": {
"ipv4Enabled": false,
"privateNetwork": "projects/project-id /global/networks/vpc-name ",
"allocatedIpRange": "allocated-ip-range "
}
}
}
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
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)
Salva il corpo della richiesta in un file denominato request.json
ed esegui il seguente comando:
$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": "user@example.com",
"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 uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
project-id : l'ID progetto
instance-id : l'ID istanza
machine-type Il tipo di macchina di istanza
zone La zona 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 delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
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)
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
Risolvere i problemi
Aborted connection
.
I motivi potrebbero essere i seguenti:
Instabilità della rete.
Nessuna risposta ai comandi keep-alive TCP (il client o il server non è reattivo, potrebbe essere sovraccarico)
La durata della connessione del motore di database è stata superata e il server termina la connessione.
Le applicazioni devono tollerare errori di rete e seguire
best practice ,
come il pool di connessioni e i nuovi tentativi. La maggior parte dei pool di connessioni rileva questi errori, ove possibile. In caso contrario, l'applicazione deve riprovare o avere un errore temporaneo.
Per riprovare a eseguire la connessione, consigliamo i seguenti metodi:
Backoff esponenziale . Aumenta l'intervallo di tempo tra ogni nuovo tentativo, in modo esponenziale.
Aggiungi anche un backoff casuale.
La combinazione di questi metodi consente di ridurre la limitazione.
FATAL: database 'user' does not exist
.
gcloud sql connect --user
funziona solo con l'utente
postgres
predefinito.
Connettiti all'utente predefinito, quindi modifica gli utenti.
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
Passaggi successivi