Usar o S3 para uploads significa baixar todos os arquivos ao criar backups?

Olá, acabei de configurar um novo Discourse e tenho um bucket de upload no S3.

Mas, se o Discourse está compactando todos os arquivos ao criar um backup, isso significa que, toda vez que um backup é gerado, o Discourse baixa novamente todo o bucket de uploads do S3?

E alguém já teve problemas com limitações de banda ao fazer isso?

Acho que se refere aos arquivos locais; os arquivos no S3 devem ser copiados separadamente.

Isso só acontecerá quando você ativar a configuração do site include_s3_uploads_in_backups. Ela está desativada por padrão.

Essa configuração parece estar ativada por padrão no meu site. Mas, independentemente disso, há alguma recomendação sobre como fazer backup de buckets de upload do S3 de forma eficiente?

Este guia para salvar backups no S3 e também arquivá-los no Glacier faz sentido quando o backup é um único arquivo zip. Mas, pelo que entendo dos custos do Glacier, eles cobram por arquivo, então os custos aumentarão drasticamente para backups de buckets descompactados.

Sou iniciante na AWS, então qualquer conselho é bem-vindo. Obrigado!

Edição: alternativamente, se não houver uma resposta simples e boa, posso considerar não usar o S3 para uploads.

https://iolap.com/2020/04/06/how-to-avoid-hidden-amazon-glacier-charges/

Isso depende de muitos fatores. Quanto dinheiro você está disposto a gastar? Para quais cenários você gostaria de ter backups? Bugs de software, data centers da Amazon atingidos por um asteroide, um administrador mal-intencionado excluindo arquivos do S3…

Temor que não podemos ajudá-lo com isso. Você precisa encontrar soluções adequadas ao seu caso de uso em outro lugar. O mecanismo de busca de sua escolha é um bom ponto de partida.

Fiz mais algumas investigações e conversei com algumas pessoas.

Acredito que a melhor opção para isso seja replicar o bucket S3 para outra região. Preciso pesquisar mais sobre a configuração e os custos.

No nosso caso, com um site que não usa o Discourse, utilizamos o awscli para sincronizar buckets (aws s3 sync) entre regiões diferentes em contas diferentes. Assim, mesmo que uma conta seja comprometida e o bucket excluído, ou se um asteroide atingir e destruir um datacenter da Amazon (esperemos que não), poderemos recuperar os dados a partir do outro bucket. Se você fizer uma sincronização, os custos não devem ser tão altos, pois apenas arquivos novos ou alterados serão sincronizados.

Bem, ainda existe o cenário de ambas as contas serem comprometidas em um curto período de tempo e os buckets serem excluídos, ou a Amazon encerrar o AWS, ambos muito, muito improváveis. Mas, se algo assim ocorrer, você pode simplesmente tentar a sorte na loteria, escolhendo os números que você acha que estão errados :slight_smile: