Visão geral
Neste documento, descrevemos o processo de migração de dados do Amazon Redshift para o BigQuery por IPs públicos.
Se você quiser transferir dados da instância do Redshift por uma nuvem privada virtual (VPC), em endereços IP particulares, consulte Como migrar dados do Amazon Redshift com VPC.
Com o serviço de transferência de dados do BigQuery, é possível copiar seus dados de um armazenamento do Amazon Redshift para o BigQuery. Esse serviço usa agentes de migração no GKE e aciona uma operação de descarregamento do Amazon Redshift para uma área de preparo em um bucket do Amazon S3. Depois, o serviço de transferência envia seus dados do bucket do Amazon S3 para o BigQuery.
Veja no diagrama a seguir o fluxo geral dos dados entre um armazenamento do Amazon Redshift e o BigQuery durante uma migração.

Antes de começar
Nesta seção, descrevemos o processo passo a passo de configuração de uma migração de dados do Amazon Redshift para o BigQuery. Essas etapas são:
- Requisitos do Google Cloud: atenda aos pré-requisitos e defina permissões no Google Cloud.
- Conceder acesso ao cluster do Amazon Redshift.
- Conceder acesso ao bucket do Amazon S3 que você usará para preparar dados temporariamente. Anotar o par de chaves de acesso para usar em uma etapa posterior.
- Configurar a migração com o serviço de transferência de dados do BigQuery. Você precisará do seguinte:
- URL do Amazon Redshift JDBC. Siga estas instruções para encontrá-lo
- Nome de usuário e senha do banco de dados do Amazon Redshift
- Par de chaves de acesso da AWS, que você receberá na etapa Conceder acesso ao bucket do S3.
- O URI do bucket do Amazon S3. Recomendamos que você configure uma política de ciclo de vida útil 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 ao BigQuery.
Permissões necessárias
Antes de criar uma transferência do Amazon Redshift:
Certifique-se de que a pessoa que está criando a transferência tenha as seguintes permissões necessárias 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
bigquery.admin
do IAM inclui permissõesbigquery.transfers.update
ebigquery.datasets.update
. Para mais informações sobre os papéis do IAM no serviço de transferência de dados do BigQuery, consulte Referência do 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.
Requisitos do Google Cloud
Para realizar uma migração do armazenamento de dados do Amazon Redshift, verifique se você atende aos pré-requisitos a seguir no Google Cloud.
Escolha ou crie um projeto do Google Cloud para armazenar os dados de migração.
-
No Console do Google Cloud, acesse a página do seletor de projetos.
-
Selecione ou crie um projeto do Google Cloud.
-
Ative a API BigQuery Data Transfer Service.
No Console do Google Cloud, clique no botão Ativar na página API do serviço de transferência de dados do BigQuery.
O BigQuery é ativado automaticamente nos novos projetos. No entanto, talvez seja necessário ativar a API BigQuery para os projetos atuais. Uma marca de seleção verde indica que ela já está ativa.
Crie um conjunto de dados do BigQuery para armazenar os dados. Não é necessário criar tabelas.
Conceder acesso ao cluster do Amazon Redshift
Siga as instruções da Amazon para colocar na lista de permissões os endereços IP a seguir. Inclua na lista de permissões os endereços IP que correspondem à localização do seu conjunto de dados ou todos os endereços IP na tabela abaixo. Esses endereços IP de propriedade do Google são reservados para migrações de dados do Amazon Redshift.
Locais regionais
Descrição da região | Nome da região | Endereços IP | |
---|---|---|---|
América | |||
Las Vegas | us-west4 |
34.125.53.201 34.125.69.174 34.125.159.85 34.125.152.1 34.125.195.166 34.125.50.249 34.125.68.55 34.125.91.116 |
|
Los Angeles | us-west2 |
35.236.59.167 34.94.132.139 34.94.207.21 34.94.81.187 34.94.88.122 35.235.101.187 34.94.238.66 34.94.195.77 |
|
Montreal | northamerica-northeast1 |
34.95.20.253 35.203.31.219 34.95.22.233 34.95.27.99 35.203.12.23 35.203.39.46 35.203.116.49 35.203.104.223 |
|
Norte da Virgínia | us-east4 |
35.245.95.250 35.245.126.228 35.236.225.172 35.245.86.140 35.199.31.35 35.199.19.115 35.230.167.48 35.245.128.132 35.245.111.126 35.236.209.21 |
|
Oregon | us-west1 |
35.197.117.207 35.197.117.207 35.197.86.233 34.82.155.140 35.247.28.48 35.247.31.246 35.247.106.13 34.105.85.54 |
|
Salt Lake City | us-west3 |
34.106.37.58 34.106.85.113 34.106.28.153 34.106.64.121 34.106.246.131 34.106.56.150 34.106.41.31 34.106.182.92 |
|
São Paulo | southamerica-east1 |
35.199.88.228 34.95.169.140 35.198.53.30 34.95.144.215 35.247.250.120 35.247.255.158 34.95.231.121 35.198.8.157 |
|
Carolina do Sul | us-east1 |
35.196.207.183 35.237.231.98 104.196.102.222 35.231.13.201 34.75.129.215 34.75.127.9 35.229.36.137 35.237.91.139 |
|
Europa | |||
Bélgica | europe-west1 |
35.240.36.149 35.205.171.56 34.76.234.4 35.205.38.234 34.77.237.73 35.195.107.238 35.195.52.87 34.76.102.189 |
|
Finlândia | europe-north1 |
35.228.35.94 35.228.183.156 35.228.211.18 35.228.146.84 35.228.103.114 35.228.53.184 35.228.203.85 35.228.183.138 |
|
Frankfurt | europe-west3 |
35.246.153.144 35.198.80.78 35.246.181.106 35.246.211.135 34.89.165.108 35.198.68.187 35.242.223.6 34.89.137.180 |
|
Londres | europe-west2 |
35.189.119.113 35.189.101.107 35.189.69.131 35.197.205.93 35.189.121.178 35.189.121.41 35.189.85.30 35.197.195.192 |
|
Países Baixos | europe-west4 |
35.204.237.173 35.204.18.163 34.91.86.224 34.90.184.136 34.91.115.67 34.90.218.6 34.91.147.143 34.91.253.1 |
|
Zurique | europe-west6 |
34.65.205.160 34.65.121.140 34.65.196.143 34.65.9.133 34.65.156.193 34.65.216.124 34.65.233.83 34.65.168.250 |
|
Ásia-Pacífico | |||
Hong Kong | asia-east2 |
34.92.245.180 35.241.116.105 35.220.240.216 35.220.188.244 34.92.196.78 34.92.165.209 35.220.193.228 34.96.153.178 |
|
Jacarta | asia-southeast2 |
34.101.79.105 34.101.129.32 34.101.244.197 34.101.100.180 34.101.109.205 34.101.185.189 34.101.179.27 34.101.197.251 |
|
Mumbai | asia-south1 |
34.93.67.112 35.244.0.1 35.200.245.13 35.200.203.161 34.93.209.130 34.93.120.224 35.244.10.12 35.200.186.100 |
|
Osaka | asia-northeast2 |
34.97.94.51 34.97.118.176 34.97.63.76 34.97.159.156 34.97.113.218 34.97.4.108 34.97.119.140 34.97.30.191 |
|
Seul | asia-northeast3 |
34.64.152.215 34.64.140.241 34.64.133.199 34.64.174.192 34.64.145.219 34.64.136.56 34.64.247.158 34.64.135.220 |
|
Polônia | asia-southeast1 |
34.87.12.235 34.87.63.5 34.87.91.51 35.198.197.191 35.240.253.175 35.247.165.193 35.247.181.82 35.247.189.103 |
|
Sydney | australia-southeast1 |
35.189.33.150 35.189.38.5 35.189.29.88 35.189.22.179 35.189.20.163 35.189.29.83 35.189.31.141 35.189.14.219 |
|
Taiwan | asia-east1 |
35.221.201.20 35.194.177.253 34.80.17.79 34.80.178.20 34.80.174.198 35.201.132.11 35.201.223.177 35.229.251.28 35.185.155.147 35.194.232.172 |
|
Tóquio | asia-northeast1 |
34.85.11.246 34.85.30.58 34.85.8.125 34.85.38.59 34.85.31.67 34.85.36.143 34.85.32.222 34.85.18.128 34.85.23.202 34.85.35.192 |
Locais multirregionais
Descrição multirregional | Nome multirregional | Endereços IP |
---|---|---|
Data centers dentro de estados membro da União Europeia1 | EU |
34.76.156.158 34.76.156.172 34.76.136.146 34.76.1.29 34.76.156.232 34.76.156.81 34.76.156.246 34.76.102.206 34.76.129.246 34.76.121.168 |
Data centers nos Estados Unidos | US |
35.185.196.212 35.197.102.120 35.185.224.10 35.185.228.170 35.197.5.235 35.185.206.139 35.197.67.234 35.197.38.65 35.185.202.229 35.185.200.120 |
1 Os dados localizados na multirregião EU
não são
armazenados nos data centers europe-west2
(Londres) ou europe-west6
(Zurique).
Conceder acesso ao bucket do Amazon S3
Você precisará de um bucket do S3 para usar como área de preparo a fim de transferir os dados do Amazon Redshift para o BigQuery. Veja instruções detalhadas da Amazon aqui.
Recomendamos que você crie um usuário de IAM dedicado do Amazon e conceda a ele acesso somente leitura ao Redshift e acesso leitura e gravação ao S3. Aplique as políticas a seguir para fazer isso:
Crie um par de chaves de acesso do usuário do IAM do Amazon.
Opcional: controle de carga de trabalho com uma fila de migração separada
É possível definir uma fila do Amazon Redshift para a migração de forma a limitar e separar os recursos usados no processo. Essa fila pode ser configurada 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 só terá acesso à fila de migração.
Como configurar uma transferência do Amazon Redshift
Configurar uma transferência do Amazon Redshift:
Console
Acesse a página do BigQuery no Console do Cloud.
Clique em Transferências.
Clique em Adicionar transferência.
Na página Nova transferência:
- Em Origem, escolha Migração: Amazon Redshift.
- Em Nome de exibição, insira um nome para a transferência, como
My migration
. Esse nome pode ter qualquer valor que identifique facilmente o processo, caso seja necessário modificá-lo no futuro. Em Conjunto de dados de destino, escolha o conjunto de dados apropriado.
Em Detalhes da fonte de dados, continue inserindo detalhes específicos da transferência do Amazon Redshift.
- Em URL de conexão do JDBC para Amazon Redshift, forneça o URL do 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ê gostaria de migrar.
- Em Senha do seu banco de dados, insira a senha do seu banco de dados.
- Em ID da chave de acesso e Chave de acesso secreta, insira o par de chaves de acesso coletado em Conceder acesso ao bucket do S3.
- Em URI do Amazon S3, insira o URI do bucket do S3 que você usará 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 da expressão regular do Java.(Opcional) Na seção Opções de notificação:
- 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 Cloud exibirá todos os detalhes da configuração da transferência, incluindo um Nome de recurso dessa transferência.
bq
Digite o comando bq mk
e forneça a sinalização de criação da transferência --transfer_config
. As sinalizações a seguir também são obrigatórias:
--project_id
--data_source
--target_dataset
--display_name
--params
bq mk \ --transfer_config \ --project_id=project_id \ --data_source=data_source \ --target_dataset=dataset \ --display_name=name \ --params='parameters'
Em que:
- project_id é o ID do projeto no Google Cloud. Se
--project_id
não for especificado, o projeto padrão será usado. - data_source é a fonte de dados:
redshift
. - dataset é o conjunto de dados de destino do BigQuery para a configuração da transferência.
- name é o nome de exibição da configuração de transferência. Esse nome pode ser qualquer valor que identifique facilmente a transferência, caso seja necessário modificá-la futuramente.
- parameters contém os parâmetros da configuração da
transferência criada no formato JSON. Por exemplo,
--params='{"param":"param_value"}'
.
Os parâmetros necessários em uma configuração de transferência do Amazon Redshift são:
jdbc_url
: o URL de conexão do JDBC é usado para localizar o cluster do Amazon Redshift;database_username
: o nome de usuário para acessar seu banco de dados e descarregar tabelas especificadas;database_password
: a senha usada com o nome de usuário para acessar seu banco de dados e descarregar tabelas especificadas;access_key_id
: o ID da chave de acesso para assinar as solicitações feitas para a AWS;secret_access_key
: a chave de acesso secreta usada com o ID da chave de acesso para assinar as solicitações feitas para a AWS;s3_bucket
: o URI do Amazon S3 que começa com "s3://" e especifica um prefixo de arquivos temporários a serem usados;redshift_schema
: o esquema do Amazon Redshift que contém todas as tabelas a serem migradas;table_name_patterns
: os padrões de nome de tabela separados por um ponto e vírgula (;), que são expressões regulares correspondentes às tabelas a serem migradas. Se esse valor não for fornecido, todas as tabelas no esquema do banco de dados serão migradas.
Por exemplo, com o comando a seguir, você cria uma transferência do Amazon Redshift chamada My Transfer
com um conjunto de dados de destino mydataset
e um projeto com o ID google.com:myproject
.
bq mk \
--transfer_config \
--project_id=myproject \
--data_source=redshift \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"jdbc_url":"jdbc:postgresql://test-example-instance.sample.us-west-1.redshift.amazonaws.com:5439/dbname","database_username":"my_username","database_password":"1234567890","access_key_id":"A1B2C3D4E5F6G7H8I9J0","secret_access_key":"1234567890123456789012345678901234567890","s3_bucket":"s3://bucket/prefix","redshift_schema":"public","table_name_patterns":"table_name"}'
API
Use o método projects.locations.transferConfigs.create
e forneça uma instância do recurso
TransferConfig
.
Java
Cotas e limites
O BigQuery tem uma cota de carregamento de 15 TB por job, por tabela. Internamente, o Amazon Redshift compacta os dados da tabela. Portanto, o tamanho da tabela exportada será maior do que o relatado pelo Amazon Redshift. Se você planeja migrar mais de 15 TB, entre em contato primeiro com bq-dts-support@google.com.
Podem ser gerados custos fora do Google usando esse serviço. 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.
A seguir
- Saiba Como migrar instâncias privadas do Amazon Redshift com VPC.
- Saiba mais sobre o serviço de transferência de dados do BigQuery.