Como faço o backup de um bucket do AWS S3 sem configurar o bucket de origem [closed]

37

Existe alguma maneira de se recuperar de exclusões acidentais de um bucket do Amazon S3?

Temos informações críticas em nossos intervalos e precisamos reduzir o risco de exclusões acidentais ou mal-intencionadas do próprio intervalo.

Eu sei que posso sincronizar todo o bucket localmente, mas isso não é muito prático se o tamanho do meu bucket for 100 GB.

Alguma ideia sobre estratégias de backup?

    
por 5 revs, 3 users 40%anon 18.03.2015 / 07:36

6 respostas

21

Outra abordagem é ativar o controle de versão do S3 no seu intervalo. Você pode então restaurar arquivos apagados, etc. Veja a documentação do S3 para saber como habilitar isso

O uso de ferramentas de terceiros, como o BucketExplorer, torna o trabalho com versionamento bastante trivial (mesmo chamando a API diretamente).

Você também pode habilitar a exclusão de autenticação de vários fatores para seus buckets do S3 - o que torna a "exclusão acidental" um pouco mais difícil;)

Mais nenhuma exclusão de autenticação de vários fatores
Mais sobre como excluir objetos

    
por 14.03.2014 / 22:34
13

Você pode usar o link s3cmd

Então, para fazer backup de um bucket chamado mybucket

s3cmd mb s3://mybucket_backup
s3cmd --recursive cp s3://mybucket s3://mybucket_backup
    
por 06.09.2013 / 14:54
6

Esta não é uma solução barata, mas se os seus blocos forem realmente essenciais, veja como você faz isso: inicialize uma instância do Amazon EC2 e sincronize o conteúdo lá periodicamente.

O Amazon EC2 é seu provedor de hospedagem de virtualização. Você pode criar instâncias do Linux, Windows, etc e executar o que quiser. Você paga por hora e obtém um espaço de armazenamento bastante grande localmente para esse servidor. Por exemplo, eu uso a instância de tamanho "grande", que vem com 850 GB de espaço em disco local.

A parte legal é que ele está na mesma rede que o S3 e você obtém transferências ilimitadas entre o S3 e o EC2. Eu uso o software $ 20 Jungle Disk em uma instância do Windows EC2, que me permite acessar meus buckets do S3 como se fossem pastas de disco locais. Então eu posso fazer arquivos de lote programados para copiar coisas do S3 para o meu espaço em disco local do EC2. Você pode automatizá-lo para manter backups por hora, se quiser, ou se quiser jogar, configure o JungleDisk (ou seus equivalentes em Linux) para sincronizar uma vez por hora. Se alguém excluir um arquivo, você terá pelo menos alguns minutos para recuperá-lo do EC2. No entanto, eu recomendaria os backups regulares com script - é fácil manter alguns dias de backups se você os compactar em um volume de 850 GB.

Isso é realmente útil para o envio de logs do SQL Server, mas também posso ver como ele alcançaria seu objetivo.

    
por 18.05.2009 / 14:12
5

Uma solução possível seria apenas criar um "intervalo de backup" e duplicar suas informações confidenciais. Em teoria, seus dados são mais seguros no S3 do que no seu disco rígido.

Além disso, não tenho certeza se as exclusões acidentais são um problema real, pois você precisará acidentalmente excluir todas as suas chaves de depósito antes de excluir o intervalo.

    
por 17.05.2009 / 21:02
5

Outra solução possível é replicar seu bucket para a zona da Europa no S3. Isso pode persistir no intervalo após a exclusão acidental por tempo suficiente para se recuperar.

    
por 17.05.2009 / 21:02
5

Para modificar a resposta de Brent (excelente) um pouco; você não precisa manter a instância em execução. Crie uma AMI do EC2 que retire seus dados, sincronize-os com um volume do EBS, capture instantaneamente esse volume e feche-se.

Você pode manter o volume em execução sozinho, mas o instantâneo deve ser suficiente para um backup. Se a sua AMI customizada faz tudo isso (incluindo desligar-se depois de terminar) sem interação, então seu script de 'backup' precisa apenas 'ec2run -n 1 -t m1.small ami-' e fire-and-forget.

    
por 02.12.2009 / 03:44