En esta página, se describe cómo configurar la conectividad de IP pública para una instancia de Cloud SQL.
Introducción
Puedes configurar tu instancia de Cloud SQL para que tenga una dirección IPv4 pública y acepte conexiones de direcciones IP específicas o de un rango de direcciones si agregas direcciones autorizadas a tu instancia.
No puedes especificar una red privada (por ejemplo, 10.x.x.x) como red autorizada.
Direcciones IP públicas para instancias de PostgreSQL:
IPv6: Las instancias no admiten IPv6.
IPv4: Las instancias tienen una dirección IPv4 estática que se les asigna automáticamente. Se realiza un cobro menor por la dirección IP cada vez que se apaga tu instancia (se desactiva).
Para aprender a conectar un cliente de administración a tu instancia mediante una conexión IP, consulta Cómo conectar el cliente psql con direcciones IP .
Si configuras tu instancia para que acepte conexiones mediante su dirección IP pública, configúrala también para que use SSL a fin de proteger tus datos. Si deseas obtener más información, consulta Configura SSL para instancias .
Para configurar tu instancia con una dirección IP que no esté expuesta a la Internet pública, consulta Configura la conectividad de IP privada .
Habilita la IP pública y agrega una dirección o rango de direcciones autorizadas
Cuando habilitas una IP pública para tu instancia, Cloud SQL la configura con una dirección IPv4 estática y pública. Después de habilitar la IP pública, debes configurar la autorización para las conexiones de la base de datos. Consulta las Opciones de autorización para obtener más información.
Para habilitar una IP pública y agregar una dirección autorizada, sigue estos pasos:
Console
En Google Cloud Console, ve a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
Selecciona Conexiones en el menú de navegación de SQL.
Selecciona la casilla de verificación IP pública .
Haz clic en Agregar red .
En el campo Red , ingresa la dirección o rango de direcciones IP para las cuales quieres permitir las conexiones.
Usa la notación CIDR .
Puedes ingresar un nombre para esta entrada.
Haz clic en Listo .
Haz clic en Guardar para actualizar la instancia.
gcloud
Si aún no lo hiciste, agrega una dirección IPv4 a la instancia:
gcloud sql instances patch INSTANCE_NAME \
--assign-ip
Muestra todas las direcciones autorizadas existentes mediante la descripción de la instancia:
gcloud sql instances describe INSTANCE_NAME
Busca entradas de authorizedNetwork en ipConfiguration y anota las direcciones autorizadas que deseas conservar.
Actualiza la lista de redes autorizadas con las direcciones que deseas incluir.
gcloud sql instances patch INSTANCE_NAME \
--authorized-networks=IP_ADDR1 ,IP_ADDR2 ...
Usa la notación CIDR .
Confirma tus cambios:
gcloud sql instances describe INSTANCE_NAME
Cuando quitas una dirección autorizada, las conexiones existentes de esa dirección no se desconectan. Si deseas desconectar las conexiones existentes, reinicia tu instancia.
REST v1
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia con todas las direcciones que deseas configurar en ella:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
network_range_1 : Un rango o una dirección IP autorizados
network_range_2 : Otro rango o dirección IP autorizados
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}, {"value": network_range_2 "}]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Usa la notación CIDR .
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Cuando quitas una dirección autorizada, las conexiones existentes de esa dirección no se desconectan. Si deseas desconectar las conexiones existentes, reinicia tu instancia.
Para habilitar una IP pública y agregar una dirección o rango de direcciones autorizadas, usa un recurso de Terraform .
REST v1beta4
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia con todas las direcciones que deseas configurar en ella:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
network_range_1 : Un rango o una dirección IP autorizados
network_range_2 : Otro rango o dirección IP autorizados
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}, {"value": network_range_2 "}]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Usa la notación CIDR .
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Cuando quitas una dirección autorizada, las conexiones existentes de esa dirección no se desconectan. Si deseas desconectar las conexiones existentes, reinicia tu instancia.
Quita una dirección o rango de direcciones autorizadas
Para quitar una dirección autorizada, sigue estos pasos:
Console
En Google Cloud Console, ve a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
Selecciona Conexiones en el menú de navegación de SQL.
Haz clic en el ícono de borrar para la dirección que deseas borrar.
Haz clic en Guardar para actualizar la instancia.
gcloud
Describe la instancia para que muestre todas las direcciones autorizadas existentes:
gcloud sql instances describe INSTANCE_NAME
Busca entradas de authorizedNetwork en ipConfiguration y anota las direcciones autorizadas que deseas conservar.
Actualiza la lista de redes autorizadas y descarta las direcciones que deseas quitar.
gcloud sql instances patch INSTANCE_NAME \
--authorized-networks=IP_ADDR1 ,IP_ADDR2 ...
Confirma tus cambios:
gcloud sql instances describe INSTANCE_NAME
REST v1
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Para actualizar la instancia, incluye todas las direcciones que deseas conservar y descarta las direcciones que quieras quitar:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
network_range_1 : La dirección IP autorizada o el rango de red autorizado que se quitará
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address : El formulario de CIDR de la dirección IP
ip-address-name : El nombre de la dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Para actualizar la instancia, incluye todas las direcciones que deseas conservar y descarta las direcciones que quieras quitar:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
network_range_1 : La dirección IP autorizada o el rango de red autorizado que se quitará
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks":
[{"value": "network_range_1 "}]
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address : El formulario de CIDR de la dirección IP
ip-address-name : El nombre de la dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Cuando quitas una dirección autorizada, las conexiones existentes de esa dirección no se desconectan. Si deseas desconectar las conexiones existentes, reinicia tu instancia.
Configura una instancia para que rechace todas las conexiones de IP públicas
Para configurar una instancia de forma que rechace todas las conexiones de IP públicas, sigue estos pasos:
Console
En Google Cloud Console, ve a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
Selecciona Conexiones en el menú de navegación de SQL.
Haz clic en el ícono de borrar para todas las direcciones autorizadas.
Haz clic en Guardar para actualizar la instancia.
gcloud
Borra la lista de direcciones autorizadas:
gcloud sql instances patch INSTANCE_NAME \
--clear-authorized-networks
Confirma tus cambios:
gcloud sql instances describe INSTANCE_NAME
REST v1
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia con una lista de direcciones vacía:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia con una lista de direcciones vacía:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id
Cuerpo JSON de la solicitud:
{
"settings":
{
"ipConfiguration":
{
"authorizedNetworks": []
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Cuando quitas una dirección autorizada, las conexiones existentes de esa dirección no se desconectan. Si deseas desconectar las conexiones existentes, reinicia tu instancia.
Inhabilita la IP pública
Puedes inhabilitar la IP pública, pero solo si tu instancia también está configurada para usar IP privadas.
Para habilitar la IP privada, consulta cómo configurar una instancia existente para que use una IP privada .
Nota: Cuando inhabilitas una IP pública para una instancia, liberas su dirección IPv4.
Si luego vuelves a habilitar la IP pública para esta instancia, se obtiene una dirección IPv4 diferente y todas las aplicaciones que usan la dirección IP pública para conectarse a esta instancia deben modificarse.
Para inhabilitar una IP pública, sigue estos pasos:
Console
En Google Cloud Console, ve a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
Selecciona Conexiones en el menú de navegación de SQL.
Desmarca la casilla de verificación IP pública .
Haz clic en Guardar para actualizar la instancia.
gcloud
Actualiza la instancia:
gcloud sql instances patch INSTANCE_NAME \
--no-assign-ip
Confirma tus cambios:
gcloud sql instances describe INSTANCE_NAME
REST v1
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
vpc-name : El nombre de la red de VPC que deseas usar para la instancia.
allocated-ip-range : Opcional Si se especifica, establece un nombre de rango para el que se asigna un rango de IP. El nombre del rango debe cumplir con RFC-1035
y tener entre 1 y 63 caracteres.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances
Cuerpo JSON de la solicitud:
{
"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 "
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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
Describe la instancia para que se muestren todas las direcciones autorizadas existentes:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
ip-address1 : El formulario de CIDR de la primera dirección IP
ip-address-name1 : El nombre de la primera dirección IP
ip-address2 : El formulario de CIDR de la segunda dirección IP
ip-address-name2 : El nombre de la segunda dirección IP
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Actualiza la instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
vpc-name : El nombre de la red de VPC que deseas usar para la instancia.
allocated-ip-range : Opcional Si se especifica, establece un nombre de rango para el que se asigna un rango de IP. El nombre del rango debe cumplir con RFC-1035
y tener entre 1 y 63 caracteres.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/project-id /instances
Cuerpo JSON de la solicitud:
{
"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 "
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"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 "
}
Confirma tus cambios:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
project-id : El ID del proyecto
instance-id : El ID de la instancia
machine-type : El tipo de máquina de la instancia
zone : La zona de la instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=settings
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente 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)
Ejecuta el siguiente 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
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{
"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"
}
}
Solucionar problemas
Problema
Soluciona problemas
Aborted connection
.
Posible problema:
Hay inestabilidad en las herramientas de redes.
No hay respuesta a los comandos keep-alive de TCP (el cliente o el servidor no responden, es posible que estén sobrecargados).
Se excedió el ciclo de vida de la conexión del motor de base de datos y el servidor finalizó la conexión.
Las aplicaciones deben tolerar fallas de red y seguir prácticas recomendadas , como la agrupación de conexiones y los reintentos. La mayoría de los agrupadores de conexiones detectan estos errores siempre que sea posible. De lo contrario, la aplicación debe reintentar o fallar de manera controlada.
Para los reintentos de conexión, recomendamos los siguientes métodos:
Retirada exponencial Aumenta el intervalo de tiempo entre cada reintento de manera exponencial.
Agrega una retirada aleatoria.
La combinación de estos métodos ayuda a reducir la limitación.
FATAL: database 'user' does not exist
.
gcloud sql connect --user
solo funciona con el usuario predeterminado postgres
.Conéctate con el usuario predeterminado y, luego, cambia de usuario.
Quieres saber quién está conectado.
Accede a la base de datos y ejecuta este 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
¿Qué sigue?