Como migrar dados do Amazon Redshift com uma rede VPC
Neste documento, explicamos como migrar dados do Amazon Redshift para o BigQuery usando uma VPC.
Se você tiver uma instância particular do Amazon Redshift na AWS, poderá migrar esses dados para o BigQuery criando um rede de nuvem privada virtual (VPC) e conectá-la à rede VPC do Amazon Redshift. O processo de migração de dados funciona da seguinte maneira:
- Crie uma rede VPC no projeto que você quer usar para a transferência. A rede VPC não pode ser uma VPC compartilhada.
- Você configurou uma rede privada virtual (VPN) e conectar a rede VPC do seu projeto e a rede VPC do Amazon Redshift.
- Você especifica a rede VPC do projeto e um intervalo de IP reservado ao configurar a transferência.
- O serviço de transferência de dados do BigQuery cria um projeto de locatário e o anexa ao que você está usando para a transferência.
- O serviço de transferência de dados do BigQuery cria uma rede VPC com um sub-rede no projeto de locatário, usando o intervalo de IP reservado especificado.
- O serviço de transferência de dados do BigQuery cria o peering de VPC entre a rede VPC do projeto e a rede VPC do projeto de locatário.
- A migração do serviço de transferência de dados do BigQuery é executada no projeto de locatário. Ela aciona uma operação de descarregamento do Amazon Redshift para uma área de preparo no um bucket do Amazon S3. A velocidade de descarregamento é determinada pelo cluster do Terraform.
- O serviço de transferência de dados do BigQuery envia seus dados do bucket do Amazon S3 para o BigQuery.
Se você quiser transferir dados da sua instância do Redshift por meio de IPs públicos, é possível migrar os dados do Amazon Redshift para o BigQuery com essas 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. Verifique se a pessoa criando a transferência tem as seguintes permissões necessárias do Identity and Access Management (IAM) no BigQuery:
- Permissões
bigquery.transfers.update
para criar a transferência - Permissões
bigquery.datasets.update
no conjunto de dados de destino
O papel predefinido
role/bigquery.admin
do IAM inclui permissõesbigquery.transfers.update
ebigquery.datasets.update
. Para mais informações sobre papéis do IAM no serviço de transferência de dados do BigQuery, consulte Controle de acesso.- Permissões
Consulte a documentação do Amazon S3 para garantir que você tenha configurado as permissões necessárias para ativar a transferência. No mínimo, os dados de origem do Amazon S3 precisam ter a política
AmazonS3ReadOnlyAccess
(em inglês) gerenciada pela AWS aplicada a eles.Conceda as permissões do IAM adequadas para criar e excluir o peering da rede VPC à pessoa que configurará a transferência. O serviço usa as Google Cloud credenciais de usuário dessa pessoa para criar a conexão de peering de VPC.
- Permissões para criar peering de VPC:
compute.networks.addPeering
- Permissões para excluir peering de VPC:
compute.networks.removePeering
Os papéis predefinidos
roles/project.owner
,roles/project.editor
eroles/compute.networkAdmin
do IAM incluem as permissõescompute.networks.addPeering
ecompute.networks.removePeering
por padrão.- Permissões para criar peering de VPC:
Recomendamos que você crie um usuário do IAM dedicado à Amazon e conceda a ele acesso somente leitura ao Amazon Redshift e acesso para leitura e gravação ao Amazon S3. Para concluir essa etapa, aplique as políticas a seguir:
Crie um par de chaves de acesso do usuário do IAM para o Amazon.
- Encontre a VPC e o intervalo de IPs reservados no Amazon Redshift.
- Siga estas instruções para encontrar o URL de JDBC.
- Encontre o nome e a senha de um usuário com as permissões adequadas para seu banco de dados do Amazon Redshift.
- Siga as instruções em Conceder acesso ao bucket do Amazon S3 para receber um par de chaves de acesso da AWS.
- Encontre o URI do bucket do Amazon S3 que você quer usar para a transferência. Recomendamos que você configure uma política de Ciclo de vida para esse bucket, evitando cobranças desnecessárias. O prazo de validade recomendado é de 24 horas, para que haja tempo suficiente para transferir todos os dados para o BigQuery.
Verifique se você tem permissões para ativar o peering de VPC. Para mais informações, consulte Definir as permissões necessárias.
Siga as instruções neste guia para configurar uma rede VPC Google Cloud , uma VPN entre a rede VPC do seu projetoGoogle Cloud e a rede VPC do Amazon Redshift e ativar o peering de VPC.
Configure o Amazon Redshift para permitir a conexão com sua VPN. Para mais informações, consulte Grupos de segurança de clusters do Amazon Redshift.
No console Google Cloud , acesse a página Redes VPC para verificar se a rede VPCGoogle Cloud existe no projeto Google Cloud e se ela está conectada ao Amazon Redshift por meio da VPN.
A página do console lista todas as redes VPC.
No console do Google Cloud , acesse a página BigQuery.
Clique em Transferências de dados.
Clique em Criar transferência.
Na seção Tipo de origem, selecione Migração: Amazon Redshift na lista Origem.
Na seção Nome da configuração de transferência, insira um nome para a transferência, como
My migration
, no campo Nome de exibição. Esse nome pode ter qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la no futuro.Na seção Configurações de destino, escolha o conjunto de dados criado, na lista Conjunto de dados.
Na seção Detalhes da fonte de dados, faça o seguinte:
- Em URL de conexão de JDBC para Amazon Redshift, forneça o URL de JDBC para acessar o cluster do Amazon Redshift.
- Em Nome de usuário do seu banco de dados, digite o nome de usuário do banco de dados do Amazon Redshift que você quer migrar.
Em Senha do seu banco de dados, insira a respectiva senha.
Em ID da chave de acesso e Chave de acesso do secret, insira o par de chaves de acesso obtido em Conceder acesso ao bucket do S3.
Em URI do Amazon S3, insira o URI do bucket do S3 que será utilizada como área de preparo.
Em Esquema do Amazon Redshift, insira o esquema que você está migrando.
Em Padrões de nome da tabela, especifique um nome ou padrão que corresponda aos nomes das tabelas no esquema. Use expressões regulares para especificar o padrão no formato:
<table1Regex>;<table2Regex>
. Esse padrão precisa seguir a sintaxe de expressão típica de Java. Por exemplo:lineitem;ordertb
corresponde às tabelas chamadaslineitem
eordertb
..*
corresponde a todas as tabelas.
Deixe esse campo vazio para migrar todas as tabelas do esquema especificado.
Em VPC e intervalo de IP reservado, especifique o nome da rede VPC e o intervalo de endereços IP privados a serem usados na rede VPC do projeto de locatário. 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 com
10.x.x.x
. - O intervalo de IP precisa ter mais de 10 endereços IP.
- O intervalo de IP não pode se sobrepor a nenhuma sub-rede no projeto a rede VPC ou a rede VPC do Amazon Redshift.
- Se você tiver várias transferências configuradas para a mesma instância do Amazon Redshift, use 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 seção Opções de notificação, faça o seguinte:
- Clique no botão para ativar as notificações por e-mail. Quando você ativa essa opção, o administrador de transferência recebe uma notificação por e-mail se uma execução de transferência falhar.
- Em Selecionar um tópico do Pub/Sub, escolha o nome do tópico ou clique em Criar um tópico. Essa opção configura notificações de execução do Pub/Sub da sua transferência.
Clique em Salvar.
O console do Google Cloud mostra todos os detalhes da configuração da transferência, incluindo um Nome de recurso para ela.
- Saiba mais sobre as migrações padrão do Amazon Redshift.
- Saiba mais sobre o serviço de transferência de dados do BigQuery.
- Migrar o código SQL com a translação de SQL em lote.
Definir as permissões necessárias
Antes de criar uma transferência do Amazon Redshift, siga estas etapas:
Criar um conjunto de dados
Crie um conjunto de dados do BigQuery para armazenar os dados. Não é necessário criar tabelas.
Conceder acesso ao cluster do Amazon Redshift
Adicione os seguintes intervalos de IP do seu cluster privado do Amazon Redshift a uma lista de permissões configurando as regras do grupo de segurança. Em uma etapa posterior, você definirá o intervalo de IPs privados nessa rede VPC ao configurar a transferência.
Conceder acesso ao bucket do Amazon S3
É necessário ter um bucket do Amazon S3 para usar como área de teste para transferir os dados do Amazon Redshift para o BigQuery. Para instruções detalhadas, consulte a documentação da Amazon.
Configurar controle de carga de trabalho com uma fila de migração separada
Opcionalmente, é possível definir uma fila do Amazon Redshift para a migração de forma a limitar e separar os recursos usados no processo. É possível configurar essa fila de migração com uma contagem máxima de consultas de simultaneidade. Em seguida, é possível associar um determinado grupo de usuários de migração à fila e usar essas credenciais ao configurar o processo de transferência de dados para o BigQuery. O serviço de transferência tem acesso apenas à fila de migração.
Coletar informações de transferência
Reúna as informações necessárias para configurar a migração com o serviço de transferência de dados do BigQuery:
Avaliar os dados
Como parte da transferência de dados, o serviço de transferência de dados do BigQuery grava dados do Amazon Redshift no Cloud Storage como arquivos CSV. Se esses arquivos contiverem o caractere ASCII 0, não poderão ser carregados no BigQuery. Sugerimos que você avalie seus dados para determinar se isso pode ser um problema para você. Se for o caso, é possível contornar isso exportando os dados para o Amazon S3 como arquivos Parquet e, em seguida, importando esses arquivos usando o serviço de transferência de dados do BigQuery. Para mais informações, consulte Visão geral das transferências do Amazon S3.
Configurar a rede VPC e a VPN
Configurar uma transferência do Amazon Redshift
Use as instruções a seguir para configurar uma transferência do Amazon Redshift:
Cotas e limites
Migrar uma instância particular do Amazon Redshift com uma rede VPC executa a migração. em uma infraestrutura de locatário individual. Devido aos limites de recursos de computação, no máximo cinco execuções de transferência simultâneas são permitidas.
O BigQuery tem uma cota de carregamento de 15 TB para cada job de carregamento de cada tabela. Internamente, o Amazon Redshift compacta os dados da tabela. Portanto, o tamanho da tabela exportada será maior do que o informado pelo Amazon Redshift. Se estiver planejando migrar uma tabela com mais de 15 TB, entre em contato com o Cloud Customer Care primeiro.
Usar esse serviço pode gerar custos não previstos pelo Google. Consulte as páginas de preços do Amazon Redshift e do Amazon S3 para mais detalhes.
Devido ao modelo de consistência do Amazon S3, é possível que alguns arquivos não sejam incluídos na transferência para o BigQuery.