Criar uma instância em uma rede particular e importar um banco de dados

A migração de uma carga de trabalho de outra plataforma para o Cloud SQL para PostgreSQL geralmente envolve o uso do console do Google Cloud para importar dados de um arquivo dump SQL que você exporta do ambiente anterior.

Neste tutorial, mostramos como criar os recursos do Google Cloud necessários e, em seguida, importar um banco de dados SQL para uma instância do Cloud SQL para PostgreSQL. O tutorial demonstra as práticas recomendadas ao migrar para o Cloud SQL para PostgreSQL, incluindo o uso de uma rede de nuvem privada virtual (VPC) com acesso a serviços particulares e a ativação de IP privado para a instância do Cloud SQL.

Ao seguir as etapas, mantenha os valores padrão das configurações, a menos que especificado de outra forma.

Objetivos

  1. Baixe um arquivo dump SQL de exemplo.
  2. Criar uma nova rede de nuvem privada virtual com acesso a serviços particulares.
  3. Criar um bucket do Cloud Storage e fazer upload de um arquivo dump SQL nele.
  4. Criar uma instância do Cloud SQL para PostgreSQL configurada para IP privado.
  5. Criar um usuário.
  6. Crie um banco de dados de destino.
  7. Importe do arquivo dump para um novo banco de dados.
  8. Verifique se o banco de dados foi importado corretamente visualizando a estrutura e executando uma consulta.

Custos

Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custo baseada na sua projeção de uso, use a calculadora de preços.

Novos usuários do Google Cloud podem estar qualificados para um teste sem custo financeiro.

Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Para mais informações, consulte Limpeza.

Antes de começar

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, 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 sem custos financeiros.
  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. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  5. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  6. 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

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

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

  9. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

Funções exigidas

Para conseguir as permissões necessárias para concluir o tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:

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 usando papéis personalizados ou outros papéis predefinidos.

Obter um arquivo dump de banco de dados de amostra

Neste tutorial, você usará um pequeno banco de dados de amostra que contém códigos de países e capitais mundiais.

Faça o download do arquivo SQL do banco de dados countries para seu ambiente local: countries-postgres.sql.

Criar uma rede com acesso privado a serviços

Antes de criar o restante dos recursos, crie uma rede VPC para executar os serviços. O acesso a serviços particulares permite restringir o acesso ao seu banco de dados do Cloud SQL estabelecendo uma conexão particular entre sua rede externa e o Cloud SQL para PostgreSQL usando endereços IPv4 internos.

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar a página "Redes VPC"

  2. Clique em Criar rede VPC.

  3. No campo do nome, digite tutorial-network.

  4. Em Modo de criação da sub-rede, selecione Personalizado.

  5. No campo do nome, digite tutorial-subnet.

  6. Selecione uma região perto de você.

  7. Em Intervalo IPv4, insira 10.0.0.0/24.

  8. Em Acesso Privado do Google, selecione Ativado.

  9. Clique em Concluído.

  10. Na parte de baixo da página, clique em Criar.

Depois que o processo de criação da rede VPC for concluído, será possível configurar o acesso a serviços particulares para a rede.

  1. Na tela "Redes VPC", clique em tutorial-network.
  2. Na barra de menus de tutorial-network, clique em Acesso a serviços particulares.
  3. Clique em Intervalos de IP alocados para serviços.
  4. Clique em Alocar intervalo de IP.
  5. Em Nome, insira tutorial-range.
  6. Em Intervalo de endereços IP, selecione Personalizado.
  7. No campo Intervalo, insira 192.168.0.0/20.
  8. Clique em Alocar.
  9. No submenu, clique em Conexões particulares com serviços.
  10. Clique em Criar conexão.
  11. No menu suspenso Alocação atribuída, selecione tutorial-range.
  12. Clique em Conectar. Em um ou dois minutos, o console do Google Cloud exibe uma mensagem informando que você criou uma conexão particular.

Criar um bucket do Cloud Storage

Em seguida, crie um bucket do Cloud Storage para armazenar o arquivo dump SQL que você baixou anteriormente. A ferramenta de importação do Cloud SQL espera que o arquivo dump esteja em um bucket. Um bucket do Cloud Storage precisa ter um nome que seja exclusivo globalmente.

  1. No console do Google Cloud , acesse a página Buckets do Cloud Storage.

    Acessar buckets

  2. Clique em Criar.
  3. Para o nome do bucket, crie um nome globalmente exclusivo composto por letras minúsculas, números e hifens. É possível usar um gerador de strings aleatórias, como random.org/strings, para gerar o nome. Anote o nome escolhido.
  4. Clique em Continuar.
  5. Em Tipo de local, selecione Região. Essa é a opção de menor custo.
  6. Escolha a mesma região que você escolheu para sua sub-rede. Localizar os recursos doGoogle Cloud na mesma região reduz a latência, melhora a velocidade, diminui os custos de transferência de dados e simplifica a rede.
  7. Clique em Continuar.
  8. Clique em Criar.
  9. Se uma caixa de diálogo aparecer, deixe a opção Aplicar a prevenção do acesso público neste bucket selecionada e clique em Confirmar.

A página Detalhes do bucket do novo bucket é aberta com o painel Objetos selecionado.

Fazer upload do arquivo dump para o bucket

Faça upload para o bucket do arquivo dump SQL de amostra que você baixou anteriormente.

  1. Na guia Objetos, clique em Fazer upload e em Fazer upload de arquivos.
  2. Navegue até o arquivo countries-postgres.sql e selecione-o.
  3. Clique em Abrir. O Cloud Storage faz upload do arquivo dump para o bucket.

Criar uma instância do Cloud SQL

Crie uma instância do Cloud SQL no console do Google Cloud usando as seguintes configurações. Para todas as outras configurações, mantenha o padrão. Embora não seja necessário ativar o IP particular para o processo de importação, usar o IP particular para uma carga de trabalho de produção é uma prática recomendada.

  1. Acesse a página "Instâncias do Cloud SQL" no console do Google Cloud .
    Acesse a página Instâncias do Cloud SQL
  2. Clique em Criar instância.
  3. Clique em Escolher PostgreSQL.
  4. Em Escolher uma edição do Cloud SQL, selecione Enterprise.
  5. Em Predefinição de edição, selecione Sandbox.
  6. Em ID da instância, insira tutorial-instance.
  7. Escolha e insira uma senha para a conta de usuário padrão e salve-a para uso futuro.
  8. Escolha a mesma região que você escolheu para sua sub-rede e bucket.
  9. Em Disponibilidade por zona, selecione Zona única.
  10. Expanda Mostrar opções de configuração.
  11. Expanda Conexões.
  12. Desmarque IP público.
  13. Selecione IP privado.
  14. No menu suspenso Rede, selecione tutorial-network. Isso coloca a nova instância do Cloud SQL na rede privada que você criou anteriormente.
  15. Clique em Criar instância e aguarde até que a instância seja inicializada e iniciada. O processo de inicialização pode levar mais de cinco minutos.

Adicionar um usuário

Antes de ler ou gravar em um banco de dados, é preciso criar um usuário de banco de dados diferente do usuário raiz.

  1. No menu de navegação do SQL, clique em Usuários.
  2. Clique em Adicionar conta de usuário.
  3. No painel que será aberto, selecione Autenticação integrada.
  4. No campo Nome de usuário, digite tutorial-user.
  5. Digite uma senha para o novo usuário. Salve essa senha para uso futuro.
  6. Clique em Adicionar.

Criar um banco de dados de destino

O fluxo de trabalho de importação exige que você selecione um banco de dados de destino para a importação. Portanto, é necessário criar um banco de dados vazio.

  1. No menu de navegação do SQL, clique em Bancos de dados.
  2. Clique em Criar banco de dados.
  3. Em Nome do banco de dados, digite countries.
  4. Clique em Criar.

Importar do arquivo dump

Agora você pode importar o banco de dados countries usando o arquivo dump countries-postgres.sql que você enviou para o bucket do Cloud Storage.

  1. No menu de navegação do SQL, clique em Visão geral.
  2. Na página de visão geral, clique em Importar.
  3. Em Formato de arquivo, selecione SQL.
  4. Em Selecionar arquivo de origem, escolha Selecionar arquivo do Google Cloud Storage.
  5. Clique em Procurar.
  6. Expanda o bucket de armazenamento que você criou anteriormente.
  7. Clique em countries-postgres.sql.
  8. Clique em Selecionar.
  9. Na seção Destino, clique no menu suspenso Banco de dados e selecione countries.
  10. Clique em Importar.

Quando o processo de importação for concluído e o banco de dados countries tiver sido importado para o Cloud SQL para PostgreSQL, uma mensagem de sucesso será exibida.

Validar os dados importados no Cloud SQL para PostgreSQL

Depois que a operação de importação for concluída, verifique se o banco de dados foi importado conectando-se a ele usando o Cloud SQL Studio, inspecionando a lista de tabelas e executando uma consulta de teste nos dados.

Autenticar-se no Cloud SQL Studio

Com a conta de usuário que você criou, conecte-se ao novo banco de dados usando o Cloud SQL Studio.

  1. No menu de navegação do SQL, clique em Cloud SQL Studio. Uma caixa de diálogo de login é exibida.
  2. No menu suspenso Banco de dados, escolha países.
  3. Selecione Autenticação de banco de dados integrada.
  4. No menu suspenso Usuário, selecione tutorial-user.
  5. No campo Senha, insira a senha que você escolheu para o usuário na seção Adicionar um usuário.
  6. Clique em Autenticar. O Cloud SQL Studio é aberto.

Visualizar e consultar as tabelas

  1. No painel Explorador, examine o banco de dados countries e confirme se ele tem duas tabelas: capitals e country_codes.
  2. Clique em Consulta sem título para abrir o editor de consultas.
  3. Cole o seguinte código no editor de consultas:

    SELECT
      "capitals"."country_capital",
      "country_codes"."country_name"
    FROM
      "capitals"
    JOIN
      "country_codes"
    ON
      "capitals"."alpha_2_code" = "country_codes"."alpha_2_code"
    ORDER BY
      "capitals"."country_capital";
    
  4. Clique em Executar.

O painel de resultados mostra uma lista em ordem alfabética das capitais do mundo e os respectivos países.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, siga um destes procedimentos:

  • Exclua o projeto que contém os recursos.
  • Mantenha o projeto e exclua os recursos individuais.

Excluir o projeto

    Excluir um projeto do Google Cloud :

    gcloud projects delete PROJECT_ID

Excluir recursos individuais

Se você quiser manter o projeto, mas evitar cobranças, exclua a instância do Cloud SQL, o bucket do Cloud Storage e a rede VPC que você criou durante o tutorial.

Excluir a instância do Cloud SQL

Primeiro, desative a proteção contra exclusão e, em seguida, exclua a instância do Cloud SQL do tutorial:

  1. No menu de navegação do SQL, clique em Visão geral.
  2. Clique em Editar.
  3. Abra a seção Proteção de dados.
  4. Em Proteção contra exclusão de instâncias, desmarque todas as opções.
  5. Clique em Salvar. Quando a operação for concluída, a opção Excluir vai ficar disponível.
  6. Clique em Excluir. Uma caixa de diálogo será exibida.
  7. No campo ID da instância, insira tutorial-instance.
  8. Clique em Excluir.

Excluir o bucket do Cloud Storage

Em seguida, exclua o bucket de armazenamento e o conteúdo dele.

  1. No menu de navegação principal do console do Google Cloud , acesse Cloud Storage > Buckets.
  2. Marque a caixa ao lado do nome do bucket que você criou.
  3. Clique em Excluir.
  4. Na caixa de diálogo, confirme a exclusão digitando DELETE e clique em Excluir.

Excluir a rede VPC

Agora que você excluiu os recursos na rede VPC, está tudo pronto para excluir a rede. Antes de excluir a rede VPC, é preciso excluir a conexão de peering que foi criada automaticamente quando você criou a rede VPC.

  1. No menu de navegação principal, acesse Redes VPC > Peering de rede VPC.
  2. Marque a caixa ao lado da conexão de peering com a rede VPC tutorial-network.
  3. Clique em Excluir.
  4. Na caixa de diálogo, clique em Excluir para confirmar.

Agora que a conexão de peering foi removida, é possível excluir a rede VPC.

  1. No menu Rede VPC, clique em Redes VPC.
  2. Clique em tutorial-network para abrir a página de detalhes.
  3. Clique em Excluir rede VPC.
  4. Na caixa de diálogo, confirme a exclusão digitando tutorial-network e clicando em Excluir.

A seguir