AWS S3 gebruiken om uw digitale wereld van stroom te voorzien

Als ontwerper, webontwikkelaar en techneut, heb ik een veelzijdige en robuuste oplossing voor gegevensopslag nodig die ik me kan veroorloven, maar die ik ook kan gebruiken zonder een nieuwe taal te leren. Tot nu toe heb ik maar één dienst gevonden die de grote meerderheid van mijn behoeften aankan. Dit artikel behandelt hoe ik de Amazon Web Services Simple Storage Service (AWS S3) gebruik om aan de meeste van mijn behoeften te voldoen.


AWS S3

AWS S3 is de cloudopslagoplossing van Amazon. Het is veelzijdig, betrouwbaar, snel en schaalbaar om aan bijna ieders behoeften te voldoen. Natuurlijk, met een service die zo goed klinkt, zou je verwachten dat het duur is, maar het is eigenlijk de meest betaalbare opslagoplossing die ik op het web heb gevonden, gezien de functies die je krijgt.

AWS S3 is bedoeld voor ontwikkelaars, maar dankzij enkele geweldige tools is het eenvoudig genoeg voor bijna iedereen. Voordat ik inga op hoe ik AWS S3 gebruik, wil ik vermelden dat deze opslagoplossing niet de traditionele bestandsstructuur van mappen / bestanden, enz. Gebruikt. In plaats daarvan gebruikt AWS S3 "buckets" waarin u objecten opslaat. De tools die ik gebruik maken van AWS S3 lijken een normaal bestandssysteem te zijn met uitzondering van "buckets". Beschouw een bucket als een aparte harde schijf waar je je bestanden opslaat. Misschien wilt u ook de Amazon S3-pagina op Wikipedia lezen. Dus laten we verder gaan met hoe ik AWS S3 gebruik.


AWS S3 + Jungle Disk

Ik gebruik Jungle Disk waarschijnlijk het vaakst omdat het het gemakkelijk maakt om mijn AWS S3-bakken te gebruiken en te beheren, geautomatiseerde back-ups uit te voeren en mijn gegevens te centraliseren voor toegang overal en altijd. Wanneer u Jungle Disk gebruikt met uw AWS S3-account, bepaalt u welke van uw individuele buckets Jungle Disk kan koppelen als een netwerkstation. Vervolgens hebt u slepen-en-neerzetten toegang tot uw AWS S3-bestanden! Jungle Disk codeert ook uw bestanden, zodat ze veilig en beveiligd zijn.

Jungle Disk heeft tal van opties voor bucketbeheer, automatische back-ups, codering, bandbreedtebeperking en nog veel meer. Het heeft ook een monitoringtool om lopende transfers te bekijken en beheren. Het draait meestal op de achtergrond, maar het komt goed van pas als je ergens actie op wilt ondernemen of gewoon wilt kijken wat er aan de hand is.

Als u zich zorgen maakt over platformonafhankelijke compatibiliteit, wees dan niet! Jungle Disk heeft versies van hun software voor 32- en 64-bit Windows, Linux en Mac. Ze hebben zelfs een versie die u kunt uitvoeren vanaf een USB-flashstation op alle drie platforms voor snelle toegang tot uw bestanden vanaf elke locatie.

Natuurlijk, als je je flash drive vergeet, hebben ze ook webtoegang tot je bestanden. Als u met andere mensen werkt die toegang tot uw bestanden nodig hebben, kan Jungle Disk dat ook. Ze hebben multi-user opties om het gebruik van AWS S3-emmers heel gemakkelijk te maken voor meerdere mensen.

We hebben dus cross-platform cloudopslag die eenvoudig kan worden versleept en die we overal kunnen openen met tonnen geweldige opties. Wat hebben we nog meer nodig?


AWS S3 als een "CDN" of Public File Access

De meesten van u hebben waarschijnlijk blogs of websites die u hebt gehost op een webserver waarvoor u betaalt. Zoals we allemaal weten, is kwaliteit webhosting niet goedkoop, vooral als het gaat om opslagruimte. Ik wil mijn dure webserveropslag niet gebruiken voor afbeeldingen en andere bestandsdownloads en ik wil vooral mijn webserver niet laten vervuilen met bestandsverzoeken van bezoekers als er een betere manier is om het te doen.

S3Fox voor Firefox

S3Fox is een Firefox-add-on waarmee u uw AWS S3-buckets en -bestanden kunt beheren. Waarom hebben we S3Fox nodig als we Jungle Disk kunnen gebruiken? S3Fox doet een paar dingen waar Jungle Disk niet voor bedoeld was, zoals het beheren van CloudFront-distributies waar we later op in zullen gaan. Ik heb een bucket met de naam "files.jremick.com" opgezet, die ik van plan ben om te gebruiken voor het hosten van afbeeldingen en bestanden voor mijn blog, evenals voor andere websites en andere willekeurige doeleinden.

Vervolgens heb ik een CNAME ingesteld op mijn webserver met "bestanden" en "www.bestanden" naar "files.jremick.com.s3.amazonaws.com." waarmee ik vervolgens het subdomein "http://files.jremick.com" kan gebruiken om bestanden te openen die ik in de bucket "files.jremick.com" heb geplaatst voor openbare weergave. De andere twee worden gebruikt door CloudFront, waar we later op in zullen gaan.

Dus nu hebben we een eenvoudige manier om toegang te krijgen tot bestanden op http://files.jremick.com. We zouden het kunnen gebruiken als een soort van "CDN" (hoewel het geen echte CDN zou zijn) of we zouden het kunnen gebruiken om bestandsdownloads aan te bieden die onze webserver niet in de war sturen. Als je je afvraagt, ja, kun je de panoramafoto vanuit mijn S3-account bekijken en downloaden en nee, ik maak me geen zorgen over bandbreedte omdat het super goedkoop is! :-) Je kunt het hier vinden: http://files.jremick.com/red-rock-panorama.jpg. Heb je de map "wp-content" opgemerkt? Vertrouwd eh? Verder met het gebruik van AWS S3 met WordPress!

AWS S3-plug-in voor WordPress

De AWS S3-plug-in voor WordPress is een van mijn favoriete plug-ins voor WordPress omdat ik hiermee mijn AWS S3-account kan gebruiken om media voor mijn blog te hosten in plaats van mijn dure webserver. Natuurlijk zou ik dit handmatig kunnen doen als ik wilde, maar de plug-in integreert deze functionaliteit met WordPress, zodat ik bestanden kan uploaden zonder mijn WordPress-configuratiescherm te verlaten.

Je vraagt ​​je misschien af ​​waarom dit nuttig is. Om te beginnen zullen afbeeldingen en andere media die vanuit je AWS S3-account worden geladen waarschijnlijk sneller worden geladen, simpelweg omdat je Amazon-servers gebruikt in plaats van je eigen (mogelijk nietige) server. Ook zal uw webserver niet verzanden in het laden van deze mediabestanden en uw normale PHP / HTML-bestanden.

Uw website zal ook sneller laden voor de meeste mensen, omdat u in de meeste browsers beperkt bent tot het aantal parallelle downloads van een enkel domein. Als u uw afbeeldingen op uw AWS S3-account host, die afkomstig zijn uit een secundair domein, kunnen browsers tegelijkertijd meer bestanden laden. Zie Parallelle downloads maximaliseren in Carpool Lane voor meer informatie.


AWS S3 + CloudFront

OK, dus ik heb besproken hoe ik AWS S3 gebruik voor zowel netwerkopslag als voor mijn websites en het verminderen van de belasting van mijn webserver. Als je een website met veel verkeer hebt (wat ik niet doe) of als je gewoon een nerd bent (zoals ik) en dingen zo snel mogelijk wilt laten draaien, wil je ook Amazon CloudFront eens bekijken.

Eerder in het artikel dat ik heb geplaatst "AWS S3 als een 'CDN' of Public File Access" met CDN tussen aanhalingstekens. De reden dat ik dat deed is omdat AWS S3 is GEEN echte CDN. Een CDN is een Content Delivery Network dat uw bestanden levert vanaf een distributie van servers over de hele wereld. Bezoekers krijgen toegang tot uw bestanden via de snelste beschikbare bron (meestal de dichtstbijzijnde server). AWS S3 heeft slechts enkele datacenters over de hele wereld en uw gegevens bevinden zich waarschijnlijk op één locatie, waardoor het ver verwijderd is van een CDN.

Als u de beste snelheid wilt voor bezoekers over de hele wereld, wilt u een echt CDN zoals CloudFront gebruiken. Gelukkig heeft Amazon het supergemakkelijk gemaakt om deze services samen te gebruiken. Ik heb me al aangemeld voor CloudFront en nu moet ik het gewoon configureren met S3Fox.

Klik met de rechtermuisknop op de bucket die u wilt distribueren naar Amazon CloudFront en klik op "Distributies beheren". Hier kunt u uw CloudFront-distributie configureren. U krijgt een uniek domein toegewezen voor de distributie; "d1i7xb2p8w9276.cloudfront.net" is wat deze distributie is toegewezen.

Ik heb ook "cdn.jremick.com" als CNAME voor deze distributie gebruikt, zodat ik toegang heb tot de bestanden op http://cdn.jremick.com. Je ziet de status als "InProgress" totdat de distributie is geïmplementeerd en de status verandert in "Geïmplementeerd".

Vervolgens heb ik de CNAME ingesteld op mijn webserver.

Wanneer ik nu bestanden aanvraag op http://cdn.jremick.com, worden ze opgevraagd bij de CloudFront-servers, die de bestanden uit uw AWS S3-account halen en deze opslaan voor alle volgende aanvragen.

Er zijn echter een aantal nadelen voor CloudFront (en andere echte CDN's). Zodra een bestand in de cache is opgeslagen op de CloudFront-servers, wordt het niet opnieuw aangevraagd bij uw AWS S3-account. Dat betekent dat je je bestanden moet aanpassen (filename_v1.css, filename_v2.css, enz.), Zodat ze de veranderingen voor je gebruikers daadwerkelijk weerspiegelen. Het is een geweldige service, maar het is echt meer bedoeld voor doeleinden met veel verkeer. In de meeste situaties voor gemiddelde mensen met blogs, doet AWS S3 het prima. Ik zal CloudFront gebruiken om JavaScript, CSS en andere statische bestanden te hosten, gewoon omdat ik een nerd ben en ik wil prestaties! :-)


AWS S3 + S3Sync = Geautomatiseerde offsite serverbackups

Ik ben een zorgwrat als het gaat om het verliezen van gegevens. Mijn webserver host ongeveer 20 accounts voor andere mensen en het is erg belangrijk om te zorgen dat van al die data een back-up wordt gemaakt, veilig en beveiligd. Dat is waar S3Sync wordt geleverd. Ik kan het gebruiken om automatisch een back-up te maken van mijn webserver naar een opgegeven AWS S3-bucket.

Hier ben ik in Transmit gesprongen (FTP voor Mac met AWS S3-ondersteuning) en ingelogd op mijn AWS S3-account. Ik kijk naar mijn 'servintbackups'-bucket met de verschillende back-upmappen. Elke nacht worden de back-ups automatisch bijgewerkt op mijn AWS S3-account.

Als je dit ook zou willen doen, bekijk dan deze tutorials.

  • Back-ups automatiseren met Amazon S3 op Linux
  • Hoe ik mijn back-ups naar Amazon S3 heb geautomatiseerd met S3Sync

Conclusie

Met behulp van AWS S3 en verschillende gereedschappen ben ik er in geslaagd om veel voor een beetje te krijgen.

  • Gecentraliseerde bestandstoegang in de cloud, overal, op elk platform.
  • Geautomatiseerde back-ups voor desktop- en servercomputers.
  • Webtoegang tot uw bestanden.
  • Media-hosting buiten uw webserver om de belasting te verminderen en dingen te versnellen.
  • Eenvoudig in te stellen "CDN" en / of bestandstoegang voor gebruikers te bieden.
  • Eenvoudig in te stellen echte CDN met CloudFront.

Zoals ik al eerder zei, is AWS S3 gebouwd voor ontwikkelaars; dus als ik het nodig heb voor nog meer oplossingen, dan is de kans er.

Zo goed als AWS S3 is, is het misschien niet de juiste oplossing voor elk probleem dat u hebt. AWS S3-servers gzipen bijvoorbeeld geen bestanden en het maken van back-ups van 200 GB aan gegevens (zoals een iTunes-bibliotheek) kost $ 30 per maand versus $ 5 of $ 10 per maand aan andere services. AWS S3 is slechts een van de tools die ik onder vele gebruik.

Gebruik je AWS S3? Of geeft u de voorkeur aan een andere, vergelijkbare oplossing? Vertel ons daarover in de reactie!

Dit artikel is oorspronkelijk geplaatst op de ThemeForest-blog. Momenteel porteren we enkele van de meer populaire artikelen naar Nettuts+.