Conectar-se a uma instância do Cloud SQL para MySQL com IP particular

Nesta página, mostramos como criar e se conectar a uma instância do MySQL usando um IP privado. Os recursos criados neste guia de início rápido normalmente custam menos do que um dólar, supondo que você conclua as etapas, incluindo a limpeza, em tempo hábil.


Para seguir as instruções detalhadas desta tarefa diretamente no Google Cloud console, clique em Orientações:

Orientações


Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Verifique se você tem as permissões necessárias para concluir este guia de início rápido.
  7. Ative as APIs necessárias Google Cloud .

    Console

    No Google Cloud console do, acesse a página APIs.

    Acesse APIs

    Ative a API Cloud SQL Admin. Ao ativar essa API, é possível executar o proxy do Cloud SQL Auth.

    gcloud

    Clique no botão a seguir para abrir o Cloud Shell, que fornece acesso de linha de comando aos seus Google Cloud recursos diretamente no navegador. O Cloud Shell pode ser usado para executar os comandos gcloud apresentados neste guia de início rápido.

    Abra o Cloud Shell

    Execute o comando gcloud services enable da seguinte maneira usando o Cloud Shell para ativar as APIs necessárias para este guia de início rápido:

    gcloud services enable sqladmin.googleapis.com

    Esse comando ativa as seguintes APIs:

    • API Cloud SQL Admin. Ao ativar essa API, é possível executar o proxy do Cloud SQL Auth.

Funções exigidas

Para receber as permissões necessárias para configurar o Cloud SQL com um endereço IP particular, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto que você quer configurar e se conectar:

  • Criar ou excluir uma instância, um banco de dados e um usuário: função de administrador do Cloud SQL (roles/cloudsql.admin).
  • Criar ou excluir uma conta de serviço do IAM: função de administrador da conta de serviço do IAM (roles/iam.serviceAccountAdmin).
  • Criar ou excluir uma instância de computação:
  • Criar uma conexão:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Visão geral

Há muitas maneiras de se conectar a uma instância do Cloud SQL com um endereço IP particular, dependendo de onde a origem está localizada. O principal fator é que a máquina de origem precisa estar na mesma rede VPC que a instância do Cloud SQL. Se a origem não estiver no Google Cloud ou não estiver no mesmo Google Cloud projeto, será necessário configurar a conectividade de maneira diferente da mostrada aqui.

Neste guia de início rápido, configuramos a conectividade pelo caminho mais direto. A origem e o destino estão no mesmo Google Cloud projeto e na mesma rede VPC. Criamos uma instância do Cloud SQL com um endereço IP particular (o destino) e uma VM do Compute Engine (a origem). Usamos a VM para instalar e usar as ferramentas necessárias para se conectar da VM à instância do Cloud SQL.

Execute estas ações:

  1. Crie um banco de dados do Cloud SQL com um endereço IP particular.

    Encontre e salve o connection name da instância para uso posterior.

  2. Crie uma VM do Compute Engine.
  3. Abra duas conexões SSH com a VM do Compute Engine.

    Você usará a primeira janela para instalar o mysql e instalar e iniciar o proxy do Cloud SQL Auth. Depois, use a segunda janela para se conectar à instância do Cloud SQL conectando-se ao proxy do Cloud SQL Auth.

  4. Na janela SSH 1, faça o seguinte:
    1. Instale o cliente MySQL.
    2. Instalar o proxy do Cloud SQL Auth.

      O proxy do Cloud SQL Auth atua como um conector entre o cliente mysql e a instância do Cloud SQL.

    3. Inicie o proxy do Cloud SQL Auth.

      Se tudo der certo, o proxy do Cloud SQL Auth detectará solicitações de conexão.

  5. Na janela SSH 2, conecte-se à instância do Cloud SQL fazendo com que o cliente mysql se conecte ao proxy do Cloud SQL Auth.

    Se tudo der certo, você verá o prompt mysql nessa janela e uma mensagem de conexão na janela SSH 1, em que o proxy do Cloud SQL Auth estará em execução.

  6. Limpeza.

Criar uma instância do Cloud SQL com um endereço IP particular.

Para criar uma instância que usa conexões de IP particular, faça o seguinte:

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Selecione a guia MySQL e clique em Criar instância de sandbox na caixa de areia. Como alternativa, clique em Criar instância e faça o seguinte:
    1. Clique em Escolher MySQL.
    2. Selecione a edição Enterprise.
    3. Escolha a predefinição Sandbox.
  3. Se você receber uma solicitação para ativar a API Compute, clique no botão Ativar API.
  4. Na seção Informações da instância, insira um nome para o ID da instância.
  5. Digite a senha do usuário raiz. Anote a senha criada porque você precisará dela mais tarde.
  6. Na seção Escolher região e disponibilidade por zona, selecione a Zona única opção.
  7. Expanda Mostrar opções de configuração.
  8. Expanda Conexões.
  9. Desmarque IP público.
  10. Selecione IP privado.
  11. Selecione Acesso a serviços particulares (PSA).
  12. No menu suspenso Rede VPC, selecione padrão.
  13. Se você estiver usando um novo projeto, a mensagem A conexão de rede não está configurada será exibida, e uma caixa intitulada Confirmação de configuração de rede necessária vai direcionar você à documentação da VPC para configurar o PSA.
    1. No Google Cloud console, acesse a página Redes VPC:

      Acessar redes VPC

    2. Selecione a rede VPC padrão.
    3. Defina uma regra de firewall que permita o acesso à porta TCP 22:
      1. Selecione a guia Firewall.
      2. Em Regras de firewall da VPC, selecione Criar regra de firewall da VPC.
      3. Dê um nome à regra de firewall.
      4. Em Destinos, selecione Todas as instâncias na rede.
      5. Em Intervalos IPv4 de origem, insira 0.0.0.0/0.
      6. Em Protocolos e portas, marque TCP e, na caixa Portas diretamente abaixo, insira 22.
      7. Selecione Criar.
    4. Alocar um intervalo de endereços IP:
      1. Selecione a guia Acesso a serviços particulares.
      2. Na guia Acesso a serviços particulares, selecione a guia Intervalos de IP alocados para serviços.
      3. Clique em Alocar intervalo de IP.
      4. Insira um Nome e, opcionalmente, uma Descrição para o intervalo alocado.
      5. Para permitir que o Google selecione um intervalo disponível, selecione Automático.
      6. Insira um tamanho de prefixo entre 16 e 124 (o número de endereços alocados é igual a 2 para o (32 - tamanho do prefixo).
      7. Clique em Alocar para criar o intervalo alocado.
    5. Criar conexão particular:
      1. Na guia Acesso a serviços particulares, mude para a guia Conexões particulares com serviços.
      2. Clique no botão Criar conexão.
      3. No menu suspenso Alocação atribuída na caixa Criar uma conexão particular, selecione o nome do intervalo de endereços IP que você acabou de criar.
      4. Clique em Conectar.
    6. Quando a conexão for criada, volte para onde você estava criando a instância do Cloud SQL e clique em Confirmar conexão.
  14. Quando a conexão do PSA for criada, clique em Criar instância.

Você será levado para a página de visão geral da instância enquanto a nova instância é criada.

Depois que a criação da instância for concluída, role até a seção Conectar-se a esta instância e salve o Nome da conexão da instância. O connection name está no formato projectID:region:instanceID. Você usará esse connection name mais tarde ao iniciar o proxy do Cloud SQL Auth.

Criar uma VM do Compute Engine

Siga estas etapas para criar uma VM:

  1. No Google Cloud console do, acesse a página Instâncias de VM.

    Acessar Instâncias de VM

  2. Clique em Criar instância.
  3. Digite um Nome para a instância.
  4. Selecione Proteção de dados no painel de navegação e selecione Nenhum backup.
  5. Selecione Segurança no painel de navegação e, em Escopos de acesso, selecione Permitir acesso completo a todas as APIs do Cloud.
  6. Clique em Criar e aguarde a conclusão da criação da VM.

Abra duas conexões SSH com a VM do Compute Engine

Duas janelas são usadas na VM. A primeira janela é usada para instalar o cliente mysql e o proxy do Cloud SQL Auth, conseguir o nome da conexão da instância e usar esse nome para iniciar o proxy. A segunda janela é usada para se conectar à instância do Cloud SQL pelo proxy.

  1. Expanda o menu SSH na coluna Conectar da instância de VM do Compute Engine.
  2. Selecione Abrir na janela do navegador para abrir a janela SSH 1.

    Pode levar alguns segundos para que o prompt na janela fique disponível para você.

  3. Quando solicitado, insira pwd para verificar se você está no diretório /home/$USER.

    Além de instalar o cliente mysql e o proxy do Cloud SQL Auth nesta janela, você iniciará o proxy do Cloud SQL Auth.

  4. Selecione Abrir na janela do navegador novamente para abrir a janela SSH 2.

    Você usará essa janela para se conectar à sua instância do Cloud SQL.

Instalar o cliente MySQL

Use a janela SSH 1 nesta etapa.

Instale o cliente MySQL pelo gerenciador de pacotes e interrompa o servidor mysqld:

sudo apt-get update
sudo apt-get install default-mysql-client
  

Instalar o proxy do Cloud SQL Auth

Use a janela SSH 1 nesta etapa.

  1. Instale wget:
    sudo apt-get install wget
        
  2. Faça o download do proxy do Cloud SQL Auth:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Torne o proxy do Cloud SQL Auth executável:
    chmod +x cloud-sql-proxy
      

Inicie o proxy do Cloud SQL Auth.

Use a janela SSH 1 nesta etapa.

Inicie o proxy do Cloud SQL Auth para poder monitorar a saída. Substitua INSTANCE_CONNECTION_NAME pelo connection name copiado ao criar a instância do Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Quando o proxy do Cloud SQL Auth for iniciado, uma mensagem semelhante à seguinte será exibida na janela SSH:

Listening on 127.0.0.1:3306 for myInstance
Ready for new connections

Conectar-se à sua instância do Cloud SQL

Use a janela SSH 2 nesta etapa.

Execute este comando:

mysql -u root -p --host 127.0.0.1 --port 3306

No prompt Enter password:, insira a senha da sua conta de usuário raiz do MySQL.

Verifique se o prompt do MySQL é exibido. Você se conectou ao banco de dados usando o cliente mysql.

Volte para a janela do terminal em que você iniciou o proxy do Cloud SQL Auth. Você verá uma mensagem semelhante a esta:

New connection for myInstance

Liberar espaço

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Selecione a instância do myinstance para abrir a página Detalhes da instância.
  3. Na barra de ícones na parte superior da página, clique em Excluir.
  4. Na janela Excluir instância, digite o nome da instância e clique em Excluir.

Etapas de limpeza opcionais

Se você não estiver usando as APIs que foram ativadas como parte deste guia de início rápido, é possível desativá-las.

  • APIs que foram ativadas neste guia de início rápido:
    • API Cloud SQL Admin
  1. No Google Cloud console, acesse a página APIs.

    Acesse APIs

  2. Selecione a API Cloud SQL Admin e clique no botão Desativar API.

  3. No Google Cloud console do, acesse a página Instâncias de VM.

    Acessar Instâncias de VM

  4. Selecione o nome da instância.

  5. Selecione Excluir no menu Mais ações.

A seguir

Com base nas suas necessidades, é possível saber mais sobre como criar instâncias do Cloud SQL.

Também é possível aprender a criar usuários do MySQL e bancos de dados para sua instância do Cloud SQL.

Além disso, é possível aprender a se conectar a uma instância do Cloud SQL usando outros aplicativos, como: outros Google Cloud