> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bunny.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon S3

> Use bunny.net CDN as a caching layer for Amazon S3 to accelerate file delivery and reduce origin costs.

Bunny CDN caches files from your Amazon S3 bucket and delivers them from a global edge network, speeding up delivery and reducing egress costs. This guide walks you through the setup in a few steps.

<Tip>
  Prefer to keep your files on bunny.net? [Bunny Storage](/storage) is globally replicated object storage with tight CDN integration, and it offers an [S3-compatible API](/storage/s3) (currently in beta).
</Tip>

<Steps>
  <Step title="Create an S3 bucket and upload a file">
    If you don't already have a bucket, sign in to the [AWS Management Console](https://console.aws.amazon.com/s3/), click **Create bucket**, and follow the prompts (see [Amazon's guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-bucket.html) for details). Upload a file and give it public-read permissions.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2/RilmGx6yE6wbeAYi/images/cdn/integrations/storage/s3-create-bucket.png?fit=max&auto=format&n=RilmGx6yE6wbeAYi&q=85&s=a4e843601d7a2c0fecfbef9b338c72fd" alt="Creating an Amazon S3 bucket" width="433" height="177" data-path="images/cdn/integrations/storage/s3-create-bucket.png" />
    </Frame>
  </Step>

  <Step title="Find your bucket's public URL">
    Click the uploaded file to open its details, which include the public link. Copy only the first part of the link, the hostname and bucket path, for example `https://s3-eu-west-1.amazonaws.com/your-bucket/`. Don't include the file name.

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2/RilmGx6yE6wbeAYi/images/cdn/integrations/storage/s3-get-url.png?fit=max&auto=format&n=RilmGx6yE6wbeAYi&q=85&s=2f4e0f929f40c9303d79991c7fa1684a" alt="Getting the S3 object URL" width="1080" height="536" data-path="images/cdn/integrations/storage/s3-get-url.png" />
    </Frame>
  </Step>

  <Step title="Create a Pull Zone">
    Log in to your [bunny.net dashboard](https://dash.bunny.net) and create a new Pull Zone. Give it a name (this becomes your CDN hostname) and paste the URL from the previous step into the **Origin URL** field, then choose your pricing tiers and click **Add Pull Zone**. For details, see [How to create your first Pull Zone](/cdn/quickstart).

    <Frame>
      <img src="https://mintcdn.com/bunnynet-cb9733c2/RilmGx6yE6wbeAYi/images/cdn/integrations/storage/s3-add-pull-zone.png?fit=max&auto=format&n=RilmGx6yE6wbeAYi&q=85&s=1e0982a74e0b5878972051ef5c4278d5" alt="Adding a Pull Zone with the S3 bucket as origin" width="960" height="159" data-path="images/cdn/integrations/storage/s3-add-pull-zone.png" />
    </Frame>
  </Step>

  <Step title="Test your Pull Zone">
    Once the configuration has synced to the edge network, request a file through your Pull Zone hostname, for example:

    ```
    https://mys3zone.b-cdn.net/bunny.jpg
    ```

    If the file is served, Bunny CDN is caching content from your bucket. Replace your S3 URLs with the Bunny CDN URLs in your application to start serving cached content.
  </Step>
</Steps>
