# BunnyCDN과 함께 BackBlaze S3 설정하기

**URL:** https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135
**Category:** Sysadmins
**Tags:** how-to
**Created:** [7월 29, 2020, 3:33오전 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135 "2020-07-29T03:33:57Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Bill](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bill/32/159342_2.png) [@Bill](https://meta.discourse.org/u/Bill)
#### Post date: [7월 29, 2020, 3:33오전 UTC](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135/1 "2020-07-29T03:33:57Z")

</div>

이 모든 것을 어떻게 해야 하는지 파악하는 데 정말 오랜 시간이 걸렸기 때문에, 다른 사람들에게 더 쉽게 이해할 수 있도록 이 가이드를 작성했습니다. 이미지를 이런 방식으로 서빙하면 웹사이트가 더 빠르게 로드되도록 설계되어 있습니다. 제 Discourse 설정은 DigitalOcean 드롭렛, Backblaze B2 S3, BunnyCDN, 그리고 Cloudflare의 무료 버전을 조합하여 사용하고 있습니다.

신뢰성, 가격, 벤치마크에 대해 조금 조사한 후 이 서비스들을 선택했습니다. 제 기준에서 가장 좋은 옵션들이라고 생각했습니다. Cloudflare는 보안을 도와주지만, 제 이해로는 사이트 속도를 약간 늦추기도 하므로 이 점도 확인해 보시는 것이 좋습니다. Backblaze는 Cloudflare와 Bunny 모두와 파트너십을 맺고 있어 무료 데이터 전송을 허용합니다.

> **[B2/Cloudflare Partnership Offers the Lowest Cost Media Serving Platform](https://www.backblaze.com/blog/backblaze-and-cloudflare-partner-to-provide-free-data-transfer/)**
>
> Backblaze and Cloudflare have partnered to offer free data transfer between the two. What does this partnership mean for you, and how can you use it?

Cloudflare는 CDN이라고 불리지만, 일반적인 CDN처럼 작동하지 않으며, Discourse에서 S3를 설정하는 데 단독으로 사용될 경우 제대로 작동하지 않을 가능성이 높습니다. 아마도 BunnyCDN과 같이 다른 CDN 제공사가 필요할 것입니다. Cloudflare만으로도 성공적으로 설정한 분이 있다면 방법을 알려주세요 😛

**S3 업로드 설정 방법:**  
먼저 Backblaze에 가입하고, 버킷을 생성한 다음 해당 세부 정보를 Discourse 설정에 입력해야 합니다:

> **[Low Cost, High Performance S3 Compatible Object Storage](https://www.backblaze.com/cloud-storage)**
>
> Always-hot S3 compatible cloud object storage with 99.9% uptime SLA, free egress, and enterprise-grade security. Get started free—no credit card required.

> [@Backblaze B2에 백업 및 이미지 업로드 설정하기](https://meta.discourse.org/t/setting-up-backup-and-image-uploads-to-backblaze-b2/150348):
>
> So I was following the [Digital Ocean Spaces guide](https://meta.discourse.org/t/setting-up-backup-and-image-uploads-to-digitalocean-spaces/92502), and I started looking around for cheaper providers for my (very) small community. I noticed [this old post](https://meta.discourse.org/t/extend-s3-configuration-for-other-s3-api-compatible-cloud-storage-solutions/20593/21) which confused me, because I had just looked at Backblaze B2 and saw that it was S3 compatible. Turns out they launched the feature 30 minutes before I had looked (what luck!). So I have decided to write a quick guide on how I got it to work with my current community: Step 1: Configuring Backblaze B2 Cloud Storage Create Account Go to [B2 …](https://www.backblaze.com/b2/cloud-storage.html)

그 다음 BunnyCDN에 가입하고 다음 가이드를 따르세요:

[bunny.net - The Global Edge Platform that truly Hops](https://bunnycdn.com/?ref=qcp86164sq) (추천 링크, 제 청구서에 20달러 크레딧이 적용됩니다)

> **[Developer Hub - bunny.net Documentation](https://bunny.net/docs)**
>
> Everything from quickstarts to advanced guides, you will find it here.

BunnyCDN 풀 존(pull zone)을 생성한 후에는 Discourse 관리자 백엔드 설정의 "s3 cdn url"에 삽입할 올바른 URL을 가져와야 합니다. bunnycdn 대시보드 \> 풀 존 \> 풀 존 관리 \> 해당 존 클릭 \> “host name” 옆의 URL을 복사하세요.

URL은 example.b-cdn.net과 같은 형태여야 하며, 앞에 [https://를](https://xn--bx2b) 붙여 [https://example.b-cdn.net과](https://example.b-cdn.xn--net-rg8l) 같이 입력해야 합니다.

Discourse 관리자 설정 영역에서 변경 사항을 저장하세요.

브라우저에서 Discourse 사이트에서 Ctrl+F5를 두 번 누르세요.

Discourse 텍스트 작성기에 이미지를 업로드하여 테스트를 수행하세요. 테스트 이미지 요소를 검사하거나 이미지 소스를 확인하여 작동하는지 확인하세요. URL은 일반적인 도메인과 다르게 보이며, [example.b-cdn.net](http://example.b-cdn.net) / filename과 같은 형태여야 합니다.

이제 누군가 이미지를 업로드할 때마다 해당 이미지는 DigitalOcean 드롭렛의 공간을 차지하지 않고 Backblaze 버킷에 저장됩니다 😛

**S3로 백업 업로드하기**  
Discourse 백업을 Backblaze 버킷으로 보내고 싶다면 다음을 수행해야 합니다:

이 스레드 위에서 제가 게시한 가이드를 참고할 때, 두 개의 별도 버킷이 필요하다는 설명에 주의하세요. 한 버킷은 공개(public) 버킷으로, 사용자가 포럼에 이미지를 업로드하는 용도로 사용됩니다. 다른 버킷은 비공개(private) 버킷으로, 백업용 버킷입니다. 무엇이든 깨질 경우에 대비해 Discourse의 자동 백업을 설정하는 것이 중요하며, 이렇게 하면 백업을 로드하여 수정할 수 있습니다.

BunnyCDN 대시보드에서 두 번째 풀 존을 생성해야 합니다. 첫 번째 풀 존은 업로드용이었지만, 이 새로운 풀 존은 백업용으로 사용됩니다.

bunnycdn 대시보드 \> 풀 존 \> 풀 존 추가

앞서 링크한 BunnyCDN의 “How to Speed up your Backblaze B2 file delivery with BunnyCDN” 가이드를 그대로 따르되, 이번에는 업로드 버킷 대신 백업 버킷에 새로운 풀 존을 연결해야 합니다.

BunnyCDN 풀 존 생성 페이지에서 “high volume tier 5$/TB” 사용을 권장합니다. 업로드 버킷에 사용했던 더 비싸고 빠른 "standard tier 10$/TB"는 백업에는 필요하지 않다고 생각합니다.

Discourse 관리자 설정 영역에서 백업 설정을 구성하세요. "backup location"은 S3로 설정하고, "s3 endpoint"는 Backblaze에서 확인한 값, 예를 들어 다음과 같은 값으로 설정해야 합니다:  
[s3.us-west-002.backblazeb2.com](http://s3.us-west-002.backblazeb2.com)

캐시를 지우기 위해 웹사이트에서 Ctrl+F5를 두 번 누르세요.

백업을 시작하고 완료되도록 두세요. 그런 다음 5분 정도 기다린 후 Backblaze 백업 폴더를 확인하면 새로운 백업을 볼 수 있어야 합니다.

**기존 이미지 마이그레이션:**  
이 단계는 선택 사항이지만 권장되며, 특히 서버 저장 공간이 부족한 경우입니다. 이제 새 이미지 업로드를 위한 모든 설정이 완료되었지만, 기존 이미지들도 버킷으로 이전할 수 있습니다. 이 프로세스가 작동하려면 다음을 따르세요:

> [@AntiMetaman](#):
>
> 저도 S3와 함께 백업이 작동하도록 설정했습니다. 즉, S3를 사용하여 기존 및 새 업로드가 모두 작동합니다. SSL과 DDoS에는 Cloudflare를, 업로드 및 백업 풀 존에는 BunnyCDN을, S3 스토리지에는 BackBlaze를 사용하고 있습니다. 이제 모든 것이 잘 작동합니다!
> 
> [Using Object Storage for Uploads (S3 Clones)](https://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916)에 표시된 것처럼 env 변수를 app.yml에서 정의하는 것이 더 좋습니다.
> 
> 그런 다음 재빌드(rebuild)하여 S3 구성이 관리자 패널에서만 아니라 전역적으로 정의되도록 하세요. 이렇게 하면 S3로 기존 파일을 마이그레이션할 때 다음 3개 명령어로 더 쉽게 수행할 수 있습니다:
> 
> `./launcher enter app`  
> `rake uploads:migrate_to_s3`  
> `rake posts:rebake`

**Cloudflare CDN 설정**  
Backblaze가 Bunny로의 데이터 전송을 무료로 제공하는 파트너십을 맺었기 때문에 이 단계는 선택 사항입니다. 하지만 추가적인 보안 및 기타 기능을 위해 데이터를 먼저 Cloudflare를 통해 지나가게 한 다음, Bunny가 Cloudflare가 데이터를 전달하는 위치에서 데이터를 가져오도록 설정할 수 있습니다.

[https://help.backblaze.com/hc/en-us/articles/217666928-Using-Backblaze-B2-with-the-Cloudflare-CDN](https://help.backblaze.com/hc/en-us/articles/217666928-Using-Backblaze-B2-with-the-Cloudflare-CDN)

---

_[View the full topic](https://meta.discourse.org/t/set-up-backblaze-s3-with-bunnycdn/159135)._
