DO에서 2GB를 1GB로 다운그레이드하는 단계는 무엇인가요?

설치를 처음 진행할 당시에는 2GB 서버가 필요하다고 생각했습니다. 이후 추가로 읽은 내용들을 보니 그런 것 같지는 않은데, Digital Ocean에서 다운그레이드하려면 어떤 단계가 필요한가요?

새로운 플랜을 선택한 뒤 Discourse를 다시 빌드하면 되는 것 같습니다…

Hey Brandon :slight_smile:

1GB는 최소한의 용량입니다. 다만, 소규모 커뮤니티의 경우 1GB와 2GB 사이의 차이가 얼마나 날지는 잘 모르겠네요. 개인적으로는 최소한의 용량에 딱 맞추기보다 신중하게 접근하는 편을 선호합니다.

서버 다운그레이드와 관련해서는 DO에 직접 문의하는 것을 권장합니다.

Discourse를 빌드할 때 서버 사양에 따라 app.yml에서 일부 설정이 구성됩니다.
일반적으로 다음과 같습니다:

  ## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  UNICORN_WORKERS: 4

재빌드 시 이 값이 자동으로 변경되는지, 아니면 수동으로 더 해야 할 작업이 있는지 정확히 알 수 없습니다.

어쨌든 새로운 드롭렛을 배포하고 Discourse를 재설치하는 것은 매우 쉽고 빠르기 때문에 문제없이 처리할 수 있을 것입니다. 재설치 시 유용한 정보(이메일 제공업체 정보, 플러그인 목록 등)를 쉽게 가져올 수 있도록 app.yml의 사본을 어딘가에 보관해 두세요.

  1. 새로운 VPS 생성
  2. 기존 사이트에서 백업 파일을 생성하여 로컬 머신으로 다운로드합니다.
  3. 기존 서버의 app.yml 내용을 로컬 파일이나 메모장에 복사합니다.
  4. 도메인을 새 VPS IP로 지정하거나, VPS 제공사에서 해당 기능을 지원한다면 기존에 사용하던 공개 IP로 전환합니다.
  5. 새 VPS에 Docker가 설치되어 있는지 확인합니다 (필요에 따라 제공사의 가이드에 따라 설치합니다).
  6. Discourse 설정 스크립트를 포함하지 않는 표준 설치 지침을 따릅니다.
  7. 컨테이너 디렉터리에서 app.yml 파일을 생성(touch app.yml)하고, nano와 같은 도구를 사용하여 기존 VPS의 내용을 붙여넣습니다.
  8. 새 서버에서 ./launcher app rebuild를 실행합니다.
  9. Discourse 디렉터리에서 rake admin:create를 사용하여 관리자 계정을 생성합니다.
  10. 로그인한 후 설정에서 Allow Restore를 true로 설정하고, 이전에 생성한 백업을 업로드하여 복원합니다.
  11. 모든 것이 정상인지 확인합니다.
  12. 일정 기간이 지난 후 기존 VPS를 삭제합니다.

완료.

참고할 점은, 로컬 저장소 크기가 동일하다면 RAM 용량을 더 늘리거나 줄이기 위해 드롭렛을 원활하게 리사이즈할 수 있습니다. 그러나 저장소 크기는 줄일 수 없으므로, 저장 공간이 더 적은 드롭렛으로 이전하려면 백업과 복원이 필요합니다.

어쨌든, 어떤 이동을 하든 이전 전에 백업을 받아 다운로드해 두는 것이 좋습니다.

DigitalOcean에서는 RAM 용량을 상향 및 하향 조정하면서 여러 번 이동을 해본 경험이 있습니다. Hetzner에서도 같은 방식으로 진행한 것으로 기억합니다. 로컬 저장소와 IP 주소는 그대로 유지되며, 다운타임은 몇 분 정도에 불과합니다.

모두 좋은 정보 감사합니다.

결국 새 서버를 구축해야 하는 것 같고, 더 쉬운 방법은 없는 것 같습니다. 그 다음에는 app.yml 파일을 확인하고 비교한 뒤, 백업 파일을 업로드해야 합니다. 마지막으로 IP를 다시 지정하면 됩니다.

여러분의 답변을 읽으면서, 이 경로를 따라가야 하므로 몇 가지 유용한 팁을 더 찾았습니다.

감사합니다. 체크리스트가 정말 도움이 되었습니다!

8번과 9번 사이에 ./launcher enter app 단계를 추가하는 것이 좋을 것 같습니다.