How to Host Your Podcast Files at Amazon S3

How to Host Your Podcast Files on Amazon S3

David G. Johnson Small Business Marketing 11 Comments

When you’re first getting started with podcasting, one of the first challenges you might run into has to do with hosting your large files. Whether you’re producing an audio podcast or a video podcast, the media files can get large fairly quickly.

Of course, you can always use your FTP client and upload the files to a folder on your webserver, and that may actually work for a while.

But in the long run, there are several reasons why hosting your podcast media files on your web server may not be the best solution:

  • Your web hosting account may have storage limits, which can result in high fees for overage when you store too many large files
  • Similarly, your web hosting account may have bandwidth limits that you may have never come close to exceeding in the past. Even one popular episode of your podcast could cause you to hit and exceed these limits when your listeners or viewers download the file.
  • Perhaps more importantly, your web hosting account isn’t usually built for serving large files. When you have a number of subscribers that automatically download your new episodes when they’re released, you could quickly overload your web server with a number of users downloading large files all at once via iTunes or other “podcatcher” apps. This results in poor download performance for your subscribers, and could even temporarily bring down your website.

There are quite a few ways to solve the problem of where to host podcast files. One simple way is to host your media files at Amazon S3.

Why Use Amazon S3 for Your Podcast Files?

You’re probably familiar with the idea that Amazon has built a massive cloud infrastructure, known as Amazon Web Services (“AWS”), that it makes available to anyone who might need to use it. Services like Netflix, Dropbox, Pinterest and many others use AWS to host reliable, scalable web services, mobile apps, and media storage solutions.

At the heart of AWS is a service called “Simple Storage Service” (S3). S3 was one of the early “cloud” technologies when it was launched in 2006, and it has remained a leading solution for situations that call for hosting numerous and/or large media files.

Not only is it reliable (with a 99.9% guaranteed uptime), but it’s ridiculously fast. When a user requests a file stored at Amazon S3, chances are they’ll be able to download it quite a bit faster than if the file had been stored on your web server.

Even better: it’s very affordable. There are no monthly fees. You simply pay for what you use.

They don’t charge you for “inbound” transfer (meaning the bandwidth that you use when you upload files to S3). There’s a monthly charge for storage of your files that comes to about 3¢ per gigabyte in the US. For “outbound” transfer (when people download your files from S3), you’ll be charged about 9¢ per gigabyte.

But when you first set up a new account at AWS, you’ll qualify for the “free usage tier” for the first year, which gives you up to 5 GB of storage and up to 15GB of transfer (each month) absolutely free. This makes a great deal even that much more affordable—especially when you’re just getting started and you may not be earning as much from your podcast. Check out all the details on the free usage tier here.

How to Quickly & Easily Upload Large Files to Amazon S3

While I’ve provided some written instructions for the entire process (below), you may also prefer to watch this video, where I walk you through the process step by step.


  1. The first step is to sign up for your AWS account. (Note: if you already have an Amazon account, you can use the same email address and password. Just keep in mind that it may make sense to separate your business account from your personal one.)
  2. Once you’re logged in, click the link for S3. It’ll be amid the myriad of available cloud services in the AWS package.
  3. Next, you’ll need to create a “bucket.” This is Amazon lingo for “a place to store stuff.”
  4. Amazon provides a web-based interface for uploading and managing your files. I’ve found that it’s a little easier to use a Firefox extension called S3Fox, which works on Windows, Mac or Linux.
  5. Once you’ve got S3Fox installed, you’ll need some API credentials for your AWS account to allow it to have access. Think of these like a username & password, and keep them secure. You can get them from the Security Credentials section of your AWS account. Once you’re in there, you’ll need to create an Access Key ID & Secret Access Key pair.
  6. Copy & paste your Access Key ID & Secret Access Key pair into S3Fox by clicking “Manage Accounts” and then giving your account a name (only you will see this). You’ll see boxes for the 2 values, which you can paste right in.
  7. Once S3Fox has successfully accessed your S3 account, you’ll see the bucket show up on the right-hand side of your screen. Click on the name of the bucket to get “inside” it. On the left-hand side, you can browse your computer for files, which can then be easily uploaded to the S3 bucket with just a couple of clicks.

One More Thing: Make Your Files Publicly Available

By default, Amazon assumes that your S3 bucket’s contents should be private. While it’s possible to change the permissions on your files one at a time after you’ve uploaded them, I recommend that you just set a policy on the entire bucket instead.

This way, you’ll know that anything you put in that bucket will automatically be available for download by anyone. (If you need to keep other files protected, just set up another bucket.)

Here’s how to add the policy to your S3 bucket:

  1. Visit your S3 Dashboard by clicking on S3 from the AWS Management Console.
  2. You should see the names of all of your buckets listed. (If you only have one, then it’ll be a short list!) Click on the white space to the right of your bucket name. This will “select” it, which causes the line it is on to be “highlighted” in a light blue color.
  3. Click the “Properties” button on the upper right-hand side of your screen.
  4. The “Properties” panel will open on the right-hand side of your screen. Expand the “Permissions” section and click “Add Bucket Policy”
  5. Copy the policy below and paste it into the box that opens. NOTE: You’ll need to edit the policy so that the portion that reads <bucket name> is replaced with the name of your bucket.
  6. Click “Save” on the box, then “Save” in the “Properties” panel.
  7. Voila! All your files will now be available publicly!

If you run across a problem or a question, don’t hesitate to hit me up by leaving a comment below! I’ll do my best to answer you!

About the Author

David G. Johnson

Twitter Google+ LinkedIn

David G. Johnson is Co-Founder and Growth Engineer at Grow The Dream, where he advises and trains business owners, entrepreneurs, and small business teams on revenue growth strategies. You can also find him co-hosting the Grow The Dream Show. »» Full Bio

Comments 11

  1. Thanks for this article. It was very helpful and I have now started the process of transferring all my podcast episodes to be stored on S3.

    My question is about tracking and analytics.

    My current setup, which uses and the Powerpress WP plugin gives me basic stats for free each month. This is helpful.

    How do I setup something like this for the files stored on S3?


    1. Post

      Hey Phil — thanks for the comment! I’m glad you found the article useful.

      In fact, the setup your describing is precisely the one we use and recommend (except that we pay $5 for stats that are a bit more useful).

      It’s actually really simple to transition your setup from self-hosted files to S3. For each episode of your podcast, you’ll want to replace the existing URL that points to the file wherever you’ve been hosting it to the new URL at Amazon S3.

      You do this by locating the “Podcast Episode” panel below the WordPress editor and clicking the “Modify existing podcast episode” box shown here:

      PowerPress podcast episode panel in WordPress

      You’ll then want to copy the new Amazon S3 URL for your file (if you’re not sure where to find this, see below for a tip) and paste it into the “Media URL” box and then click the “Verify URL” button. The PowerPress plugin will then check to make sure the file is there and will update the parameters related to the file (size, length, etc.).

      Once that’s finished, you can just click “Update” on your post and then move on to the next one.

      From there on out, your RSS feed, the PowerPress player on your website (if you’re using it), and anything connected to your RSS feed will look for the new file location instead of the old one.

      Since you have the PowerPress stats hooked up via the plugin, the stats will continue to work as they have been working. (The plugin actually redirects the clicks & downloads off of the Blubrry stats server on the way to your file, regardless of where your media file is actually hosted.)

      Incidentally, if you’re using the S3 Fox plugin for Firefox (as described in the post and video above), there’s a nifty little tool to easily get the Amazon S3 URL for any file:

      S3 Fox - Copy URL to clipbloard

      (Note that this will be the full URL to the file on Amazon’s system, and will ignore any CNAME you may have configured. You’ll want to edit the domain name in the URL if you have set up a custom CNAME for your S3 bucket.)

      Hope this answers your question! Best wishes for you & your podcast!

  2. Hi David
    Thank you for the very lucid and accessible article, especially for someone who is a tech newbie like me. Once we put the files up, what is the RSS feed link that we have to submit to the ‘podcatchers’ like iTunes or Stitcher?

  3. Hi Tareque,

    I’m using Amazon S3 to store episodes for Beyond the Rut podcast, and Feedburner to set up a RSS feed that will search the website for MP3 files as they show up. When I put the URL for an episode into the Show Notes of an episode (the blog post), Feedburner picks up on this and communicates that with iTunes and Stitcher. Hope that helps.

  4. This works well only if you don’t have many listeners.

    But whenever you have more than a few thousand downloads per show (even on a weekly show), Amazon S3 is substantially more expensive than libsyn or blubrry.

    I look at those podcast hosting services as insurance. I know I’m paying $X per month no matter what.

    1. Post

      Fair enough, B Wayne. This is a great way for newer shows to get started without having to make the commitment at first.

      Once your bandwidth costs at S3 exceed what you’d pay for another hosting service, it isn’t difficult to switch. And if you’re using Blubrry stats (as we recommend for new shows), the stats come along with you.

      Thanks for taking the time to comment!

    2. At what point does it become more cost effective to go with Libsyn? 1,000 weekly downloads? 10,000?
      I know it depends on the download size, so if it’s easier to estimate by TB.

      I can have up to 10 TB per month by my host, so why not just host it myself since I’m already paying for shared hosting?

  5. So if i have an S3 bucket, how do i get an rss feed for it to get it a podcast on itunes? i was using soundcloud but found it to be unreliable and s3 to be more cost effective.

    1. Post

      Hi Mike,

      First: apologies for the slow response here! I’m not sure how we managed to miss this comment.

      The RSS feed requires a web script of some sort. We use and recommend WordPress, which is free and open source software that you can install on a web server. RSS feeds are built in to the WordPress software, but you can optionally use a free WordPress plugin like Blubrry PowerPress to provide you with additional control over various aspects of your podcast that will create a better user experience for your subscribers.

      The complete setup is beyond the scope of a comment here, but we’re considering building some additional content to cover all of this. If that’s of interest to you, please let me know!


    1. Post

      Hi Rob,

      Thanks for stopping by and leaving a comment!

      Amazon S3 is really just the storage and delivery mechanism for the media files themselves, whether audio or video. To charge for a podcast requires some additional tools. We use WordPress to power the podcasts we develop, but not to charge money for them. Charging would require the addition of some software to manage user access, authentication, payment, and so forth. The creators of Blubrry PowerPress have written some material on the various tools that would need to be connected to make this work. Check out Premium Podcasting Content on their website for more.

      I hope this helps!

Leave a Reply

Your email address will not be published. Required fields are marked *