O que é uma maneira prática de espelhar um bucket do Amazon S3?

8

Eu quero espelhar meus buckets do Amazon S3. Eu quero fazer isso porque 1) Eu não quero que todos os meus dados existam apenas com um provedor; e 2) em caso de erro de software ou violação de segurança, eu quero fazer o backup dos dados.

Eu posso espelhar para um disco local com a função s3cmd sync, mas isso não é escalável para buckets muito grandes e não é útil para restaurações rápidas de backup. Eu prefiro ter meus dados espelhados para um concorrente como o Rackspace Cloud Files.

Alguém tem algumas sugestões de maneira simples e robusta para facilitar esse tipo de espelhamento de forma automatizada em uma caixa Linux?

    
por Ben 27.09.2010 / 20:28

7 respostas

6

Você pode usar o utilitário " s3cmd " com a opção "sync", embora tenha me deparado com sua pergunta porque estou tentando descobrir se esse mecanismo de sincronização está estragando meus backups de duplicidade.

    
por 31.03.2011 / 21:09
5

Eu estava tendo o mesmo problema, então preparei um pequeno programa especificamente projetado para espelhar um bucket S3 para outro; Eu chamo de s3s3mirror.

Eu tentei a abordagem "s3cmd sync" primeiro, mas eu tinha um balde com centenas de milhares de objetos, e "s3cmd sync" apenas ficava lá, sem fazer nada além de consumir mais e mais memória até meu sistema morrer . Eu projetei s3s3mirror para ir imediatamente, para usar 100 threads simultâneos (configuráveis) e para fazer uso modesto de CPU e memória. Se eu mesmo disser isso, é bem rápido.

Eu disponibilizei isso no github com uma licença Apache. Se você decidir dar um giro, por favor, deixe-me saber o que você pensa e se há algo que possa ser melhorado.

Este é o link: link

obrigado!

  • jonathan.
por 17.05.2013 / 02:55
3

A Amazon agora tem uma ferramenta suportada para fazer isso, o aws cli .

Ele pode espelhar em qualquer direção entre local e remoto, ou entre dois locais s3.

Infelizmente, ele não tem nenhum suporte direto para locais que não sejam do S3, como o rackspace, mas achei que essa seria uma resposta útil para alguns que encontrarem essa pergunta. Como eu, antes de encontrar.

Em particular,

aws s3 sync s3://some/s3/path /some/local/path
    
por 29.07.2014 / 21:28
2

Confira Jungle Disk Server . Funciona com o Amazon S3 e o Rackspace Cloud Files. Você pode montar o S3 e o CF em locais diferentes no seu sistema de arquivos e, em seguida, usar o rsync entre os dois.

    
por 27.09.2010 / 21:25
2

Você pode tentar montar os buckets com o fusível usando s3fs . Feito isso, você poderá rsync do ponto de montagem para o disco local.

    
por 31.03.2011 / 22:13
1

Você pode configurar o Minio server , código aberto e API compatível com S3. Você pode configurá-lo no EC2 ou em qualquer provedor de nuvem como seu servidor alternativo e usar o comando clientes Minio mc mirror espelho do S3 periodicamente. Você pode automatizar o mesmo escrevendo um script cron simples.

Espero que ajude. Isenção de responsabilidade: Eu trabalho para Minio

    
por 08.03.2016 / 14:57
0

Para a sincronização on-line de depósitos, você pode usar a replicação entre regiões. Dessa forma, todas as atualizações do bucket original serão automaticamente sincronizadas com o bucket do S3 em outra região: link

Lembre-se de que ele exige que o controle de versão esteja ativado para o intervalo, por isso, se você fizer atualizações / exclusões de objetos em intervalos, desejará ativar a política de ciclo de vida para excluir objetos antigos.

    
por 14.09.2016 / 12:47