Discourse는 최소한의 노력으로 포럼을 운영할 수 있는 오픈 소스 포럼 소프트웨어입니다(호스팅 방법을 알고 있다면요). 공식 가이드에는 DigitalOcean에 설치하는 과정이 설명되어 있지만, AWS EC2에서 작동하려면 몇 가지 조정 작업이 필요합니다. 커뮤니티에서는 AWS EC2에 설치하는 공식 가이드를 요청했지만, Discourse 팀은 베어 메탈 Linux 서버에서 호스팅을 하고 있어 경험이 부족했습니다.
이 글은 AWS EC2에서 Discourse를 호스팅하는 방법을 보여줌으로써 이러한 공백을 메우기 위한 것입니다. 다행히도 AWS EC2 호스팅과 DigitalOcean 호스팅 간의 유일한 차이는 “새로운 클라우드 서버 생성” 부분의 첫 단계에만 있으므로, 이 부분만 다루겠습니다.
AWS EC2 인스턴스를 시작하는 방법을 알고 있다고 가정합니다. 그렇지 않다면 훌륭한 YouTube 영상을 참고하세요. 일반적인 흐름 외에도 몇 가지 주의할 사항이 있습니다.
Elastic IP
Elastic IP를 설정하세요. EC2의 공용 IP보다 더 정적이기 때문입니다. 후자는 인스턴스를 중지하고 다시 시작할 때마다 변경됩니다. 정적 IP는 DNS 해석의 오류 가능성을 줄여줍니다.
디스크 공간
Docker 컨테이너는 Redis와 PostgreSQL을 실행하므로 상당한 디스크 공간이 필요합니다. 기본 8 GiB EBS(Elastic Block Store) 블록은 충분하지 않습니다. 30 GiB 블록을 설정했습니다.
이미 기본 8 GiB 블록을 설정했다면 걱정하지 마세요. AWS 콘솔에서 변경한 후 인스턴스를 중지하고 다시 시작하면 됩니다. 이제 왜 Elastic IP가 필요한지 아시겠죠 - 재시작 후에도 IP가 변경되지 않으므로 DNS 해석에 영향을 주지 않습니다!
수신 규칙
수신 규칙에서 소스 0.0.0.0/0에 대해 포트 80과 443을 열었는지 확인하세요. 편의를 위해 넓게 열어두었지만, 적절히 범위를 제한하는 것도 좋습니다.
결론
AWS EC2에서 Discourse를 호스팅하는 것과 관련하여 여전히 질문이 있다면 https://meta.discourse.org/에서 @yiksanchan에게 편하게 문의해 주세요. 도와드릴 수 있는 부분은 돕겠습니다.
즐거운 Discourse 경험 되세요!