Estratégias de backup do AWS S3 - Como devo abordar o backup de buckets do S3?

6

Eu estou no processo de construir um aplicativo da web com potencial para uma enorme quantidade de requisitos de armazenamento que podem ser atendidos pela amazon S3.

Minha principal preocupação é o uso de chaves de API no servidor e como uma pessoa não autorizada pode explorar o servidor de alguma forma, obter as chaves e usá-las para destruir todos os dados nos buckets do S3.

  1. Que estratégias devo colocar em lugar para minimizar o potencial exposição das minhas chaves de API?
  2. O que seria um robusto abordagem para back-up de terrabytes dos activos do S3 com uma restrição orçamento?
por Matt 11.10.2009 / 21:13

2 respostas

7

A primeira coisa que vem à mente é o fato de que a transferência de dados dentro e fora do S3 é bastante cansativa. Se você está fazendo backup com freqüência (como deveria), os custos podem ficar fora de controle apenas com as taxas de transferência. Dito isso, para responder à sua pergunta, os backups devem ser executados em um servidor separado e reforçado, cuja única tarefa na vida é realizar backups. Não há apache, acesso remoto apenas via SSH com autenticação de chave, etc. Se você fizer essas coisas e garantir que apenas poucas pessoas selecionadas tenham acesso ao servidor, suas chaves devem ser bastante seguras. Se você é realmente paranóico, você pode criptografar o arquivo que contém suas chaves - o problema com essa abordagem é que ele exige que você insira sua senha toda vez que a tarefa de backup for executada. Isso provavelmente não é algo que você deseja se inscrever, correto?

Depois de ouvir sobre seu orçamento restrito, não posso deixar de pensar que seria melhor que você alterasse sua estratégia de armazenamento. Não tenho certeza de qual é a sua situação de servidor, mas você poderia, talvez, hospedar os arquivos localmente no servidor e depois usar o S3 para backups? Existe um ótimo script de backup chamado duplicidade que pode executar backups incrementados, criptografados e incrementais para o S3 (entre vários outros tipos de armazenamento de back-end). / p>

[Editar] Se você acabar hospedando-se no S3 e fazendo backup no disco local, parece que há um "If-Modified-Since" cabeçalho na API do S3 que ajudará na realização de backups incrementais. Para backups como este, é provável que você precise homebrew algo, embora não seja muito difícil. Basta usar SimpleDB / BerleleyDB / etc para armazenar meta informações sobre quais arquivos você fez backup junto com um ponteiro para onde eles residem no disco. Manter as meta-informações em um banco de dados também fará um rápido trabalho de verificação de backups, além de criar relatórios sobre tarefas de backup.

    
por 11.10.2009 / 23:57
0

Mesmo eu tive o mesmo problema, o que eu fiz foi escrever um script bash simples para fazer isso para mim, mas eu trabalho bem em uma única região, ele não funciona com várias regiões, aqui está o script link

    
por 03.10.2012 / 12:57