Quero espelhar meus buckets do Amazon S3. Quero fazer isso porque 1) 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, desejo fazer o backup dos dados.
Posso espelhar para um disco local com a função s3cmd sync, mas isso não é dimensionável para buckets muito grandes e não é útil para restaurações rápidas de backup. Prefiro que meus dados sejam espelhados para um concorrente como o Rackspace Cloud Files.
Alguém tem algumas sugestões de uma maneira simples e robusta para facilitar esse tipo de espelhamento de maneira automatizada em uma caixa Linux?
Respostas:
Você pode usar o utilitário " s3cmd " com a opção "sync", embora eu tenha tropeçado na sua pergunta porque estou tentando descobrir se esse mecanismo de sincronização está estragando meus backups de duplicidade.
fonte
Eu estava tendo o mesmo problema, então criei um pequeno programa projetado especificamente para espelhar um bucket S3 para outro; Eu chamo isso de s3s3mirror.
Tentei primeiro a abordagem "s3cmd sync", mas tinha um balde com centenas de milhares de objetos e a "s3cmd sync" estava lá, sem fazer nada além de consumir mais e mais memória até a morte do sistema. Projetei o s3s3mirror para começar imediatamente, usar 100 threads simultâneos (configuráveis) e fazer uso modesto da CPU e da memória. Se eu digo, é muito rápido.
Disponibilizei isso no github sob uma licença Apache. Se você decidir fazer um giro, informe-me o que pensa e se há algo que possa ser melhorado.
Aqui está o link: https://github.com/cobbzilla/s3s3mirror
obrigado!
fonte
A Amazon agora tem uma ferramenta suportada para fazer isso, o aws cli .
Pode espelhar em qualquer direção entre local e remoto ou entre dois locais s3.
Infelizmente, ele não tem suporte direto para locais não S3, como rackspace, mas achei que essa seria uma resposta útil para alguns que encontrarem essa pergunta. Como eu, antes de encontrá-lo.
Em particular,
fonte
Confira o Jungle Disk Server . Ele 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 depois usar o rsync entre os dois.
fonte
Você pode tentar montar os baldes com fusível usando s3fs . Feito isso, você pode sincronizar novamente do ponto de montagem para o disco local.
fonte
Você pode configurar o servidor Minio , 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, usando o comando Minio clients,
mc mirror
espelhe o S3 periodicamente. Você pode automatizar a mesma gravação de um script cron simples.Espero que ajude. Disclaimer: Trabalho para Minio
fonte
Para sincronização online de buckets, você pode usar a replicação entre regiões. Dessa forma, todas as atualizações do bloco original serão sincronizadas automaticamente com o bloco S3 em outra região: https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html
Lembre-se de que ele requer a versão ativada para o bucket, portanto, se você fizer atualizações / exclusões de objetos nos buckets, precisará ativar a política do ciclo de vida para excluir objetos antigos.
fonte