Estabeleça ligação a uma instância através do Private Service Connect

Esta página descreve como usar o Private Service Connect para se ligar a uma instância do Cloud SQL.

Pode usar o Private Service Connect para se ligar a uma instância principal do Cloud SQL ou a qualquer uma das respetivas réplicas de leitura a partir de várias redes da nuvem virtual privada (VPC) pertencentes a diferentes grupos, equipas, projetos ou organizações.

Antes de começar

O suporte para a utilização do Private Service Connect com uma instância do Cloud SQL está disponível para as versões gcloud CLI 416.0.0 e posteriores.

Funções do utilizador

A tabela seguinte fornece informações sobre as funções necessárias para usar o Private Service Connect com uma instância do Cloud SQL:

Função Descrição
compute.networkAdmin

Concede controlo total sobre a rede VPC que inicia uma ligação a uma instância do Cloud SQL. Pode criar e gerir endereços IP, regras de firewall, políticas de ligação de serviços e pontos finais do Private Service Connect.

Se usar o Private Service Connect para se ligar a uma instância do Cloud SQL a partir de várias redes VPC, cada rede tem o seu próprio administrador.

dns.admin Concede controlo total sobre os recursos do Cloud DNS, incluindo zonas e registos de DNS.
cloudsql.admin Fornece controlo total de uma instância do Cloud SQL e controla a instância ao longo do respetivo ciclo de vida.
cloudsql.instanceUser Fornece acesso à instância do Cloud SQL. Se se ligar através do cliente do proxy Auth do Cloud SQL, tem de ter a função de cliente do Cloud SQL. Se fizer a associação direta, não precisa de funções e autorizações de gestão de identidade e de acesso (IAM).

Crie um ponto final do Private Service Connect

Os pontos finais do Private Service Connect são endereços IP internos numa rede VPC do consumidor, aos quais os clientes nessa rede podem aceder diretamente. Os clientes podem usar estes pontos finais para estabelecer ligação a instâncias do Cloud SQL.

Pode fazer com que o Cloud SQL crie automaticamente um ponto final do Private Service Connect na sua VPC ou criar o ponto final manualmente.

Crie o ponto final automaticamente

Para que o Cloud SQL crie automaticamente o ponto final do Private Service Connect, faça o seguinte:

  1. Crie uma política de ligação de serviço na sua rede VPC. Com esta política, pode aprovisionar automaticamente pontos finais do Private Service Connect.

  2. Crie uma instância do Cloud SQL com o Private Service Connect ativado para a instância e configure a instância para criar pontos finais do Private Service Connect automaticamente.

  3. Obtenha o ponto final da instância. Isto permite-lhe usar o ponto final para estabelecer ligação à instância.

Crie uma política de ligação de serviço

Uma política de ligação de serviço permite-lhe autorizar uma classe de serviço especificada a criar um ponto final do Private Service Connect na sua rede VPC do consumidor. Pode usar a política de ligação de serviço para permitir que o Cloud SQL crie automaticamente pontos finais do Private Service Connect.

Pode criar uma política de ligação de serviço através da Google Cloud consola, da CLI gcloud ou da API.

Consola

  1. Na Google Cloud consola, aceda à página Private Service Connect.

    Aceda ao Private Service Connect

  2. Clique no separador Políticas de ligação.

  3. Clique em Criar política de ligação.

  4. Introduza um Nome para a política de associação.

  5. Especifique a classe de serviço fazendo o seguinte:

    1. Em Classe de serviço de origem, selecione Serviços Google.
    2. No menu Classe de serviço, selecione google-cloud-sql porque o Cloud SQL é o serviço gerido para a política de ligação.
  6. Na secção Âmbito dos pontos finais de destino, selecione uma Rede e uma Região às quais esta política se aplica.

  7. Na secção Política, selecione uma ou mais sub-redes no menu Sub-redes. As sub-redes são usadas para atribuir endereços IP a pontos finais.

  8. Opcional: especifique um limite de associações para a política. O limite determina quantos pontos finais podem ser criados através desta política de ligação. Se não especificar um limite de ligações, não existe limite.

  9. Clique em Criar política.

gcloud

Para criar uma política de ligação de serviço, use o 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

Substitua o seguinte:

  • POLICY_NAME: o nome da política de ligação de serviços.
  • NETWORK: a rede à qual esta política se aplica.
  • PROJECT_ID: o ID ou o número do projeto do projeto da rede VPC. Para redes de VPC partilhada, tem de implementar políticas de ligação de serviço no projeto anfitrião, uma vez que estas políticas não são suportadas em projetos de serviço.
  • REGION: a região à qual esta política se aplica. A mesma política tem de existir para todas as regiões nas quais quer automatizar a conetividade dos serviços.
  • SERVICE_CLASS: o identificador do recurso fornecido pelo produtor da classe de serviço. Para o Cloud SQL, a classe de serviço é google-cloud-sql.
  • SUBNETS: uma ou mais sub-redes de consumidor normais que são usadas para atribuir endereços IP para pontos finais do Private Service Connect. Estes endereços IP são atribuídos automaticamente e devolvidos ao conjunto da sub-rede à medida que as instâncias de serviços geridos são criadas e eliminadas. As sub-redes têm de estar na mesma região que a política de ligação de serviço. Se várias políticas de ligação partilharem a mesma região, pode reutilizar a mesma sub-rede nestas políticas. Pode introduzir várias sub-redes numa lista separada por vírgulas.
  • LIMIT: o número máximo de pontos finais que pode criar através desta política. Se não especificar um limite, não existe um limite.
  • DESCRIPTION: uma descrição opcional da política de ligação de serviços.
  • PRODUCER_INSTANCE_LOCATION: use esta flag opcional para especificar se deve autorizar uma hierarquia personalizada das localizações para uma instância do Cloud SQL. Pode definir o valor de PRODUCER_INSTANCE_LOCATION apenas para uma das seguintes opções:

    • custom-resource-hierarchy-levels: a instância tem de estar localizada num dos projetos, pastas ou organizações que indica como valor para o parâmetro allowed-google-producers-resource-hierarchy-level.
    • none: a instância está no mesmo projeto que a política de ligação de serviços.
  • RESOURCE_HIERARCHY_LEVEL: uma lista de projetos, pastas ou organizações onde a instância está localizada. Esta lista está no formato de projects/PROJECT_ID, folders/FOLDER_ID ou organizations/ORGANIZATION_ID.

Por exemplo, o seguinte comando cria uma política de ligação de serviço para a classe de serviço
google-cloud-sql que atribui endereços IP da sub-rede managed-services. É possível criar um máximo de 10 pontos finais do Private Service Connect através desta política. Os pontos finais têm de ser criados em projetos que estejam na mesma organização que a instância do serviço gerido. A instância do Cloud SQL está localizada no projeto 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 qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu projeto.
  • REGION: a região da sua política de associação de serviços.
  • POLICY_NAME: o nome da sua política de associação de serviços.
  • DESCRIPTION: uma descrição opcional da sua política de associação de serviços.
  • NETWORK: a rede da política de associação de serviços.
  • LIMIT: o número máximo de pontos finais que pode criar através desta política. Se não especificar um limite, não existe um limite.
  • SUBNETS: uma ou mais sub-redes de consumidor normais que são usadas para atribuir endereços IP para pontos finais do Private Service Connect. Estes endereços IP são atribuídos automaticamente e devolvidos ao conjunto da sub-rede à medida que as instâncias de serviços geridos são criadas e eliminadas. As sub-redes têm de estar na mesma região que a política de ligação de serviços. Se várias políticas de ligação partilharem a mesma região, pode reutilizar a mesma sub-rede nestas políticas. Pode introduzir várias sub-redes numa lista separada por vírgulas.
  • SERVICE_CLASS: o identificador de recursos fornecido pelo produtor da classe de serviço.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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
}

Crie uma instância do Cloud SQL

Pode criar uma instância com o Private Service Connect ativado para a instância e configurar a instância para criar pontos finais automaticamente através da CLI gcloud ou da API.

gcloud

Para criar uma instância com o Private Service Connect ativado para a instância, use o 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

Faça as seguintes substituições:

  • INSTANCE_NAME: o nome da instância.
  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • REGION_NAME: o nome da região da instância.
  • ALLOWED_PROJECTS: uma lista separada por vírgulas de IDs ou números de projetos permitidos a partir dos quais os pontos finais do Private Service Connect se podem ligar a instâncias do Cloud SQL.

    Se um projeto não estiver incluído nesta lista, não pode criar pontos finais do Private Service Connect no projeto para estabelecer ligação à instância.

  • AVAILABILITY_TYPE: ativa a elevada disponibilidade para a instância. Para este parâmetro, especifique um dos seguintes valores:
    • REGIONAL: ativa a alta disponibilidade e é recomendado para instâncias de produção. A instância comuta para outra zona na região selecionada.
    • ZONAL: não oferece capacidade de comutação em caso de falha. Este é o valor predefinido.

    Para mais informações sobre como definir e remover a elevada disponibilidade para instâncias, consulte os artigos Configure uma instância existente para elevada disponibilidade e Desative a elevada disponibilidade para uma instância.

  • MACHINE_TYPE: o tipo de máquina da instância.
  • DATABASE_VERSION: a versão da base de dados para a instância (por exemplo, POSTGRES_13).
  • CONSUMER_NETWORK: o caminho para a rede VPC a partir da qual os pontos finais do Private Service Connect têm de ser criados. Por exemplo:
    projects/my-host-project/global/networks/default.
  • CONSUMER_PROJECT: o projeto onde o ponto final do Private Service Connect é criado. Se estiver a usar uma rede de VPC partilhada, pode ser o projeto anfitrião ou o projeto de serviço.

    Todos os projetos especificados nos parâmetros de associação automática são adicionados automaticamente aos seus projetos permitidos. Opcionalmente, para todos os projetos nos quais quer criar pontos finais do Private Service Connect manualmente, pode adicioná-los à sua lista de projetos permitidos.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_NAME: o nome da instância.
  • REGION_NAME: o nome da região da instância.
  • AVAILABILITY_TYPE: ativa a elevada disponibilidade para a instância. Para este parâmetro, especifique um dos seguintes valores:
    • REGIONAL: ativa a alta disponibilidade e é recomendado para instâncias de produção. A instância comuta para outra zona na região selecionada.
    • ZONAL: não oferece capacidade de comutação em caso de falha. Este é o valor predefinido.

    Para mais informações sobre como definir e remover a elevada disponibilidade para instâncias, consulte os artigos Configure uma instância existente para elevada disponibilidade e Desative a elevada disponibilidade para uma instância.

  • ALLOWED_PROJECTS: uma lista separada por vírgulas de IDs ou números de projetos permitidos a partir dos quais os pontos finais do Private Service Connect se podem ligar a instâncias do Cloud SQL.

    Se um projeto não estiver incluído nesta lista, não pode criar pontos finais do Private Service Connect no projeto para estabelecer ligação à instância.

  • MACHINE_TYPE: o tipo de máquina da instância.
  • CONSUMER_NETWORK: a rede VPC onde quer permitir a criação automática de pontos finais do Private Service Connect.
  • PARENT_PROJECT: o projeto que contém a rede CONSUMER_NETWORK. Se não especificar um projeto diferente em CONSUMER_PROJECT, os pontos finais são criados automaticamente em PARENT_PROJECT
  • CONSUMER_PROJECT: opcional. Especifique apenas esta opção se CONSUMER_NETWORK for uma rede de VPC partilhada e quiser permitir a criação automática de pontos finais do Private Service Connect num projeto de serviço.

    Todos os projetos especificados nos parâmetros de associação automática são adicionados automaticamente aos seus projetos permitidos. Opcionalmente, para todos os projetos nos quais quer criar pontos finais do Private Service Connect manualmente, pode adicioná-los à sua lista de projetos permitidos.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
}

Obtenha o ponto final

Ao obter o endereço IP interno, que é o ponto final do Private Service Connect para uma instância, pode usar este ponto final para estabelecer ligação à instância.

gcloud

Para ver informações sobre uma instância, incluindo o endereço IP que é o ponto final do Private Service Connect para a instância, use o comando gcloud sql instances describe:

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

Faça as seguintes substituições:

Na resposta, tome nota do valor que aparece junto ao campo pscConfig:pscAutoConnections:ipAddress. Este valor é o endereço IP interno que também é o ponto final do Private Service Connect para a instância.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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
    },
}

Os seguintes campos existem para instâncias que têm o Private Service Connect ativado:

  • allowedConsumerProjects: uma lista dos projetos permitidos para a instância. Pode criar pontos finais do Private Service Connect a partir de quaisquer redes VPC nestes projetos para a associação de serviços da instância.
  • pscAutoConnections: a rede da VPC permitida, o estado da política de ligação de serviço e o estado do endereço IP que é o ponto final da instância.
  • pscEnabled: se uma instância tem o Private Service Connect ativado.

Para ver como criar o pedido da API REST subjacente para esta tarefa, consulte a página instances:get.

Crie o ponto final manualmente

Para criar o ponto final do Private Service Connect manualmente, faça o seguinte:

  1. Crie uma instância do Cloud SQL com o Private Service Connect ativado para a instância.

  2. Obtenha o URI do anexo de serviço. Use este URI para criar o ponto final do Private Service Connect.

  3. Reserve um endereço IP interno para o ponto final do Private Service Connect e crie um ponto final com esse endereço.

Crie uma instância do Cloud SQL

Pode criar uma instância com o Private Service Connect ativado para a instância através da CLI gcloud, do Terraform ou da API.

gcloud

Para criar uma instância com o Private Service Connect ativado para a instância, use o 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

Faça as seguintes substituições:

  • INSTANCE_NAME: o nome da instância.
  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • REGION_NAME: o nome da região da instância.
  • ALLOWED_PROJECTS: uma lista separada por vírgulas de IDs ou números de projetos permitidos a partir dos quais os pontos finais do Private Service Connect se podem ligar a instâncias do Cloud SQL.

    Se um projeto não estiver incluído nesta lista, não pode criar pontos finais do Private Service Connect no projeto para estabelecer ligação à instância.

  • AVAILABILITY_TYPE: ative a elevada disponibilidade para a instância. Para este parâmetro, especifique um dos seguintes valores:
    • REGIONAL: ativa a alta disponibilidade e é recomendado para instâncias de produção. A instância comuta para outra zona na região selecionada.
    • ZONAL: não oferece capacidade de comutação em caso de falha. Este é o valor predefinido.

    Para mais informações sobre como definir e remover a elevada disponibilidade para instâncias, consulte os artigos Configure uma instância existente para elevada disponibilidade e Desative a elevada disponibilidade para uma instância.

  • MACHINE_TYPE: o tipo de máquina da instância.
  • DATABASE_VERSION: a versão da base de dados para a instância (por exemplo, POSTGRES_13).

Terraform

Para criar uma instância com o Private Service Connect ativado para a instância, use o google_sql_database_instancerecurso do Terraform.

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 a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o ficheiro main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça correções à configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
  • INSTANCE_NAME: o nome da instância.
  • REGION_NAME: o nome da região da instância.
  • AVAILABILITY_TYPE: ativa a elevada disponibilidade para a instância. Para este parâmetro, especifique um dos seguintes valores:
    • REGIONAL: ativa a alta disponibilidade e é recomendado para instâncias de produção. A instância comuta para outra zona na região selecionada.
    • ZONAL: não oferece capacidade de comutação em caso de falha. Este é o valor predefinido.

    Para mais informações sobre como definir e remover a elevada disponibilidade para instâncias, consulte os artigos Configure uma instância existente para elevada disponibilidade e Desative a elevada disponibilidade para uma instância.

  • ALLOWED_PROJECTS: uma lista separada por vírgulas de IDs ou números de projetos permitidos a partir dos quais os pontos finais do Private Service Connect se podem ligar a instâncias do Cloud SQL.

    Se um projeto não estiver incluído nesta lista, não pode criar pontos finais do Private Service Connect no projeto para estabelecer ligação à instância.

  • MACHINE_TYPE: o tipo de máquina da instância.

Método HTTP e URL:

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

Corpo JSON do pedido:

{
  "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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
}

Obtenha a associação de serviço

Depois de criar uma instância do Cloud SQL com o Private Service Connect ativado, obtenha o URI da associação do serviço e use-o para criar o ponto final do Private Service Connect.

gcloud

Para ver informações de resumo sobre uma instância com o Private Service Connect ativado, como o campo pscServiceAttachmentLink, que apresenta o URI que aponta para a associação do serviço da instância, use o comando gcloud sql instances describe:

gcloud sql instances describe INSTANCE_NAME \
--project=PROJECT_ID

Faça as seguintes substituições:

  • INSTANCE_NAME: o nome da instância do Cloud SQL à qual os pontos finais do Private Service Connect nas redes VPC podem estabelecer ligação
  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância

O exemplo seguinte mostra um exemplo de saída para este comando:

gcloud sql instances describe myinstance \
--project=12345

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

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância
  • INSTANCE_NAME: o nome da instância

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  ...
  pscServiceAttachmentLink: "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"
}

O campo pscServiceAttachmentLink apresenta o URI que aponta para a associação de serviço da instância.

Crie um ponto final do Private Service Connect

Pode reservar um endereço IP interno para o ponto final do Private Service Connect e criar um ponto final com esse endereço. Para criar o ponto final, precisa do URI do anexo de serviço e dos projetos permitidos para a instância.

gcloud

  1. Para reservar um endereço IP interno para o ponto final do Private Service Connect, use o comando