Realocação de buckets

Neste documento, descrevemos como a realocação bucket do Cloud Storage ajuda você a realocar buckets sem servidor entre localizações geográficas. Com a realocação de bucket, é 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 as interrupções. Para instruções sobre como realizar a realocação, consulte Realocar buckets.

Vantagens

Os benefícios da realocação de buckets são os seguintes:

  • Migração simplificada: é possível realocar buckets com o mínimo de overhead operacional. 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 inatividade para operações de leitura e com inatividade mínima para operações de gravação.

  • Melhor desempenho: colocalizar os 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 bucket mantém os metadados do objeto. A retenção dos metadados do objeto mantém a compatibilidade com os 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 atuais da classe do Cloud Storage, incluindo a classe automática. Preservar a classe de armazenamento ajuda a manter a estrutura de custos consistente após a realocação.

Casos de uso

Confira a seguir os casos de uso que você pode alcançar ao realocar seus buckets:

  • Reduzir o custo de transferência de dados: evite custos de transferência de dados realocando o bucket para 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, será possível 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, será possível realocar o bucket para us-central1 para reduzir a latência.

  • Melhorar a resiliência: proteja seus dados críticos contra interrupções regionais. Por exemplo, se os dados estiverem armazenados em uma única região, será possível 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 bucket:

  • Realocação de bucket com inatividade de gravação: na realocação de bucket com inatividade de gravaçã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 de bucket.

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

Os locais de origem e destino do bucket determinam se uma realocação de bucket envolve 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 bucket com tempo de inatividade de gravação Realocação de buckets sem inatividade de gravação
Local do bucket

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

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

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

  • Birregiões configuráveis
  • Multirregiões 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ções durante a realocação.

Observação: as realocações sem inatividade de gravação levam pelo menos 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 para estimar a duração total de realocações maiores.

Envolvimento do usuário Você precisa iniciar a etapa de finalização do período de inatividade de gravação. Nenhuma etapa de finalização explícita é necessária.
Impacto no desempenho Não é possível gravar ou atualizar objetos no bucket durante a etapa final de sincronização.A latência de leitura e gravação de objetos pode aumentar durante a realocação.
Cancelamento da realocação de bucket Mais rápido do que as realocações sem inatividade de gravação. O cancelamento não é instantâneo e pode demorar mais devido à necessidade de preencher objetos.
Suporte a recursosOferece menos suporte a recursos do que as realocações sem inatividade de gravação. Para mais informações sobre os recursos incompatíveis, consulte Recursos incompatíveis.Existem 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 as limitações de compatibilidade do bucket.
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 bucket ajuda a mover seus 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 é para onde você quer mover os dados.

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

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 inatividade de gravação.

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

Etapa Descrição

Realizar uma simulação
(opcional)

Simula o processo de realocação de bucket para identificar possíveis problemas antes que a transferência de dados real comece.

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 alterações 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 mais alta requer mais tempo. Há uma taxa máxima de movimentação de objetos `Rm, objetos/segundo`. Com um total de `N` objetos e uma taxa de atualização de `R objetos/segundo`, 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 com mais de 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.

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

Depois de iniciar a sincronização final, o bucket é bloqueado para gravação. Como resultado, não é possível gravar ou atualizar objetos no bucket durante esse período, o que evita inconsistências de dados. No entanto, ainda é possível ler o 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, você poderá retomar a gravação e a atualização de objetos no bucket.

Limitações

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

A realocação de bucket não será aceita se os buckets de origem e destino estiverem nos seguintes locais:

Tipo de local Locais não aceitos
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