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:
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.
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.
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
Na Google Cloud consola, aceda à página Private Service Connect.
Clique no separador Políticas de ligação.
Clique em Criar política de ligação.
Introduza um Nome para a política de associação.
Especifique a classe de serviço fazendo o seguinte:
- Em Classe de serviço de origem, selecione Serviços Google.
- 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.
Na secção Âmbito dos pontos finais de destino, selecione uma Rede e uma Região às quais esta política se aplica.
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.
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.
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 dePRODUCER_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âmetroallowed-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 deprojects/PROJECT_ID
,folders/FOLDER_ID
ouorganizations/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 \ --database-version=DATABASE_VERSION --cpu=NUMBER_OF_vCPUs \ --memory=MEMORY_SIZE \ --root-password=ROOT_PASSWORD \ --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.
- DATABASE_VERSION: a versão da base de dados para a instância (por exemplo,
SQLSERVER_2019_STANDARD
). - NUMBER_OF_vCPUs: o número de núcleos da instância.
- MEMORY_SIZE: a quantidade de memória para a instância.
- ROOT_PASSWORD: a palavra-passe do utilizador do Cloud SQL
root
. - 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.
- ROOT_PASSWORD: a palavra-passe do utilizador do Cloud SQL
root
. - 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: um valor de string enumerado que representa o tipo de máquina da instância. Por exemplo:
db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE
, em que NUMBER_OF_vCPUs e MEMORY_SIZE são o número de núcleos e a quantidade de memória que quer para a 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": "SQLSERVER_2019_STANDARD", "rootPassword": "ROOT_PASSWORD", "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": "user@example.com", "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:
- INSTANCE_NAME: o nome da instância do Cloud SQL. Se esta instância tiver o Private Service Connect ativado, os pontos finais do Private Service Connect nas redes VPC podem estabelecer ligação à mesma.
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância.
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:
- 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 do Cloud SQL. Se esta instância tiver o Private Service Connect ativado, os pontos finais do Private Service Connect nas redes VPC podem estabelecer ligação à mesma.
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": "SQLSERVER_2019_STANDARD", "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:
Crie uma instância do Cloud SQL com o Private Service Connect ativado para a instância.
Obtenha o URI do anexo de serviço. Use este URI para criar o ponto final do Private Service Connect.
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 \ --database-version=DATABASE_VERSION --cpu=NUMBER_OF_vCPUs \ --memory=MEMORY_SIZE \ --root-password=ROOT_PASSWORD
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.
- DATABASE_VERSION: a versão da base de dados para a instância (por exemplo,
SQLSERVER_2019_STANDARD
). - NUMBER_OF_vCPUs: o número de núcleos da instância.
- MEMORY_SIZE: a quantidade de memória para a instância.
- ROOT_PASSWORD: a palavra-passe do utilizador do Cloud SQL
root
.
Terraform
Para criar uma instância com o Private Service Connect ativado para a instância, use o google_sql_database_instance
recurso do Terraform.
Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.
Prepare o Cloud Shell
- Inicie o Cloud Shell.
-
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).
-
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 é denominadomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
- Guarde as alterações.
-
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
-
Reveja a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expetativas:
terraform plan
Faça as correções necessárias à configuração.
-
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!).
- 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.
- ROOT_PASSWORD: a palavra-passe do utilizador do Cloud SQL
root
. - 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: um valor de string enumerado que representa o tipo de máquina da instância. Por exemplo:
db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE
, em que NUMBER_OF_vCPUs e MEMORY_SIZE são o número de núcleos e a quantidade de memória que quer para a 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": "SQLSERVER_2019_STANDARD", "rootPassword": "ROOT_PASSWORD", "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": "user@example.com", "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
Para reservar um endereço IP interno para o ponto final do Private Service Connect, use o comando
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --subnet=SUBNET_URI \ --addresses=INTERNAL_IP_ADDRESS
Faça as seguintes substituições:
- ADDRESS_NAME: o nome do endereço IP interno.
- PROJECT_ID: o ID ou o número do projeto do projeto Google Cloud para o ponto final.
- REGION_NAME: o nome da região do ponto final.
- SUBNET_URI: o nome da sub-rede para o endereço IP. O formato é:
projects/SUBNET_PROJECT_ID/regions/REGION_NAME/subnetworks/SUBNET_NAME
. Se a sub-rede estiver numa rede de VPC partilhada, recomendamos que o SUBNET_PROJECT_ID seja o projeto anfitrião. - INTERNAL_IP_ADDRESS: o endereço IP a reservar. Este endereço IP tem de estar dentro do intervalo de IP principal da sub-rede. O endereço IP pode ser um endereço RFC 1918 ou uma sub-rede com intervalos não RFC. Se não quiser especificar o endereço IP porque quer que o Google Cloud reserve um endereço IP disponível na sub-rede, omita esta flag.
Para verificar se o endereço IP está reservado, use o comando
gcloud compute addresses list
:gcloud compute addresses list ADDRESS_NAME \ --project=PROJECT_ID
Na resposta, verifique se é apresentado o estado
RESERVED
para o endereço IP.Para criar o ponto final do Private Service Connect e direcioná-lo para a associação do serviço Cloud SQL, use o comando
gcloud compute forwarding-rules create
:gcloud compute forwarding-rules create ENDPOINT_NAME \ --address=ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --network=NETWORK_URI \ --target-service-attachment=SERVICE_ATTACHMENT_URI \ --allow-psc-global-access
Faça as seguintes substituições:
- ENDPOINT_NAME: o nome do ponto final
- NETWORK_URI: o URI da rede VPC para o ponto final. O formato é:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME
. Se quiser usar uma rede VPC partilhada, especifique o projeto anfitrião como NETWORK_PROJECT_ID. - SERVICE_ATTACHMENT_URI: o URI do anexo de serviço
Para verificar se a associação de serviço aceita o ponto final, use o comando
gcloud compute forwarding-rules describe
:gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Na resposta, verifique se é apresentado um estado
ACCEPTED
para o campopscConnectionStatus
. O ponto final pode estabelecer ligação à associação de serviço.
Terraform
Para criar um ponto final do Private Service Connect, use o google_sql_database_instance
recurso do Terraform.
Use o exemplo seguinte para criar um ponto final do Private Service Connect IPv4.
Use o exemplo seguinte para criar um ponto final do Private Service Connect IPv6.
Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.
Prepare o Cloud Shell
- Inicie o Cloud Shell.
-
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).
-
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 é denominadomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.
- Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
- Guarde as alterações.
-
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
-
Reveja a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expetativas:
terraform plan
Faça as correções necessárias à configuração.
-
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!).
- 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
Reserve um endereço IP interno para o ponto final do Private Service Connect.
Verifique se o endereço IP está reservado.
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 projeto Google Cloud que contém o ponto final do Private Service Connect
- REGION_NAME: o nome da região
- ADDRESS_NAME: o nome do endereço IP
Método HTTP e URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "compute#address", "id": "ADDRESS_ID", "creationTimestamp": "2024-05-09T11:20:50.114-07:00", "name": "ADDRESS_NAME", "description": "This is the name of the internal IP address.", "address": "IP_ADDRESS", "status": "RESERVED", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME", "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "addressType": "EXTERNAL" }
Na resposta, verifique se é apresentado o estado
RESERVED
para o endereço IP.Crie o ponto final do Private Service Connect e direcione-o para a associação do serviço do Cloud SQL.
Verifique se a associação de serviço aceita o ponto final.
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 projeto Google Cloud que contém o ponto final do Private Service Connect
- REGION_NAME: o nome da região
- ENDPOINT_NAME: o nome do ponto final
Método HTTP e URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "compute#forwardingRule", "id": "ENDPOINT_ID", "creationTimestamp": "2024-05-09T12:03:21.383-07:00", "name": "ENDPOINT_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "CONNECTION_ID", "pscConnectionStatus": "ACCEPTED", "allowPscGlobalAccess": true }
Na resposta, verifique se é apresentado um estado
ACCEPTED
para o campopscConnectionStatus
. O ponto final pode estabelecer ligação à associação de serviço.
Estabeleça ligação a uma instância do Cloud SQL
Pode ligar-se a uma instância do Cloud SQL com o Private Service Connect ativado através de um endereço IP interno, um registo DNS, o proxy Auth do Cloud SQL, os conectores de linguagem do Cloud SQL ou outras Google Cloud aplicações.
Configure uma zona gerida por DNS e um registo DNS
O Cloud SQL não cria registos de DNS automaticamente. Em alternativa, a resposta da API de procura de instâncias fornece um nome DNS sugerido. Recomendamos que crie o registo DNS numa zona DNS privada na rede VPC correspondente. Isto oferece uma forma consistente de usar o proxy Auth do Cloud SQL para estabelecer ligação a partir de diferentes redes.
gcloud
Para ver informações de resumo sobre uma instância do Cloud SQL, incluindo o nome DNS 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
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância
Na resposta, verifique se o nome DNS aparece. Este nome tem o seguinte padrão:
INSTANCE_UID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog.
. Por exemplo:1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.
.Se quiser usar um nome DNS personalizado para se ligar a uma instância do Cloud SQL em vez de usar o nome DNS predefinido nesta secção, configure a definição de nome alternativo do assunto (SAN) personalizado enquanto cria a instância. O nome DNS personalizado que inserir na definição SAN personalizada é adicionado ao campo SAN do certificado do servidor da instância. Isto permite-lhe usar o nome DNS personalizado com a validação do nome de anfitrião de forma segura.
Para mais informações sobre a configuração da SAN personalizada, consulte o artigo Crie instâncias.
Para criar uma zona DNS privada, use o comando
gcloud dns managed-zones create
. Esta zona está associada à rede VPC usada para estabelecer ligação à instância do Cloud SQL através do ponto final do Private Service Connect.gcloud dns managed-zones create ZONE_NAME \ --project=PROJECT_ID \ --description="DESCRIPTION" \ --dns-name=DNS_NAME \ --networks=NETWORK_NAME \ --visibility=private
Faça as seguintes substituições:
- ZONE_NAME: o nome da zona DNS
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a zona
- DESCRIPTION: uma descrição da zona (por exemplo, uma zona DNS para a instância do Cloud SQL)
- DNS_NAME: o nome do sufixo DNS para a zona, como
REGION_NAME.sql.goog.
(em que REGION_NAME é o nome da região para a zona) - NETWORK_NAME: o nome da rede da VPC
Depois de criar o ponto final do Private Service Connect, para criar um registo DNS na zona, use o comando
gcloud dns record-sets create
:gcloud dns record-sets create DNS_RECORD \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
Faça as seguintes substituições:
- DNS_RECORD: o nome do registo de DNS. Este registo está definido para o nome DNS que obteve da instância do Cloud SQL anteriormente neste procedimento (por exemplo,
1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.
). - RRSET_TYPE: o tipo de registo de recurso do conjunto de registos de DNS. Se o endereço IP interno que reservou
para o ponto final do Private Service Connect for IPv4, especifique
A
para este parâmetro. Caso contrário, se o endereço IP do ponto final for IPv6, especifiqueAAAA
. - RR_DATA: o endereço IP atribuído ao ponto final do Private Service Connect (por exemplo,
198.51.100.5
). Também pode introduzir vários valores, comorrdata1 rrdata2 rrdata3
(por exemplo,10.1.2.3 10.2.3.4 10.3.4.5
).
- DNS_RECORD: o nome do registo de DNS. Este registo está definido para o nome DNS que obteve da instância do Cloud SQL anteriormente neste procedimento (por exemplo,
REST
- Obtenha o nome DNS de uma instância do Cloud SQL.
- 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
- Crie uma zona DNS privada. Esta zona está associada à rede VPC usada para estabelecer ligação à instância do Cloud SQL através do ponto final do Private Service Connect.
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a zona DNS
- ZONE_NAME: o nome da zona
- DESCRIPTION: uma descrição da zona (por exemplo, uma zona DNS para a instância do Cloud SQL)
- DNS_NAME: o nome do sufixo DNS para a zona, como
REGION_NAME.sql.goog.
(em que REGION_NAME é o nome da região para a zona) - NETWORK_NAME: o nome da rede da VPC
- Depois de criar o ponto final do Private Service Connect, crie um registo DNS na zona.
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a zona DNS.
- ZONE_NAME: o nome da zona.
- DNS_RECORD: o nome do registo de DNS. Este registo está definido para o nome DNS que obteve da instância do Cloud SQL anteriormente neste procedimento (por exemplo,
1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.
). - RRSET_TYPE: o tipo de registo de recurso do conjunto de registos de DNS. Se o endereço IP interno que reservou
para o ponto final do Private Service Connect for IPv4, especifique
A
para este parâmetro. Caso contrário, se o endereço IP do ponto final for IPv6, especifiqueAAAA
. - TTL: o tempo de vida (TTL) do conjunto de registos em segundos (por exemplo,
300
). - RR_DATA: o endereço IP atribuído ao ponto final do Private Service Connect (por exemplo,
198.51.100.5
). Também pode introduzir vários valores, comorrdata1 rrdata2 rrdata3
(por exemplo,10.1.2.3 10.2.3.4 10.3.4.5
).
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/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:
{ ... "dnsName": "INSTANCE_ID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog." }
O campo dnsName
apresenta o nome DNS da instância do Cloud SQL. Os nomes DNS terminam sempre com um ponto (.
).
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
Corpo JSON do pedido:
{ "name": "ZONE_NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "private", "privateVisibilityConfig": { "kind": "dns#managedZonePrivateVisibilityConfig", "networks": [ { "kind": "dns#managedZonePrivateVisibilityConfigNetwork", "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME" } ] } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "ZONE_NAME", "dnsName": "DNS_NAME", "description": "DESCRIPTION", "id": "ID", "nameServers": [ "ns-gcp-private.googledomains.com." ], "creationTime": "2024-05-10T17:05:34.607Z", "visibility": "private", "privateVisibilityConfig": { "networks": [ { "networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME", "kind": "dns#managedZonePrivateVisibilityConfigNetwork" } ], "gkeClusters": [], "kind": "dns#managedZonePrivateVisibilityConfig" }, "cloudLoggingConfig": { "kind": "dns#managedZoneCloudLoggingConfig" }, "kind": "dns#managedZone" }
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
Método HTTP e URL:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ZONE_NAME
Corpo JSON do pedido:
{ "deletions": [] "additions": [ { "name": "DNS_RECORD", "type": "RRSET_TYPE", "ttl": TTL, "rrdatas": [ "RR_DATA" ] } ] }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "additions": [ { "name": "DNS_RECORD", "type": "RRSET_TYPE", "ttl": TTL, "rrdatas": [ "RR_DATA" ], "signatureRrdatas": [], "kind": "dns#resourceRecordSet" } ], "deletions": [], "startTime": "2024-05-10T17:29:44.375Z", "id": "CHANGE_ID", "status": "pending", "kind": "dns#change" }
Estabeleça ligação diretamente através de um registo DNS
Antes de estabelecer ligação a uma instância do Cloud SQL através de um registo DNS, faça o seguinte:
- Crie um ponto final do Private Service Connect.
- Confirme que a associação de serviço da instância aceita o ponto final. Para verificar se o estado do ponto final é
ACCEPTED
, verifique o estado. - Configure uma zona gerida de DNS e um registo de DNS.
Depois de cumprir estas condições, use o Registo de DNS para se ligar à instância a partir de qualquer rede VPC onde criou o ponto final.
sqlcmd -S DNS_RECORD -d DATABASE_NAME -U USERNAME
Faça as seguintes substituições:
- DNS_RECORD: o registo de DNS do ponto final
- DATABASE_NAME: o nome da base de dados do Cloud SQL para SQL Server contida na instância
- USERNAME: o nome do utilizador que está a estabelecer ligação à instância
Ligue-se diretamente através de um endereço IP interno
Antes de estabelecer ligação a uma instância do Cloud SQL com o Private Service Connect ativado, faça o seguinte:
- Crie um ponto final do Private Service Connect.
- Confirme que a associação de serviço da instância aceita o ponto final. Para verificar se o estado do ponto final é
ACCEPTED
, verifique o estado.
Depois de cumprir estas condições, use o endereço IP do ponto final para aceder à instância a partir de qualquer rede VPC onde criou o ponto final.
Obtenha o endereço IP interno do ponto final do Private Service Connect através do nome do endereço IP do ponto final.
gcloud
Para obter o endereço IP, use o comando
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
Faça as seguintes substituições:
- ADDRESS_NAME: o nome do endereço IP do ponto final
- PROJECT_ID: o ID ou o número do projeto do projeto Google Cloud que contém o ponto final
- REGION_NAME: o nome da região do ponto final
Na resposta, verifique se é apresentado um endereço IP para o campo
address
. Este é o endereço IP interno.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 projeto Google Cloud que contém o ponto final
- REGION_NAME: o nome da região do ponto final
- ADDRESS_NAME: o nome do endereço IP do ponto final
Método HTTP e URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "compute#address", "id": "ADDRESS_ID", "creationTimestamp": "2024-05-09T11:20:50.114-07:00", "name": "ADDRESS_NAME", "description": "This is the name of the internal IP address.", "address": "IP_ADDRESS", "status": "RESERVED", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME", "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "addressType": "EXTERNAL" }
O endereço IP interno é o valor associado ao campo
address
.Em alternativa, obtenha o endereço IP interno do ponto final do Private Service Connect através da associação do serviço da instância do Cloud SQL.
gcloud
Para obter o endereço IP, use o comando
gcloud compute forwarding-rules list
:gcloud compute forwarding-rules list \ --filter="TARGET:REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME" \ --project=PROJECT_ID
Faça as seguintes substituições:
- REGION_NAME: o nome da região do ponto final
- PROJECT_ID: o ID ou o número do projeto do projeto Google Cloud que contém o ponto final
- SERVICE_ATTACHMENT_NAME: o nome da associação de serviço para a instância do Cloud SQL
Na resposta, verifique se é apresentado um endereço IP. Este é o endereço IP interno.
Segue-se um exemplo de resposta:
NAME
REGION
IP_ADDRESS
TARGET
myInstance
us-central1
10.10.10.10
us-central1/serviceAttachments/a-123456789e0a-psc-service-attachment-abc123d4e5f67gh8
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 projeto Google Cloud que contém o ponto final
- REGION_NAME: o nome da região do ponto final
- SERVICE_ATTACHMENT_PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a associação de serviço
- SERVICE_ATTACHMENT_NAME: o nome da associação de serviço para a instância do Cloud SQL
Método HTTP e URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules?target="https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "compute#forwardingRuleList", "id": "projects/PROJECT_ID/regions/REGION_NAME/forwardingRules", "items": [ { "kind": "compute#forwardingRule", "id": "FORWARDING_RULE_ID", "creationTimestamp": "2023-10-31T13:04:37.168-07:00", "name": "FORWARDING_RULE_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/FORWARDING_RULE_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "PSC_CONNECTION_ID", "pscConnectionStatus": "CLOSED", "allowPscGlobalAccess": true } ], "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules" }
O endereço IP interno é o valor associado ao campo
IPAddress
.-
Para estabelecer ligação à instância do Cloud SQL, use o endereço IP interno.
sqlcmd -S IP_ADDRESS -d DATABASE_NAME -U USERNAME
Faça as seguintes substituições:
- IP_ADDRESS: o endereço IP do ponto final
- DATABASE_NAME: o nome da base de dados do Cloud SQL para SQL Server contida na instância
- USERNAME: o nome do utilizador que está a estabelecer ligação à instância
Ligue através do proxy Auth do Cloud SQL
O proxy Auth do Cloud SQL é um conector que fornece acesso seguro a uma instância com o Private Service Connect ativado sem necessidade de redes autorizadas nem de configurar o SSL.
Para permitir ligações de clientes do proxy Auth do Cloud SQL, configure um registo de DNS que corresponda ao nome de DNS recomendado fornecido para a instância. O registo de DNS é um mapeamento entre um recurso de DNS e um nome de domínio.
Se estiver a estabelecer ligação através do Private Service Connect, é necessária a versão v2.5.0 ou posterior do proxy Auth do Cloud SQL.
Transfira e instale o proxy Auth do Cloud SQL
Para estabelecer ligação a instâncias com o Private Service Connect ativado, tem de transferir e instalar o ficheiro binário para o proxy Auth do Cloud SQL. O ficheiro binário que transfere depende do sistema operativo e se usa um kernel de 32 ou 64 bits. A maioria do hardware mais recente usa um kernel de 64 bits.
Se não tiver a certeza de que a sua máquina está a executar um kernel de 32 ou 64 bits, use o comando uname -a
para Linux ou macOS. Para o Windows, consulte a documentação do Windows.
Inicie o proxy Auth do Cloud SQL
O proxy Auth do Cloud SQL suporta ligações a instâncias com o Private Service Connect ativado. Para mais informações, consulte o artigo Inicie o proxy Auth do Cloud SQL.
- Veja informações de resumo sobre uma instância do Cloud SQL, incluindo o nome de ligação da instância.
gcloud
Para ver informações de resumo sobre uma instância do Cloud SQL, use o comando
gcloud sql instances describe
.gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='value(connectionName)'
Faça as seguintes substituições:
- INSTANCE_NAME: o nome da instância do Cloud SQL
- PROJECT_ID: o ID ou o número do projeto do Google Cloud projeto que contém a instância
O nome da ligação está no formato
PROJECT_ID:REGION_NAME:INSTANCE_NAME
.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:
{ ... "connectionName": "PROJECT_ID:REGION_NAME:INSTANCE_NAME" }
O nome da ligação está no formato
PROJECT_ID:REGION_NAME:INSTANCE_NAME
. - Copie o nome da ligação da instância.
Inicie o proxy Auth do Cloud SQL:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME --psc
Substitua INSTANCE_CONNECTION_NAME pelo nome da ligação da instância que copiou no passo anterior.
Estabeleça ligação através dos conectores de linguagem do Cloud SQL
Os conetores de linguagem do Cloud SQL são bibliotecas que fornecem acesso seguro a uma instância do Cloud SQL com o Private Service Connect ativado sem necessidade de redes autorizadas nem de configurar o SSL.
Para permitir ligações com os conectores de linguagem do Cloud SQL, configure um registo DNS que corresponda ao nome DNS recomendado fornecido para a instância. O registo de DNS é um mapeamento entre um recurso de DNS e um nome de domínio.
Os conetores de linguagem do Cloud SQL suportam ligações do Private Service Connect
através do PSC
tipo de IP nas respetivas bibliotecas.
- Conetor Python do Cloud SQL (v1.3.0 ou posterior)
- Cloud SQL Go Connector (v1.4.0 ou posterior)
- Conector Java do Cloud SQL (v1.13.0 ou posterior)
- Conector Node.js do Cloud SQL (v0.5.0 ou posterior)
Estabeleça ligação a partir do App Engine Standard, do Cloud Run ou das funções do Cloud Run
Para estabelecer ligação a instâncias do Cloud SQL com o Private Service Connect ativado, pode usar o App Engine Standard ou o Cloud Run.
Nestes ambientes sem servidor suportados, são suportados os conetores de linguagem do Cloud SQL e as ligações TCP diretas através de um endereço IP e um número da porta. Para ligações TCP diretas, este é o endereço IP que reserva quando cria o ponto final do Private Service Connect. Pode especificar o endereço IP como a morada do anfitrião da base de dados.
Se criar um registo de DNS para o ponto final, pode especificar este registo para o anfitrião.
Associar a partir do BigQuery
Para aceder a dados no Cloud SQL e fazer consultas a estes dados através de uma ligação IP interna, use o parâmetro --enable-google-private-path
. Este parâmetro só é válido se:
- Usar o parâmetro
--no-assign-ip
. - Use o parâmetro
--network
para especificar o nome da rede VPC que quer usar para criar uma ligação interna.
Configure a conetividade de saída para a sua instância do Cloud SQL
Pode configurar a sua instância do Cloud SQL com o Private Service Connect ativado para ter conetividade de saída com a sua rede através de uma interface do Private Service Connect e uma associação da rede. Para mais informações sobre como funciona a conetividade de saída do Private Service Connect e as respetivas limitações, consulte a vista geral da conetividade de saída do Private Service Connect.
Para usar a conetividade de saída com a sua instância do Cloud SQL, tem de:
Crie ou atualize um anexo de rede. Esta associação da rede é usada pela instância do Cloud SQL para estabelecer ligação à interface do Private Service Connect da sua rede.
A associação de rede tem de estar na mesma região que a instância do Cloud SQL e estar configurada para aceitar ligações de forma automática ou manual através de uma lista de interfaces do Private Service Connect.
Identifique a rede a partir da qual quer receber ligações de saída do Cloud SQL e certifique-se de que tem uma interface do Private Service Connect.
Ative as ligações de saída à instância do Cloud SQL através da associação de rede.
Também pode desativar a conetividade de saída em qualquer altura quando já não precisar de ligações de saída para a sua instância.
Para mais informações sobre a conetividade de saída do Private Service Connect, consulte o artigo Ligações de saída do Private Service Connect.
Ative as ligações de saída para a sua instância do Cloud SQL
Para ativar a conetividade de saída para a sua instância do Cloud SQL, tem de, primeiro, criar ou atualizar uma associação de rede no seu Google Cloud projeto.
gcloud
Para ativar a conetividade de saída, execute o seguinte comando:
gcloud beta sql instances patch INSTANCE_NAME
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI
--project=PROJECT_ID
Substitua o seguinte:
- INSTANCE_NAME: o nome da instância do Cloud SQL ativada para o Private Service Connect que quer configurar para a conetividade de saída.
- NETWORK_ATTACHMENT_URI: o URI do anexo de rede no seu projeto que quer usar para se ligar à interface do Private Service Connect da sua rede. Google Cloud
- PROJECT_ID: o ID do projeto do Google Cloud projeto que está a usar.
Pode confirmar que a conetividade de saída do Private Service Connect foi ativada com êxito executando gcloud sql instances describe
.
Se vir psc-network-attachment-uri
na saída, significa que a conetividade de saída do Private Service Connect foi ativada com êxito.
REST v1
Para ativar a conetividade de saída, execute o seguinte comando:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu projeto.NETWORK_ATTACHMENT_URI
: o URI do anexo de rede no seu projeto.INSTANCE_ID
: o nome da sua instância do Cloud SQL.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "ipConfiguration": { "pscConfig: { "networkAttachmentUri": "NETWORK_ATTACHMENT_URI" "kind": "sql#settings" } }, } }
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/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": USER, "insertTime": "2025-05-13T20:44:23.064Z", "operationType": "UPDATE", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID"," }
REST v1beta4
Para ativar a conetividade de saída, execute o seguinte comando:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu projeto.NETWORK_ATTACHMENT_URI
: o URI do anexo de rede no seu projeto.INSTANCE_ID
: o nome da sua instância do Cloud SQL.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "ipConfiguration": { "pscConfig: { "networkAttachmentUri": "NETWORK_ATTACHMENT_URI" } }, } }
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/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": USER, "insertTime": "2025-05-13T20:44:23.064Z", "operationType": "UPDATE", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID"," }
Para informações de resolução de problemas relacionadas com a conetividade de saída do Private Service Connect, consulte a resolução de problemas do Private Service Connect.
Desative as ligações de saída para a sua instância do Cloud SQL
gcloud
Para desativar a conetividade de saída, execute o seguinte comando:
gcloud beta sql instances patch INSTANCE_NAME
--clear-psc-network-attachment-uri
--project=PROJECT_ID
Substitua o seguinte:
- INSTANCE_NAME: o nome da instância do Cloud SQL ativada para o Private Service Connect que quer configurar para a conetividade de saída.
- PROJECT_ID: o ID do projeto do Google Cloud projeto que está a usar.
REST v1
Para desativar a conetividade de saída, execute o seguinte comando:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu projeto.NETWORK_ATTACHMENT_URI
: o URI do anexo de rede no seu projeto. Para desativar, defina comonull
.INSTANCE_ID
: o nome da sua instância do Cloud SQL.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "ipConfiguration": { "pscConfig: { "networkAttachmentUri": null, "kind": "sql#settings" } }, } }
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/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": USER, "insertTime": "2025-05-13T20:44:23.064Z", "operationType": "UPDATE", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID"," }
REST v1beta4
Para desativar a conetividade de saída, execute o seguinte comando:
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
PROJECT_ID
: o ID do seu projeto.NETWORK_ATTACHMENT_URI
: o URI do anexo de rede no seu projeto. Para desativar, defina comonull
.INSTANCE_ID
: o nome da sua instância do Cloud SQL.
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Corpo JSON do pedido:
{ "settings": { "ipConfiguration": { "pscConfig: { "networkAttachmentUri": null, "kind": "sql#settings" } }, } }
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/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": USER, "insertTime": "2025-05-13T20:44:23.064Z", "operationType": "UPDATE", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID"," }
Teste a conetividade
Para testar a conetividade de entrada a uma instância do Cloud SQL com o Private Service Connect ativado, defina o endereço IP do ponto final do Private Service Connect como o endereço IP de destino.
gcloud
Para criar um teste de conetividade para uma instância do Cloud SQL com o Private Service Connect ativado, use o comando gcloud network-management connectivity-tests create
:
gcloud network-management connectivity-tests create CONNECTIVITY_TEST_NAME \ --source-instance=SOURCE_INSTANCE \ --destination-cloud-sql-instance=DESTINATION_CLOUD_SQL_INSTANCE \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=tcp
Faça as seguintes substituições:
- CONNECTIVITY_TEST_NAME: o nome do teste de conetividade.
- SOURCE_INSTANCE: o URI da instância do Compute Engine onde o endereço IP de origem está localizado (por exemplo,
projects/myproject/zones/myzone/instances/myinstance
). - DESTINATION_CLOUD_SQL_INSTANCE: o URL da instância do Cloud SQL (por exemplo,
projects/myproject/instances/myinstance
). - DESTINATION_NETWORK: o URI da rede VPC onde o endereço IP de destino está localizado (por exemplo,
projects/myproject/global/networks/mynetwork
). - DESTINATION_PORT: o número da porta reservado para a instância. Para instâncias do Cloud SQL para SQL Server, o número da porta é
1433
.
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.
- CONNECTIVITY_TEST_NAME: o nome do teste de conetividade.
- SOURCE_IP_ADDRESS: o endereço IP da instância de origem do Compute Engine.
- SOURCE_INSTANCE: o URI da instância do Compute Engine onde o endereço IP de origem está localizado (por exemplo,
projects/myproject/zones/myzone/instances/myinstance
). - SOURCE_NETWORK: o URI da rede VPC onde o endereço IP de origem está localizado (por exemplo,
projects/myproject/global/networks/mynetwork
). - DESTINATION_IP_ADDRESS: o endereço IP da instância do Cloud SQL de destino.
- DESTINATION_PORT: o número da porta reservado para a instância. Para instâncias do Cloud SQL para SQL Server, o número da porta é
1433
. - DESTINATION_NETWORK: o URI da rede VPC onde o endereço IP de destino está localizado (por exemplo,
projects/myproject/global/networks/mynetwork
).
Método HTTP e URL:
POST https://networkmanagement.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/connectivityTests?testId=CONNECTIVITY_TEST_NAME
Corpo JSON do pedido:
{ "source": { "ipAddress": "SOURCE_IP_ADDRESS", "instance": "SOURCE_INSTANCE", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": DESTINATION_PORT, "network": "DESTINATION_NETWORK", "projectId": "PROJECT_ID" }, "protocol": "TCP" }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "name": "projects/PROJECT_ID/locations/global/operations/operation-OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata", "createTime": "2024-05-23T16:43:49.313981473Z", "target": "projects/PROJECT_ID/locations/global/connectivityTests/CONNECTIVITY_TEST_NAME", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
Limitações
- Pode configurar até 20 pontos finais do Private Service Connect que se ligam à associação do serviço de uma instância do Cloud SQL com o Private Service Connect ativado.
- Pode ter até 64 512 ligações simultâneas com o Private Service Connect a uma instância do Cloud SQL.
- As seguintes sinalizações são invalidadas ou afetadas:
--no-assign-ip:
use esta flag porque as instâncias com o Private Service Connect ativado não são suportadas para usar outros tipos de conetividade, como ligações de IP externo--authorized-networks:
não pode usar esta flag para adicionar redes autorizadas--network:
não pode usar esta flag porque está associada ao acesso a serviços privados--allocated-ip-range-name:
não pode usar esta flag porque os nomes de intervalos de IP permitidos não são suportados
- Não pode configurar uma instância com o Private Service Connect ativado para usar o acesso a serviços privados ou ligações IP externas.
- Não pode ativar ligações de IP externo numa instância com o Private Service Connect ativado.
- Não pode ativar o acesso a serviços privados nem adicionar redes autorizadas à instância.
- Não pode alterar o tipo de conetividade da instância.
- Não pode usar o comando
gcloud sql connect
, o Cloud Shell, o Cloud Build, o serviço de migração de bases de dados nem o Datastream para se ligar a instâncias do Cloud SQL com o Private Service Connect ativado. - Quando testa a conetividade a uma instância do Cloud SQL com o Private Service Connect ativado, não pode definir os seguintes itens:
- O endereço IP interno ou o nome DNS da instância como destino diretamente
- A instância como origem
- O endereço IP do ponto final do Private Service Connect como origem
- A lista de autorizações baseada em IP através da utilização de redes autorizadas não é suportada.
- Para instâncias do Cloud SQL com o Private Service Connect ativado, o serviço gerido para o Microsoft Active Directory (também denominado Microsoft AD gerido) não é suportado.
Resolver problemas
Esta secção contém informações sobre problemas associados a instâncias do Cloud SQL com o Private Service Connect ativado, juntamente com passos para resolver os problemas.
Problema Resolução de problemas A associação do serviço da instância não aceita o ponto final do Private Service Connect. - Verifique o estado do ponto final.
gcloud
Para verificar o estado, use o comando
gcloud compute forwarding-rules describe
.gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ | grep pscConnectionStatus
Faça as seguintes substituições:
- ENDPOINT_NAME: o nome do ponto final
- PROJECT_ID: o ID ou o número do projeto do projeto Google Cloud que contém o ponto final
- REGION_NAME: o nome da região do ponto final
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 projeto Google Cloud que contém o ponto final do Private Service Connect
- REGION_NAME: o nome da região
- ENDPOINT_NAME: o nome do ponto final
Método HTTP e URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{ "kind": "compute#forwardingRule", "id": "ENDPOINT_ID", "creationTimestamp": "2024-05-09T12:03:21.383-07:00", "name": "ENDPOINT_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "CONNECTION_ID", "pscConnectionStatus": "ACCEPTED", "allowPscGlobalAccess": true }
- Verifique se o estado do ponto final é
ACCEPTED
. Se o estado forPENDING
, a instância não está a permitir o projeto Google Cloud que contém o ponto final. Certifique-se de que o projeto de rede no qual o ponto final é criado é permitido. Para mais informações, consulte o artigo Edite uma instância com o Private Service Connect ativado.
ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource: The resource 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME' was not found
Esta mensagem de erro pode ocorrer quando reserva um endereço IP interno estático para o ponto final do Private Service Connect. Certifique-se de que a sub-rede especificada existe no projeto especificado pelo URI. Se quiser criar um ponto final num projeto de serviço, mas usar uma sub-rede de uma rede de VPC partilhada, tem de especificar a sub-rede pelo respetivo URI e usar o ID do projeto do projeto anfitrião no URI. Para mais informações, consulte o artigo Crie o ponto final manualmente. ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource: - The resource 'projects/PROJECT_ID/global/networks/NETWORK_NAME' was not found
Esta mensagem de erro pode ocorrer quando cria um ponto final do Private Service Connect manualmente. Certifique-se de que a rede especificada existe no projeto especificado pelo URI. Se quiser criar um ponto final num projeto de serviço, mas usar uma rede de VPC partilhada, tem de especificar a rede pelo respetivo URI e usar o ID do projeto do projeto anfitrião no URI. Para mais informações, consulte o artigo Crie o ponto final manualmente. Invalid consumer network status for PSC auto connection
.A rede de consumo não está configurada corretamente ou não está configurada de todo e, por isso, não está disponível nenhum ponto final para estabelecer ligação. Para se ligar ao ponto final, tem de verificar o estado do ponto final e corrigir o erro antes de tentar estabelecer ligação novamente.
Para verificar o estado de um ponto final, consulte Obtenha o ponto final. O estado do ponto final pode ser um dos seguintes:CONNECTION_POLICY_MISSING
: não existe uma política de ligação de serviço correspondente na rede do consumidor. As políticas de ligação de serviços são configuradas por rede e por região. Para reconfigurar a rede, consulte o artigo Atualize uma política de ligação de serviço.CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED
: existe uma política de ligação de serviço correspondente, mas a instância de serviço não está configurada para permitir a ligação a esta instância. Para reconfigurar a política de ligação de serviços, consulte o artigo Atualize uma política de ligação de serviços.POLICY_LIMIT_REACHED
: a política de ligação de serviço atingiu o respetivo limite de pontos finais. Para resolver o problema, tem de aumentar o limite de pontos finais atualizando a política de ligação ao serviço.
No permission to create a service connection policy
.Não tem as autorizações necessárias para criar uma política de ligação de serviço. Para criar uma política de ligação de serviço, precisa da função
Compute Network Admin IAM
. Para mais informações, consulte o artigo Funções e autorizações.A associação da rede não consegue aceitar ligações da interface do Private Service Connect quando usa a conetividade de saída do Private Service Connect. Se a sua rede externa não conseguir aceitar ligações da interface do Private Service Connect, as políticas de ligação na associação da rede podem não estar configuradas corretamente.
Os anexos de rede têm de ser configurados para aceitar todas as ligações automaticamente ou configurados manualmente com uma lista de ligações aceites. Para mais informações, consulte as políticas de ligação.Use o seguinte comando para validar as associações aceites no anexo de rede:
Se a interface do Private Service Connect não estiver na lista aceite, atualize a associação da rede. Para mais informações, consulte o artigo Faça a gestão dos anexos de rede.gcloud compute network-attachments describe default --region=REGION_ID
O que se segue?
- Saiba mais acerca do IP privado.
- Saiba mais sobre o Private Service Connect.
- Saiba mais sobre como criar uma réplica de leitura de uma instância com o Private Service Connect ativado.
- Saiba mais acerca da clonagem de uma instância com o Private Service Connect ativado.
- Saiba como ver informações de resumo sobre instâncias com o Private Service Connect ativado.
- Saiba mais sobre como configurar e remover a elevada disponibilidade para uma instância com o Private Service Connect ativado.
- Saiba mais sobre como editar e eliminar uma instância com o Private Service Connect ativado.