Restauração point-in-time para blobs de bloco
A restauração point-in-time fornece proteção contra exclusão acidental ou corrupção, permitindo que você restaure dados de blob de bloco para um estado anterior. A restauração point-in-time é útil em cenários em que um usuário ou aplicativo exclui dados acidentalmente ou onde um erro de aplicativo corrompe dados. A restauração point-in-time também permite cenários de teste que exigem a reversão de um conjunto de dados para um estado conhecido antes de executar testes adicionais.
A restauração point-in-time é suportada apenas para contas de armazenamento v2 de uso geral na camada de desempenho padrão. Somente os dados nas camadas de acesso quente e frio podem ser restaurados com restauração point-in-time. A restauração point-in-time ainda não é suportada em contas que têm um namespace hierárquico.
Para saber como habilitar a restauração point-in-time para uma conta de armazenamento, consulte Executar uma restauração point-in-time em dados de blob de bloco.
Como funciona a restauração point-in-time
Para habilitar a restauração point-in-time, crie uma política de gerenciamento para a conta de armazenamento e especifique um período de retenção. Durante o período de retenção, você pode restaurar blobs de bloco do estado atual para um estado em um momento anterior.
Para iniciar uma restauração point-in-time, chame a operação Restaurar intervalos de Blob e especifique um ponto de restauração no horário UTC. Você pode especificar intervalos lexicográficos de nomes de contêiner e blob para restaurar ou omitir o intervalo para restaurar todos os contêineres na conta de armazenamento. São suportados até 10 intervalos lexicográficos por operação de restauro.
O Armazenamento do Azure analisa todas as alterações feitas nos blobs especificados entre o ponto de restauração solicitado, especificado no horário UTC, e o momento presente. A operação de restauração é atômica, portanto, ou consegue restaurar completamente todas as alterações, ou falha. Se houver blobs que não possam ser restaurados, a operação falhará e as operações de leitura e gravação nos contêineres afetados serão retomadas.
O diagrama a seguir mostra como a restauração point-in-time funciona. Um ou mais contêineres ou intervalos de blob são restaurados para seu estado n dias atrás, onde n é menor ou igual ao período de retenção definido para restauração point-in-time. O efeito é reverter operações de gravação e exclusão que aconteceram durante o período de retenção.
Apenas uma operação de restauração pode ser executada em uma conta de armazenamento de cada vez. Uma operação de restauração não pode ser cancelada quando estiver em andamento, mas uma segunda operação de restauração pode ser executada para desfazer a primeira operação.
A operação Restore Blob Ranges retorna uma ID de restauração que identifica exclusivamente a operação. Para verificar o status de uma restauração point-in-time, chame a operação Get Restore Status com o ID de restauração retornado da operação Restore Blob Ranges .
Importante
Quando você executa uma operação de restauração, o Armazenamento do Azure bloqueia as operações de dados nos blobs nos intervalos que estão sendo restaurados durante a operação. As operações de leitura, gravação e exclusão são bloqueadas no local principal. Por esse motivo, operações como listar contêineres no portal do Azure podem não ter o desempenho esperado enquanto a operação de restauração está em andamento.
As operações de leitura do local secundário podem prosseguir durante a operação de restauração se a conta de armazenamento for replicada geograficamente.
Atenção
A restauração point-in-time oferece suporte à restauração contra operações que atuaram apenas em blobs de bloco. Quaisquer operações que atuaram em contêineres não podem ser restauradas. Por exemplo, se você excluir um contêiner da conta de armazenamento chamando a operação Excluir contêiner , esse contêiner não poderá ser restaurado com uma operação de restauração point-in-time. Em vez de excluir um contêiner inteiro, exclua blobs individuais se quiser restaurá-los mais tarde.
Pré-requisitos para restauração point-in-time
A restauração point-in-time requer que os seguintes recursos do Armazenamento do Azure sejam habilitados antes que você possa habilitar a restauração point-in-time:
Para saber mais sobre as recomendações da Microsoft para proteção de dados, consulte Visão geral sobre proteção de dados.
Atenção
Depois de habilitar o controle de versão de blob para uma conta de armazenamento, cada operação de gravação em um blob nessa conta resulta na criação de uma nova versão. Por esse motivo, habilitar o controle de versão de blob pode resultar em custos adicionais. Para minimizar os custos, use uma política de gerenciamento do ciclo de vida para excluir automaticamente as versões antigas. Para obter mais informações sobre o gerenciamento do ciclo de vida, consulte Otimizar custos automatizando as camadas de acesso do Armazenamento de Blobs do Azure.
Período de retenção para restauração point-in-time
Ao habilitar a restauração point-in-time para uma conta de armazenamento, você especifica um período de retenção. Os blobs de bloqueio na sua conta de armazenamento podem ser restaurados durante o período de retenção.
O período de retenção começa alguns minutos depois de ativar a restauração point-in-time. Lembre-se de que não é possível restaurar blobs para um estado anterior ao início do período de retenção. Por exemplo, se você ativou a restauração point-in-time em 1º de maio com uma retenção de 30 dias, em 15 de maio poderá restaurar para um máximo de 15 dias. Em 1º de junho, você pode restaurar dados entre 1 e 30 dias.
O período de retenção para restauração point-in-time deve ser pelo menos um dia menor do que o período de retenção especificado para exclusão suave. Por exemplo, se o período de retenção de exclusão suave estiver definido como sete dias, o período de retenção de restauração point-in-time poderá ser entre 1 e 6 dias.
Nota
O período de retenção especificado para a restauração point-in-time não tem efeito sobre a retenção de versões de blob. As versões de Blob são mantidas até serem explicitamente excluídas. Para otimizar os custos excluindo ou hierarquizando versões mais antigas, crie uma política de gerenciamento do ciclo de vida. Para obter mais informações, consulte Otimizar custos gerenciando automaticamente o ciclo de vida dos dados.
O tempo necessário para restaurar um conjunto de dados é baseado no número de operações de gravação e exclusão feitas durante o período de restauração. Por exemplo, uma conta com um milhão de blobs com 3.000 blobs adicionados por dia e 1.000 blobs excluídos por dia requer aproximadamente duas horas para restaurar para um ponto 30 dias no passado. Um período de retenção e restauração superior a 90 dias no passado não seria recomendado para uma conta com essa taxa de alteração.
Permissões para restauração point-in-time
Para iniciar uma operação de restauração, um cliente deve ter permissões de gravação para todos os contêineres na conta de armazenamento. Para conceder permissões para autorizar uma operação de restauração com a ID do Microsoft Entra, atribua a função de Colaborador da Conta de Armazenamento à entidade de segurança no nível da conta de armazenamento, grupo de recursos ou assinatura.
Problemas conhecidos e de limitações
A restauração point-in-time para blobs de bloco tem as seguintes limitações e problemas conhecidos:
- Somente blobs de bloco em uma conta de armazenamento v2 de uso geral padrão podem ser restaurados como parte de uma operação de restauração point-in-time. Blobs de acréscimo, blobs de página e blobs de bloco premium não são restaurados.
- Se você tiver excluído um contêiner durante o período de retenção, esse contêiner não será restaurado com a operação de restauração point-in-time. Se você tentar restaurar um intervalo de blobs que inclua blobs em um contêiner excluído, a operação de restauração point-in-time falhará. Para saber mais sobre como proteger contêineres contra exclusão, consulte Exclusão suave para contêineres.
- Se você usar a exclusão permanente para limpar versões excluídas por software de um blob durante o período de retenção de restauração point-in-time, uma operação de restauração pode não ser capaz de restaurar esse blob corretamente.
- Se um blob tiver se movido entre as camadas quente e fria no período entre o momento presente e o ponto de restauração, o blob será restaurado para sua camada anterior.
- Não há suporte para a restauração de blobs de bloco na camada de arquivamento. Por exemplo, se um blob na camada de atalho tiver sido movido para a camada de arquivo morto há dois dias e uma operação de restauração for restaurada para um ponto há três dias, o blob não será restaurado para a camada de ativação. Para restaurar um blob arquivado, primeiro mova-o para fora da camada de arquivamento. Para obter mais informações, consulte Visão geral da reidratação de blob da camada de arquivamento.
- Não há suporte para operações de restauração parcial. Portanto, se um contêiner tiver blobs arquivados, toda a operação de restauração falhará porque a restauração de blobs de bloco na camada de arquivamento não é suportada.
- Se uma política de imutabilidade estiver configurada, uma operação de restauração poderá ser iniciada, mas quaisquer blobs protegidos pela política de imutabilidade não serão modificados. Uma operação de restauração, neste caso, não resultará na restauração de um estado consistente para a data e hora fornecidas.
- Um bloco que foi carregado via Put Block ou Put Block do URL, mas não confirmado via Put Block List, não faz parte de um blob e, portanto, não é restaurado como parte de uma operação de restauração.
- Se um blob com uma concessão ativa for incluído no intervalo a ser restaurado e se a versão atual do blob alugado for diferente da versão anterior no carimbo de data/hora fornecido para PITR, a operação de restauração falhará atomicamente. Recomendamos quebrar todas as concessões ativas antes de iniciar a operação de restauração.
- A execução de um failover gerenciado pelo cliente em uma conta de armazenamento redefine o ponto de restauração mais cedo possível para a conta de armazenamento. Para obter mais detalhes, consulte Restauração point-in-time.
- Os instantâneos não são criados ou excluídos como parte de uma operação de restauração. Somente o blob base é restaurado ao seu estado anterior.
- A restauração point-in-time não é suportada para namespaces hierárquicos ou operações por meio do Azure Data Lake Storage Gen2.
- A restauração point-in-time não é suportada quando a propriedade AllowedCopyScope da conta de armazenamento está definida para restringir o escopo da cópia ao mesmo locatário ou rede virtual do Microsoft Entra. Para obter mais informações, consulte Sobre o escopo permitido para operações de cópia (visualização).
- A restauração point-in-time não é suportada quando a imutabilidade no nível da versão está habilitada em uma conta de armazenamento ou em um contêiner em uma conta. Para obter mais informações sobre imutabilidade no nível da versão, consulte Configurar políticas de imutabilidade para versões de blob.
Importante
Se você restaurar blobs de bloco para um ponto anterior a 22 de setembro de 2020, as limitações de visualização para restauração point-in-time estarão em vigor. A Microsoft recomenda que você escolha um ponto de restauração igual ou posterior a 22 de setembro de 2020 para aproveitar o recurso de restauração point-in-time disponível em geral.
Suporte de funcionalidades
O suporte para esse recurso pode ser afetado pela habilitação do Data Lake Storage Gen2, do protocolo NFS (Network File System) 3.0 ou do SSH File Transfer Protocol (SFTP). Se você habilitou qualquer um desses recursos, consulte Suporte ao recurso de Armazenamento de Blob nas contas de Armazenamento do Azure para avaliar o suporte para esse recurso.
Preços e faturação
Não há cobrança para habilitar a restauração point-in-time. No entanto, habilitar a restauração point-in-time também permite o controle de versão de blob, exclusão suave e alimentação de alterações, cada um dos quais pode resultar em cobranças adicionais.
A cobrança pela execução de operações de restauração point-in-time é baseada na quantidade de dados de feed de alterações processados para a restauração. Você também será cobrado por quaisquer transações de armazenamento envolvidas no processo de restauração.
Para obter mais informações sobre preços para restauração point-in-time, consulte Preços de blob de bloco.