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 emasia-east1, você poderá realocar o bucket paraus-central1para 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:
|
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:
|
| 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 recursos | Oferece 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:
*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 | Simula o processo de realocação de buckets para identificar possíveis problemas antes do início da transferência de dados. |
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:
|
|
Iniciar
a etapa de sincronização final | 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 |
|
Preços
Para detalhes sobre os preços associados à realocação de buckets, consulte Preços do Cloud Storage.
A seguir
- Saiba como planejar uma realocação de buckets.
- Saiba como realocar buckets.