iA


Content hosting met Amazon S3 storage

by mbakkenes. Average Reading Time: about 3 minutes.

Nu ik mijn eigen Amazon S3 account gebruik voor backups van zowel verschillende clients als van de web contents en databases van deze (en andere) websites, ben ik aan’t experimenteren geslagen met het gebruik van de S3 buckets. Naast dat je data (standaard) beveiligd in de cloud zweeft, kan je ook objecten (plaatjes, html files etc) beschikbaar maken voor anderen. Zo is het erg eenvoudig om bijvoorbeeld alle images van een website niet bij de hosting provider neer te zetten, maar bij Amazon. Dat scheelt ruimte en bandbreedte!

Static content hosten vanaf Amazon S3 is geen technisch hoogstandje. Om standaard een plaatje te plaatsen op een willekeurige website gehost van Amazon S3 zijn de onderstaande stappen voldoende. Het is overigens niet mogelijk PHP of Perl scripts te draaien vanaf Amazon S3.

  1. Maak een bucket aan met s3fox/expandrive/bucket explorer in dit geval
    s3.michelbakkenes.nl
  2. Upload een plaatje in de bucket en zet de ACL permissions op public read “everyone”
    thb_amazon.png
  3. Je plaatje is nu beschikbaar via
    http://s3.michelbakkenes.nl.s3-external-3.amazonaws.com/thb_amazon.png

Er zijn een groot aantal ad-blockers die externe content op websites (content die niet wordt gehost onder *.michelbakkenes.nl) blokkeren – 9 van de 10 keer zal het gaan om vervelende ads die je toch niet wil aanklikken. Om te voorkomen dat je extern gehoste image wordt gezien als ‘ad’, kan je de images onder je eigen (sub)domeinnaam laten hosten. Om dit te doen:

  1. Log in je DNS control panel van je domein register
  2. Voeg een A-record of CNAME-record toe:
    s3.michelbakkenes.nl -> A -> 72.21.211.225 of
    s3.michelbakkenes.nl -> CNAME -> s3.amazonaws.com

Voor WordPress weblog gebruikers is er een eenvoudigere oplossing voor het hosten van content via Amazon: Joe Tan’s Amazon S3 for WordPress plugin redirect de standaard upload paden van de WordPress media explorer naar de Amazon S3 bucket. Werkt perfect met WordPress 2.9.2 en Thesis.

Wanneer wordt het hosten van static content bij Amazon S3 relevant
Over de vraag wanneer deze oplossing gebruiken ben ik nog niet helemaal uit. Het heeft onder andere te maken met het hosting pakket wat er gebruikt wordt: wat is de hoeveelheid storage en wat is de bijbehorende bandbreedte, en nog belangrijker: wat kost het wanneer je over die limieten heen gaat. Een praktijk voorbeeld: standaard inbegrepen bij het hostingpakket wat ik gebruik zit 100GB opslag (html files, php scripts, images, video’s) en 1TB aan datatransfer. Voor iedere gemiddelde website zal mijn hostingpakket meer dan voldoende zijn – sterker nog, het is wellicht een overkill aan resources.

Daar gaat verandering in komen wanneer een site populairder wordt en daardoor meer data te verwerken krijgt, of wanneer je je eigen HD filmpjes gaat hosten. Iedere extra GB aan datatransfer (bovenop de 1TB) kost bij Media Temple $0.50, terwijl iedere GB datatransfer bij Amazon S3 slechts $0.15 kost. Wanneer je dus de limiet dreigt te bereiken is het zeker het overwegen waard om static content te verplaatsen naar Amazon S3.
Omgekeerd is dus ook waar: wanneer je ruim onder je limieten bljft (zoals deze website), is het hosten van content bij Amazon S3 eigenlijk onzinnig en zorgt het voor een extra kostenpost. Uiteraard zijn de plaatjes in deze post wel gehost via Amazon S3, maar dat is uiteraard voor “demonstration purposes”.

Alternatieven
Er zijn genoeg alternatieve cloud storage companies, maar Amazon S3 wordt vaak gekozen vanwege de beschikbaarheid en betrouwbaarheid. Uiteraard zijn er ook ‘gratis’ hosters van plaatjes en video. Een goed alternatief voor het hosten van bijvoorbeeld HD video is natuurlijk Youtube. Uit een test van vorig jaar blijkt Youtube overigens ook nog eens de beste kwaliteit te bieden.

Voor het hosten van foto’s (of plaatjes) kan ja natuurlijk ook terecht bij sites als Photobucket of Flickr. Let echter wel op de TOS (Terms of Services) van de verschillende aanbieders, want die weren vaak personen die hun service gebruiken om ‘extern goedkoop site content te hosten’ die normaliter veel bandbreedte slurpen. Zo schrijft Flickr onder andere:

Ik houd het voorlopig maar bij de inbegrepen hosting opties. Met die 100GB opslag en 1TB transfer heb ik tot nu toe meer dan voldoende!

One comment on ‘Content hosting met Amazon S3 storage’

  1. [...] Jungledisk en kan alleen wanneer je een aparte S3 bucket inricht en daar public links maakt. In een vorige post heb ik laten zien dat dat kan, maar ook hier geldt weer dat datatraffic apart wordt [...]

Leave a Reply