Este documento descreve como a realocação bucket do Cloud Storage ajuda a realocar buckets sem servidor entre localizações geográficas. 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.
Vantagens
Confira as vantagens 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 com a realocação de 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 dele. 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 a residência de dados estiver 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 que os uploads retomáveis em trânsito 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. | 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 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 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 os 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 uma delas:
| 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 mudanças 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 do 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.