# 새 DB와 백업 및 업로드용 새 S3 버킷이 있는 새 서버로 마이그레이션

**URL:** https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948
**Category:** Self-hosting
**Tags:** backups, install
**Created:** [2월 12, 2026, 6:15오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948 "2026-02-12T18:15:25Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 12, 2026, 6:15오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/1 "2026-02-12T18:15:25Z")

</div>

안녕하세요,

현재 기존 Bitnami 기반 배포 환경(비교적 오래된 버전)에서 AWS에서 공식적으로 지원하는 설치 방식으로 서버를 마이그레이션하는 과정에 있습니다. 최신 Discourse 릴리스를 사용하고 있으며, 이 새 설치 환경에는 외부 Elasticache와 RDS 인스턴스가 포함되어 있고, 백업 및 업로드에는 S3를 사용할 예정입니다.

두 가지 질문이 있습니다:

1. 기존 Discourse 서버는 상당히 오래된 버전입니다. 새 Discourse 서버에서 백업/복원 작업을 수행하면 관련 업그레이드 명령어가 모두 실행되는 것일까요?
2. 새 서버의 새 Discourse Docker 컨테이너에 백업 파일을 복사하고 [명령줄](https://meta.discourse.org/t/restore-a-backup-from-the-command-line/108034)에서 복원을 시작하면, 설정에서 지정한 새 버킷 값이 복원 과정 중 덮어쓰기되는지, 아니면 제 새 값이 사용될지 궁금합니다. 제 추측으로는 새 DB가 백업으로 채워진 후, 컨테이너를 종료하고 `./launcher rebuild app`를 실행하면 제 새 S3 값이 사용될 것 같습니다.

제 추측이 맞다면, 복원을 수행하기 전에 기존 S3 버킷의 내용을 새 버킷으로 복사해야 할까요?

이러한 유형의 백업 기반 마이그레이션을 수행할 때 주의해야 할 다른 함정이 있을까요?

미리 감사합니다.

---

<div class="post-metadata">

### Author: ![philh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/philh/32/532740_2.png) [@philh](https://meta.discourse.org/u/philh)
#### Post date: [2월 12, 2026, 6:39오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/2 "2026-02-12T18:39:36Z")

</div>

무언가를 놓치고 있는 것 같지만, 왜 새 버킷을 만들고 있나요? 적절한 라이프사이클 규칙을 갖춘 새 백업 버킷을 만드는 것은 괜찮아 보이지만, 기존 Discourse 인스턴스가 S3 업로드 버킷을 사용 중이라면 몇 가지 문제가 발생할 수 있습니다.

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 12, 2026, 6:51오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/3 "2026-02-12T18:51:55Z")

</div>

새 버킷이 필요한 두 가지 이유:

1. Bitnami에서 마이그레이션이 문제없이 성공할지 100% 확신이 서지 않아, 마이그레이션을 중단해야 하는 경우 기존 데이터에 영향을 주지 않도록 하기 위함입니다.
2. 버킷 네이밍 방식을 변경했기 때문에, 이를 위해 완전히 새로운 버킷 두 개를 사용하는 것이 더 쉬울 것이라 판단했습니다.

특히 1번이 걱정되므로 더 신중하게 접근하고 있습니다.

새로운 업로드 버킷에 대해 예상되는 문제가 있을까요? 기존 Discourse 서버는 읽기 전용 모드로 전환됩니다. 새 서버가 구동되고 검증되면, 기존 서버를 중지하고 DNS를 새 서버로 변경한 후 CDN(Cloudfront)의 캐시를 정리하고, 마지막으로 대외 공개를 할 계획입니다.

---

<div class="post-metadata">

### Author: ![philh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/philh/32/532740_2.png) [@philh](https://meta.discourse.org/u/philh)
#### Post date: [2월 12, 2026, 8:33오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/4 "2026-02-12T20:33:01Z")

</div>

기존 버킷에서 데이터를 복사할 계획이었는지 놓쳤네요. AWS를 살펴봤는데, 비교적 간단해 보입니다. 제 입장에서는 AWS나 다른 곳의 새 서버로 이전하기 전에 버킷을 변경하는 것은 건드리지 않는 것이 좋습니다.

> [@stevejr](#):
>
> 최신 Discourse 릴리스를 사용하여 AWS에서 공식적으로 지원되는 설치 방식으로.

공식적으로 지원된다고요? 그 부분은 확신이 서지 않습니다.

새 서버로 이전하기 전에 Discourse를 업데이트하는 것을 강력히 권장합니다.

기존 인스턴스에서는 이전하기 전에 S3 구성이 app.yml에 이미 없다면 app.yml로 이동하는 것을 권장합니다.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2월 12, 2026, 8:36오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/5 "2026-02-12T20:36:26Z")

</div>

> [@stevejr](#):
>
> Bitnami에서 마이그레이션이 문제없이 진행될지 100% 확신할 수 없습니다.

이것은 프로덕션 환경에 영향을 주지 않고 쉽게 테스트할 수 있는 사항입니다.

개인적으로는 이 두 가지를 동시에 수행하는 것을 피하기 위해 최선을 다하겠습니다.

1. 버킷을 이동하는 것을 아예 피할 수 있는지 확인해 보세요.
2. 피할 수 없다면, Bitnami에서 마이그레이션을 완료한 후에 진행하세요.

---

<div class="post-metadata">

### Author: ![philh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/philh/32/532740_2.png) [@philh](https://meta.discourse.org/u/philh)
#### Post date: [2월 12, 2026, 9:22오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/6 "2026-02-12T21:22:08Z")

</div>

> [@stevejr](#):
>
> 이 새로운 설치에는 외부 Elasticache 및 RDS 인스턴스가 있으며

이러한 유형의 설치가 어떻게 부가가치를 제공하는지 매우 궁금합니다.  
지원되지 않는 설치에 대한 수많은 게시물들을 보면, 학습이나 실험 목적을 제외하고는 이점이 아니라 더 많은 문제를 초래하는 것 같습니다.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2월 12, 2026, 10:31오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/7 "2026-02-12T22:31:37Z")

</div>

> [@philh](#):
>
> 이러한 유형의 설치가 어떻게 가치 있는 제안인지 매우 궁금합니다.  
> 지원되지 않는 설치에 대한 수많은 게시물들을 살펴본 결과

이러한 구성은 Discourse의 관점에서는 지원되지 않는 설치일 수 있지만, 엔터프라이즈 IT 조직의 관점에서는 RDS와 Elasticache가 표준일 수 있고, 오히려 Discourse의 표준 설치 방식이 이례적인 것이 될 수 있습니다.

---

<div class="post-metadata">

### Author: ![philh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/philh/32/532740_2.png) [@philh](https://meta.discourse.org/u/philh)
#### Post date: [2월 13, 2026, 12:12오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/8 "2026-02-13T00:12:15Z")

</div>

감사합니다. 그러니까 친숙함과 아마도 기존 인프라를 말하는 거군요.

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 13, 2026, 8:27오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/9 "2026-02-13T08:27:04Z")

</div>

이 질문에 대한 피드백을 감사합니다.

@RGJ 님이 언급했듯이, 저희 엔터프라이즈 인프라는 캐시, 데이터베이스 등을 위해 Elasticache와 RDS와 같은 외부 서비스를 사용하고 있습니다. 이를 통해 해당 서비스에 대한 완전한 백업과 중복성을 확보할 수 있을 뿐만 아니라 보안 관리에도 도움이 됩니다. Discourse의 관점에서 이것은 공식적으로 지원되는 설치 방식이며, 단지 다른 템플릿 세트를 사용하고 있을 뿐입니다. 저희는 [discourse\_docker/samples/web\_only.yml at main · discourse/discourse\_docker · GitHub](https://github.com/discourse/discourse_docker/blob/main/samples/web_only.yml) 파일을 사용하고 있습니다(‘표준’이라는 표현이 다소 오해를 불러일으킬 수 있었네요, 죄송합니다).

따라서 기존 설치 환경의 버킷 이름을 먼저 업데이트한 후 새 서버로 이전을 진행하는 것이 적절해 보입니다. 기존 설치를 최신 버전으로 업데이트하는 것은 불가합니다. 이전에 Bitnami 업그레이드 시 문제가 발생했던 경험이 있어, 공식 설치 방식으로 전환하게 되었습니다.

혹시 기존 버킷을 그대로 사용하여 복원을 수행한 후 app.yml 파일을 수정해 새 버킷을 참조하도록 변경할 경우 어떤 문제가 발생할 가능성이 있는지 여쭤봐도 될까요? `DISCOURSE_` 환경 변수들은 모두 데이터베이스 내 설정(해당하는 경우)보다 우선순위가 높지 않나요? 아니면 다른 요인이 문제를 일으킬 수 있는 건가요?

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2월 13, 2026, 9:51오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/10 "2026-02-13T09:51:46Z")

</div>

> [@stevejr](#):
>
> 기존 설치에 대해 버킷 이름을 먼저 업데이트한 다음 새 서버로 이전하는 것이 좋겠네요

저라면 그렇게 하지 않을 것 같습니다.

> [@RGJ](#):
>
> Bitnami에서 마이그레이션을 한 후에 하세요

마이그레이션 전에 수행했다가 문제가 발생하면, 방금 설치한 표준 인스턴스가 아니라 구형 Bitnami 인스턴스에서 문제가 생기기 때문입니다. 그리고 구버전이라는 점 외에도, Bitnami라는 단어 자체가 언급되는 것만으로도 meta에서 훨씬 적은 지원을 받게 됩니다.

> [@stevejr](#):
>
> `DISCOURSE_` 환경 변수들은 모두 데이터베이스의 어떤 설정보다 우선순위가 높지 않나요?

네, 그렇습니다.

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 13, 2026, 10:39오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/11 "2026-02-13T10:39:14Z")

</div>

아, 리처드, 죄송합니다. S3 이름 변경에 대한 항목을 잘못 읽었네요 👍

그래서 더 나은 계획은 기존 버킷을 백업한 후 마이그레이션을 수행하고 버킷 이름을 변경하는 것입니다.

지금까지 도움을 주셔서 감사합니다.

그리고 네, "B"라는 단어는 사람들이 입을 다물게 하니까, 그 단어를 사용하지 않는 방향으로 나아가는 것이 좋은 것 같습니다 🙂

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2월 13, 2026, 10:46오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/12 "2026-02-13T10:46:04Z")

</div>

> [@stevejr](#):
>
> 더 나은 계획은 기존 버킷을 백업하고, 마이그레이션을 수행한 후 버킷 이름을 변경하는 것입니다.

네, 한꺼번에 너무 많은 일을 하지 않도록 버킷 이름 변경 전에 며칠 정도 기다리는 것이 좋습니다.

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 13, 2026, 11:04오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/13 "2026-02-13T11:04:59Z")

</div>

좋습니다.

한 가지만 더 여쭤볼게요 - Discourse 컨테이너 내에서 커맨드 라인을 통해 복원을 실행할 때, 데이터베이스 연결, Redis 연결 등의 세부 정보는 기존 `/var/www/discourse/config/discourse.conf` 설정 파일을 사용하는 건지, 아니면 백업 파일에 있는 내용으로 해당 설정을 덮어쓰는 건가요?

다시 한번 감사합니다!

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [2월 13, 2026, 11:54오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/14 "2026-02-13T11:54:49Z")

</div>

`discourse.conf`는 `app.yml`에서 생성되며, 백업 파일에 포함되지 않습니다.

일반적으로 `discourse.conf`에 포함된 항목은 사이트 설정을 우선합니다.

따라서 데이터베이스에 `setting_foo`가 있는 경우, `app.yml`에 `DISCOURSE_SETTING_FOO`를 정의하면 `discourse.conf`에 `setting_foo`가 생성되어 해당 설정을 오버라이드할 수 있습니다.

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 13, 2026, 4:24오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/15 "2026-02-13T16:24:16Z")

</div>

좋아요. @RGJ 님, 도움 주셔서 정말 감사합니다. 마이그레이션이 끝나면 결과를 알려드리겠습니다.

---

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2월 13, 2026, 8:38오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/16 "2026-02-13T20:38:17Z")

</div>

> [@philh](#):
>
> 지원되지 않는 설치

컨테이너 이미지와 도구를 사용하여 Discourse 컨테이너를 외부 PostgreSQL 및 Redis 서버를 가리키도록 설정하는 것은 지원되는 설치 방식입니다.

RDS\[1\]는 PostgreSQL이고, Elasticache는 Redis이므로 문제없습니다.

> [@stevejr](#):
>
> 기존 Discourse 서버가 꽤 오래된 버전입니다 - 새 Discourse 서버에서 백업/복구를 수행하면 관련 업그레이드 명령이 모두 실행되나요?

저희 호스팅으로 이전하는 고객분들에게도 이렇게 하고 있으므로 문제없을 것입니다.

저는 프로세스를 최대한 단순하게 유지하는 것을 선호합니다. 따라서 기존 서버에서 전체 백업(업로드 포함)을 실행한 후 새 서버에 복구하면, 기존 서버에 영향을 주지 않으면서 새 설정을 완전히 테스트해 볼 수 있습니다.

* * *

1. 네, PostgreSQL RDS

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 14, 2026, 9:43오전 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/17 "2026-02-14T09:43:57Z")

</div>

@supermathie님, 정말 감사합니다.

@RGJ님이 제안하신 대로, 버킷 이름을 변경하지 않고 백업/복원을 수행하겠습니다. 말씀드렸듯이 기존 서버 데이터에 영향을 주지 않는 것이 제 우려 사항이었지만, 먼저 기존 버킷을 백업하고 마이그레이션 동안 기존 서버를 읽기 전용(Read Only) 모드로 설정하면 버킷에 업로드된 데이터의 무결성이 상당히 잘 보호될 것 같습니다.

---

<div class="post-metadata">

### Author: ![philh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/philh/32/532740_2.png) [@philh](https://meta.discourse.org/u/philh)
#### Post date: [2월 14, 2026, 7:18오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/18 "2026-02-14T19:18:24Z")

</div>

> [@supermathie](#):
>
> 컨테이너 이미지와 도구를 사용하여 Discourse 컨테이너를 외부 PostgreSQL 및 Redis 서버에 연결하는 것은 지원되는 설치 방식입니다.

정보 감사합니다! 제 무지를 대담하게 드러내는 게 싫습니다.

---

<div class="post-metadata">

### Author: ![supermathie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/supermathie/32/507518_2.png) [@supermathie](https://meta.discourse.org/u/supermathie)
#### Post date: [2월 19, 2026, 9:47오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/19 "2026-02-19T21:47:27Z")

</div>

> [@supermathie](#):
>
> [RDS]는 지원되는 설치입니다.

보충 설명: 주요 버전이 [우리가 배포하는 버전과 일치하는 경우](https://github.com/discourse/discourse_docker/blob/main/image/base/Dockerfile#L37)

---

<div class="post-metadata">

### Author: ![stevejr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stevejr/32/292622_2.png) [@stevejr](https://meta.discourse.org/u/stevejr)
#### Post date: [2월 25, 2026, 2:05오후 UTC](https://meta.discourse.org/t/migrating-to-a-new-server-that-has-a-new-db-and-new-s3-buckets-for-backup-and-uploads/395948/20 "2026-02-25T14:05:37Z")

</div>

여러분께 인사드립니다.

어제 마이그레이션을 완료했는데, 정말 순조롭게 진행되어 매우 만족스러웠습니다.

도와주신 모든 분들께 감사드립니다.
