1. Introdução
Última atualização:04/05/2020
Pensando na conexão
Existem muitos tipos de aplicativos e frameworks. Neste codelab, vamos abordar a conexão com o Cloud SQL de qualquer lugar. Para ativar a conexão, autorize explicitamente os IPs permitidos. Essa é provavelmente a opção menos segura para se conectar a um banco de dados do Cloud SQL, mas também é a mais fácil de configurar e começar a usar.
Às vezes, isso é necessário em produção, mas, se puder evitar, opte por uma alternativa mais segura, como usar o Cloud SQL Proxy. Essa configuração é mais adequada para desenvolvimento e testes.
O que você vai criar
Este codelab é muito minimalista. A ideia é mostrar os detalhes da conexão sem pensar muito no aplicativo em si. Em um mundo perfeito, a conexão com o Cloud SQL é como a conexão com qualquer outra instância de um banco de dados SQL. Portanto, você pode usar o que criar neste codelab e aplicar a qualquer aplicativo de produção.
As instruções incluem um tutorial sobre como fazer as coisas no console do GCP, além dos equivalentes de comando da gcloud para uso na CLI ou automação.
As etapas individuais são:
- Crie uma instância do Cloud SQL. Este tutorial usa o Postgres, mas funciona de maneira semelhante para o MySQL ou o SQL Server. Autorize IPs específicos a se conectarem a ela.
O que é necessário
- Uma conta do GCP em que você tenha permissões para ativar APIs e criar serviços
- O cliente do Postgres instalado para verificar a conectividade (ou o cliente do MySQL se você quiser usar o MySQL em vez do Postgres)
2. Como criar a instância do Cloud SQL
O Cloud SQL é nossa oferta de bancos de dados relacionais gerenciados. Ele é compatível com MySQL, PostgreSQL e SQL Server. Neste codelab, vamos criar um banco de dados do Postgres, mas as instruções são semelhantes para todos os três.
No console
Acesse a página Cloud SQL e clique no botão
.
Como mencionei, a maior parte deste codelab é genérica para qualquer tipo de SQL, mas, para este codelab, escolha o PostgreSQL.
- Dê um ID à instância
- Escolha uma região próxima de onde você está
- Digite uma senha para o usuário padrão.O nome de usuário será o padrão do banco de dados selecionado, por exemplo,
rootpara MySQL oupostgrespara PostgreSQL. - Role a tela para baixo e clique no ícone
show configuration options - Abra a seção
Connectivity - Confirme se
Public IPestá marcado e sePrivate IPestá desmarcado. - Clique no botão
. - Receba o endereço IP de onde você está se conectando. A maneira mais fácil é fazer uma pesquisa no Google por "Qual é meu IP". Os resultados da pesquisa vão mostrar seu IP público.
- Insira a especificação de IP no campo de rede, dê um nome a ela se quiser e clique em "Concluído" na caixa
New Network. - Role a tela para baixo e clique em "Criar".
A inicialização da instância geralmente leva alguns minutos.
Depois que a instância for criada, clique nela na lista e, na página de visão geral, em Connect to this instance, copie o public IP address listado. Ela não vai aparecer até que a instância seja totalmente criada, mesmo que você possa clicar nos detalhes antes que ela seja totalmente instanciada.
Como usar a gcloud
Primeiro, você precisa pegar o endereço IP que quer autorizar a se conectar à instância do Cloud SQL. A maneira mais fácil de fazer isso é abrir um navegador e pesquisar "Qual é meu IP". Os resultados da pesquisa mostram seu endereço IP público. Se você não puder abrir um navegador de onde está fazendo isso, use um utilitário como dig.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Você precisa especificar uma região para a instância do Cloud SQL mais próxima de você. Para ver a lista de regiões, execute:
gcloud sql tiers list
Cada nível está disponível apenas em determinadas regiões. Para a parte do tutorial sobre o gcloud, vamos criar apenas uma microinstância. Para encontrar as regiões disponíveis para esse nível, execute especificamente (desde que você tenha o grep instalado):
gcloud sql tiers list | grep db-f1-micro
O comando para criar a instância tem esta aparência (não se esqueça de substituir <AUTHORIZED_IP > pelo IP que você recebeu do navegador ou do Dig, <REGION > por uma região próxima a você e uma senha para o usuário raiz"postgres"):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
Esse processo leva alguns minutos para ser concluído.
Quando o processo for concluído, a saída na CLI vai mostrar o PRIMARY_ADDRESS da instância. Copie para a próxima etapa.
3. Testar a conexão e concluir
Para verificar se a instância foi configurada corretamente, execute na linha de comando da máquina cujo endereço IP você inseriu:
psql "host=<IP copied from previous step> port=5432 sslmode=disable user=postgres"
Em seguida, especifique a senha do usuário padrão que você configurou ao criar a instância do Cloud SQL.
Parabéns! Se tudo deu certo, você vai ter o prompt do Postgres e poderá executar comandos no seu banco de dados.
Qual é a próxima etapa?
Confira alguns destes codelabs: