Bruke AWS S3 til å drive din digitale verden

Som designer, webutvikler og techie-geek trenger jeg en allsidig og robust datalagringsløsning som jeg har råd til, men også bruke uten å lære noe nytt språk. Så langt har jeg bare funnet en tjeneste som kan håndtere det store flertallet av mine behov. Denne artikkelen dekker hvordan jeg bruker Amazon Web Services Simple Storage Service (AWS S3) for å møte de fleste av mine behov.


AWS S3

AWS S3 er Amazons skylagringsløsning. Det er allsidig, pålitelig, rask og skalerbar for å passe nesten alle behov. Selvfølgelig med en tjeneste som høres så bra ut, ville du forvente at det skulle være dyrt, men det er faktisk den rimeligste lagringsløsningen jeg har funnet på nettet, med tanke på funksjonene du får.

AWS S3 er beregnet for utviklere, men takket være noen gode verktøy er det enkelt nok for nesten alle å bruke. Før jeg kommer inn på hvordan jeg bruker AWS S3, vil jeg nevne at denne lagringsløsningen ikke bruker den tradisjonelle filstrukturen til mapper / filer, etc. I stedet bruker AWS S3 "buckets" der du lagrer objekter. De verktøyene jeg bruker gjør at AWS S3 ser ut til å være et normalt filsystem med unntak av "bøtter". Tenk på en bøtte som en egen harddisk der du lagrer filene dine. Du vil kanskje også lese Amazon S3-siden på Wikipedia. Så la oss fortsette med hvordan jeg bruker AWS S3.


AWS S3 + Jungle Disk

Jeg bruker sannsynligvis Jungle Disk oftest fordi det gjør det enkelt å bruke og administrere mine AWS S3-buckets, utføre automatiserte sikkerhetskopier og sentralisere dataene mine for tilgang hvor som helst, når som helst. Når du bruker Jungle Disk med AWS S3-kontoen, bestemmer du hvilken av dine individuelle bøtter Jungle Disk kan montere som en nettverksstasjon. Deretter har du dra-og-slipp-tilgang til AWS S3-filene dine! Jungle Disk krypterer også filene dine, så de er trygge og sikre.

Jungle Disk har mange alternativer for bøttehåndtering, automatisk sikkerhetskopiering, kryptering, begrensning av båndbredde og enda mer. Den har også et overvåkingsverktøy for å se og administrere overføringer pågår. Det går vanligvis i bakgrunnen, men det kommer veldig bra når du vil ta noe på noe eller bare se hva som skjer.

Hvis du er bekymret for kompatibilitet på tvers av plattformer, ikke vær! Jungle Disk har versjoner av programvaren for 32- og 64-biters Windows, Linux og Mac. De har til og med en versjon som du kan kjøre fra en USB-flash-stasjon på alle tre plattformene for rask tilgang til filene dine hvor som helst.

Selvfølgelig, hvis du glemmer flashdisken, har de også tilgang til filene dine. Hvis du jobber med andre som trenger tilgang til filene dine, kan Jungle Disk også gjøre det. De har flere bruksalternativer for å få tilgang til AWS S3 skuffer veldig enkelt for flere personer.

Så, vi har skyplattform på tversplattform som er dra-og-slipp lett, og at vi kan få tilgang til hvor som helst med mange gode alternativer. Hva trenger vi mer?


AWS S3 som en "CDN" eller offentlig filtilgang

De fleste av dere har sannsynligvis blogger eller nettsteder som du har vert på en webserver du betaler for. Som vi alle vet, er kvalitet web hosting ikke billig, spesielt når det gjelder lagringsplass. Jeg vil ikke bruke min dyre webserverlagring for bilder og andre filnedlastinger, og jeg vil spesielt ikke legge ned min webserver med filforespørsler fra besøkende når det er en bedre måte å gjøre det på.

S3Fox for Firefox

S3Fox er en Firefox addon som lar deg administrere dine AWS S3 skuffer og filer. Hvorfor trenger vi S3Fox når vi kan bruke Jungle Disk? S3Fox gjør noen ting Jungle Disk ikke ment for, for eksempel å administrere CloudFront-distribusjoner som vi kommer inn på senere. Jeg har satt opp en bøtte som heter "files.jremick.com" som jeg planlegger å bruke til å være vert for bilder og filer til bloggen min, så vel som andre nettsteder og andre tilfeldige formål.

Deretter konfigurerer jeg en CNAME på min webserver som retter "filer" og "www.files" til "files.jremick.com.s3.amazonaws.com." som vil da tillate meg å bruke underdomenet "http://files.jremick.com" for å få tilgang til filer jeg har plassert i "files.jremick.com" bøtte for offentlig visning. De andre to brukes av CloudFront som vi kommer inn på senere.

Så nå har vi en enkel måte å få tilgang til filer på http://files.jremick.com. Vi kunne bruke den som en slags "CDN" (selv om det ikke ville være en ekte CDN), eller vi kunne bare bruke den til å gi filnedlastinger som ikke kommer ned på webserveren vår. Hvis du lurer på, ja, du kan se og laste ned panoramabildet fra min S3-konto og nei, jeg er ikke bekymret for båndbredde fordi det er super billig! :-) Du kan finne den her: http://files.jremick.com/red-rock-panorama.jpg. Har du merket "wp-innhold" katalogen? Kjente eh? Fortsett å bruke AWS S3 med WordPress!

AWS S3 plugin for WordPress

AWS S3-plugin for WordPress er en av mine favorittplugger for WordPress fordi det lar meg bruke min AWS S3-konto til å verne media for bloggen min i stedet for min dyre webserver. Selvfølgelig kunne jeg gjøre dette manuelt hvis jeg ville, men pluginet integrerer denne funksjonaliteten med WordPress, slik at jeg kan laste opp filer uten å forlate mitt WordPress kontrollpanel.

Du lurer kanskje på hvorfor dette er gunstig. Vel, for det første vil bilder og andre medier lastet fra AWS S3-kontoen din trolig laste raskere rett og slett fordi du bruker Amazons servere i stedet for din egen (muligens dårlige) server. Dessuten vil ikke webserveren din bli lastet ned for å laste inn disse mediefilene og Vanlige PHP / HTML-filer.

Nettstedet ditt vil også laste raskere for de fleste fordi i de fleste nettlesere er du begrenset til antall parallelle nedlastinger fra et enkelt domene. Hvis du er vert for bildene dine på AWS S3-kontoen din, som kommer fra et sekundært domene, vil nettlesere kunne laste flere filer samtidig. Se Maksimere parallelle nedlastinger i Carpool Lane for mer informasjon.


AWS S3 + CloudFront

OK, så jeg har dekket hvordan jeg bruker AWS S3 for nettverkslagring, så vel som for mine nettsteder og reduserer belastningen på webserveren min. Hvis du kjører en høy trafikk nettsted (som jeg ikke gjør) eller du er bare en nerd (som meg) og vil at ting skal løpe så fort som mulig, så vil du også sjekke ut Amazon CloudFront.

Tidligere i artikkelen satt jeg "AWS S3 som en" CDN "eller offentlig filtilgang" med CDN i sitater. Grunnen til at jeg gjorde det er fordi AWS S3 er IKKE en ekte CDN. En CDN er et Content Delivery Network som leverer filene dine fra en distribusjon av servere over hele verden. Besøkende får tilgang til filene dine fra den raskeste ressursen som er tilgjengelig (vanligvis den nærmeste serveren). AWS S3 har bare noen datasentre rundt om i verden, og dataene dine vil mest sannsynlig være på ett sted som gjør det langt fra en CDN.

Hvis du vil ha den beste hastigheten for besøkende over hele verden, vil du bruke en ekte CDN som CloudFront. Heldigvis har Amazon gjort det super enkelt å bruke disse tjenestene sammen. Jeg har allerede meldt meg på CloudFront, og nå trenger jeg bare å konfigurere den med S3Fox.

Bare høyreklikk på bøtte du vil distribuere til Amazonas CloudFront og klikk "Manage Distributions". Herfra kan du konfigurere CloudFront-distribusjonen din. Du vil bli tildelt et unikt domene for distribusjonen; "d1i7xb2p8w9276.cloudfront.net" er hva denne distribusjonen har blitt tildelt.

Jeg har også brukt "cdn.jremick.com" som CNAME for denne distribusjonen, slik at jeg kan få tilgang til filene på http://cdn.jremick.com. Du vil se statusen som "InProgress" til distribusjonen er distribuert og statusen endres til "Deployert".

Deretter konfigurerer jeg CNAME på webserveren min.

Nå når jeg ber om filer på http://cdn.jremick.com vil de bli bedt om fra CloudFront-serverne som vil trekke filene fra din AWS S3-konto og cache dem for alle påfølgende forespørsler.

Det er imidlertid noen ulemper for CloudFront (og andre sanne CDN-er). Når en fil har blitt cached på CloudFront-serverne, vil den ikke bli forespurt fra din AWS S3-konto igjen. Det betyr at du må redigere filene dine (filnavn_v1.css, filnavn_v2.css osv.) Slik at de faktisk reflekterer endringene for brukerne. Det er en flott tjeneste, men det er egentlig ment mer for høye trafikkformål. I de fleste situasjoner for gjennomsnittlige personer med blogger, vil AWS S3 gjøre det bra. Jeg bruker CloudFront til å være vert for JavaScript, CSS og andre statiske filer, men bare fordi jeg er en nerd og jeg vil ha ytelse! :-)


AWS S3 + S3Sync = Automatisert sikkerhetskopiering av servere

Jeg er bekymret når det gjelder å miste data. Min webserver er vert for rundt 20 kontoer for andre mennesker, og det er veldig viktig å sørge for at alle dataene er sikkerhetskopiert, trygge og sikre. Det er der S3Sync kommer inn. Jeg kan bruke den til å automatisk sikkerhetskopiere min webserver til en spesifisert AWS S3-bøtte.

Her har jeg hoppet inn i Transmit (FTP for Mac med AWS S3-støtte) og logget inn på min AWS S3-konto. Jeg ser på min "servintbackups" bøtte som viser de forskjellige backup-mappene. Hver natt blir sikkerhetskopiene oppdatert automatisk på min AWS S3-konto.

Hvis du ønsker å gjøre dette også, sjekk disse opplæringsprogrammene.

  • Automatiserer sikkerhetskopier med Amazon S3 på Linux
  • Hvordan automatiserte jeg mine sikkerhetskopier til Amazon S3 ved hjelp av S3Sync

Konklusjon

Bruke AWS S3 og en rekke verktøy jeg har klart å få mye for litt.

  • Sentralisert filtilgang i skyen, hvor som helst, på hvilken som helst plattform.
  • Automatiserte sikkerhetskopier for desktop- og server-datamaskiner.
  • Nettilgang til filene dine.
  • Media hosting utenfor webserveren din for å redusere last og hastighet opp ting.
  • Enkel å sette opp "CDN" og / eller gi filtilgang for brukere.
  • Enkel å sette opp ekte CDN med CloudFront.

Som jeg sa tidligere også, er AWS S3 bygget for utviklere; så hvis jeg trenger å bruke den til enda flere løsninger, så er muligheten der.

Så godt som AWS S3 er, kan det ikke passe regningen for hvert problem du har. For eksempel kan AWS S3-servere ikke gzip-filer og sikkerhetskopiere 200 GB data (som et iTunes-bibliotek) koste $ 30 per måned vs $ 5 eller $ 10 per måned på andre tjenester. AWS S3 er bare ett av verktøyene jeg bruker blant mange.

Bruker du AWS S3? Eller foretrekker du en annen lignende løsning? Fortell oss om det i kommentaren!

Denne artikkelen ble opprinnelig lagt ut på ThemeForest-bloggen. Vi leverer nå over noen av de mer populære artiklene til Nettuts+.