Crie uma instância numa rede privada e, em seguida, importe uma base de dados

A migração de uma carga de trabalho de outra plataforma para o Cloud SQL para PostgreSQL envolve frequentemente a utilização da consola para importar dados de um ficheiro de despejo de SQL que exporta do seu ambiente anterior. Google Cloud

Este tutorial mostra como criar os Google Cloud recursos de que precisa e, em seguida, importar uma base 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 a utilização de uma rede da nuvem virtual privada (VPC) com acesso privado aos serviços e a ativação do IP privado para a sua instância do Cloud SQL.

À medida que avança nos passos, mantenha os valores predefinidos das definições, a menos que seja especificado o contrário.

Objetivos

  1. Transfira um ficheiro de captura SQL de exemplo.
  2. Crie uma nova rede de nuvem privada virtual com acesso a serviços privados.
  3. Crie um contentor do Cloud Storage e carregue um ficheiro de captura SQL para o mesmo.
  4. Crie uma instância do Cloud SQL para PostgreSQL configurada para IP privado.
  5. Crie um utilizador.
  6. Crie uma base de dados de destino.
  7. Importe do ficheiro de despejo para uma nova base de dados.
  8. Verifique se a base de dados foi importada com êxito vendo a estrutura e executando uma consulta.

Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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. Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.

  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. Se estiver a usar um projeto existente para este guia, verifique se tem as autorizações necessárias para concluir este guia. Se criou um novo projeto, já tem as autorizações necessárias.

  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

  10. Funções necessárias

    Para receber as autorizações necessárias para concluir este tutorial, peça ao seu administrador que lhe conceda as seguintes funções de IAM no seu projeto:

    Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Obtenha um ficheiro de despejo de base de dados de exemplo

    Para este tutorial, vai usar uma pequena base de dados de amostra que contém códigos de países e capitais do mundo.

    Transfira o ficheiro SQL para a base de dados countries para o seu ambiente local: countries-postgres.sql.

    Crie uma rede com acesso a serviços privados

    Antes de criar os restantes recursos, crie uma rede VPC para executar os seus serviços. O acesso a serviços privados permite-lhe restringir o acesso à sua base de dados do Cloud SQL estabelecendo uma ligação privada entre a sua rede externa e o Cloud SQL para PostgreSQL através de endereços IPv4 internos.

    1. Na Google Cloud consola, aceda à página Redes VPC.

      Aceda à página Redes VPC

    2. Clique em Criar rede de VPC.

    3. No campo de nome, introduza tutorial-network.

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

    5. No campo de nome, introduza tutorial-subnet.

    6. Selecione uma região perto de si.

    7. Para o intervalo de IPv4, introduza 10.0.0.0/24.

    8. Para o acesso privado da Google, selecione Ativado.

    9. Clique em Concluído.

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

    Após a conclusão do processo de criação da rede VPC, pode configurar o acesso a serviços privados para a rede.

    1. No ecrã Redes de VPC, clique em tutorial-network.
    2. Na barra de menu de tutorial-network, clique em Acesso a serviços privados.
    3. Clique em Intervalos de IP atribuídos para serviços.
    4. Clique em Atribuir intervalo de IPs.
    5. Em Nome, introduza tutorial-range.
    6. Para o Intervalo de endereços IP, selecione Personalizado.
    7. No campo Intervalo, introduza 192.168.0.0/20.
    8. Clique em Atribuir.
    9. No submenu, clique em Ligações privadas a serviços.
    10. Clique em Criar associação.
    11. No menu pendente Atribuição atribuída, selecione tutorial-range.
    12. Clique em Ligar. Dentro de um ou dois minutos, a Google Cloud consola apresenta uma mensagem a informar que criou com êxito uma ligação privada.

    Crie um contentor do Cloud Storage

    Em seguida, crie um contentor do Cloud Storage para armazenar o ficheiro de captura SQL que transferiu anteriormente. A ferramenta de importação do Cloud SQL espera que o ficheiro de captura esteja num contentor. Um contentor do Cloud Storage tem de ter um nome exclusivo a nível global.

    1. Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.

      Aceda a Recipientes

    2. Clique em Criar.
    3. Para o nome do contentor, crie um nome exclusivo a nível global composto por letras minúsculas, números e hífenes. É recomendável usar um gerador de strings aleatórias, como random.org/strings, para gerar o nome. Tome nota do nome que escolher.
    4. Clique em Continuar.
    5. Em Tipo de localização, selecione Região. Esta é a opção com o custo mais baixo.
    6. Escolha a mesma região que escolheu para a sua sub-rede. Localizar os 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 o trabalho em rede.
    7. Clique em Continuar.
    8. Clique em Criar.
    9. Se for apresentada uma caixa de diálogo, deixe a opção Aplicar a prevenção de acesso público neste contentor selecionada e clique em Confirmar.

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

    Carregue o ficheiro de despejo para o contentor

    Carregue para o seu contentor o ficheiro de captura SQL de exemplo que transferiu anteriormente.

    1. No separador Objetos, clique em Carregar e, de seguida, em Carregar ficheiros.
    2. Navegue até ao ficheiro countries-postgres.sql e selecione-o.
    3. Clique em Abrir. O Cloud Storage carrega o ficheiro de despejo para o contentor.

    Crie uma instância do Cloud SQL

    Crie uma instância do Cloud SQL na Google Cloud consola com as seguintes definições. Para todas as outras definições, mantenha os valores predefinidos. Embora não precise de ativar o IP privado para o processo de importação, a utilização do IP privado para uma carga de trabalho de produção é uma prática recomendada.

    1. Aceda à página Instâncias do Cloud SQL na Google Cloud consola.
      Aceda à página Instâncias do Cloud SQL
    2. Clique em Criar instância.
    3. Clique em Escolher PostgreSQL.
    4. Em Escolha uma edição do Cloud SQL, escolha Enterprise.
    5. Para Predefinição de edição, selecione Sandbox.
    6. Para o ID da instância, introduza tutorial-instance.
    7. Escolha e introduza uma palavra-passe para a conta de utilizador predefinida e guarde-a para utilização futura.
    8. Escolha a mesma região que escolheu para a sub-rede e o contentor.
    9. Em Disponibilidade zonal, selecione Zona única.
    10. Expanda Mostrar opções de configuração.
    11. Expanda Ligações.
    12. Limpe o IP público.
    13. Selecione IP privado.
    14. No menu pendente Rede, selecione tutorial-network. Isto coloca a nova instância do Cloud SQL na rede privada que criou anteriormente.
    15. Clique em Criar instância e, de seguida, aguarde até que a instância seja inicializada e iniciada. O processo de inicialização pode demorar mais de cinco minutos.
    Google Cloud

    Adicionar um utilizador

    Antes de poder ler ou escrever numa base de dados, tem de criar um utilizador da base de dados que seja diferente do utilizador raiz.

    1. No menu de navegação do SQL, clique em Utilizadores.
    2. Clique em Adicionar conta de utilizador.
    3. No painel apresentado, selecione Autenticação integrada.
    4. No campo Nome de utilizador, introduza tutorial-user.
    5. Introduza uma palavra-passe para o novo utilizador. Guarde esta palavra-passe para utilização futura.
    6. Clique em Adicionar.

    Crie uma base de dados de destino

    O fluxo de trabalho de importação requer que selecione uma base de dados de destino para importar, pelo que tem de criar uma base de dados vazia.

    1. No menu de navegação SQL, clique em Bases de dados.
    2. Clique em Criar base de dados.
    3. Para Nome da base de dados, escreva countries.
    4. Clique em Criar.

    Importe a partir do ficheiro de despejo

    Agora, já pode importar a base de dados countries através do ficheiro de despejo countries-postgres.sql que carregou para o contentor do Cloud Storage.

    1. No menu de navegação do SQL, clique em Vista geral.
    2. Na página de vista geral, clique em Importar.
    3. Em Formato de ficheiro, selecione SQL.
    4. Em Selecionar ficheiro de origem, escolha Selecionar ficheiro do Google Cloud Storage.
    5. Clique em Procurar.
    6. Expanda o contentor de armazenamento que criou anteriormente.
    7. Clique em countries-postgres.sql.
    8. Clique em Selecionar.
    9. Na secção Destino, clique no menu pendente Base de dados e, de seguida, selecione países.
    10. Clique em Importar.

    Quando o processo de importação estiver concluído e a base de dados countries tiver sido importada para o Cloud SQL para PostgreSQL, é apresentada uma mensagem de êxito.

    Valide os dados importados no Cloud SQL para PostgreSQL

    Após a conclusão da operação de importação, pode verificar se a base de dados foi importada estabelecendo ligação à mesma através do Cloud SQL Studio, inspecionando a lista de tabelas e executando uma consulta de teste nos dados.

    Autentique-se no Cloud SQL Studio

    Com a conta de utilizador que criou anteriormente, estabeleça ligação à nova base de dados através do Cloud SQL Studio.

    1. No menu de navegação do SQL, clique em Cloud SQL Studio. É apresentada uma caixa de diálogo de início de sessão.
    2. No menu pendente Base de dados, escolha países.
    3. Selecione Autenticação de base de dados incorporada.
    4. No menu pendente Utilizador, selecione tutorial-user.
    5. No campo Palavra-passe, introduza a palavra-passe que escolheu para o utilizador na secção Adicionar um utilizador.
    6. Clique em Autenticar. O Cloud SQL Studio é aberto.

    Ver e consultar as tabelas

    1. No painel Explorador, examine a base de dados countries e confirme que a base de dados 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 apresenta uma lista alfabética das capitais do mundo e dos respetivos países.

    Limpar

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

    • Elimine o projeto que contém os recursos
    • Manter o projeto e eliminar os recursos individuais.

    Elimine o projeto

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Elimine recursos individuais

    Se quiser manter o projeto, mas evitar incorrer em custos, elimine a instância do Cloud SQL, o contentor do Cloud Storage e a rede VPC que criou durante o tutorial.

    Elimine a instância do Cloud SQL

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

    1. No menu de navegação do SQL, clique em Vista geral.
    2. Clique em Edit.
    3. Expanda a secção Proteção de dados.
    4. Em Proteção contra eliminação de instâncias, desmarque todas as opções.
    5. Clique em Guardar. Quando a operação estiver concluída, pode selecionar Eliminar.
    6. Clique em Eliminar. É apresentada uma caixa de diálogo.
    7. No campo ID da instância, introduza tutorial-instance.
    8. Clique em Eliminar.

    Elimine o contentor do Cloud Storage

    Em seguida, elimine o contentor de armazenamento e o respetivo conteúdo.

    1. No menu de navegação principal da Google Cloud consola, aceda a Cloud Storage > Recipientes.
    2. Selecione a caixa junto ao nome do contentor que criou anteriormente.
    3. Clique em Eliminar.
    4. Na caixa de diálogo, confirme a eliminação escrevendo DELETE e, de seguida, clique em Eliminar.

    Elimine a rede de VPC

    Agora que eliminou os recursos na sua rede VPC, já pode eliminar a rede. Antes de poder eliminar a rede VPC, tem de eliminar a ligação de peering criada automaticamente quando criou a rede VPC.

    1. No menu de navegação principal, aceda a Redes VPC > Interligação de redes VPC.
    2. Selecione a caixa junto à ligação de peering com a rede de VPC tutorial-network.
    3. Clique em Eliminar.
    4. Na caixa de diálogo, clique em Eliminar para confirmar.

    Agora que a ligação de peering foi removida, pode eliminar a rede VPC.

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

    O que se segue?