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 Google Cloud console para importar dados de um arquivo dump SQL que você exporta do ambiente anterior.

Este tutorial mostra como criar os Google Cloud recursos necessários e 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 do IP particular 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 amostra.
  2. Crie uma rede de nuvem privada virtual com acesso a serviços particulares.
  3. Crie um bucket do Cloud Storage e faça upload de um arquivo dump SQL para ele.
  4. Crie uma instância do Cloud SQL para PostgreSQL configurada para IP particular.
  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 acessando 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 projeção de uso, use a calculadora de preços.

Novos Google Cloud usuários 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 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. 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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Funções exigidas

Para conseguir as permissões que você precisa para concluir este 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 personalizados papéis ou outros predefinidos papéis.

Receber um arquivo dump de banco de dados de amostra

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

Baixe o arquivo SQL do banco de dados countries para o ambiente local: countries-postgres.sql.

Criar uma rede com acesso a serviços particulares

Antes de criar o restante dos recursos, crie uma rede VPC para executar seus serviços. O acesso a serviços particulares permite restringir o acesso ao 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 Google Cloud console do, 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 próxima 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 terminar, você poderá 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. Para o 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 os 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 Google Cloud console vai mostrar 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 Google Cloud console do, 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. Use 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ê selecionou para sua sub-rede. Localizar seus Google Cloud recursos 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 for exibida, 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 Google Cloud console usando as configurações a seguir. 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 Google Cloud console.
    Acessar 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ê selecionou 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 particular que você criou anteriormente.
  15. Clique em Criar instância e aguarde até que a instância seja inicializada e inicie. 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, é necessário criar um usuário de banco de dados diferente do usuário raiz.

  1. No menu de navegação SQL, clique em Usuários.
  2. Clique em Adicionar conta de usuário.
  3. No painel aberto, selecione Autenticação integrada.
  4. No campo Nome de usuário, digite tutorial-user.
  5. Insira 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 importar. Portanto, é necessário criar um banco de dados vazio.

  1. No menu de navegação 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 countries-postgres.sql arquivo dump que você fez upload para o bucket do Cloud Storage.

  1. No menu de navegação SQL, clique em Visão geral.
  2. Na página de visão geral, clique em Importar.
  3. Em Formato do 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 for 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, você poderá verificar 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 no Cloud SQL Studio

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

  1. No menu de navegação SQL, clique em Cloud SQL Studio. Uma caixa de diálogo de login será exibida.
  2. No menu suspenso Banco de dados, escolha countries.
  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 escolhida para o usuário em a seção Adicionar um usuário.
  6. Clique em Autenticar. O Cloud SQL Studio será aberto.

Visualizar e consultar as tabelas

  1. No painel Análises, 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 código a seguir 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 alfabética de capitais do mundo e seus países.

Liberar espaço

Para evitar cobranças na sua Google Cloud conta pelos recursos usados neste tutorial, faça uma das seguintes ações:

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

Excluir o projeto

    Excluir um Google Cloud projeto do:

    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 exclua a instância do Cloud SQL do tutorial:

  1. No menu de navegação SQL, clique em Visão geral.
  2. Clique em Editar.
  3. Expanda 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 poderá ser selecionada.
  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 doconsole Google Cloud , acesse Cloud Storage > Buckets.
  2. Marque a caixa ao lado do nome do bucket que você criou anteriormente.
  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 sua rede VPC, está tudo pronto para excluir a rede. Antes de excluir a rede VPC, é necessário excluir a conexão de peering 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, confirme clicando em Excluir.

Agora que a conexão de peering foi removida, você pode 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 clique em Excluir.

A seguir