비용 절감해보려고 시작한 일이 큰 성과도 없이 열심히 삽질하다 끝났다.
WordPress
CDN 지원
S3 호환 Object Storage 와 스토리지에 연계된 CDN을 지원하는 플러그인은 크게 두 가지이다.
- Upload Your WordPress Media to Amazon S3 with WP Offload Media – Delicious Brains Inc는 개인이 쓰기에 가격이 비싼 편이다.
- Infinite Uploads – Your WordPress Media Cloud Library 도 월 이용료가 9달러부터 시작하는지라 부담이 된다.
- Leopard – WordPress Offload Media by nouthemes | CodeCanyon도 가격이 만만치 않다.
Media Cloud • Cloud Storage for WordPress Media는 기능이 많지만wp_options
에 레코드를 과도하게 쌓아서 워드프레스의 성능을 전체적으로 저하시키는 문제가 있다. 그리고 최근 몇달 간 개발자가 잠수를 타서 유료 사용자의 원성이 자자하다. 원성이 자자한 이유가 있다. 마이그레이션 기능부터 작동 안 한다.
Media Cloud를 줄곧 써왔고 이것만 믿었는데 한마디로 망했다. DigitalOcean의 CDN에 커스텀 도메인을 붙이는 작업하다 되려 CDN 전체를 떼어버리고 말았다.
CloudFlare와 DigitalOcean Space
Custom Domain with Digital Ocean Spaces using Cloudflare for DNS 을 참고해서 DO Space CDN에 CloudFlare 에서 받은 도메인 인증서를 붙여 넣었다.
Discourse
CDN 이전
Migrate_to_s3 for Digital Ocean Spaces woes의 논의가 거의 맞는데 DISCOURSE_S3_ENDPOINT
환경변수도 추가해야 한다.
export DISCOURSE_S3_BUCKET="MY_BUCKET/ds"
export DISCOURSE_S3_REGION="us-west-2"
export DISCOURSE_S3_CDN_URL="https://content.andromedarabbit.net"
export DISCOURSE_S3_ENDPOINT="https://sgp1.digitaloceanspaces.com"
export DISCOURSE_S3_ACCESS_KEY_ID=""
export DISCOURSE_S3_SECRET_ACCESS_KEY=""
cd /var/www/discourse
DRY_RUN=1 rake uploads:migrate_to_s3
CDN 주소 변경
Discourse Settings 에서 S3 및 CDN 관련 설정을 바꾼 후 rebake
한다.
cd /var/www/discourse
rake posts:rebake
백업
Synchronizer-base for any backup provider – plugin / broken-plugin – Discourse Meta로 Object Storage 대신 Google Drive, DropBox에 백업을 저장할 수 있다. 에 기대가 컸으나 4~5년 동안 업데이트가 없고 패키지 충돌이 나는 듯 하다.
설정 바꾸기
rails c
User.where(trust_level: [0, 1, 2, 3]).find_each do |user|
user.change_trust_level!(TrustLevel[4])
end
rails c
User.all.find_each do |user|
Promotion.recalculate(user)
end
Group.ensure_consistency!
참고
- Understanding Discourse Trust Levels | Blog
- Replace a string in all posts – howto / sysadmin – Discourse Meta
좌충우돌
Object Storage 경로 변경
aws s3 sync
명령으로 버킷의 특정 폴더를 다른 곳에 복사하기는 쉽다. 단지 각 파일의 권한(Permission)은 복사되지 않는다. 복사본의 권한을 일괄설정하는 것만 가능하다.
워드프레스 호스팅 서비스 검토
DigitalOcean의 VPS/Kubernetes 서비스를 벗어나 워드프레스 전문 서비스로 넘어가면 비용이 크게 줄지 않을까 했다. 결과적으론 이전하지 않고 DigitalOcean 내에서 최적화하고 끝냈다.