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:
- 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.
- Configura uma rede privada virtual (VPN) e liga a rede VPC do seu projeto e a rede VPC do Amazon Redshift.
- Especifica a rede de VPC do projeto e um intervalo de IPs reservado quando configura a transferência.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. 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.admin
função de IAM predefinida inclui autorizaçõesbigquery.transfers.update
ebigquery.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.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.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
eroles/compute.networkAdmin
incluem as autorizaçõescompute.networks.addPeering
ecompute.networks.removePeering
por predefinição.- Autorizações para criar peering de VPC:
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:
Crie um par de chaves de acesso de utilizador do IAM da Amazon.
- 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.
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.
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.
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.
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.
A página da consola apresenta todas as suas redes VPC.
Na Google Cloud consola, aceda à página BigQuery.
Clique em Transferências de dados.
Clique em Criar transferência.
Na secção Tipo de origem, selecione Migração: Amazon Redshift na lista Origem.
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.Na secção Definições de destino, escolha o conjunto de dados que criou na lista Conjunto de dados.
Na secção Detalhes da origem de dados, faça o seguinte:
- Para o URL de ligação JDBC para o Amazon Redshift, indique o URL JDBC para aceder ao seu cluster do Amazon Redshift.
- Para Nome de utilizador da sua base de dados, introduza o nome de utilizador da base de dados do Amazon Redshift que quer migrar.
Para Palavra-passe da sua base de dados, introduza a palavra-passe da base de dados.
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.
Para o URI do Amazon S3, introduza o URI do contentor do S3 que vai usar como área de preparação.
Para Esquema do Amazon Redshift, introduza o esquema do Amazon Redshift que está a migrar.
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 nomeslineitem
eordertb
..*
corresponde a todas as tabelas.
Deixe este campo vazio para migrar todas as tabelas do esquema especificado.
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.
- 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.
- O formato é
Opcional: na secção Opções de notificação, faça o seguinte:
- 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.
- 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.
Clique em Guardar.
A Google Cloud consola apresenta todos os detalhes da configuração da transferência, incluindo um nome do recurso para esta transferência.
- Saiba mais sobre as migrações padrão do Amazon Redshift.
- Saiba mais acerca do Serviço de transferência de dados do BigQuery.
- Migre código SQL com a tradução de SQL em lote.
Defina as autorizações necessárias
Antes de criar uma transferência do Amazon Redshift, siga estes passos:
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.
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:
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
Configure uma transferência do Amazon Redshift
Siga as instruções que se seguem para configurar uma transferência do Amazon Redshift:
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.