Estabeleça ligação ao Cloud SQL para MySQL a partir do Cloud Run
Saiba como implementar uma app de exemplo no Cloud Run ligado a uma instância do MySQL através da Trusted 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
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted 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 Trusted 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 Trusted 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 Trusted 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 Criar uma base de dados, introduza
quickstart-db
. Deixe os valores para o conjunto de carateres e a ordenação. - 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
Crie um utilizador
Consola
-
Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Utilizadores no menu de navegação do SQL.
- Clique em Adicionar conta de utilizador.
- Na página Adicione uma conta de utilizador à instância instance_name,
adicione as seguintes informações:
- Nome de utilizador: definido como
quickstart-user
- Palavra-passe: especifique uma palavra-passe para o utilizador da base de dados. Anote esta informação para usar num passo posterior deste início rápido.
- Na secção Nome do anfitrião, a predefinição é Permitir qualquer anfitrião,
o que significa que o utilizador pode estabelecer ligação a partir de qualquer endereço IP.
Opcionalmente, selecione Restringir anfitrião por endereço IP ou intervalo de endereços e introduza um endereço IP ou um intervalo de endereços na secção Anfitrião. O utilizador só pode estabelecer ligação a partir do endereço IP ou dos endereços especificados.
- Nome de utilizador: definido como
- Clique em Adicionar.
gcloud
Antes de executar o seguinte comando, faça as seguintes substituições:
- PASSWORD com uma palavra-passe para o utilizador da base de dados. Anote esta informação para usar num passo posterior deste início rápido.
Execute o comando gcloud sql users create
para criar o utilizador.
gcloud sql users create quickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
Os limites de comprimento dos nomes de utilizador são os mesmos para o Cloud SQL e para o MySQL no local: 32 carateres para o MySQL 8.0 e posterior, e 16 carateres para as versões anteriores.
Implemente a app de exemplo no Cloud Run
Configure uma conta de serviço do Cloud Run
Consola
-
Na Trusted 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 os valores das variáveis de ambiente
INSTANCE_CONNECTION_NAME
eDB_IAM_HOST
.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 Trusted Cloud conta pelos recursos usados nesta página, siga estes passos.
-
Na Trusted 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 Trusted 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 Trusted 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 Trusted 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 MySQL 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 MySQL.
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: