마스토돈 운영/서버 만들기

한국 마스토돈 연합위키
둘러보기로 이동 검색으로 이동

직접 마스토돈 서버를 만들어봅시다.

무엇이 필요할까?

마스토돈 서버를 직접 개설하려면 여러가지가 필요합니다. 필요한 항목은 어떻게 구성하는지에 따라서 달라지지만, 크게 도메인, 서버 컴퓨터, 그 외 서비스 로 나눌 수 있겠네요.

도메인은 마스토돈을 운영할 인터넷 주소입니다. 기간제로 구매 가능하고, 구매할 수 있는 곳이 다양합니다. 구매한 다음 서버 컴퓨터를 바라보도록 연결해주자구요.

서버 컴퓨터는 마스토돈과 필요한 프로그램들을 24시간 실행해줄 컴퓨터입니다. 모든 웹사이트에는 24시간 동작하는 서버 컴퓨터가 안 보이는 곳에 꼭 있죠. 임대 서버를 사용하거나 직접 내 방에 있는 컴퓨터를 24시간 켜놓을 수도 있습니다.

그 외 서비스: 서버 컴퓨터에서 처리하지 않을 것들을 외부 서비스에 맡길 수 있습니다. 이메일 보내기, 그림 등의 미디어 파일 저장 같은 기능을 다른 서비스에 대신 맡길 수 있습니다. 이메일 보내기는 설정하기 골치아파서, 그림 등의 미디어 파일은 용량의 문제로 서버 컴퓨터에서 직접 처리하지 않는 경우가 많습니다.

서버 선택

마스토돈을 운영하려면 먼저 서버를 골라야 한다. 크게 나누면 자체 서버와 임대 서버로 나뉜다.

마스토돈을 운영하기 위한 구성요소로는 메인 웹서버, 사이드킥(백그라운드 작업), 스트리밍 서버, 메일 서버, PostgreSQL(DB), Redis, Elastic Search(ES)로 나뉘며, 이 중 Elastic Search를 제외한 나머지는 한 서버에 몰아 넣어도 문제가 없지만 ES는 자원을 굉장히 잡아먹기 때문에 저렴한 서버를 사용한다면 차라리 서버를 한 대 따로 두는 걸 추천한다.

임대 서버

일반적으로 VPS라고 불린다. VPS가 아닌 데디케이티드 서버도 있기는 하지만 성능을 제외하고는 실질적으로 관리자 입장에서 다를 건 없기 때문에 편의상 VPS라고 부른다.

성능도 중요하지만 기본적인 가격은 거의 다 동일하기 때문에 한국 리전이 있느냐 없느냐 등을 중점적으로 보면 된다.

VPS 업체 비교
업체 한국 리전 유무 비고
AWS EC2 ✔️ CPU 크레딧이라는 제도가 있어 CPU 자원을 100% 활용이 불가능하다
CDN이 되는 오브젝트 스토리지 지원(S3)
Vultr ✔️ 오브젝트 스토리지 있음(뉴저지)
DigitalOcean ✖️ 자체 CDN이 있는 오브젝트 스토리지 있으나 자체 도메인으로 CDN을 제대로 쓸 수 없음
Oracle cloud ✔️ 평생 무료 플랜이 있다.
방화벽 설정이 꽤나 복잡하다.

기타 클라우드 업체 비교: https://cloudharmony.com/directory

자체 서버

개인이 직접 서버를 관리하는 방법이다. 주로 홈서버가 되겠다. 임대 서버와는 다르게 포트포워딩 등의 지식도 추가적으로 필요하다.

일반 홈서버

일반 PC를 24시간 돌리는 홈서버로 이용하는 방법이다.

NAS

시놀로지 등의 NAS(Network attached storage)는 자체적으로 NAS 이외의 서버 응용프로그램을 돌리는 것을 지원한다. 하지만 NAS의 태생적 한계가 있다보니 성능적으로도 편의성 측면으로도 굉장히 모자란다. 서버를 운영해보고는 싶은데 NAS 이외에는 24시간 켜져 있는 PC가 없을 때 마지못해 도전해 볼 수 있는 선택지.

오브젝트 스토리지

이미지, 영상, 소리 파일들을 효율적으로 담기 위해서는 오브젝트 스토리지의 사용이 필수적이다. 없어도 운영은 가능하지만 서버의 용량이 남아나지 않을 것이다.

외부 서버에서는 미디어의 주소를 같이 저장하기 때문에 오브젝트 스토리지 제공자를 갈아탈 때 링크가 깨지지 않도록 오브젝트 스토리지의 주소를 그대로 연결하지 않고 자체 서브도메인에 연결하는 것을 추천한다. (요금 감면에도 도움이 된다) 참고

오브젝트 스토리지 비교
업체/서비스 특징
AWS S3 아마존의 오브젝트 스토리지 서비스
기본요금이 없어 사용량이 적은 경우 저렴하다.
CNAME을 활용할 경우 도메인을 바꾸질 못하는 단점이 있다.(새로 만든 후 복사+삭제 과정을 거쳐야 함)
요금제가 복잡하며 CDN을 사용하지 않으면 요금폭탄의 위험도 존재
DigitalOcean Spaces 자체 CDN 서비스가 제공되며 속도가 굉장히 빠르지만 CNAME을 이용하지 못하며 자신들의 네임서버를 사용하기를 강요하는 이상한 정책 덕분에 CloudFlare와 같이 사용하는 게 힘들다.
Vultr 아직 초기 단계이며 뉴저지 외에 다른 리전이 제공되지 않는다.
Wasabi 가장 저렴한 가격을 자랑으로 내세우고 있지만 해외 관리자들의 말에 따르면 다운타임이 잦다고 한다.
Google Cloud Storage 트잉여.kr 관리자의 경험에 따르면 뭔가 호환성이 별로라고 한다. #16866 패치로 수정되었다.
Cloudflare R2 비교적 가격이 저렴하다. Cloudflare와의 호환성이 좋으며 월 10GB까지 무료로 이용 가능하지만, ACL 등이 이상하고 호환성이 매우 떨어지며 HTTP 500 에러가 잦고 삭제 후 캐시가 남아있는 등의 문제가 아직 많다.
MinIO 특정 업체에 종속되기 싫을 때 S3 호환 서버를 자체적으로 구성할 수 있는 오픈소스 소프트웨어다.

메일 서버

메일 서버는 로컬에 postfix를 이용해서 구축해도 되기는 된다. 다만 도메인 인증과 기타 여러가지를 신경쓰다 보면 너무나 복잡해지기 때문에 Mailgun 같은 외부 서비스를 이용하는 걸 추천한다.

SMTP 서비스 비교
업체 특징
Mailgun 가장 유명한 서비스. 월 1000건까지는 무료로 제공, 1000건이 넘어가면 (기존것을 포함해) 건당 0.001 달러
Sparkpost 무료플랜 있음.
SMTP2go 발송이 2일 넘게 지연 될 때도 있음. 그냥 쓰지 말자.