Conectarse a una instancia mediante Private Service Connect

En esta página se describe cómo usar Private Service Connect para conectarse a una instancia de Cloud SQL.

Puedes usar Private Service Connect para conectarte a una instancia principal de Cloud SQL o a cualquiera de sus réplicas de lectura desde varias redes de nube privada virtual (VPC) que pertenezcan a diferentes grupos, equipos, proyectos u organizaciones.

Antes de empezar

La compatibilidad con el uso de Private Service Connect con una instancia de Cloud SQL está disponible para las versiones 416.0.0 y posteriores de gcloud CLI.

Funciones de usuario

En la siguiente tabla se proporciona información sobre los roles necesarios para usar Private Service Connect con una instancia de Cloud SQL:

Rol Descripción
compute.networkAdmin

Otorga control total sobre la red de VPC que inicia una conexión con una instancia de Cloud SQL. Puedes crear y gestionar direcciones IP, reglas de cortafuegos, políticas de conexión de servicios y puntos finales de Private Service Connect.

Si usas Private Service Connect para conectarte a una instancia de Cloud SQL desde varias redes VPC, cada red tendrá su propio administrador.

dns.admin Otorga control total sobre los recursos de Cloud DNS, incluidas las zonas y los registros DNS.
cloudsql.admin Proporciona un control total de una instancia de Cloud SQL y controla la instancia durante su ciclo de vida.
cloudsql.instanceUser Proporciona acceso a la instancia de Cloud SQL. Si te conectas a través del cliente del proxy de autenticación de Cloud SQL, debes tener el rol Cliente de Cloud SQL. Si te conectas directamente, no necesitas ningún rol ni permiso de gestión de identidades y accesos (IAM).

Crear un endpoint de Private Service Connect

Los puntos finales de Private Service Connect son direcciones IP internas de una red de VPC de consumidor a las que pueden acceder directamente los clientes de esa red. Los clientes pueden usar estos endpoints para conectarse a instancias de Cloud SQL.

Puedes hacer que Cloud SQL cree un endpoint de Private Service Connect automáticamente en tu VPC o puedes crear el endpoint manualmente.

Crear el endpoint automáticamente

Para que Cloud SQL cree automáticamente el endpoint de Private Service Connect, haz lo siguiente:

  1. Crea una política de conexión de servicio en tu red de VPC. Con esta política, puedes aprovisionar endpoints de Private Service Connect automáticamente.

  2. Crea una instancia de Cloud SQL con Private Service Connect habilitado y configúrala para que cree endpoints de Private Service Connect automáticamente.

  3. Obtén el endpoint de la instancia. De esta forma, puedes usar el endpoint para conectarte a la instancia.

Crear una política de conexión de servicio

Una política de conexión de servicio te permite autorizar una clase de servicio específica para que cree un punto final de Private Service Connect en tu red de VPC de consumidor. Puedes usar la política de conexión de servicio para permitir que Cloud SQL cree automáticamente endpoints de Private Service Connect.

Puedes crear una política de conexión de servicio mediante la Google Cloud consola, la CLI de gcloud o la API.

Consola

  1. En la Google Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haga clic en la pestaña Políticas de conexión.

  3. Haz clic en Crear política de conexión.

  4. Introduce un Nombre para la política de conexión.

  5. Para especificar la clase de servicio, haz lo siguiente:

    1. En Clase de servicio de origen, selecciona Servicios de Google.
    2. En el menú Clase de servicio, selecciona google-cloud-sql, ya que Cloud SQL es el servicio gestionado de la política de conexión.
  6. En la sección Ámbito de los endpoints de destino, selecciona una red y una región a las que se aplique esta política.

  7. En la sección Política, seleccione una o varias subredes en el menú Subredes. Las subredes se usan para asignar direcciones IP a los endpoints.

  8. Opcional: Especifica un límite de conexión para la política. El límite determina cuántos endpoints se pueden crear mediante esta política de conexión. Si no especificas un límite de conexiones, no habrá ninguno.

  9. Haz clic en Crear política.

gcloud

Para crear una política de conexión de servicio, usa el comando service-connection-policies create.

gcloud network-connectivity service-connection-policies create POLICY_NAME \
    --network=NETWORK \
    --project=PROJECT_ID \
    --region=REGION \
    --service-class=SERVICE_CLASS \
    --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \
    --psc-connection-limit=LIMIT \
    --description="DESCRIPTION" \
    --producer-instance-location=PRODUCER_INSTANCE_LOCATION \
    --allowed-google-producers-resource-hierarchy-level=RESOURCE_HIERARCHY_LEVEL

Haz los cambios siguientes:

  • POLICY_NAME: el nombre de tu política de conexión de servicio.
  • NETWORK: la red a la que se aplica esta política.
  • PROJECT_ID: el ID o el número del proyecto de la red VPC. En el caso de las redes de VPC compartida, debes implementar políticas de conexión de servicio en el proyecto host, ya que estas políticas no se admiten en los proyectos de servicio.
  • REGION: la región a la que se aplica esta política. Debe haber una política para cada región en la que quiera automatizar la conectividad de los servicios.
  • SERVICE_CLASS: identificador de recurso de la clase de servicio proporcionado por el productor. En Cloud SQL, la clase de servicio es google-cloud-sql.
  • SUBNETS: una o varias subredes de consumidor normales que se usan para asignar direcciones IP a los puntos finales de Private Service Connect. Estas direcciones IP se asignan automáticamente y se devuelven al grupo de la subred a medida que se crean y se eliminan instancias de servicio gestionado. Las subredes deben estar en la misma región que la política de conexión de servicio. Si varias políticas de conexión comparten la misma región, puedes reutilizar la misma subred en estas políticas. Puede introducir varias subredes en una lista separada por comas.
  • LIMIT: el número máximo de endpoints que puedes crear con esta política. Si no especificas ningún límite, no habrá ninguno.
  • DESCRIPTION: una descripción opcional de la política de conexión de servicios.
  • PRODUCER_INSTANCE_LOCATION: usa esta marca opcional para especificar si se debe autorizar una jerarquía personalizada de las ubicaciones de una instancia de Cloud SQL. Solo puedes asignar uno de los siguientes valores a PRODUCER_INSTANCE_LOCATION:

    • custom-resource-hierarchy-levels: la instancia debe estar ubicada en uno de los proyectos, carpetas u organizaciones que proporciones como valor del parámetro allowed-google-producers-resource-hierarchy-level.
    • none: la instancia está en el mismo proyecto que la política de conexión de servicio.
  • RESOURCE_HIERARCHY_LEVEL: una lista de proyectos, carpetas u organizaciones en las que se encuentra la instancia. Esta lista tiene el formato projects/PROJECT_ID, folders/FOLDER_ID o organizations/ORGANIZATION_ID.

Por ejemplo, el siguiente comando crea una política de conexión de servicio para la clase de servicio
google-cloud-sql que asigna direcciones IP de la subred managed-services. Se pueden crear un máximo de 10 endpoints de Private Service Connect con esta política. Los endpoints deben crearse en proyectos que estén en la misma organización que la instancia de servicio gestionado. La instancia de Cloud SQL se encuentra en el proyecto myproject.

gcloud network-connectivity service-connection-policies create cloud-sql-policy \
    --network=default \
    --project=my-project \
    --region=us-central1 \
    --service-class=google-cloud-sql \
    --subnets=managed-service-subnet \
    --psc-connection-limit=10 \
    --producer-instance-location=custom-resource-hierarchy-levels \
    --allowed-google-producers-resource-hierarchy-level=projects/myproject

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID de tu proyecto.
  • REGION: la región de tu política de conexión de servicio.
  • POLICY_NAME: el nombre de tu política de conexión de servicio.
  • DESCRIPTION: una descripción opcional de tu política de conexión de servicios.
  • NETWORK: la red de tu política de conexión de servicio.
  • LIMIT: el número máximo de endpoints que puedes crear con esta política. Si no especificas ningún límite, no habrá ninguno.
  • SUBNETS: una o varias subredes de consumidor normales que se usan para asignar direcciones IP a los puntos finales de Private Service Connect. Estas direcciones IP se asignan automáticamente y se devuelven al grupo de la subred a medida que se crean y se eliminan instancias de servicio gestionado. Las subredes deben estar en la misma región que la política de conexión de servicio. Si varias políticas de conexión comparten la misma región, puedes reutilizar la misma subred en estas políticas. Puedes introducir varias subredes en una lista separada por comas.
  • SERVICE_CLASS: identificador de recurso de la clase de servicio proporcionado por el productor.

Método HTTP y URL:

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME

Cuerpo JSON de la solicitud:

{
  "description": "DESCRIPTION",
  "network": "projects/PROJECT_ID/global/networks/NETWORK",
  "pscConfig": {
    "limit": "LIMIT",
    "subnetworks": [
      "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
    ]
  },
  "serviceClass": "SERVICE_CLASS"
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
    "createTime": "2023-08-15T16:59:29.236110917Z",
    "target": "projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Crear una instancia de Cloud SQL

Puedes crear una instancia con Private Service Connect habilitado para la instancia y configurar la instancia para que cree endpoints automáticamente mediante la CLI de gcloud o la API.

gcloud

Para crear una instancia con Private Service Connect habilitado, usa el comando gcloud sql instances create:

gcloud sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--tier=MACHINE_TYPE \
--database-version=DATABASE_VERSION \
--psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT

Haz las siguientes sustituciones:

  • INSTANCE_NAME: el nombre de la instancia.
  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
  • REGION_NAME: el nombre de la región de la instancia.
  • ALLOWED_PROJECTS: lista separada por comas de los números o IDs de proyectos permitidos desde los que los endpoints de Private Service Connect pueden conectarse a instancias de Cloud SQL.

    Si un proyecto no está en esta lista, no puedes crear puntos finales de Private Service Connect en el proyecto para conectarte a la instancia.

  • AVAILABILITY_TYPE: habilita la alta disponibilidad de la instancia. En este parámetro, especifica uno de los siguientes valores:
    • REGIONAL: habilita la alta disponibilidad y se recomienda para las instancias de producción. La instancia se conmuta por error a otra zona de la región seleccionada.
    • ZONAL: no ofrece ninguna función de conmutación por error. Este es el valor predeterminado.

    Para obtener más información sobre cómo configurar y quitar la alta disponibilidad de las instancias, consulta Configurar una instancia para que tenga alta disponibilidad y Desactivar la alta disponibilidad de una instancia.

  • MACHINE_TYPE: el tipo de máquina de la instancia.
  • DATABASE_VERSION: la versión de la base de datos de la instancia (por ejemplo, POSTGRES_13).
  • CONSUMER_NETWORK: la ruta a la red de VPC desde la que se deben crear los puntos finales de Private Service Connect. Por ejemplo:
    projects/my-host-project/global/networks/default.
  • CONSUMER_PROJECT: proyecto en el que se crea el endpoint de Private Service Connect. Si utilizas una red de VPC compartida, puede ser el proyecto del host o el proyecto de servicio.

    Los proyectos que especifiques en los parámetros de conexión automática se añadirán automáticamente a tus proyectos permitidos. Si quieres crear puntos finales de Private Service Connect manualmente en algún proyecto, puedes añadirlo a tu lista de proyectos permitidos.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
  • INSTANCE_NAME: el nombre de la instancia.
  • REGION_NAME: el nombre de la región de la instancia.
  • AVAILABILITY_TYPE: habilita la alta disponibilidad de la instancia. En este parámetro, especifica uno de los siguientes valores:
    • REGIONAL: habilita la alta disponibilidad y se recomienda para las instancias de producción. La instancia se conmuta por error a otra zona de la región seleccionada.
    • ZONAL: no ofrece ninguna función de conmutación por error. Este es el valor predeterminado.

    Para obtener más información sobre cómo configurar y quitar la alta disponibilidad de las instancias, consulta Configurar una instancia para que tenga alta disponibilidad y Desactivar la alta disponibilidad de una instancia.

  • ALLOWED_PROJECTS: lista separada por comas de los números o IDs de proyectos permitidos desde los que los endpoints de Private Service Connect pueden conectarse a instancias de Cloud SQL.

    Si un proyecto no está en esta lista, no puedes crear puntos finales de Private Service Connect en el proyecto para conectarte a la instancia.

  • MACHINE_TYPE: el tipo de máquina de la instancia.
  • CONSUMER_NETWORK: la red de VPC en la que quieres permitir la creación automática de endpoints de Private Service Connect.
  • PARENT_PROJECT: el proyecto que contiene la red CONSUMER_NETWORK. Si no especificas otro proyecto en CONSUMER_PROJECT, los endpoints se crearán automáticamente en PARENT_PROJECT .
  • CONSUMER_PROJECT: opcional. Solo debes especificarlo si CONSUMER_NETWORK es una red de VPC compartida y quieres permitir la creación automática de puntos finales de Private Service Connect en un proyecto de servicio.

    Los proyectos que especifiques en los parámetros de conexión automática se añadirán automáticamente a tus proyectos permitidos. Si quieres crear puntos finales de Private Service Connect manualmente en algún proyecto, puedes añadirlo a tu lista de proyectos permitidos.

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Cuerpo JSON de la solicitud:

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "POSTGRES_13",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscAutoConnections": [
          {
            "consumerProject":"CONSUMER_PROJECT",
            "consumerNetwork":"projects/PARENT_PROJECT/global/networks/CONSUMER_NETWORK"
          }
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "[email protected]",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Recuperar el endpoint

Si obtienes la dirección IP interna, que es el endpoint de Private Service Connect de una instancia, puedes usar este endpoint para conectarte a la instancia.

gcloud

Para ver información sobre una instancia, incluida la dirección IP que es el punto final de Private Service Connect de la instancia, usa el comando gcloud sql instances describe:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID \
--format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'

Haz las siguientes sustituciones:

En la respuesta, anota el valor que aparece junto al campo pscConfig:pscAutoConnections:ipAddress. Este valor es la dirección IP interna, que también es el endpoint de Private Service Connect de la instancia.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
      "pscAutoConnections": {
        consumerNetwork:"projects/PARENT_PROJECT/global/networks/CONSUMER_NETWORK",
        consumerNetworkStatus:"CONSUMER_NETWORK_STATUS",
        consumerProject:"CONSUMER_PROJECT",
        ipAddress:"IP_ADDRESS",
        status:"STATUS"
        },
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
}

En las instancias en las que Private Service Connect está habilitado, se incluyen los siguientes campos:

  • allowedConsumerProjects: lista de los proyectos permitidos de la instancia. Puedes crear endpoints de Private Service Connect desde cualquier red de VPC de estos proyectos hasta la vinculación de servicio de la instancia.
  • pscAutoConnections: la red de VPC permitida, el estado de la política de conexión de servicio y el estado de la dirección IP que es el endpoint de la instancia.
  • pscEnabled: indica si una instancia tiene habilitado Private Service Connect.

Para ver cómo crear la solicitud de API REST subyacente de esta tarea, consulta la página instances:get.

Crear el endpoint manualmente

Para crear el endpoint de Private Service Connect manualmente, haz lo siguiente:

  1. Crea una instancia de Cloud SQL con Private Service Connect habilitado para la instancia.

  2. Obtén el URI de la vinculación de servicio. Esta URI se usa para crear el endpoint de Private Service Connect.

  3. Reserva una dirección IP interna para el punto final de Private Service Connect y crea un punto final con esa dirección.

Crear una instancia de Cloud SQL

Puedes crear una instancia con Private Service Connect habilitado mediante la CLI de gcloud, Terraform o la API.

gcloud

Para crear una instancia con Private Service Connect habilitado, usa el comando gcloud sql instances create:

gcloud sql instances create INSTANCE_NAME \
--project=PROJECT_ID \
--region=REGION_NAME \
--enable-private-service-connect \
--allowed-psc-projects=ALLOWED_PROJECTS \
--availability-type=AVAILABILITY_TYPE \
--no-assign-ip \
--tier=MACHINE_TYPE \
--database-version=DATABASE_VERSION

Haz las siguientes sustituciones:

  • INSTANCE_NAME: el nombre de la instancia.
  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
  • REGION_NAME: el nombre de la región de la instancia.
  • ALLOWED_PROJECTS: lista separada por comas de los números o IDs de proyectos permitidos desde los que los endpoints de Private Service Connect pueden conectarse a instancias de Cloud SQL.

    Si un proyecto no está en esta lista, no puedes crear puntos finales de Private Service Connect en el proyecto para conectarte a la instancia.

  • AVAILABILITY_TYPE: habilita la alta disponibilidad en la instancia. En este parámetro, especifica uno de los siguientes valores:
    • REGIONAL: habilita la alta disponibilidad y se recomienda para las instancias de producción. La instancia se conmuta por error a otra zona de la región seleccionada.
    • ZONAL: no ofrece ninguna función de conmutación por error. Este es el valor predeterminado.

    Para obtener más información sobre cómo configurar y quitar la alta disponibilidad de las instancias, consulta Configurar una instancia para que tenga alta disponibilidad y Desactivar la alta disponibilidad de una instancia.

  • MACHINE_TYPE: el tipo de máquina de la instancia.
  • DATABASE_VERSION: la versión de la base de datos de la instancia (por ejemplo, POSTGRES_13).

Terraform

Para crear una instancia con Private Service Connect habilitado, usa el recurso de Terraform google_sql_database_instance.

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled = true
    }
    ip_configuration {
      psc_config {
        psc_enabled               = true
        allowed_consumer_projects = []
      }
      ipv4_enabled = false
    }
  }
}

Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud

Preparar Cloud Shell

  1. Abre Cloud Shell.
  2. Define el Google Cloud proyecto predeterminado en el que quieras aplicar tus configuraciones de Terraform.

    Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.

Preparar el directorio

Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).

  1. En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf. Por ejemplo, main.tf. En este tutorial, nos referiremos al archivo como main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.

    Copia el código de ejemplo en el archivo main.tf que acabas de crear.

    También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
  4. Guarda los cambios.
  5. Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
    terraform init

    Si quieres usar la versión más reciente del proveedor de Google, incluye la opción -upgrade:

    terraform init -upgrade

Aplica los cambios

  1. Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
    terraform plan

    Haga las correcciones necesarias en la configuración.

  2. Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo yes en la petición:
    terraform apply

    Espera hasta que Terraform muestre el mensaje "Apply complete!".

  3. Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia.
  • INSTANCE_NAME: el nombre de la instancia.
  • REGION_NAME: el nombre de la región de la instancia.
  • AVAILABILITY_TYPE: habilita la alta disponibilidad de la instancia. En este parámetro, especifica uno de los siguientes valores:
    • REGIONAL: habilita la alta disponibilidad y se recomienda para las instancias de producción. La instancia se conmuta por error a otra zona de la región seleccionada.
    • ZONAL: no ofrece ninguna función de conmutación por error. Este es el valor predeterminado.

    Para obtener más información sobre cómo configurar y quitar la alta disponibilidad de las instancias, consulta Configurar una instancia para que tenga alta disponibilidad y Desactivar la alta disponibilidad de una instancia.

  • ALLOWED_PROJECTS: lista separada por comas de los números o IDs de proyectos permitidos desde los que los endpoints de Private Service Connect pueden conectarse a instancias de Cloud SQL.

    Si un proyecto no está en esta lista, no puedes crear puntos finales de Private Service Connect en el proyecto para conectarte a la instancia.

  • MACHINE_TYPE: el tipo de máquina de la instancia.

Método HTTP y URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Cuerpo JSON de la solicitud:

{
  "name": "INSTANCE_NAME",
  "project": PROJECT_ID",
  "region": "REGION_NAME",
  "databaseVersion": "POSTGRES_13",
  "kind": "sql#instance",
  "settings": {
    "availabilityType": "AVAILABILITY_TYPE",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      }
    },
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "tier": "MACHINE_TYPE"
  }
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "RUNNING",
  "user": "[email protected]",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "2023-06-14T18:48:35.499Z",
  "operationType": "CREATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Obtener el adjunto de servicio

Después de crear una instancia de Cloud SQL con Private Service Connect habilitado, obtén el URI de la vinculación de servicio y úsalo para crear el endpoint de Private Service Connect.

gcloud

Para ver información de resumen sobre una instancia con Private Service Connect habilitado, como el campo pscServiceAttachmentLink, que muestra el URI que apunta al archivo adjunto de servicio de la instancia, usa el comando gcloud sql instances describe:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID

Haz las siguientes sustituciones:

  • INSTANCE_NAME: el nombre de la instancia de Cloud SQL a la que se pueden conectar los endpoints de Private Service Connect en redes VPC.
  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia

En el siguiente ejemplo se muestra un resultado de muestra de este comando:

gcloud sql instances describe myinstance \
--project=12345

...
pscServiceAttachmentLink: projects/45678/regions/myregion/serviceAttachments/myserviceattachment

REST

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: el ID o el número de proyecto del Google Cloud proyecto que contiene la instancia
  • INSTANCE_NAME: el nombre de la instancia

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar tu solicitud, despliega una de estas opciones: