Configure o BackBlaze S3 com BunnyCDN

Então, verifiquei o BunnyCDN. Posso confirmar que o backup não passou pelo CDN, pois o tráfego indica 0 KB. A URL do CDN do host é diferente da URL de upload, o que sugere que o Discourse não está o utilizando. No entanto, posso confirmar que os backups estão sendo enviados para o Backblaze B2 a partir do Discourse.

1 curtida

Ah, ótimo, obrigado por verificar. Isso confirma o que eu suspeitava. Talvez @Bill deva atualizar o guia do OP?

1 curtida

Claro! Não tenho certeza de como formular isso. Devo apenas mencionar que você precisa de apenas uma zona de pull e que a CDN não pode acessar um bucket privado?

1 curtida

Eu eliminaria tudo, desde “No seu painel do BunnyCDN, você deve criar uma segunda zona de pull” até o parágrafo que termina com “‘standard tier 10$/TB’ que usei para meu bucket de uploads.”

Além disso, parece que você realmente precisa de uma segunda zona de pull da CDN, mas não para o backup. Eu estava confuso sobre isso e não consegui fazer os uploads remotos funcionarem até configurar corretamente uma zona de pull para enviar uploads ao BackBlaze (como você descreveu) e uma segunda zona de pull para buscar ativos a partir do BackBlaze. Veja minha pergunta sobre isso e a resposta que recebi aqui para mais informações.

Parece que não tenho mais as permissões do Discourse para editar o tópico original. Provavelmente expirou após um certo tempo ou eu o editei muitas vezes. Não consigo acessar a área de edição.

Ah, ok. Acho que você precisaria perguntar a um moderador. De qualquer forma, mesmo tendo havido um erro, agradeço pelo seu tutorial!

1 curtida

O primeiro post agora é uma wiki (estava quando eu verifiquei, não tenho certeza se alguém chegou a ele antes disso), então qualquer usuário com nível TL1 ou superior pode editá-lo.

2 curtidas

Ei, só queria dizer que a Bunny também fez uma parceria com a Backblaze! Portanto, a transferência da Backblaze para a Bunny agora é totalmente gratuita, então, além de mais segurança, você pode simplesmente transferir os dados para a Bunny sem passar pelo Cloudflare!

2 curtidas

Essa etapa é um exagero? Acho que uma pergunta melhor seria… quão significativos são os benefícios de dar este passo extra se você já tem o Backblaze configurado para armazenamento e o Bunny como CDN? Qualquer informação sobre isso seria muito útil para mim. :folded_hands:

Preciso de ajuda. Passei os últimos dois dias pesquisando (desculpe o trocadilho com coelho) para fazer backups e imagens irem para o Backblaze.

Usei este post do fórum e outros para tentar configurá-lo. Agora continuo recebendo uma mensagem de erro nos backups (embora ainda não tenha conseguido fazer os uploads funcionarem, mas primeiro as coisas importantes com os backups).

Configurei buckets no Backblaze, chaves e zonas de pull.

Estas são as configurações em Todas as Configurações do Site para S3

Estas são as configurações nas Configurações de Backup

Este é o meu app.yml - a segunda seção que está comentada, eu estava mexendo ontem, mas estava fazendo o Discourse travar na tela de carregamento.

Quando executo backups, recebo esta tela, suponho que seja porque não consegui fazer a parte de uploads funcionar. Pode ser irrelevante, mas pensei em adicioná-la.

Este é o log de erros no backup

Este é o log de erros

Também devo mencionar que executei as tarefas Rake usando

rake uploads:migrate_to_s3
rake posts:rebake

Meu cérebro está dando voltas depois de dois dias tentando fazer funcionar. Alguém pode me ajudar a descobrir onde estou errando? Espero ter incluído tudo o que é necessário para solucionar o problema. :tired_face:

1 curtida

Se você tiver as configurações em seu arquivo yml, elas não aparecerão nas configurações do sistema.

Eu seguiria Configurar um provedor de armazenamento de objetos compatível com S3 para uploads

Oi, obrigado pela resposta. Eu tentei esse link ontem e não funcionou. Ele parou a carga do site.

O máximo que consegui foi com as configurações atuais que tenho. Embora pareça estar reclamando de uma região inválida e eu não tenha certeza de qual configuração preciso alterar.

Isso acontece porque você perdeu a parte no topo que carrega os ativos para o s3

Adicionei o código dos hooks e usei a configuração do link que você postou novamente. Ele trava de novo.

Comentei essa configuração novamente e coloquei de volta a que eu estava usando antes. Notei que a configuração da região s3 que eu tinha era a URL completa, então a mudei para ‘us-west-002’.

Agora, quando executo o backup, ele falha e recebo um erro diferente - EXCEPTION: Unsupported header ‘x-amz-checksum-crc32’ received for this API call.

Acho que vou desistir e apenas entrar e baixar manualmente os backups todos os dias.

Tenho persistido em tentar fazer isso funcionar com o risco de perder a sanidade :wink:

Então, o último erro de checksum que recebi, resolvi com a ajuda disto - Can't rebuild due to AWS SDK gem bump and new AWS Data Integrity Protections - #28 by PatPatterson

Isso foi feito adicionando o seguinte à seção env em app.yml

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED

E comentando isto na seção hooks de app.yml

after_assets_precompile:
    - exec:
        cd: $home
        cmd:
          - sudo -E -u discourse bundle exec rake s3:upload_assets
  #        - sudo -E -u discourse bundle exec rake s3:expire_missing_assets

as outras configurações de env estão definidas para isto

DISCOURSE_S3_ACCESS_KEY_ID: 'key'
DISCOURSE_S3_SECRET_ACCESS_KEY: ‘key’
DISCOURSE_BACKUP_LOCATION: 's3'
DISCOURSE_ENABLE_S3_UPLOADS: true
DISCOURSE_S3_BACKUP_BUCKET: 'backupbucketonbackblaze’
DISCOURSE_S3_REGION: 'us-west-002'
DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true

Executei um backup antes de incluir DISCOURSE_INCLUDE_S3_UPLOADS_IN_BACKUPS: true

E tive um backup bem-sucedido para o Backblaze. YEAH!!!

Quando coloquei a linha em app.yml para incluir uploads, o backup teve um erro que é o seguinte

EXCEPTION: tar --append --file /var/www/discourse/public/backups/default/my-server-name-2025-04-17-222758-v20250417043438.tar uploads/default
Failed to append uploads to archive.
tar: uploads/default: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors

Não tenho certeza onde esse diretório deveria estar ou como corrigi-lo. É um diretório que preciso criar no servidor Discourse ou no Backblaze? Ou uma configuração que perdi nas configurações do site ou no app.yml

Qualquer orientação seria muito apreciada.

1 curtida