@phil22 - 제안하신 것과 유사한 설정을 직접 구축해 본 경험이 있는데, 생각하시는 것보다 훨씬 더 섬세한 부분이 있습니다:
-
Discourse 팀은 매월 여러 번 릴리스를 진행하므로, 새로운 ec2로 클론할 때 원래의 버전을 유지해야 합니다. 보통은 앱을 무심코 업그레이드해도 괜찮지만, 일부 릴리스에는 주요 데이터베이스 업그레이드(PG 12 → PG 13)가 포함되어 있습니다. 이를 추적하지 않고 외부 RDS 업그레이드를 소홀히 하면 문제가 생길 수 있습니다.
-
ec2에 EBS 볼륨을 사용하고, 이를 앱 컨테이너 내부에도 마운트하도록 구성하는 것이 성공적인 방법임을 확인했습니다. 이렇게 하면 /shared 폴더의 모든 내용을 저장할 수 있습니다. 그러면 ec2 인스턴스가 생성되고 삭제되는 과정에서 이 공유 폴더 내용이 EBS에 영구적으로 유지됩니다. 또한, 나중에 파일을 s3에 저장하기로 한 결정을 번복할 수도 있습니다. 그런 경우를 대비해 업로드된 파일을 저장할 대안적인 위치(/shared 폴더 등)가 있는 것이 좋습니다.
도움이 되셨으면 좋겠습니다.