Estabeleça ligação ao Cloud SQL para SQL Server a partir do Cloud Run
Saiba como implementar uma app de exemplo no Cloud Run ligada a uma instância do SQL Server através da Google Cloud consola e de uma aplicação cliente.
Partindo do princípio de que conclui todos os passos atempadamente, os recursos criados neste início rápido custam normalmente menos de um dólar (USD).
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Ative as APIs Cloud necessárias para executar uma app de exemplo do Cloud SQL no Cloud Run.
Consola
Clique em Ativar APIs para ativar as APIs necessárias para este início rápido.
Isto ativa as seguintes APIs:
- API Compute Engine
- API Cloud SQL Admin
- API Cloud Run
- API Container Registry
- API Cloud Build
- API de rede de serviços
gcloud
Clique no botão seguinte para abrir o Cloud Shell, que oferece acesso à linha de comandos aos seus Google Cloud recursos diretamente a partir do navegador. Pode usar o Cloud Shell para executar os comandos
gcloud
apresentados ao longo deste início rápido.Execute o seguinte comando
gcloud
através da Cloud Shell:gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \ containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
Este comando ativa as seguintes APIs:
- API Compute Engine
- API Cloud SQL Admin
- API Cloud Run
- API Container Registry
- API Cloud Build
- API de rede de serviços
Configure o Cloud SQL
Crie uma instância do Cloud SQL
Crie uma base de dados
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Selecione
quickstart-instance
. - No menu de navegação SQL, selecione Bases de dados.
- Clique em Criar base de dados.
- No campo Nome da base de dados da caixa de diálogo Nova base de dados, introduza
quickstart-db
. - Clique em Criar.
gcloud
Execute o comando gcloud
sql databases create
para criar uma base de dados.
gcloud sql databases create quickstart-db --instance=quickstart-instance
Implemente a app de exemplo no Cloud Run
Configure uma conta de serviço do Cloud Run
Consola
-
Na Google Cloud consola, aceda à página IAM.
- Selecione o separador Ver por diretores.
- Use o campo Filtro para pesquisar a conta de serviço denominada Conta de serviço predefinida do Compute Engine.
- Clique no ícone de lápis junto à conta de serviço predefinida do Compute Engine.
- Na página Atribuir funções, clique em Adicionar funções.
- Encontre e selecione a função denominada Cliente do Cloud SQL (
roles/cloudsql.client
). - Encontre e selecione a função denominada Visualizador de objetos do Storage (
roles/storage.ObjectViewer
). - Clique em Aplicar.
- Clique em Guardar.
gcloud
-
Execute o comando
gcloud
seguinte para obter uma lista das contas de serviço do seu projeto:gcloud iam service-accounts list
- Copie o EMAIL da conta de serviço predefinida do Compute Engine.
- Execute o seguinte comando para adicionar a função Cliente do Cloud SQL
à conta de serviço predefinida do Compute Engine:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/cloudsql.client"
- Execute o seguinte comando para adicionar a função Storage Object Viewer
à conta de serviço predefinida do Compute Engine:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/storage.ObjectViewer"
Configure uma app de exemplo do Cloud SQL
Com uma instância, uma base de dados e uma conta de serviço do Cloud SQL com autorizações de cliente, já pode configurar uma aplicação de exemplo para estabelecer ligação à sua instância do Cloud SQL.
Implemente a app de exemplo
Os passos para implementar o exemplo no Cloud Run dependem do tipo de endereço IP que atribuiu à sua instância do Cloud SQL.
O método de associação de imagens varia consoante as variáveis de ambiente definidas.
- Para estabelecer ligação através de TCP, defina o valor da variável de ambiente
INSTANCE_HOST
. Este método de ligação respeita os certificados e as portas configurados como variáveis de ambiente. - Para estabelecer ligação através de sockets Unix, defina o valor da variável de ambiente
INSTANCE_UNIX_SOCKET
.Não defina o valor da variável de ambiente
INSTANCE_HOST
.Os sockets Unix não são suportados nativamente em Java. Se a sua aplicação for escrita em Java, tem de usar o conetor Java do Cloud SQL.
- Para estabelecer ligação através de um dos conetores de linguagem do Cloud SQL,
defina o valor da variável de ambiente
INSTANCE_CONNECTION_NAME
.Não defina os valores das seguintes variáveis de ambiente:
INSTANCE_HOST
INSTANCE_UNIX_SOCKET
DB_PORT
DB_ROOT_CERT
DB_CERT
DB_KEY
3307
.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Selecione a instância
quickstart-instance
para abrir a página Detalhes da instância. - Na barra de ícones na parte superior da página, clique em Eliminar.
- Na caixa de diálogo Eliminar instância, escreva
quickstart-instance
e, de seguida, clique em Eliminar para eliminar a instância. -
Na Google Cloud consola, aceda à página Cloud Run.
- Selecione a caixa de verificação junto ao nome do serviço
quickstart-service
. - Clique em Eliminar na parte superior da página do Cloud Run.
Passos de limpeza opcionais
Se não estiver a usar a função de cliente do Cloud SQL que atribuiu à conta de serviço do Compute Engine, pode removê-la.
-
Na Google Cloud consola, aceda à página IAM.
- Clique no ícone de edição (que se assemelha a um lápis) para a conta de IAM denominada Conta de serviço predefinida do Compute Engine.
- Elimine a função cliente do Cloud SQL.
- Clique em Guardar.
Se não estiver a usar as APIs que foram ativadas como parte deste início rápido, pode desativá-las.
- APIs ativadas neste guia de início rápido:
- API Compute Engine
- API Cloud SQL Admin
- API Cloud Run
- API Container Registry
- API Cloud Build
Na Google Cloud consola, aceda à página APIs.
Selecione qualquer API que queira desativar e, de seguida, clique no botão Desativar API.
O que se segue?
Com base nas suas necessidades, pode saber mais sobre como criar instâncias do Cloud SQL.Também pode saber como criar utilizadores do SQL Server e bases de dados para a sua instância do Cloud SQL.
Para mais informações sobre os preços, consulte os preços do Cloud SQL para SQL Server.
Saiba mais sobre:
- Configurar a instância do Cloud SQL com um endereço IP público.
- Configurar a sua instância do Cloud SQL com um endereço IP privado.
Além disso, pode saber como estabelecer ligação a uma instância do Cloud SQL a partir de outras aplicações do Google Cloud: