Realocação de buckets

Este documento descreve como a realocação bucket do Cloud Storage ajuda a realocar buckets sem servidor entre locais geográficos. Usando a realocação de buckets, é possível mover um bucket de um local para outro sem mudar o nome dele ou exigir a transferência manual de dados dentro do bucket.

Antes de iniciar o processo de realocação, planeje a realocação do bucket para minimizar a interrupção. Para instruções sobre como realizar a realocação, consulte Realocar buckets.

Benefícios

Confira os benefícios da realocação de buckets:

  • Migração simplificada: é possível realocar buckets com uma sobrecarga operacional mínima. Não é necessário usar scripts complexos ou processos de várias etapas.

  • Operação contínua: seus aplicativos permanecem acessíveis durante todo o processo de realocação, sem tempo de inatividade para operações de leitura e com tempo de inatividade mínimo para operações de gravação.

  • Desempenho aprimorado: a colocação de recursos do Compute Engine e do Cloud Storage na mesma região pode reduzir a latência e melhorar o desempenho.

  • Preservação de metadados: o processo de realocação de buckets retém os metadados do objeto. A retenção dos metadados do objeto mantém a compatibilidade com aplicativos e fluxos de trabalho atuais após a movimentação do bucket.

  • Configurações de classe de armazenamento: é possível manter as configurações de classe do Cloud Storage, incluindo a classe automática. A preservação da classe de armazenamento ajuda a manter a estrutura de custos consistente após a realocação.

Casos de uso

Confira os casos de uso que podem ser alcançados ao realocar seus buckets:

  • Reduzir o custo de transferência de dados: evite custos de transferência de dados realocando seu bucket mais perto das cargas de trabalho que acessam os dados do bucket. Por exemplo, se os dados estiverem armazenados nos Estados Unidos e forem acessados principalmente da Europa, você poderá mover o bucket para um local europeu para reduzir os custos de transferência de dados.

  • Melhorar o desempenho: melhore a velocidade e a resposta do aplicativo movendo os dados para mais perto das cargas de trabalho do Compute Engine. Por exemplo, se o aplicativo for executado em us-central1, mas os dados estiverem em asia-east1, você poderá realocar o bucket para us-central1 para reduzir a latência.

  • Aumentar a resiliência: proteja seus dados críticos contra interrupções regionais. Por exemplo, se os dados estiverem armazenados em uma única região, você poderá realocá-los para uma birregião ou multirregião para aumentar a disponibilidade e a recuperação de desastres.

Tipos de realocação

Há dois tipos de realocação de buckets:

  • Realocação de buckets com tempo de inatividade de gravação: nesse tipo de realocação, há um período em que não é possível realizar operações de gravação de objetos durante o processo de realocação do bucket.

  • Realocação de buckets sem tempo de inatividade de gravação: nesse tipo de realocação, é possível continuar realizando operações de gravação de objetos sem interrupção enquanto a realocação do bucket acontece em segundo plano.

Os locais de origem e de destino do bucket determinam se uma realocação de bucket envolve tempo de inatividade de gravação. A tabela a seguir mostra como o local do bucket afeta o tempo de inatividade de gravação durante uma realocação, incluindo as diferenças entre realocações com e sem tempo de inatividade.

Especificação Realocação de buckets com tempo de inatividade de gravação Realocação de buckets sem tempo de inatividade de gravação
Local do bucket

A realocação de um bucket entre os seguintes locais causa tempo de inatividade:

  • Regiões
  • Regiões duplas
  • Locais multirregionais
  • Locais multirregionais e birregiões predefinidas
  • Locais multirregionais e birregiões configuráveis se os dois locais tiverem códigos multirregionais diferentes

A realocação de um bucket entre os seguintes locais não causa tempo de inatividade se os dois locais compartilharem o mesmo código multirregional:

  • Birregiões configuráveis
  • Locais multirregionais e birregiões configuráveis
Disponibilidade de gravação Não é possível realizar operações de gravação durante a etapa de sincronização final.

As operações de gravação continuam sem interrupção durante a realocação.

Observação: as realocações sem tempo de inatividade de gravação levam no mínimo sete dias para serem concluídas, independentemente do tamanho do bucket ou da contagem de objetos. Essa duração mínima é necessária para permitir que os uploads retomáveis em andamento sejam concluídos. Como o progresso da realocação não é linear e imprevisível, não use o progresso inicial da realocação para estimar a duração total de realocações maiores.

Envolvimento do usuário É necessário iniciar a etapa de finalização do tempo de inatividade de gravação. Não é necessária uma etapa de finalização explícita.
Impacto no desempenho Não é possível gravar ou atualizar objetos no bucket durante a etapa de sincronização final.A latência de leitura e gravação de objetos pode aumentar durante a realocação.
Cancelamento da realocação de buckets Mais rápido do que realocações sem tempo de inatividade de gravação. O cancelamento não é instantâneo e pode levar mais tempo devido à necessidade de preencher objetos.
Suporte a recursosOferece menos suporte a recursos do que realocações sem tempo de inatividade de gravação. Para mais informações sobre os recursos não compatíveis, consulte Recursos não compatíveis.Há limitações para recursos como uploads de várias partes, políticas de retenção, Firebase e appspot. Para mais informações sobre essas limitações, consulte os requisitos e limitações de compatibilidade de buckets.
Duração mínima da realocação Nenhum Sete dias. Esse mínimo se aplica independentemente do tamanho total do bucket ou do número de objetos que ele contém.

Entender o processo de realocação de buckets

A realocação de buckets ajuda a mover dados de um bucket de origem para um bucket de destino. O bucket de origem contém os dados que você quer mover, e o bucket de destino é onde você quer mover os dados.

O diagrama a seguir mostra o fluxo do processo de realocação de buckets:

Fluxo do processo de realocação de buckets.
Figura 1. Fluxo do processo de realocação de buckets (clique para ampliar).

*A sincronização final só é necessária para realocações com tempo de inatividade de gravação.

A tabela a seguir lista as três etapas principais e a descrição de cada etapa:

Etapa Descrição

Executar uma simulação
(Opcional)

Simula o processo de realocação de buckets para identificar possíveis problemas antes do início da transferência de dados.

Iniciar a etapa de realocação

Copia dados do bucket de origem para o bucket de destino. Os metadados do bucket são bloqueados para gravação para evitar quaisquer mudanças no bucket que possam afetar o processo de realocação. No entanto, é possível gravar, modificar e excluir objetos no bucket. Os fatores que influenciam a duração são os seguintes:

  • A frequência de atualizações, exclusões ou adições de objetos no bucket afeta diretamente a duração da cópia. Uma taxa de mudança maior exige mais tempo. Há uma taxa máxima de movimentação de objetos `Rm, objects/second`. Com `N` objetos totais e uma taxa de atualização de `R objects/second`, a duração da etapa de cópia pode ser estimada como `N / (Rm - R)` segundos.
  • Buckets grandes exigem mais tempo de realocação devido à largura de banda finita.
  • O tamanho dos objetos individuais afeta o tempo de cópia. Objetos maiores que 10 GB levam mais tempo para serem transferidos do que objetos com menos de 10 GB devido a restrições de largura de banda. Por exemplo, um objeto de 1 TB leva um dia para ser copiado.

Iniciar a etapa de sincronização final
(Necessário apenas para realocações com tempo de inatividade de gravação)

Depois de iniciar a sincronização final, o bucket será bloqueado para gravação. Como resultado, não é possível gravar ou atualizar objetos no bucket durante esse período, evitando inconsistências de dados. No entanto, é possível continuar lendo no bucket.

Depois que todos os dados forem transferidos, verificados e o bucket estiver operacional no novo local, o bloqueio de gravação será removido automaticamente. Em seguida, é possível retomar a gravação e a atualização de objetos no bucket.

Limitações

Para realocar o bucket, verifique se as configurações dele oferecem suporte à realocação de buckets analisando a lista de recursos não compatíveis e requisitos de compatibilidade.

A realocação de buckets não é compatível se os buckets de origem e de destino estiverem nos seguintes locais:

Tipo de local Locais não compatíveis
Regiões
  • ME-CENTRAL1
  • ME-WEST1

Preços

Para detalhes sobre os preços associados à realocação de buckets, consulte Preços do Cloud Storage.

A seguir