사이트 이전 관련 질문

안녕하세요, 여러분. 저는 현재 Discourse 사이트를 새로운 웹사이트로 이전하고 모든 S3 사이트 자산을 새로운 계정으로 전환하는 작업을 진행 중입니다. 요지는 다음과 같습니다. 기존 모회사에서 두 번째 회사가 분리되는 상황이며, Discourse 사이트는 두 번째 회사의 시스템(그리고 웹 도메인)으로 이전되어야 합니다.

먼저, 이것이 최선의 시나리오는 아니며 몇 가지 까다로운 제한 사항을 극복해야 한다는 점을 인정하고 시작하겠습니다. 제가 직면한 주요 문제는 원래 도메인의 DNS 설정에 접근할 수 없다는 사실이며, 해당 설정을 변경하는 데에는 몇 주가 소요될 것으로 보입니다. 다른 주요 문제는 사용 중인 S3 버킷을 호스팅하는 AWS 계정에 대한 루트 수준의 자격 증명이 없다는 것입니다.

우리는 이미 모든 이메일을 새로운 SES 계정으로 전환했으며, Discourse를 호스팅하는 DigitalOcean 드롭렛을 가리키도록 새 서브도메인에 A 레코드를 설정해 두었습니다. 예상대로, 이 리다이렉트는 Discourse가 이미 구성해 둔 원래 URL로 리다이렉트하기 전에 SSL 경고를 발생시킵니다. 이는 괜찮으며, Discourse를 새 기본 도메인으로 다시 구성하면 이 문제가 스스로 해결될 것으로 생각합니다. 하지만 몇 가지 질문이 있습니다.

  • Discourse 설정 마법사를 다시 실행하여 새 URL로 재구성할 때, 이미 설정된 A 레코드를 변경하지 않고도 기존 URL에서 새 URL로의 리다이렉트를 유지하는 방법이 있을까요? DigitalOcean과 Discourse 설치 환경이 새 URL로 계속 리다이렉트하되, 그 과정에서 거친 SSL 경고를 발생할 것으로 추정됩니다.
  • Discourse 설정 마법사가 Let’s Encrypt SSL 인증서를 자동으로 재구성하는지, 아니면 제가 별도로 고려해야 할 수동 과정인지 궁금합니다.
  • S3 버킷을 새로운 AWS 계정으로 마이그레이션할 때, Discourse가 사용하는 자격 증명이 버킷 내용을 복사하는 데 충분한지, 아니면 루트 수준의 자격 증명이 필요한지 궁금합니다. 이 작업과 관련하여 제가 알아야 할 큰 어려움이 있을까요?

도움 주셔서 감사합니다. 저는 거의 게시물을 올리지 않는 편이지만, 이 커뮤니티를 매우 소중히 여기게 되었습니다. 아직 이 분야에 매우 초보이지만… 배우고 있습니다!

현재 서버에 접근 권한이 있다면 다음을 실행할 수 있습니다.

./launcher enter app
rails c
SiteSetting.include_s3_uploads_in_backups=true
exit
discourse backup

이렇게 하면 S3 자산이 포함된 백업을 받을 수 있습니다. 이후 새 사이트에서 S3가 설정되어 있는지 여부와 관계없이 이를 복원할 수 있습니다.

A 레코드를 변경할 수 없다면, 변경할 수 없습니다. 서버에 접근 권한이 있다면 새 URL로 301 리다이렉트만 수행하는 웹 서버를 설정할 수 있습니다.

./discourse-setup 명령이 Let’s Encrypt를 설정합니다. 설정 마법사(Setup Wizard)는 별개의 기능입니다.