Bunny.net is an excellent cloud storage and CDN service. I use it for my websites. Bunny offers two primary services: Bunny Storage and Bunny Pull Zones. Combined those two comprise Bunny CDN.

There are additional services DNS, Stream (video), and Optimizer (compress). This article does not discuss those services.

Their CDN is very low cost. The following image shows the CDN stats for jhanley.com/blog for  September 1-16, 2022. I only use the CDN to serve image files.

Bunny Storage

This is Bunny’s cloud storage service which is similar to AWS S3. This service is replicated around the world. Bunny Storage is tightly integrated with Bunny CDN. Bunny Storage is designed to be the fastest performing global storage solution thanks to smart geographical load balancing.

Files stored in Bunny storage are private. Access requires API authorization. See the following section on Pull Zones.

There are two storage service tiers: Standard and Edge. I use the Edge Tier for my CDNs and Standard Tier for just cloud storage.

Standard Tier

The Standard storage tier is optimized for low cost, high throughput global file storage, and delivery. It provides moderate latency around the world and is great for use cases such as object storage, video delivery, file hosting, and more.

  • Data replication points available: 8 regions
  • Storage latency: Variable (30-300ms)
  • Recommended regions: Geographically diverse

Each data center costs $0.01 per GB for the first and second data centers. Each additional replicated data center is $0.005. If you enable replication to all 8 data centers, the cost is currently $0.05 per GB. Bunny Storage Pricing

Standard has eight data centers:

  • London (UK)
  • Falkenstein / Frankfurt (DE)
  • Stockholm (SE)
  • New York (US)
  • Los Angeles (US)
  • Singapore (SG)
  • Sydney (AU)
  • Sao Paulo (BR)

Edge Tier

The Edge storage tier is optimized for ultra-high global performance powered by strictly SSD storage. It provides millisecond latencies around the world and is great for use cases such as Perma-Cache, website acceleration, high-performance content delivery, small files, and content where performance is paramount.

  • Data replication points available: Main region (Frankfurt) plus13 regions
  • Storage latency: Consistent (1-5ms)
  • Recommended regions: As many as possible

Each data center costs $0.02 per GB. If you enable replication to all 14 data centers, the cost is currently $0.28 per GB. Bunny Storage Pricing

Edge has 14 data centers:

  • London (UK)
  • Falkenstein / Frankfurt (DE)
  • Stockholm (SE)
  • Prague (CZ)
  • Madrid (ES)
  • New York (US)
  • Los Angeles (US)
  • Seattle (US)
  • Miami (US)
  • Singapore (SG)
  • Hong Kong (HK)
  • Tokyo (JP)
  • Sydney (AU)
  • Sao Paulo (BR)

Bunny Pull Zone

A Bunny Pull Zone is the CDN front end for Bunny Storage. Public access to Bunny Storage is provided by a Bunny Pull Zone. Access can be public or via Signed URLs. Each Pull Zone supports one or several custom hostnames and SSL certificates.

Bunny API Keys

The Bunny.net API supports several types of keys. These keys are used to access the API, storage, and create signed URLs. Unfortunately, Bunny.net sometimes uses the same name to describe different keys or different names for the same key. Sometimes password is used instead of key and vice versa.

  • API Access Key
  • Storage API Key
  • FTP & SFTP Authentication
  • Zone Security Key

The keys are a collection of sets of hexadecimal numbers concatenated with hyphens.

Example Storage Key: a2350e09-57ec-3f4e-d7a38d0858a6-a5c7-47aa. Each key type has a different length. The API Access Key is the longest and the Zone Security Key is the shortest.

API Access Key

This key is used to programmatically update the account settings and zones via the bunny.net API. The REST API calls this key Accesskey. This key is not used for the storage APIs.

The API Access Key is per user.

This API Access Key is located here.

Storage API Key

This key is located under “Storage” -> “FTP & API Access”. For the Storage REST API, the “Password” is the key. In some places, this key is called “Storage Zone Password”.

The REST API calls this key Accesskey. This is the same key name as the API Access Key.

This key is used for Bunny Storage authorization, e.g. upload, download, list files, etc. There are two keys. One with read-write access and another that is read-only.

The Hostname is the Bunny data center endpoint. If you use the wrong data center, authorization will fail.

FTP & SFTP Authentication

This key is located under “Storage” -> “FTP & API Access”. For SFTP access, use the “Hostname”, “Username” and “Password” values. Reference the previous screenshot for an example.

These values are used to authenticate using an FTP or SFTP client. I do not recommend using FTP as your credentials because data transfers are transmitted on the Internet in the clear. Use SFTP because everything is encrypted. I have tested SFTP with WinSCP. I have also written software utilities in Python, PHP, and Go to test the APIs. I plan to release that code on GitHub in a future article.

Zone Security Key

This key is located under “Pull Zones” -> “Security” -> “Token Authentication”. The GUI calls this key “Pull Zone Url Token Authentication Key”. The JSON API key name is ZoneSecurityKey.

This is your private key used for generating the token hash and creating Signed URLs. Bunny Signed URLs have many features:

  • expiration
  • country allow list
  • country deny list
  • specific origin IP address
  • path-based key supporting a hierarchy of files
  • specific origin referrers

More Information

Photography Credit

I write free articles about technology. Recently, I learned about Pexels.com which provides free images. The image in this article is courtesy of Mike B at Pexels.

Related Posts