S3 업로드 디버깅 방법

잠시 동안 S3 버킷 업로드가 정상적으로 작동했습니다. 그런데 여기 게시글들을 참고하여 설정이 모두 정확한지 확인한 후, 이제는 모든 업로드가 로컬로 저장되고 있습니다. 에러 로그에서 단서를 찾을 수 없습니다.

이렇게 복잡한 설정을 디버깅하는 방법은 무엇인가요?

어떤 글에서는 대부분 환경 변수를 통해 설정해야 한다고 하는데, 다른 글에서는 그렇지 않다고 합니다. 또한 관리자 패널에는 S3에 필요한 모든 매개변수가 있는 것 같습니다. 솔직히 매우 혼란스럽습니다.

시스템의 S3 관련 모든 값을 다시 확인해 보았습니다.

안녕하세요 @Andro

저도 이 문제로 어려움을 겪고 있습니다. S3 IAM 정책을 공유해 주실 수 있을까요? 그 부분조차 통과하지 못하겠습니다.

또한, 다음 설정 플래그는 어떻게 설정하셨나요?

  • s3 configure tombstone policy
  • enable s3 inventory

감사합니다!

따라야 할 가이드는 업로드를 위한 오브젝트 스토리지 사용 (S3 & Clones)입니다. 이러한 환경 변수를 사용하는 경우 동작 방식이 약간 다르며, 이것이 여러분이 원하는 방식입니다. 상단의 rake 작업에 대한 부분을 잊지 마세요.

버킷 권한을 어떻게 생성해야 하는지 정확히 파악하는 데 일부 문제가 있는 것 같습니다.

전망이 밝지 않습니다. 지침에 따라 rake 명령을 추가한 후 런처를 재빌드했습니다:

FAILED

Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets 실행 실패, 반환 코드 #<Process::Status: pid 1347 exit 1>
실패 위치: /pups/lib/pups/exec_command.rb:112:in `spawn’
다음 매개변수로 실행 실패: {“cd”=>“$home”, “cmd”=>[“sudo -E -u discourse bundle exec rake s3:upload_assets”]}
c0b19d01faa8c6e1f217b209bdd5293c1a1dcd2016f286d17050c299f676256c
** 부트스트랩 실패 ** 이전의 오류 메시지를 확인하려면 위로 스크롤하십시오. 오류가 하나 이상 있을 수 있습니다.
./discourse-doctor를 사용하면 문제를 진단하는 데 도움이 될 수 있습니다.

환경 변수 중 하나를 놓치신 것 같습니다. 데이터베이스에 있는 것만으로는 충분하지 않습니다.

모든 S3 변수를 추가했는데도 여전히 동일한 오류가 발생합니다.

다음으로 무엇을 시도해 볼까요? 런처 재빌드 로그에는 단순히 exit with 1이라고만 표시되고, 추가적인 힌트는 없습니다.

개인정보를 수정한 작업 가능한 app.yml 값의 예시를 알고 계신 분이 계신가요?

다음으로, 버킷에 대한 권한 문제로 업로드가 차단되고 있을 수 있습니다.

Clones 주제에 있는 예제 스탠스들은 바로 예제 app.yml 파일입니다.