ariznaf
(fernando)
1
현재 Discourse 내에서 매일 백업을 생성하여 며칠 동안 유지하기 위해 Amazon S3를 사용하고 있습니다.
이미지나 업로드 파일을 S3에서 서빙하지 않고, 백업 파일만 저장하고 있습니다(단순화를 위해 당분간 서버에 저장하는 방식을 선호합니다).
하지만 Amazon S3는 그렇게 저렴하지 않습니다. 우리 사용 목적에 대해 더 저렴한 Wasabi로 이전하고 싶습니다.
다음 두 게시물(Using Object Storage for Uploads (S3 & Clones) - howto / admins - Discourse Meta 및 Wasabi 관련 Discourse + Wasabi (S3-Compatible Storage) - support - Discourse Meta)을 읽었습니다.
하지만 어떻게 해야 하는지 명확하지 않습니다.
첫 번째 게시물에서는 app.yml 파일의 일부 줄을 변경(추가)하는 방법에 대해 언급하고 있습니다.
하지만 이는 백업을 위한 것이 아니라 S3 서비스에 이미지와 업로드 파일을 저장하도록 활성화해야 하는 것처럼 보입니다.
거기서는 CDN과 스토리지 서비스를 변경하기 위한 서비스별 환경 변수에 대해 이야기하고 있습니다.
하지만 해당 환경 변수를 어디에 저장해야 하는지 저에게는 명확하지 않습니다.
launcher를 사용하기 전에 해당 변수를 넣어야 하는 설정 파일이 있습니까?
답변 주시면 감사하겠습니다.
pfaffman
(Jay Pfaffman)
2
백업에만 관심이 있다면 새 버킷으로 데이터를 이동할 필요가 없습니다. 이동하더라도 익숙한 도구를 사용하면 됩니다. 새 버킷의 설정만 변경하면 됩니다.
CDN이나 그런 것들은 신경 쓸 필요가 없습니다.
저는 Wasabi를 사용하다가 문제가 생겨 사용을 중단했습니다. DigitalOcean Spaces가 저렴합니다.
ariznaf
(fernando)
3
감사합니다.
그 점을 염두에 두고, 문제가 없는지 확인해 보기 위해 잠시 동안 와사비를 사용해보겠습니다.
app.yml의 env 섹션에서 필요한 만큼의 환경 변수를 생성할 수 있다는 사실을 알지 못했습니다. 
기존 백업이 그곳에 유지되고 있으며, 삭제할 때까지 Amazon이 계속 비용을 청구하기 때문에 새 버킷으로 이동을 해야 합니다. 와사비의 경우 1TB의 데이터까지는 추가 비용이 발생하지 않습니다.
편집하여 다음 줄들을 추가했습니다:
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: eu-central-1
DISCOURSE_S3_ENDPOINT: https://s3.eu-central-1.wasabisys.com
DISCOURSE_S3_ACCESS_KEY_ID: {access key}
DISCOURSE_S3_SECRET_ACCESS_KEY: {secret key }
DISCOURSE_S3_BACKUP_BUCKET: {backup bucket name}
DISCOURSE_BACKUP_LOCATION: s3
정상 작동하며, 이제 백업이 와사비에 저장됩니다.
다른 리전을 사용하는 경우 엔드포인트 이름도 변경해야 합니다.
pfaffman
(Jay Pfaffman)
4
app.yml에 이러한 설정을 해두는 좋은 점은, 사이트를 새 서버로 복원할 때 필요한 것이 그 파일 하나뿐이라는 것입니다. 그 후 새 discourse를 설치하고
./launcher enter app
discourse enable_restore
discourse restore
를 실행한 다음, 복원하려는 백업 파일을 복사/붙여넣기하면 됩니다.
그렇다면 이것은 Discourse의 문제가 아닙니다. 이를 수행할 수 있는 다양한 도구가 있으므로 "move data s3 bucket"과 같은 키워드로 검색해 보세요. 저는 기억은 안 나지만 s3cmd를 사용하고 있습니다.