Migrar dados do Amazon Redshift com uma rede VPC

Este documento explica como migrar dados do Amazon Redshift para o BigQuery através de uma VPC.

Se tiver uma instância privada do Amazon Redshift na AWS, pode migrar esses dados para o BigQuery criando uma rede de nuvem virtual privada (VPC) e associando-a à rede VPC do Amazon Redshift. O processo de migração de dados funciona da seguinte forma:

  1. Cria uma rede VPC no projeto que quer usar para a transferência. A rede de VPC não pode ser uma rede de VPC partilhada.
  2. Configura uma rede privada virtual (VPN) e liga a rede VPC do seu projeto e a rede VPC do Amazon Redshift.
  3. Especifica a rede de VPC do projeto e um intervalo de IPs reservado quando configura a transferência.
  4. O Serviço de transferência de dados do BigQuery cria um projeto de inquilino e anexa-o ao projeto que está a usar para a transferência.
  5. O Serviço de transferência de dados do BigQuery cria uma rede VPC com uma sub-rede no projeto de inquilino, usando o intervalo de IPs reservado que especificou.
  6. O Serviço de transferência de dados do BigQuery cria o peering de VPC entre a rede VPC do seu projeto e a rede VPC do projeto de inquilino.
  7. A migração do Serviço de transferência de dados do BigQuery é executada no projeto de inquilino. Aciona uma operação de descarregamento do Amazon Redshift para uma área de preparação num contentor do Amazon S3. A velocidade de carregamento é determinada pela configuração do cluster.
  8. A migração do Serviço de transferência de dados do BigQuery transfere os seus dados do contentor do Amazon S3 para o BigQuery.

Se quiser transferir dados da sua instância do Amazon Redshift através de IPs públicos, pode migrar os seus dados do Amazon Redshift para o BigQuery com estas instruções.

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 (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. Enable the BigQuery and BigQuery Data Transfer Service 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

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

    Go to project selector

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

  7. Enable the BigQuery and BigQuery Data Transfer Service 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

  8. Defina as autorizações necessárias

    Antes de criar uma transferência do Amazon Redshift, siga estes passos:

    1. Certifique-se de que a pessoa que cria a transferência tem as seguintes autorizações de gestão de identidade e acesso (IAM) necessárias no BigQuery:

      • bigquery.transfers.update autorizações para criar a transferência
      • Autorizações bigquery.datasets.update no conjunto de dados de destino

      A role/bigquery.adminfunção de IAM predefinida inclui autorizações bigquery.transfers.update e bigquery.datasets.update. Para mais informações sobre as funções do IAM no Serviço de transferência de dados do BigQuery, consulte o artigo Controlo de acesso.

    2. Consulte a documentação do Amazon S3 para garantir que configurou todas as autorizações necessárias para ativar a transferência. No mínimo, os dados de origem do Amazon S3 têm de ter a política gerida pela AWS AmazonS3ReadOnlyAccess aplicada.

    3. Conceda as autorizações da IAM adequadas para criar e eliminar o peering de redes VPC à pessoa que está a configurar a transferência. O serviço usa as credenciais do utilizador Google Cloud individual para criar a ligação de peering de VPC.

      • Autorizações para criar peering de VPC: compute.networks.addPeering
      • Autorizações para eliminar a interligação de VPCs: compute.networks.removePeering

      As funções de IAM predefinidas roles/project.owner, roles/project.editor e roles/compute.networkAdmin incluem as autorizações compute.networks.addPeering e compute.networks.removePeering por predefinição.

    Crie um conjunto de dados

    Crie um conjunto de dados do BigQuery para armazenar os seus dados. Não tem de criar tabelas.

    Conceda acesso ao seu cluster do Amazon Redshift

    Adicione os seguintes intervalos de IP do seu cluster privado do Amazon Redshift a uma lista de autorizações configurando as regras do grupo de segurança. Num passo posterior, define o intervalo de IPs privados nesta rede VPC quando configura a transferência.

    Conceda acesso ao seu contentor do Amazon S3

    Tem de ter um contentor do Amazon S3 para usar como área de preparação para transferir os dados do Amazon Redshift para o BigQuery. Para ver instruções detalhadas, consulte a documentação da Amazon.

    1. Recomendamos que crie um utilizador do Amazon IAM dedicado e conceda a esse utilizador apenas acesso de leitura ao Amazon Redshift e acesso de leitura e gravação ao Amazon S3. Para alcançar este passo, pode aplicar as seguintes políticas:

      Autorizações da Amazon para a migração do Amazon Redshift

    2. Crie um par de chaves de acesso de utilizador do IAM da Amazon.

    Configure o controlo da carga de trabalho com uma fila de migração separada

    Opcionalmente, pode definir uma fila do Amazon Redshift para fins de migração para limitar e separar os recursos usados para a migração. Pode configurar esta fila de migração com uma quantidade máxima de consultas simultâneas. Em seguida, pode associar um determinado grupo de utilizadores de migração à fila e usar essas credenciais quando configurar a migração para transferir dados para o BigQuery. O serviço de transferência só tem acesso à fila de migração.

    Recolha informações de transferência

    Reúna as informações de que precisa para configurar a migração com o Serviço de transferência de dados do BigQuery:

    • Obtenha o intervalo de IP reservado e a VPC no Amazon Redshift.
    • Siga estas instruções para obter o URL JDBC.
    • Obtenha o nome de utilizador e a palavra-passe de um utilizador com as autorizações adequadas para a sua base de dados do Amazon Redshift.
    • Siga as instruções em Conceda acesso ao seu contentor do Amazon S3 para obter um par de chaves de acesso da AWS.
    • Obtenha o URI do contentor do Amazon S3 que quer usar para a transferência. Recomendamos que configure uma política de ciclo de vida para este contentor, de modo a evitar custos desnecessários. O tempo de expiração recomendado é de 24 horas para permitir tempo suficiente para transferir todos os dados para o BigQuery.

    Avalie os seus dados

    Como parte da transferência de dados, o Serviço de transferência de dados do BigQuery escreve dados do Amazon Redshift para o Cloud Storage como ficheiros CSV. Se estes ficheiros contiverem o caráter ASCII 0, não podem ser carregados para o BigQuery. Sugerimos que avalie os seus dados para determinar se isto pode ser um problema para si. Se for o caso, pode contornar esta situação exportando os dados para o Amazon S3 como ficheiros Parquet e, em seguida, importando esses ficheiros através do Serviço de transferência de dados do BigQuery. Para mais informações, consulte o artigo Vista geral das transferências do Amazon S3.

    Configure a rede de VPC e a VPN

    1. Certifique-se de que tem autorizações para ativar a interligação de VPCs. Para mais informações, consulte o artigo Defina as autorizações necessárias.

    2. Siga as instruções neste guia para configurar uma Google Cloud rede VPC, configurar uma VPN entre a rede VPC do seu projetoGoogle Cloud e a rede VPC do Amazon Redshift, e ativar o intercâmbio de VPCs.

    3. Configure o Amazon Redshift para permitir a ligação à sua VPN. Para mais informações, consulte Grupos de segurança de clusters do Amazon Redshift.

    4. Na Google Cloud consola, aceda à página Redes VPC para verificar se a sua Google Cloud rede VPC existe no seu Google Cloud projeto e está ligada ao Amazon Redshift através da VPN.

      Aceda a redes de VPC

      A página da consola apresenta todas as suas redes VPC.

    Configure uma transferência do Amazon Redshift

    Siga as instruções que se seguem para configurar uma transferência do Amazon Redshift:

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

      Aceda ao BigQuery

    2. Clique em Transferências de dados.

    3. Clique em Criar transferência.

    4. Na secção Tipo de origem, selecione Migração: Amazon Redshift na lista Origem.

    5. Na secção Nome da configuração da transferência, introduza um nome para a transferência, como My migration, no campo Nome a apresentar. O nome a apresentar pode ser qualquer valor que lhe permita identificar facilmente a transferência se precisar de a modificar mais tarde.

    6. Na secção Definições de destino, escolha o conjunto de dados que criou na lista Conjunto de dados.

    7. Na secção Detalhes da origem de dados, faça o seguinte:

      1. Para o URL de ligação JDBC para o Amazon Redshift, indique o URL JDBC para aceder ao seu cluster do Amazon Redshift.
      2. Para Nome de utilizador da sua base de dados, introduza o nome de utilizador da base de dados do Amazon Redshift que quer migrar.
      3. Para Palavra-passe da sua base de dados, introduza a palavra-passe da base de dados.

      4. Para o ID da chave de acesso e a chave de acesso secreta, introduza o par de chaves de acesso que obteve em Conceda acesso ao seu contentor do S3.

      5. Para o URI do Amazon S3, introduza o URI do contentor do S3 que vai usar como área de preparação.

      6. Para Esquema do Amazon Redshift, introduza o esquema do Amazon Redshift que está a migrar.

      7. Para Padrões de nomes de tabelas, especifique um nome ou um padrão para fazer corresponder os nomes das tabelas no esquema. Pode usar expressões regulares para especificar o padrão no formato: <table1Regex>;<table2Regex>. O padrão deve seguir a sintaxe de expressão regular Java. Por exemplo:

        • lineitem;ordertb corresponde a tabelas com os nomes lineitem e ordertb.
        • .* corresponde a todas as tabelas.

        Deixe este campo vazio para migrar todas as tabelas do esquema especificado.

      8. Para a VPC e o intervalo de IPs reservados, especifique o nome da rede VPC e o intervalo de endereços IP privados a usar na rede VPC do projeto de inquilino. Especifique o intervalo de endereços IP como um bloco CIDR.

        Campo CIDR de migração do Amazon Redshift

        • O formato é VPC_network_name:CIDR, por exemplo: my_vpc:10.251.1.0/24.
        • Use intervalos de endereços de rede VPC privados padrão na notação CIDR, começando por 10.x.x.x.
        • O intervalo de IP tem de ter mais de 10 endereços IP.
        • O intervalo de IPs não pode sobrepor-se a nenhuma sub-rede na sua rede VPC do projeto ou na rede VPC do Amazon Redshift.
        • Se tiver várias transferências configuradas para a mesma instância do Amazon Redshift, certifique-se de que usa o mesmo valor VPC_network_name:CIDR em cada uma delas para que várias transferências possam reutilizar a mesma infraestrutura de migração.
    8. Opcional: na secção Opções de notificação, faça o seguinte:

      1. Clique no botão para ativar as notificações por email. Quando ativa esta opção, o administrador da transferência recebe uma notificação por email quando uma execução de transferência falha.
      2. Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Esta opção configura notificações executadas pelo Pub/Sub para a transferência.
    9. Clique em Guardar.

    10. A Google Cloud consola apresenta todos os detalhes da configuração da transferência, incluindo um nome do recurso para esta transferência.

    Quotas e limites

    A migração de uma instância privada do Amazon Redshift com uma rede VPC executa o agente de migração numa infraestrutura de inquilino único. Devido aos limites de recursos de computação, são permitidas, no máximo, 5 execuções de transferência simultâneas.

    O BigQuery tem uma quota de carregamento de 15 TB para cada tarefa de carregamento para cada tabela. Internamente, o Amazon Redshift comprime os dados da tabela, pelo que o tamanho da tabela exportada é superior ao tamanho da tabela comunicado pelo Amazon Redshift. Se planeia migrar uma tabela com mais de 15 TB, contacte primeiro o apoio ao cliente da nuvem.

    A utilização deste serviço pode incorrer em custos fora da Google. Reveja as páginas de preços do Amazon Redshift e do Amazon S3 para ver detalhes.

    Devido ao modelo de consistência do Amazon S3, é possível que alguns ficheiros não sejam incluídos na transferência para o BigQuery.

    O que se segue?