Migração para o Google Cloud: como transferir seus conjuntos de dados grandes

Para muitos clientes, a primeira etapa na adoção de um produto do Google Cloud é colocar os dados nessa plataforma. Neste documento, há uma explicação sobre esse processo, desde o planejamento de uma transferência de dados até o uso de práticas recomendadas na implementação de um plano.

A transferência de grandes conjuntos de dados envolve a criação da equipe certa, o planejamento antecipado e o teste do plano de transferência antes de implementá-lo em um ambiente de produção. Ainda que essas etapas possam levar tanto tempo quanto a transferência em si, essas preparações podem minimizar a interrupção das operações comerciais durante a transferência.

Este artigo faz parte de uma série:

No diagrama a seguir, veja o caminho da sua jornada de migração.

Caminho de migração com quatro fases.

A fase de implantação é a terceira etapa da migração para o Google Cloud. Nela, você cria um processo de implantação para suas cargas de trabalho.

Este documento é útil se você planeja uma migração de um ambiente local, de um ambiente de hospedagem particular, de outro provedor de nuvem para o Google Cloud ou se estiver avaliando a oportunidade de migrar e quiser conhecer as possibilidades.

O que é transferência de dados?

Para os fins deste documento, a transferência de dados é o processo de mover dados sem transformá-los. Por exemplo, mover arquivos (no estado em que estão) em objetos.

A transferência de dados não é tão simples quanto parece

É tentador pensar na transferência de dados como uma sessão de FTP gigante, em que você coloca seus arquivos em um lado e espera que eles saiam do outro. No entanto, na maioria dos ambientes corporativos, o processo de transferência envolve muitos fatores, como os seguintes:

  • Elaborar um plano de transferência que considere o tempo administrativo, incluindo tempo para decidir sobre uma opção de transferência, receber aprovações e lidar com problemas imprevistos.
  • Coordenar as pessoas na sua organização, como a equipe que executa a transferência, o time que aprova as ferramentas e a arquitetura e as partes interessadas nos negócios que estão preocupadas com o valor e as interrupções que a transferência de dados pode trazer.
  • Escolher a ferramenta de transferência certa com base nos seus recursos, custo, tempo e outras considerações sobre o projeto.
  • Superar desafios de transferência de dados, incluindo problemas de "velocidade da luz" (largura de banda insuficiente), mover conjuntos de dados em uso ativo, proteger e monitorar os dados durante a movimentação deles e garantir que sejam transferidos.

O objetivo deste documento é ajudar você a dar os primeiros passos em uma iniciativa de transferência bem-sucedida.

A lista a seguir inclui recursos para outros tipos de projetos de transferência de dados não abordados neste documento:

  • Se você precisar transformar seus dados (como combinar linhas, unir conjuntos de dados ou filtrar informações de identificação pessoal), considere uma solução de extração, transformação e carregamento (ETL, na sigla em inglês) que possa depositar dados em um armazenamento de dados do Google Cloud. Para ver um exemplo dessa arquitetura, consulte este tutorial do Dataflow.
  • Se você precisar migrar um banco de dados e aplicativos relacionados (por exemplo, para elevar e mudar um aplicativo de banco de dados), consulte a documentação do Cloud Spanner, soluções para PostgreSQL e MySQL e outras documentações sobre o tipo de banco de dados.
  • Se você precisar mover uma instância de máquina virtual (VM), use o produto de migração de VMs do Google, o Migrate for Compute Engine.

Etapa 1: como montar sua equipe

O planejamento de uma transferência normalmente requer pessoal com os seguintes papéis e responsabilidades:

  • Ativação dos recursos necessários para uma transferência: administradores de armazenamento, TI e rede, um patrocinador executivo e outros consultores (por exemplo, uma equipe de Conta do Google ou parceiros de integração)
  • Aprovação da decisão de transferência: proprietários ou administradores de dados (para políticas internas sobre quem pode transferir quais dados), consultores jurídicos (para regulamentos relacionados a dados) e um administrador de segurança (para políticas internas sobre como o acesso a dados está protegido)
  • Execução da transferência: um líder de equipe, um gerente de projeto (para executar e rastrear o projeto), uma equipe de engenharia e recebimento e envio no local (para receber o hardware dos aparelhos)

É fundamental identificar quem é o proprietário das responsabilidades anteriores do projeto de transferência e incluí-lo nas reuniões de planejamento e decisão, quando for adequado. O planejamento organizacional insatisfatório geralmente é a causa de falhas nas iniciativas de transferência.

Coletar os requisitos do projeto e a opinião dessas partes interessadas pode ser um desafio, mas criar um plano e estabelecer papéis e responsabilidades claros compensa. Não é esperado que você saiba todos os detalhes dos seus dados. A montagem de uma equipe oferece mais informações sobre as necessidades da empresa. É uma prática recomendada identificar possíveis problemas antes de investir tempo, dinheiro e recursos para concluir as transferências.

Etapa 2: como coletar requisitos e recursos disponíveis

Ao criar um plano de transferência, recomendamos que você primeiro colete requisitos para sua transferência de dados e, em seguida, defina uma opção de transferência. Para coletar requisitos, use o seguinte processo:

  1. Identifique quais conjuntos de dados você precisa mover.
    • Selecione ferramentas como o Data Catalog para organizar seus dados em agrupamentos lógicos que são movidos e usados juntos.
    • Trabalhe com equipes da sua organização para validar ou atualizar esses agrupamentos.
  2. Identifique quais conjuntos de dados é possível mover.
    • Considere se alguns fatores regulatórios, de segurança ou outros proíbem a transferência de alguns conjuntos de dados.
    • Se você precisar transformar alguns dos seus dados antes de movê-los (por exemplo, para remover dados confidenciais ou reorganizá-los), considere usar um produto de integração de dados como Dataflow ou Cloud Data Fusion, ou um produto de orquestração de fluxo de trabalho, como Cloud Composer.
  3. Para conjuntos de dados móveis, determine para onde transferir cada conjunto de dados.
    • Registre a opção de armazenamento selecionada para armazenar seus dados. Normalmente, o sistema de armazenamento de destino no Google Cloud é o Cloud Storage. Mesmo que você precise de soluções mais complexas depois que seus aplicativos estiverem funcionando, o Cloud Storage é uma opção de armazenamento escalonável e durável. Para mais informações, consulte Práticas recomendadas para o Cloud Storage.
    • Entenda quais políticas de acesso a dados precisam ser mantidas após a migração.
    • Determine se você precisa armazenar esses dados em regiões específicas.
    • Planeje como estruturar esses dados no destino. Por exemplo, eles serão iguais ou diferentes da origem?
    • Determine se você precisa transferir dados regularmente.
  4. Para conjuntos de dados móveis, determine quais recursos estão disponíveis para movê-los.
    • Tempo: quando a transferência precisa ser concluída?
    • Custo: qual é o orçamento disponível para a equipe e os custos de transferência?
    • Pessoal: quem está disponível para executar a transferência?
    • Largura de banda (para transferências on-line): quanto da largura de banda disponível atualmente para o Google Cloud pode ser alocada para uma transferência e por qual período?

Antes de avaliar e selecionar opções de transferência na próxima fase do planejamento, recomendamos que você avalie se alguma parte do seu modelo de TI pode ser melhorada, como governança de dados, organização e segurança.

Seu modelo de segurança

Muitos membros da equipe de transferência podem receber novos papéis na sua organização do Google Cloud como parte do projeto de transferência de dados. O planejamento de transferência de dados é um ótimo momento para analisar as permissões de gerenciamento de identidade e acesso (IAM) e as práticas recomendadas para usar o IAM com segurança. Esses problemas podem afetar a forma como você concede acesso ao seu armazenamento. Por exemplo, é possível colocar limites rígidos no acesso de gravação a dados que foram arquivados por motivos regulatórios, mas permitir que muitos usuários e aplicativos gravem dados no ambiente de teste.

Sua organização do Google Cloud

A maneira como você estrutura seus dados no Google Cloud depende de como você planeja usar a plataforma. Armazenar os dados no mesmo projeto do Cloud em que você executa o aplicativo é uma abordagem simples, mas pode não ser ideal do ponto de vista do gerenciamento. Alguns desenvolvedores podem não ter o privilégio de visualizar os dados de produção. Nesse caso, um desenvolvedor pode criar código em dados de amostra, enquanto uma conta de serviço com privilégios pode acessar dados de produção. Portanto, convém manter todo o conjunto de dados de produção em um projeto separado do Cloud e usar uma conta de serviço para permitir o acesso aos dados de cada projeto de aplicativo.

O Google Cloud é organizado com base em projetos. Esses projetos podem ser agrupados em pastas, e as pastas podem ser agrupadas na sua organização. Os papéis são estabelecidos no nível do projeto, e as permissões de acesso são adicionadas a esses papéis nos níveis do bucket do Cloud Storage. Essa estrutura está alinhada à estrutura de permissões de outros provedores de armazenamento de objetos.

Para mais informações sobre como estruturar uma organização do Google Cloud, consulte Práticas recomendadas para organizações empresariais.

Etapa 3: como avaliar suas opções de transferência

Para avaliar suas opções de transferência de dados, a equipe de responsável precisa considerar vários fatores, incluindo os seguintes:

  • Custo
  • Tempo
  • Opções de transferência on-line e off-line
  • Ferramentas e tecnologias de transferência
  • Segurança

Custo

Esta é a maior parte dos custos associados à transferência de dados:

  • Custos de rede
    • A entrada para o Cloud Storage é gratuita. No entanto, se você estiver hospedando seus dados em um provedor de nuvem pública, poderá pagar uma taxa de saída e possíveis custos de armazenamento (por exemplo, operações de leitura) para transferir seus dados. Essa cobrança se aplica a dados vindos do Google ou de outro provedor de nuvem.
    • Caso seus dados estejam hospedados em um data center particular operado por você, também poderá haver custos extras para configurar mais largura de banda no Google Cloud.
  • Custos de armazenamento e operação do Cloud Storage durante e após a transferência de dados.
  • Custos do produto (por exemplo, um Transfer Appliance).
  • Custos com pessoal para montar sua equipe e adquirir suporte logístico.

Tempo

A transferência de grandes quantidades de dados é um dos fatores na computação que mais evidenciam as limitações de hardware das redes. Normalmente, é possível transferir 1 GB em 8 segundos em uma rede de 1 Gbps. Se você escalonar para um grande conjunto de dados (por exemplo, 100 TB), o tempo de transferência será de 12 dias. A transferência de grandes conjuntos de dados pode testar os limites da infraestrutura e causar problemas para sua empresa.

É possível usar a seguinte calculadora para entender quanto tempo uma transferência pode levar, considerando o tamanho do conjunto de dados que você está movendo e a largura de banda disponível para a transferência. Uma determinada porcentagem do tempo de gerenciamento é considerada nos cálculos.

Talvez você não queira transferir grandes conjuntos de dados para fora da rede da empresa durante o horário de pico. Se a transferência sobrecarregar a rede, ninguém mais será capaz de concluir tarefas necessárias ou essenciais. Por esse motivo, a equipe de transferência precisa considerar o tempo.

Depois que os dados são transferidos para o Cloud Storage, é possível usar várias tecnologias para processar os novos arquivos à medida que eles chegam, como o Dataflow.

Como aumentar a largura de banda da rede

A forma como você aumenta a largura de banda da rede depende de como se conecta ao Google Cloud.

Em uma transferência de nuvem para nuvem entre o Google Cloud e outros provedores de nuvem, o Google provisiona a conexão entre os data centers de fornecedores de nuvem, sem necessidade de configuração.

Se você estiver transferindo dados entre seu data center particular e o Google Cloud, há três abordagens principais:

  • Uma conexão de Internet pública usando uma API pública
  • Peering direto usando uma API pública
  • Cloud Interconnect usando uma API particular

Ao avaliar essas abordagens, considere suas necessidades de conectividade de longo prazo. Pode ser que você ache inviável adquirir largura de banda apenas para fins de transferência, mas, ao considerar o uso a longo prazo do Google Cloud e as necessidades de rede em toda a organização, o investimento pode valer a pena.

Como se conectar à internet usando uma conexão pública

Quando você usa uma conexão de Internet pública, a capacidade da rede é menos previsível por conta dos limites impostos pela capacidade e pelo roteamento do seu provedor de acesso à Internet (ISP, na sigla em inglês). O ISP pode oferecer um contrato de nível de serviço (SLA, na sigla em inglês) limitado ou não oferecer contrato nenhum. No entanto, essas conexões oferecem custos relativamente baixos e, com os extensos ajustes de peering do Google, seu ISP pode direcionar você para a rede global do Google com alguns saltos de rede.

Recomendamos que você verifique com o administrador de segurança se a política da sua empresa proíbe a transferência de alguns conjuntos de dados pela Internet pública. Verifique também se a conexão de Internet pública é usada para o tráfego de produção. As transferências de dados em grande escala podem afetar negativamente a rede de produção.

Como se conectar com peering direto

Para acessar a rede do Google com menos saltos de rede do que com uma conexão de Internet pública, use o peering direto. Ao usar o peering direto, é possível trocar o tráfego da Internet entre sua rede e os pontos de presença perimetrais (PoPs, na sigla em inglês) do Google, o que significa que seus dados não usam a Internet pública. Isso também reduz o número de saltos entre sua rede e a rede do Google. O peering com a rede do Google exige que você configure um número de sistema autônomo (AS, na sigla em inglês) registrado, conecte-se ao Google usando uma troca de Internet e forneça um contato contínuo com sua central de operações de rede.

Conectar-se com o Cloud Interconnect

O Cloud Interconnect oferece uma conexão direta com o Google Cloud por meio do Google ou de um dos provedores de serviços do Cloud Interconnect. Esse serviço evita que seus dados sejam transmitidos para a Internet pública e pode fornecer uma capacidade mais consistente para grandes transferências de dados. Normalmente, o Cloud Interconnect fornece SLAs para disponibilidade e desempenho da rede. Entre em contato direto com um provedor de serviços para saber mais. O Cloud Interconnect também é compatível com endereçamento particular, RFC 1918, para que a nuvem se torne efetivamente uma extensão do seu data center sem a necessidade de endereços IP públicos ou NATs.

Transferência on-line e off-line

Uma decisão importante é usar um processo off-line ou on-line para a transferência de dados. Ou seja, você precisa escolher entre transferir por uma rede, seja uma interconexão dedicada ou a Internet pública, ou usando um hardware de armazenamento.

Para ajudar nessa decisão, fornecemos uma calculadora de transferência para estimar as diferenças de tempo e custo entre essas duas opções. O gráfico a seguir também mostra algumas velocidades de transferência para vários tamanhos e larguras de banda do conjunto de dados. Uma determinada quantidade de sobrecarga de gerenciamento é integrada a esses cálculos.

Gráfico que mostra a relação entre tamanhos e velocidades de transferência.

Como observado anteriormente, talvez seja necessário considerar se o custo para alcançar latências mais baixas para a transferência de dados (como a aquisição de largura de banda da rede) é compensado pelo valor desse investimento para sua organização.

Opções disponíveis no Google

O Google oferece várias ferramentas e tecnologias para ajudar você a realizar uma transferência de dados.

Como decidir entre as opções de transferência do Google

A escolha de uma opção de transferência depende do seu caso de uso, conforme mostrado na tabela a seguir.

De onde você está movendo dados Cenário Produtos sugeridos
Outro provedor de nuvem (por exemplo, Amazon Web Services ou Microsoft Azure) para o Google Cloud Serviço de transferência do Cloud Storage
Cloud Storage para Cloud Storage (dois buckets diferentes) Serviço de transferência do Cloud Storage
Seu data center para o Google Cloud Largura de banda suficiente para cumprir o prazo do projeto
por menos que alguns TB de dados
gsutil
Seu data center para o Google Cloud Largura de banda suficiente para cumprir o prazo do projeto
por mais que alguns TB de dados
Serviço de transferência do Cloud Storage para dados locais
Seu data center para o Google Cloud Largura de banda insuficiente para cumprir o prazo do projeto Transfer Appliance

gsutil para transferências menores de dados locais

A gsutil é a ferramenta padrão para transferências de pequeno a médio porte (menos de alguns TB) em uma rede de escala empresarial, de um data center particular para o Google Cloud. Recomendamos que você inclua a gsutil no caminho padrão ao usar o Cloud Shell. Ela também está disponível por padrão quando você instala o SDK do Cloud. É uma ferramenta confiável que fornece todos os recursos básicos necessários para gerenciar as instâncias do Cloud Storage, incluindo a cópia dos dados de e para o sistema de arquivos local e o Cloud Storage. Ela também pode mover e renomear objetos e executar sincronizações incrementais em tempo real, como rsync, para um bucket do Cloud Storage.

A gsutil é especialmente útil nos seguintes cenários:

  • Suas transferências precisam ser executadas conforme necessário ou durante as sessões de linha de comando dos usuários.
  • Você está transferindo apenas alguns arquivos, arquivos muito grandes ou ambos.
  • Você está consumindo a saída de um programa (saída de streaming para o Cloud Storage).
  • Você precisa observar um diretório com um número moderado de arquivos e sincronizar todas as atualizações com latências muito baixas.

Os princípios básicos dos primeiros passos com a gsutil são criar um bucket do Cloud Storage e copiar dados para esse bucket. Para transferências de conjuntos de dados maiores, há duas coisas a serem consideradas:

  • Para transferências com várias linhas de execução, use gsutil -m.

    Vários arquivos são processados em paralelo, aumentando suas velocidades de transferência.

  • Para um arquivo grande, use transferências compostas.

    Esse método divide arquivos grandes em blocos menores para aumentar a velocidade de transferência. Os blocos são transferidos e validados em paralelo, enviando todos os dados ao Google. Quando os blocos chegam ao Google, eles são combinados (chamados de composição) para formar um objeto. A composição pode resultar em taxas de exclusão antecipada para objetos armazenados no Cloud Storage Coldline e no Cloud Storage Nearline. Portanto, não é recomendável usá-la com esses tipos de objetos.

    Esse recurso tem algumas desvantagens, incluindo que cada parte (não o objeto inteiro) passa por uma soma de verificação individual, e a composição de classes de armazenamento de acesso raro resulta em penalidades de recuperação antecipada.

Serviço de transferência do Cloud Storage para grandes transferências de dados locais

Como a gsutil, o Serviço de transferência de dados locais do Cloud Storage (na versão Beta) permite transferências do armazenamento do sistema de arquivos de rede (NFS, na sigla em inglês) para o Cloud Storage. Mesmo que o gsutil seja compatível com tamanhos de transferência pequenos (até alguns TB), o Serviço de transferência de dados locais do Cloud Storage é projetado para transferências em grande escala (até petabytes de dados, bilhões de arquivos). Ele é compatível com cópias completas ou cópias incrementais e funciona em todas as opções de transferência listadas anteriormente em Como escolher entre as opções de transferência do Google. Ele também tem uma interface gráfica do usuário simples e gerenciada. Mesmo usuários não técnicos (após a configuração) podem usá-lo para mover dados.

O Serviço de transferência de dados locais do Cloud Storage é especialmente útil nos seguintes cenários:

  • Caso tenha largura de banda suficiente para mover os volumes de dados. Consulte a Calculadora do Google Cloud Data Transfer.
  • Caso tenha uma grande base de usuários internos que podem achar uma ferramenta de linha de comando como gsutil difícil de usar.
  • Caso precise de um relatório de erros robusto e um registro de todos os arquivos e objetos que são movidos.
  • Caso precise limitar o impacto das transferências em outras cargas de trabalho no seu data center. Esse produto pode permanecer abaixo de um limite de largura de banda especificado pelos usuários.
  • Caso queira executar transferências recorrentes em uma programação.

Configure o Serviço de transferência de dados locais do Cloud Storage instalando um software local (conhecido como agentes) em computadores no seu data center. Esses agentes estão em contêineres do Docker, o que facilita a execução de muitos deles ou a orquestração deles por meio do Kubernetes.

Após a conclusão da configuração, os usuários podem iniciar transferências no Console do Google Cloud fornecendo um diretório de origem, um bucket de destino e um horário ou uma programação. O Serviço de transferência do Cloud Storage rastreia recursivamente subdiretórios e arquivos no diretório de origem e cria objetos com um nome correspondente no Cloud Storage. O objeto /dir/foo/file.txt se torna um objeto no bucket de destino chamado /dir/foo/file.txt. O Serviço de transferência do Cloud Storage tenta automaticamente uma transferência quando encontra erros temporários. Enquanto as transferências estão em execução, é possível monitorar quantos arquivos são movidos e a velocidade geral da transferência, além de ver amostras de erros.

Quando a transferência é concluída, um arquivo delimitado por tabulações (TSV, na sigla em inglês) é gerado com um registro completo de todos os arquivos acessados e todas as mensagens de erro recebidas. Os agentes são tolerantes a falhas. Portanto, se um agente ficar inativo, a transferência continuará com os agentes restantes. Os agentes também se atualizam e se recuperam. Assim, você não precisa se preocupar em corrigir as versões mais recentes ou reiniciar o processo caso ocorra devido a um problema inesperado.

Pontos a serem considerados ao usar o Serviço de transferência do Cloud Storage:

  • Use uma configuração de agente idêntica em todas as máquinas. Todos os agentes precisam ver os mesmos valores do sistema de arquivos de rede (NFS, na sigla em inglês) da mesma maneira (mesmos caminhos relativos). Essa configuração é um requisito para o produto funcionar.
  • Mais agentes resultam em mais velocidade. Como as transferências são paralelas automaticamente em todos os agentes, recomendamos que você implante muitos agentes para usar a largura de banda disponível.
  • Limites de largura de banda podem proteger suas cargas de trabalho. Suas outras cargas de trabalho podem usar a largura de banda do seu data center. Portanto, defina um limite de largura de banda para evitar que as transferências afetem seus SLAs.
  • Planeje o tempo para analisar os erros. Muitas vezes, transferências grandes podem resultar em erros que exigem análise. O Serviço de transferência do Cloud Storage permite que você veja uma amostra dos erros encontrados diretamente no Console do Cloud. Se necessário, carregue o registro completo de todos os erros de transferência para o BigQuery para verificar arquivos ou avaliar erros que permaneceram mesmo após novas tentativas. Esses erros podem ser causados pela execução de apps que estavam gravando na fonte enquanto a transferência ocorreu ou os erros podem revelar um problema que requer solução de problemas (por exemplo, erro de permissões).
  • Configure o Cloud Monitoring para transferências de longa duração. O Serviço de transferência do Cloud Storage permite que o Monitoring fiscalize a integridade e a capacidade do agente. Assim, é possível definir alertas que notifiquem quando os agentes estiverem inativos ou precisarem de atenção. Agir em falhas de agente é importante para transferências que levam vários dias ou semanas. Assim, você evita lentidões ou interrupções significativas que podem atrasar o cronograma do projeto.

Transfer Appliance para transferências maiores

Para transferências em grande escala (especialmente transferências com largura de banda de rede limitada), o Transfer Appliance é uma excelente opção, especialmente quando uma conexão de rede rápida não está disponível e é muito cara para adquirir mais largura de banda.

O Transfer Appliance é especialmente útil nos seguintes cenários:

  • O data center está em um local remoto com acesso limitado ou sem acesso à largura de banda.
  • A largura de banda está disponível, mas não pode ser adquirida a tempo para cumprir seu prazo.
  • Caso tenha acesso a recursos logísticos para receber e conectar dispositivos à sua rede.

Com essa opção, considere o seguinte:

  • O Transfer Appliance exige que você possa receber e devolver o hardware de propriedade do Google.
  • Dependendo da sua conexão com a Internet, a latência para transferir dados para o Google Cloud normalmente é maior com o Transfer Appliance do que on-line.
  • O Transfer Appliance está disponível apenas em alguns países.

Os dois critérios principais a serem considerados com o Transfer Appliance são custo e velocidade. Com conectividade de rede razoável (por exemplo, 1 Gbps), a transferência de 100 TB de dados on-line leva mais de 10 dias para ser concluída. Se essa taxa for aceitável, uma transferência on-line provavelmente será uma boa solução para suas necessidades. Se você tiver apenas uma conexão de 100 Mbps (ou pior, de um local remoto), a mesma transferência levará mais de 100 dias. Nesse momento, vale a pena considerar uma opção de transferência off-line, como o Transfer Appliance.

A aquisição de um Transfer Appliance é simples. No Console do Cloud, você solicita um Transfer Appliance, indica a quantidade de dados que tem e, em seguida, o Google envia um ou mais dispositivos para o local solicitado. Você tem um número de dias para transferir seus dados para o dispositivo ("captura de dados") e enviá-los de volta ao Google.

O tempo de resposta esperado para um dispositivo de rede ser enviado, carregado com seus dados, devolvido e incorporado no Google Cloud é de 50 dias. Se o período de transferência on-line for calculado para ser significativamente maior do que esse período, considere o Transfer Appliance. O custo total do processo do dispositivo de 480 TB é inferior a US$ 3.000.

Serviço de transferência do Cloud Storage para transferências entre nuvens

O Serviço de transferência do Cloud Storage é totalmente gerenciado, altamente escalonável e permite automatizar transferências de outras nuvens públicas para o Cloud Storage. Ele é compatível com transferências para o Cloud Storage do Amazon S3 e HTTP.

Para o Amazon S3, forneça uma chave de acesso e um bucket do S3 com filtros opcionais para os objetos do S3 selecionarem. Em seguida, copie os objetos do S3 para qualquer bucket do Cloud Storage. O serviço também aceita cópias diárias de qualquer objeto modificado. No momento, o serviço não é compatível com transferências de dados para o Amazon S3.

Para HTTP, é possível fornecer ao Serviço de transferência do Cloud Storage uma lista de URLs públicos em um formato especificado. Essa abordagem exige que você escreva um script que forneça o tamanho de cada arquivo em bytes, além de um hash MD5 codificado em Base64 do conteúdo do arquivo. Às vezes, o tamanho do arquivo e o hash estão disponíveis no site de origem. Caso contrário, você precisará de acesso local aos arquivos. Nesse caso, pode ser mais fácil usar gsutil, conforme descrito anteriormente.

Se você tiver uma transferência em vigor, o Serviço de transferência do Cloud Storage é uma ótima maneira de conseguir dados e mantê-los, especialmente ao transferir de outra nuvem pública.

Segurança

Para muitos usuários do Google Cloud, a segurança é o foco principal, e há diferentes níveis de segurança disponíveis. Alguns aspectos da segurança a serem considerados incluem proteção de dados em repouso (autorização e acesso ao sistema de armazenamento de origem e destino), proteção de dados durante o trânsito e proteção do acesso ao produto de transferência. A tabela a seguir descreve esses aspectos de segurança por produto.

Produto Dados em repouso Dados em trânsito Acesso à transferência de produtos
Transfer Appliance Todos os dados são criptografados em repouso. Os dados são protegidos com chaves gerenciadas pelo cliente. Qualquer pessoa pode pedir um dispositivo, mas, para usá-lo, precisa acessar a fonte de dados.
gsutil Chaves de acesso necessárias para acessar o Cloud Storage, que é criptografado em repouso. Os dados são enviados por HTTPS e criptografados em trânsito. Qualquer pessoa pode fazer o download e executar o gsutil. Elas precisam ter permissões para buckets e arquivos locais para mover dados.
Serviço de transferência do Cloud Storage para dados locais Chaves de acesso necessárias para acessar o Cloud Storage, que é criptografado em repouso. O processo do agente pode acessar arquivos locais conforme as permissões do SO. Os dados são enviados por HTTPS e criptografados em trânsito. Você precisa ter permissões de editor de objetos para acessar os buckets do Cloud Storage.
Serviço de transferência do Cloud Storage Chaves de acesso necessárias para recursos que não são do Google Cloud (por exemplo, Amazon S3). As chaves de acesso são necessárias para acessar o Cloud Storage, que é criptografado em repouso. Os dados são enviados por HTTPS e criptografados em trânsito. Você precisa ter permissões de IAM para que a conta de serviço acesse as permissões do editor de origem e de objeto de todos os buckets do Cloud Storage.

Para conseguir melhorias de segurança de base, as transferências on-line para o Google Cloud usando gsutil são realizadas por HTTPS, os dados são criptografados em trânsito e todos os dados no Cloud Storage são, por padrão, criptografados em repouso. Para informações sobre esquemas mais sofisticados relacionados à segurança, consulte Considerações sobre segurança e privacidade. Se você usa o Transfer Appliance, as chaves de segurança que você controla protegem seus dados. Geralmente, recomendamos que você envolva sua equipe de segurança para garantir que seu plano de transferência atenda a sua empresa e aos requisitos regulatórios.

Produtos de transferência de terceiros

Para otimização avançada no nível da rede ou fluxos de trabalho contínuos de transferência de dados, convém usar ferramentas mais avançadas. Para ver informações sobre ferramentas mais avançadas, consulte os parceiros do Google.

Os links a seguir destacam algumas das muitas opções (listadas aqui em ordem alfabética):

  • O Aspera On Cloud é baseado no protocolo patenteado do Aspera e adequado para fluxos de trabalho em grande escala. Ele está disponível sob demanda como um modelo de licença de assinatura.
  • O Cloud FastPath da Tervela pode ser usado para criar um fluxo de dados gerenciado dentro e fora do Google Cloud. Para detalhes, consulte Como usar o Cloud FastPath para criar fluxos de dados.
  • A Komprise é usada na análise de dados por meio de armazenamento local, para identificar dados frios e movê-los para o Cloud Storage. Para detalhes, consulte Como usar o Komprise para arquivar dados frios no Cloud Storage.
  • O Signiant oferece o Media Shuttle como uma solução de software como serviço (SaaS, na sigla em inglês) para transferir qualquer arquivo de ou para qualquer lugar. Ela também oferece o Flight, um utilitário de escalonamento automático baseado em um protocolo altamente otimizado, e o Manager+Agents (links em inglês), uma ferramenta de automação para transferências em grande escala entre locais geograficamente dispersos.

Etapa 4: preparação para a transferência

Para uma transferência grande ou com dependências significativas, é importante entender como operar o produto de transferência. Os clientes geralmente passam pelas seguintes etapas:

  1. Preços e estimativa de ROI. Esta etapa fornece muitas opções para ajudar na tomada de decisões.
  2. Teste funcional Nesta etapa, você confirma se o produto pode ser configurado e se a conectividade de rede (quando aplicável) está funcionando. Você também testa se pode mover uma amostra representativa dos dados (incluindo as etapas de não transferência, como mover uma instância de VM) para o destino.

    Geralmente, é possível realizar essa etapa antes de alocar todos os recursos, como máquinas de transferência ou largura de banda. As metas desta etapa incluem as seguintes verificações:

    • Confirme se é possível instalar e operar a transferência.
    • Identifique possíveis problemas de interrupção do projeto que bloqueiam a movimentação de dados (por exemplo, rotas de rede) ou suas operações (por exemplo, treinamento necessário em uma etapa sem transferência).
  3. Teste de desempenho. Nesta etapa, execute uma transferência em uma grande amostra dos seus dados (normalmente de 3 a 5%) depois que os recursos de produção são alocados para verificar as seguintes questões:

    • Confirme se é possível consumir todos os recursos alocados e atingir a velocidade esperada.
    • Identifique e corrija gargalos (por exemplo, sistema de armazenamento de origem lenta).

Etapa 5: garantir a integridade da transferência

Para garantir a integridade dos seus dados durante uma transferência, recomendamos que você tome as seguintes precauções:

  • Ative o controle de versão e o backup no seu destino para limitar o dano de exclusões acidentais.
  • Valide seus dados antes de remover os dados de origem.

Para transferências de dados em grande escala (com petabytes de dados e bilhões de arquivos), uma taxa de erro latente de base do sistema de armazenamento de origem tão baixo quanto 0,0001% ainda resulta em perda de dados de milhares de arquivos e gigabytes. Normalmente, os aplicativos em execução na origem já são tolerantes a esses erros. Nesse caso, a validação extra não é necessária. Há exceções em alguns cenários (por exemplo, arquivo de longo prazo), em que é necessária mais validação antes de ser considerado seguro excluir dados da origem.

Dependendo dos requisitos do aplicativo, recomendamos que você execute alguns testes de integridade de dados após a conclusão da transferência para garantir que o aplicativo continue funcionando conforme o esperado. Muitos produtos de transferência têm verificações de integridade de dados integradas. No entanto, dependendo do seu perfil de risco, convém fazer um conjunto extra de verificações nos dados e nos apps que os leem antes de excluir dados da origem. Por exemplo, confirme se uma soma de verificação que você registrou e calculou independentemente corresponde aos dados gravados no destino ou se um conjunto de dados usado pelo aplicativo foi transferido.

Como encontrar ajuda

O Google Cloud oferece várias opções e recursos para você encontrar a ajuda e o suporte necessários para usar os serviços do Google Cloud da melhor maneira possível:

Há mais recursos para ajudar a migrar cargas de trabalho para o Google Cloud no Centro de migração do Google Cloud.

Para mais informações sobre esses recursos, consulte a seção Como encontrar ajuda de Migração para o Google Cloud: primeiros passos.

A seguir