En esta página, se describe cómo crear una instancia de Cloud SQL para PostgreSQL.
Para obtener información detallada sobre toda la configuración de las instancias, consulta Configuración de las instancias.
Una instancia recién creada tiene una base de datos postgres
.
Antes de comenzar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Asegúrate de tener las funciones de administrador de Cloud SQL y visualizador de Compute en tu cuenta de usuario.
Obtén más información sobre las funciones y los permisos.
Crea una instancia de PostgreSQL
Console
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
- Haz clic en Crear instancia.
- En el panel Elegir un motor de base de datos de la página Crear una instancia, haz clic en Elegir PostgreSQL.
- En el campo ID de instancia del panel información de la instancia, ingresa un ID para la instancia.
No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).
- Ingresa una contraseña para el usuario
postgres
. Opcional: Configura una política de contraseñas para la instancia de la siguiente manera:
- Selecciona la casilla de verificación Habilitar políticas de contraseñas.
- Haz clic en el botón Configurar política de contraseñas, configura una o más de las siguientes opciones y haz clic en Guardar.
- Longitud mínima: Especifica la cantidad mínima de caracteres que debe tener la contraseña.
- Complejidad de la contraseña: Verifica si la contraseña es una combinación de caracteres en minúscula, mayúscula, numéricos y no alfanuméricos.
- Restringir la reutilización de contraseñas: Especifica la cantidad de contraseñas anteriores que no puedes volver a usar.
- Inhabilitar nombre de usuario: Impide el uso del nombre de usuario en la contraseña.
- Establecer el intervalo de cambio de contraseña: Especifica la cantidad mínima de horas después de las cuales puedes cambiar la contraseña.
- Selecciona la versión de la base de datos para tu instancia: PostgreSQL 16 (default), PostgreSQL 15,
PostgreSQL 14, PostgreSQL 13, PostgreSQL 12, PostgreSQL 11, PostgreSQL 10, o PostgreSQL 9.6.
La versión de la base de datos no se puede editar después de que se crea la instancia.
- Selecciona la edición de Cloud SQL para tu instancia:
Enterprise
oEnterprise plus
. Para obtener más información sobre las ediciones de Cloud SQL, consulta Introducción a las ediciones de Cloud SQL. - En la sección Elige la región y la disponibilidad zonal, selecciona la región y la zona para la instancia.
La disponibilidad de las regiones puede ser diferente en función de
la edición de Cloud SQL. Para obtener más información, consulta Información sobre la configuración de instancias.
Ubica la instancia en la misma región que los recursos que acceden a ella. No se podrá modificar la región que seleccionaste en un futuro. En la mayoría de los casos, no necesitas especificar una zona.
Si estás configurando tu instancia para alta disponibilidad, puedes seleccionar una zona principal y una secundaria.
Se aplican las siguientes condiciones cuando se usa la zona secundaria durante la creación de la instancia:
- Las zonas están predeterminadas como
Any
para la zona principal yAny (different from primary)
para la zona secundaria. - Si se especifican las zonas principal y secundaria, deben ser zonas distintas.
- Las zonas están predeterminadas como
- En la sección Personaliza tu instancia, actualiza la configuración de la instancia.
Primero, haz clic en MOSTRAR OPCIONES DE CONFIGURACIÓN para mostrar los grupos
de opciones de configuración. Luego, expande los grupos que desees para revisar y personalizar la configuración.
A la derecha, se muestra un informe de resumen de todas las opciones que seleccionas.
Personalizar esta configuración de instancia es opcional. Los valores predeterminados se asignan en todos los casos en los que no se realizan personalizaciones.
En la siguiente tabla, se muestra una referencia rápida a la configuración de instancias. Para obtener más detalles sobre cada configuración, consulta la página de configuración de instancia.
Configuración Notas Tipo de máquina Tipo de máquina Selecciona entre núcleo compartido o núcleo dedicado. Para el núcleo compartido, cada tipo de máquina se clasifica por la cantidad de CPU (núcleos) y la cantidad de memoria de tu instancia. Núcleos El número de CPU virtuales para tu instancia. Más información. Memoria La cantidad de memoria para la instancia, en GB. Más información. Personalizado En el tipo de máquina del núcleo dedicado, en lugar de seleccionar una configuración predefinida, selecciona el botón Personalizado para crear una instancia con una configuración personalizada. Cuando seleccionas esta opción, debes seleccionar la cantidad de núcleos y de memoria para tu instancia. Obtén más información. Almacenamiento Tipo de almacenamiento Determina si tu instancia usa almacenamiento SSD o HDD. Más información. Capacidad de almacenamiento La cantidad de almacenamiento aprovisionado para la instancia. Más información. Habilitar los aumentos de almacenamiento automáticos Determina si Cloud SQL proporciona de manera automática más almacenamiento para tu instancia cuando queda poco espacio libre. Más información. Encriptación Encriptación administrada por Google La opción predeterminada. Clave de encriptación administrada por la clave del cliente (CMEK) Selecciona esta opción para usar tu clave con Google Cloud Key Management Service. Más información. Conexiones IP privada Agrega una dirección IP privada para la instancia. Para habilitar la conexión a la instancia, se requiere una configuración adicional.
De manera opcional, puedes especificar un rango de IP asignado para que tus instancias las usen en las conexiones.- Expande la opción Mostrar la opción de rango de IP asignado.
- Selecciona un rango de IP en el menú desplegable.
Tu instancia puede tener una dirección IP pública y una privada.
- Obtén más información sobre el uso de IP privada.
- Obtén más información sobre los rangos de direcciones IP asignados
IP pública Agrega una dirección IP pública para la instancia. Luego, puedes agregar redes autorizadas para conectarte a la instancia. Tu instancia puede tener una dirección IP pública y una privada.
Obtén más información sobre el uso de IP pública.
Redes autorizadas Agrega el nombre de la red nueva y la dirección de red. Más información. Ruta privada para los servicios de Google Cloud Si seleccionas esta casilla de verificación, permitirás que otros servicios de Google Cloud, como BigQuery, accedan a los datos en Cloud SQL y realicen consultas en estos datos a través de una conexión privada.
Protección de datos Copias de seguridad automáticas El período en el que deseas que se inicien las copias de seguridad. Más información. Elige dónde almacenar tus copias de seguridad Selecciona Multirregión para la mayoría de los casos de uso. Si necesitas almacenar copias de seguridad en una región específica, por ejemplo, si hay motivos normativos para hacerlo, selecciona Región y selecciona tu región en el menú desplegable de Ubicación. Elige cuántas copias de seguridad automáticas se almacenarán Es la cantidad de copias de seguridad automáticas que deseas conservar (de 1 a 365 días). Más información. Habilita la recuperación de un momento determinado Habilita la recuperación de un momento determinado y el registro de escritura por adelantado. Más información. Habilitar la protección contra la eliminación Determina si se debe proteger una instancia contra la eliminación accidental. Más información. Elige la cantidad de días que se retendrán los registros Configura la retención de escritura por adelantado de 1 a 7 días. La configuración predeterminada es de 7 días. Más información. Mantenimiento Ventana preferida Determina un período de una hora para que Cloud SQL realice un mantenimiento disruptivo en la instancia. Si no configuras el período, el mantenimiento disruptivo puede realizarse en cualquier momento. Más información. Orden de las actualizaciones Tu horario de preferencia para actualizaciones de instancia, en relación con otras instancias del mismo proyecto. Más información. Marcas AGREGAR MARCA Puedes usar las marcas de la base de datos para controlar los parámetros y la configuración de tu instancia. Más información. Etiquetas AGREGAR ETIQUETA Agrega una clave y un valor para cada etiqueta que agregues. Usa etiquetas para organizar tus instancias. Caché de datos Habilita la caché de datos (opcional) Habilita la caché de datos para instancias de la edición Cloud SQL para PostgreSQL Enterprise Plus. Para obtener más información sobre la caché de datos, consulta Caché de datos. -
Haz clic en Crear instancia.
Nota: La creación de tu instancia puede tardar algunos minutos. Sin embargo, puedes ver información sobre la instancia mientras se crea.
Para ver la contraseña en texto no encriptado, haz clic en el ícono Mostrar contraseña.
Puedes ingresar la contraseña de forma manual o hacer clic en Generar para que Cloud SQL cree una contraseña de forma automática.
gcloud
Para obtener información sobre cómo instalar y comenzar a usar gcloud, consulta Instala gcloud CLI. Si quieres obtener información para iniciar Cloud Shell, consulta la Documentación de Cloud Shell.
- Usa el comando
gcloud sql instances create
para crear la instancia: - La cantidad de CPU virtuales debe ser 1 o un número par entre 2 y 96.
- La memoria debe tener las siguientes características:
- Ser de entre 0.9 y 6.5 GB por CPU virtual
- Ser un múltiplo de 256 MB
- Ser de al menos 3.75 GB (3,840 MB)
- Las zonas deben ser válidas.
- Si se especifica la zona secundaria, también se debe especificar la principal.
- Si se especifican las zonas principal y secundaria, deben ser zonas distintas.
- Si se especifican las zonas principal y secundaria, deben pertenecer a la misma región.
- Usas el parámetro
--no-assign-ip
. - Usas el parámetro
--network
para especificar el nombre de la red de VPC que deseas usar para crear una conexión privada. - Las zonas deben ser válidas.
- Si se especifica la zona secundaria, también se debe especificar la principal.
- Anota la dirección IP asignada de manera automática.
Si no usas el proxy de Cloud SQL Auth, usarás esta dirección como la dirección de host que tus aplicaciones o herramientas usarán para conectarse a la instancia.
- Configura la contraseña para el usuario
postgres
:gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --password=PASSWORD
Para las instancias de edición de Cloud SQL Enterprise Plus, haz lo siguiente:
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --region=REGION \ --tier=TIER \ --edition=ENTERPRISE_PLUS
Para las instancias de Cloud SQL Enterprise Edition, haz lo siguiente:
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --region=REGION \ --cpu=NUMBER_CPUS \ --memory=MEMORY_SIZE \ --edition=ENTERPRISE
--tier
si eliges db-f1-micro o
db-g1-small como el tipo de máquina:
gcloud sql instances create INSTANCE_NAME \ --tier=API_TIER_STRING \ --region=REGION
Hay restricciones para los valores de CPU virtual y tamaño de memoria:
Por ejemplo, el siguiente comando crea una instancia de Cloud SQL Enterprise con dos CPU virtuales y 7,680 MB de memoria:
gcloud sql instances create myinstance \ --database-version=POSTGRES_15 \ --cpu=2 \ --memory=7680MB \ --region=us-central1
Con la siguiente cadena, se crea una instancia de Cloud SQL Enterprise Plus con cuatro núcleos:
gcloud sql instances create myinstance \ --database-version=POSTGRES_15 \ --tier=db-perf-optimized-N-4 \ --edition=ENTERPRISE_PLUS \ --region=us-central1
--cpu
y --memory
.
El valor predeterminado para REGION es us-central1
.
No incluyas información sensible o de identificación personal en el nombre de tu instancia, ya que es visible de forma externa.
No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).
Si creas una instancia para
alta disponibilidad, puedes
especificar las zonas principal y secundaria a través de los parámetros --zone
y --secondary-zone
. Se aplican las siguientes condiciones
cuando se usa la zona secundaria durante la creación o la edición de la instancia:
Puedes agregar más parámetros para determinar la configuración de otras instancias:
Configuración | Parámetro | Notas |
---|---|---|
Parámetros obligatorios | ||
Versión de la base de datos | --database-version |
La versión de la base de datos, que se basa en la edición de Cloud SQL. |
Región | --region |
Consulta los valores válidos. |
Establece una política de contraseñas | ||
Habilitar política de contraseñas | --enable-password-policy |
Habilita la política de contraseñas cuando se usa. De manera predeterminada, la política de contraseñas está inhabilitada.
Cuando se inhabilita a través de el parámetro --clear-password-policy , los otros parámetros de la política de contraseñas se restablecen.
|
Longitud mínima | --password-policy-min-length |
Especifica la cantidad mínima de caracteres que debe tener la contraseña. |
Complejidad de la contraseña | --password-policy-complexity |
Habilita la verificación de complejidad de contraseñas para garantizar que la contraseña contenga uno de estos tipos de caracteres: minúsculas, mayúsculas, numéricos y no alfanuméricos. Establece el valor en COMPLEXITY_DEFAULT : |
Restricción de reutilización de contraseña | --password-policy-reuse-interval |
Especifica la cantidad de contraseñas anteriores que no puedes volver a usar. |
No permitir el nombre de usuario | --password-policy-disallow-username-substring |
Impide el uso del nombre de usuario en la contraseña. Usa el parámetro --no-password-policy-disallow-username-substring para inhabilitar la verificación. |
Establecer un período para cambiar la contraseña | --password-policy-password-change-interval |
Especifica la duración mínima después de la que puedes cambiar la contraseña, por ejemplo, 2 m durante 2 minutos. |
Conectividad | ||
IP privada | --network
|
--network : Especifica el nombre de la red de VPC que deseas usar para esta instancia. El acceso a servicios privados ya debe estar configurado para la red. Esta opción solo está disponible para el comando beta (gcloud beta sql instances create ).
Este parámetro solo es válido si se cumplen estas condiciones: Obtén más información sobre la configuración de IP privadas. |
IP pública | --authorized-networks |
Con conexiones de IP públicas, solo las conexiones de redes autorizadas se pueden conectar a tu instancia. Más información. |
Aplicación de SSL |
|
El parámetro El parámetro |
Tipo de máquina y almacenamiento | ||
Tipo de máquina | --tier |
Se usa para especificar una instancia de núcleo compartido
(db-f1-micro
o db-g1-small ).
Para una configuración de instancia personalizada, usa en su lugar los parámetros --cpu o
--memory . Consulta Configuración de instancias personalizadas.
|
Tipo de almacenamiento | --storage-type |
Determina si tu instancia usa almacenamiento SSD o HDD. Más información. |
Capacidad de almacenamiento | --storage-size |
La cantidad de almacenamiento aprovisionado para la instancia, en GB. Más información. |
Aumento de almacenamiento automático | --storage-auto-increase |
Determina si Cloud SQL proporciona de manera automática más almacenamiento para tu instancia cuando queda poco espacio libre. Más información. |
Límite de aumento de almacenamiento automático | --storage-auto-increase-limit |
Determina el tamaño del almacenamiento que Cloud SQL puede aumentar de forma automática.
Esta opción solo está disponible para el comando Beta (gcloud beta sql instances create ). Más información.
|
Caché de datos (opcional) | --enable-data-cache |
Habilita o inhabilita la caché de datos para las instancias. Para obtener más información, consulta la caché de datos. |
Copias de seguridad automáticas y alta disponibilidad | ||
Alta disponibilidad | --availability-type |
Para una instancia con disponibilidad alta, configúrala a REGIONAL . Más información. |
Zona secundaria | --secondary-zone |
Si creas una instancia para alta disponibilidad, puedes especificar las zonas principal y secundaria con --zone y --secondary-zone parameters . Se
aplican las siguientes restricciones cuando se usa la zona secundaria durante
la creación o la edición de la instancia:
Si se especifican las zonas principal y secundaria, deben ser zonas distintas. Si se especifican las zonas principal y secundaria, deben pertenecer a la misma región. |
Copias de seguridad automáticas | --backup-start-time |
El período en el que deseas que se inicien las copias de seguridad. Más información. |
Configuración de retención para copias de seguridad automáticas | --retained-backups-count |
Es la cantidad de copias de seguridad automáticas que se retendrán. Más información. |
Recuperación de un momento determinado | --enable-point-in-time recovery |
Habilita la recuperación de un momento determinado y el registro de escritura por adelantado. Más información. |
Configuración de retención para el registro binario | --retained-transaction-log-days |
El número de días que se conservan los registros de escritura por adelantado para la recuperación de un momento determinado. Más información |
Agrega marcas de bases de datos | ||
Marcas de la base de datos | --database-flags |
Puedes usar las marcas de la base de datos para controlar los parámetros y la configuración de tu instancia. Obtén más información sobre las marcas de base de datos. |
Programa de mantenimiento | ||
Período de mantenimiento | --maintenance-window-day ,--maintenance-window-hour |
Determina un período de una hora durante el cual Cloud SQL realiza un mantenimiento disruptivo en tu instancia. Si no lo configuras, el mantenimiento disruptivo puede realizarse en cualquier momento. Más información. |
Horario de mantenimiento | --maintenance-release-channel |
Tu horario de preferencia para actualizaciones de instancia, en relación con otras instancias del mismo proyecto. Use preview para las primeras actualizaciones y production para las más recientes.
Obtén más información.
|
Integración en Vertex AI | ||
--enable-google-ml-integration |
Permite que las instancias de Cloud SQL se conecten a Vertex AI para pasar solicitudes de predicciones en tiempo real y estadísticas a la IA. | |
--database-flags cloudsql.enable_google_ml_integration=on |
Si activas esta marca, Cloud SQL puede integrarse en Vertex AI. |
Terraform
Para crear una instancia, usa un recurso de Terraform.
Aplica los cambios
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto de Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf
, por ejemplo,main.tf
. En este instructivo, el archivo se denominamain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tf
recién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgrade
para usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yes
cuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Borra los cambios
Para borrar tus cambios, haz lo siguiente:
- Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento
deletion_protection
enfalse
.deletion_protection = "false"
- Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa
yes
cuando se te solicite:terraform apply
-
Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa
yes
cuando se te solicite:terraform destroy
REST v1
Crea la instancia
En este ejemplo, se crea una instancia. También se incluyen algunos parámetros opcionales, como las copias de seguridad y el registro binario. Para ver una lista completa de los parámetros de esta llamada, consulta la página Instances:insert. Para obtener información sobre la configuración de las instancias, incluidos los valores válidos por región, consulta Configuración de instancias.
No incluyas información sensible o de identificación personal en el ID de tu instancia, ya que es visible de forma externa.
No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID de tu proyecto
- INSTANCE_ID: el ID de tu instancia.
- REGION: la región
- DATABASE_VERSION: la cadena de enumeración de la versión de la base de datos (por ejemplo,
POSTGRES_16
) - PASSWORD: la contraseña para el usuario raíz.
- MACHINE_TYPE: la string de enumeración del tipo de máquina (nivel) como:
db-custom-[CPUS]-[MEMORY_MBS]
. EDITION_TYPE: tu edición de Cloud SQL
- DATA_CACHE_ENABLED: (opcional) Configura
true
en modo de habilitar la caché de datos para tu instancia - PRIVATE_NETWORK: especifica el nombre de la red de nube privada virtual (VPC) que deseas usar para esta instancia. El acceso a servicios privados ya debe estar configurado para la red.
- AUTHORIZED_NETWORKS: para las conexiones de IP públicas, especifica las conexiones de redes autorizadas que pueden conectarse a la instancia.
Para establecer una política de contraseñas mientras creas una instancia, incluye el objeto passwordValidationPolicy en la solicitud. Configura los siguientes parámetros, según sea necesario:
enablePasswordPolicy
: Habilita la política de contraseñas cuando se establece entrue
.Para quitar la política de contraseñas, puedes usar una solicitud
PATCH
connull
como valor deenablePasswordPolicy
. En este caso, se restablecen los otros parámetros de la política de contraseñas.minLength
: Especifica la cantidad mínima de caracteres que debe tener la contraseña.complexity
: Verifica si la contraseña es una combinación de caracteres en minúscula, mayúscula, numéricos y no alfanuméricos. El valor predeterminado esCOMPLEXITY_DEFAULT
.reuseInterval
: Especifica la cantidad de contraseñas anteriores que no puedes volver a usar.disallowUsernameSubstring
: Impide el uso del nombre de usuario en la contraseña cuando se configura comotrue
.passwordChangeInterval
: Especifica la duración mínima después de la que puedes cambiar la contraseña. El valor está en segundos con un máximo de nueve dígitos decimales, terminado ens
. Por ejemplo,3.5s
.
Para crear la instancia a fin de que pueda integrarse en Vertex AI, incluye el objeto enableGoogleMlIntegration en la solicitud. Esta integración te permite aplicar modelos de lenguaje grande (LLM), que se alojan en Vertex AI, a una base de datos de Cloud SQL para PostgreSQL.
Configura los siguientes parámetros, según sea necesario:
enableGoogleMlIntegration
: cuando este parámetro se establece entrue
, las instancias de Cloud SQL pueden conectarse a Vertex AI para pasar solicitudes de predicciones en tiempo real y estadísticas a la IAcloudsql.enable_google_ml_integration
: cuando este parámetro se establece enon
, Cloud SQL puede integrarse en Vertex AI.
HTTP method and URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true } } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
La respuesta es una operación de larga duración, que puede tardar unos minutos en completarse.
Recupera la dirección IPv4
Recupera la dirección IPv4 asignada de manera automática a la nueva instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID de tu proyecto
- instance-id: es el ID de la instancia creado en el paso anterior.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Busca el campo ipAddress
en la respuesta.
REST v1beta4
Crea la instancia
En este ejemplo, se crea una instancia. También se incluyen algunos parámetros opcionales, como las copias de seguridad y el registro binario. Para ver una lista completa de los parámetros de esta llamada, consulta la página instances:insert. Para obtener información sobre la configuración de las instancias, incluidos los valores válidos por región, consulta Configuración de instancias.
No incluyas información sensible o de identificación personal en el ID de tu instancia, ya que es visible de forma externa.
No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID de tu proyecto
- INSTANCE_ID: el ID de tu instancia.
- REGION: la región
- DATABASE_VERSION: la cadena de enumeración de la versión de la base de datos (por ejemplo,
POSTGRES_16
) - PASSWORD: la contraseña para el usuario raíz.
- MACHINE_TYPE: la string de enumeración del tipo de máquina (nivel) como:
db-custom-[CPUS]-[MEMORY_MBS]
. EDITION_TYPE: tu edición de Cloud SQL
- DATA_CACHE_ENABLED: (opcional) Configura
true
en modo de habilitar la caché de datos para tu instancia
Para establecer una política de contraseñas mientras creas una instancia, incluye el objeto passwordValidationPolicy en la solicitud. Configura los siguientes parámetros, según sea necesario:
enablePasswordPolicy
: Habilita la política de contraseñas cuando se establece entrue
.Para quitar la política de contraseñas, puedes usar una solicitud
PATCH
connull
como valor deenablePasswordPolicy
. En este caso, se restablecen los otros parámetros de la política de contraseñas.minLength
: Especifica la cantidad mínima de caracteres que debe tener la contraseña.complexity
: Verifica si la contraseña es una combinación de caracteres en minúscula, mayúscula, numéricos y no alfanuméricos. El valor predeterminado esCOMPLEXITY_DEFAULT
.reuseInterval
: Especifica la cantidad de contraseñas anteriores que no puedes volver a usar.disallowUsernameSubstring
: Impide el uso del nombre de usuario en la contraseña cuando se configura comotrue
.passwordChangeInterval
: Especifica la duración mínima después de la que puedes cambiar la contraseña. El valor está en segundos con un máximo de nueve dígitos decimales, terminado ens
. Por ejemplo,3.5s
.
Para crear la instancia a fin de que pueda integrarse en Vertex AI, incluye el objeto enableGoogleMlIntegration en la solicitud. Esta integración te permite aplicar modelos de lenguaje grande (LLM), que se alojan en Vertex AI, a una base de datos de Cloud SQL para PostgreSQL.
Configura los siguientes parámetros, según sea necesario:
enableGoogleMlIntegration
: cuando este parámetro se establece entrue
, las instancias de Cloud SQL pueden conectarse a Vertex AI para pasar solicitudes de predicciones en tiempo real y estadísticas a la IAcloudsql.enable_google_ml_integration
: cuando este parámetro se establece enon
, Cloud SQL puede integrarse en Vertex AI.
HTTP method and URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig" = { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } } }
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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-01T19:13:21.834Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
La respuesta es una operación de larga duración, que puede tardar unos minutos en completarse.
Recupera la dirección IPv4
Recupera la dirección IPv4 asignada de manera automática a la nueva instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID de tu proyecto
- instance-id: es el ID de la instancia creado en el paso anterior.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Busca el campo ipAddress
en la respuesta.
Configuraciones de instancias personalizadas
Determina la memoria y los núcleos virtuales disponibles para tu instancia de Cloud SQL. La disponibilidad de los tipos de máquinas se determina según la edición de Cloud SQL.
Para las cargas de trabajo que requieren procesamiento en tiempo real, como el procesamiento de transacciones en línea (OLTP), asegúrate de que tu instancia tenga la memoria suficiente para contener toda la configuración de trabajo. Sin embargo, existen otros factores que pueden afectar los requisitos de memoria, como la cantidad de conexiones activas y los procesos de sobrecarga internos. Debes realizar pruebas de carga para evitar problemas de rendimiento en tu entorno de producción.
Cuando configures tu instancia, selecciona suficiente memoria y CPU virtuales para manejar tu carga de trabajo y actualízala a medida que esta aumente. Una configuración de máquina con CPU virtuales insuficientes podría perder su cobertura del ANS. Para obtener más información, consulta los Lineamientos operativos.
Tipos de máquinas para instancias de edición de Cloud SQL Enterprise Plus
Para las instancias de Cloud SQL Enterprise Plus, los tipos de máquinas se predefinen de la siguiente manera:
Tipo de máquina Enterprise Plus | vCPUs | Memoria (GB) | SSD local |
---|---|---|---|
db-perf-optimized-N-2 | 2 | 16 | 375 |
db-perf-optimized-N-4 | 4 | 32 | 375 |
db-perf-optimized-N-8 | 8 | 64 | 375 |
db-perf-optimized-N-16 | 16 | 128 | 750 |
db-perf-optimized-N-32 | 32 | 256 | 1500 |
db-perf-optimized-N-48 | 48 | 384 | 3000 |
db-perf-optimized-N-64 | 64 | 512 | 6000 |
db-perf-optimized-N-80 | 80 | 640 | 6000 |
db-perf-optimized-N-96 | 96 | 768 | 6000 |
db-perf-optimized-N-128 | 128 | 864 | 9000 |
Tipos de máquinas para instancias de Cloud SQL Enterprise
En las instancias de Cloud SQL Enterprise, también puedes crear configuraciones de instancias personalizadas con el comando gcloud sql
instances create
.
Los parámetros de configuración de instancias personalizadas te permiten seleccionar la cantidad de memoria y CPU que tu instancia necesita. Esta flexibilidad te permite elegir la forma de VM adecuada para tu carga de trabajo.
Los nombres de los tipos de máquinas tienen el siguiente formato: db-custom-#-#
Reemplaza el primer marcador de posición # por la cantidad de CPU en la máquina y el segundo marcador de posición # por la cantidad de memoria en la máquina.
Por ejemplo, si el nombre de tu máquina es db-custom
y tu máquina tiene 1 CPU y 3,840 MB de RAM, el formato de la máquina sería db-custom-1-3840
.
Cuando seleccionas la cantidad de CPU y memoria, hay algunas restricciones en la configuración que eliges:
- La cantidad de CPU virtuales debe ser 1 o un número par entre 2 y 96.
- La memoria debe tener las siguientes características:
- Ser de entre 0.9 y 6.5 GB por CPU virtual
- Ser un múltiplo de 256 MB
- Ser de al menos 3.75 GB (3,840 MB)
En la siguiente tabla, se enumeran los nombres de cada tipo de máquina heredada, la cantidad de CPU y RAM de cada tipo de máquina y la string resultante para el tipo de máquina.
Puedes crear el tipo de máquina equivalente si especificas la CPU y la RAM equivalentes en la consola de Google Cloud, a través de gcloud CLI o si especificas db-custom-#-#
en la API.
Tipo de máquina heredada | vCPUs | Memoria (MB) | String db-custom-CPU-RAM (string de nivel de API) |
---|---|---|---|
db-n1-standard-1 | 1 | 3840 | db-custom-1-3840 |
db-n1-standard-2 | 2 | 7680 | db-custom-2-7680 |
db-n1-standard-4 | 4 | 15360 | db-custom-4-15360 |
db-n1-standard-8 | 8 | 30720 | db-custom-8-30720 |
db-n1-standard-16 | 16 | 61440 | db-custom-16-61440 |
db-n1-standard-32 | 32 | 122880 | db-custom-32-122880 |
db-n1-standard-64 | 64 | 245760 | db-custom-64-245760 |
db-n1-standard-96 | 96 | 368640 | db-custom-96-368640 |
db-n1-highmem-2 | 2 | 13312 | db-custom-2-13312 |
db-n1-highmem-4 | 4 | 26624 | db-custom-4-26624 |
db-n1-highmem-8 | 8 | 53248 | db-custom-8-53248 |
db-n1-highmem-16 | 16 | 106496 | db-custom-16-106496 |
db-n1-highmem-32 | 32 | 212992 | db-custom-32-212992 |
db-n1-highmem-64 | 64 | 425984 | db-custom-64-425984 |
db-n1-highmem-96 | 96 | 638976 | db-custom-96-638976 |
Solucionar problemas
Problema | Soluciona problemas |
---|---|
Mensaje de error: Failed to create subnetwork. Couldn't
find free blocks in allocated IP ranges. Please allocate new ranges for
this service provider . |
No hay más direcciones disponibles en el rango de IP asignado. Puede haber varias situaciones posibles:
Para resolver este problema, puedes expandir el rango de IP asignado existente o asignar un rango de IP adicional a la conexión privada a servicios. Para obtener más información, consulta Asigna un rango de direcciones IP. Si usaste la marca Si asignas un nuevo rango, ten cuidado de no crear una asignación que se superponga con cualquier asignación existente. Después de crear un nuevo rango de IP, actualiza el intercambio de tráfico de VPC con el siguiente comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID \ --force Si expandes una asignación existente, asegúrate de aumentar solo el rango de asignación y no disminuirlo. Por ejemplo, si la asignación original era 10.0.10.0/24, realiza la nueva asignación de 10.0.10.0/23 como mínimo. En general, si empiezas desde una asignación /24, disminuir la /mask en 1 para cada condición (grupo adicional de tipos de instancias, región adicional) es una buena regla general. Por ejemplo, si intentas crear ambos grupos de tipos de instancias en la misma asignación, pasar de /24 a /23 es suficiente. Después de expandir un rango de IP existente, actualiza el intercambio de tráfico de VPC con el siguiente comando: gcloud services vpc-peerings update \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID |
Mensaje de error: Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] . |
Vuelve a crear la instancia de Cloud SQL. |
Mensaje de error: Failed to create subnetwork. Required
'compute.projects.get' permission for PROJECT_ID . |
Cuando creas una instancia mediante una dirección IP privada, se crea una cuenta de servicio a tiempo con la API de Service Networking. Si solo habilitaste recientemente la API de Service Networking, es posible que la cuenta de servicio no se cree y la creación de la instancia falle. En este caso, debes esperar a que la cuenta de servicio se propague en todo el sistema o agregarla de forma manual con los permisos necesarios. |
¿Qué sigue?
- Crea una base de datos de PostgreSQL en la instancia.
- Crea usuarios de PostgreSQL en la instancia.
- Protege y controla el acceso a la instancia.
- Conéctate a la instancia con un cliente PostgreSQL.
- Importa datos a la base de datos.