Sådan startes et websted gratis på AWS på 15 minutter

Hvis du er helt ny på Amazon Web Services (AWS), kan det komme på tværs af sjæl-knusende kompliceret.

Ikke kun ser det ud til, at der er tusind forskellige tjenester at vælge imellem, som hver har et lige så kryptisk navn (som S3, Lambda, EC2 eller Athena), men der er også megetat konfigurere.

Du skal beslutte, hvor meget hukommelse du skal allokere til dine funktioner, hvilken geografisk region i verden du ønsker, at din kode skal serveres fra, og du er nødt til at oprette et underligt JSON-objekt for at give tilladelser? Det er virkelig let at dyppe tæerne ind i og beslutte, at det er for forvirrende til at komme i gang.

Hvis dette beskriver din oplevelse hidtil, så god - denne artikel er noget for dig.

Jeg var i nøjagtig den samme båd i længere tid, end jeg gerne ville indrømme.

Men på trods af al sin skræmmende kompleksitet er der noget ved AWS, der bare fortsætter med at råbe til dig.

Der er hastigheden, pålideligheden, endda bare den professionelle indflydelse på at kunne sige, at du har erfaring med AWS.

Men som med alt andet, hvis du vil komme i gang, skal du tage det første skridt. Så mit mål i denne artikel er at gøre det let. Jeg vil bringe dig til det punkt, at du kan sige "Jeg har implementeret et projekt på AWS."

Det vil være meget lettere, end du tror, ​​og det vil give dig et punkt, hvorfra du kan begynde at udforske AWS andre tjenester.

Trin 0: Hvad du skal følge med

Listen er kort, men jeg regnede med, at jeg ville placere den foran og i midten for at sikre, at den var klar fra starten.

  1. Et fungerende kredit- / betalingskort (bare rolig, det er helt gratis som titlen siger. Men du bliver nødt til at indtaste kreditkortoplysninger for at oprette en AWS-konto)
  2. Front-end-kode, som du kan uploade og hoste på AWS. Dette kan være så simpelt som et HTML-dokument med

    Hello World

    i kroppen.

Trin 1: Opret en AWS-konto

For at være ærlig stoppede jeg på dette tidspunkt flere gange, simpelthen fordi det var en af ​​disse "gratis prøveperiode, men de beder om dine kreditkortoplysninger" -situationer, som jeg i princippet har tendens til at modstå.

Men 12 måneders gratis niveau er ret forbløffende. Et helt år er lang tid at kunne eksperimentere med AWS, før man beslutter, om det er værd at fortsætte med at bruge det. (Jeg er ikke på nogen måde tilknyttet AWS, bare for ordens skyld).

Så følg dette link, og opret din konto: AWS Free Tier.

Jeg ved, at nogle mennesker måske har nogle bekymringer over begrænsningerne i den gratis plan. For eksempel er der et månedligt loft på GET- og PUT-anmodninger (henholdsvis 20.000 og 2.000), hvorefter du begynder at blive opkrævet.

Men så længe du kun bruger dette til at eksperimentere og lære for nu, er der stort set ingen chance for at overskride begrænsningerne.

Og selvom du gør det, er prisfastsættelsen for at overskride grænserne typisk brøkdele af en krone pr. 1.000 anmodninger.

Trin 2: Opret en S3-spand til dit projekt / sted

For at holde tingene så enkle som muligt er den eneste AWS-tjeneste, som vi bruger til dette projekt, Simple Storage Service (eller S3), en af ​​Amazons skylagertjenester.

S3 opfører sig lidt som Google Drev eller Dropbox. Men det kan også konfigureres til at tjene filer i stedet for bare at gemme dem, hvilket er hvad vi laver.

Da vi bare serverer filer, der er hostet på S3, vil dette være et statisk sted uden backend eller forbindelser til en database.

Nu hvor du har en AWS-konto, skal du logge ind på Management Console (linket her) og klikke på “Services” øverst til venstre i hovedmenuen.

Du vil se den forbløffende store liste over servicemuligheder, som jeg nævnte i starten. Du skal ikke bekymre dig om alt det, bare klik på "S3" under "Opbevaring".

Dette fører dig til S3-siden, hvor du kan oprette forskellige "spande" til at gemme dine forskellige projekter.

Skovle er som mapper på dit skrivebord. Men dokumentlagringssystemet på S3 følger ikke den traditionelle mappestruktur (mere om det, hvis du er interesseret). Så i stedet synes "spand" at være det rigtige ord at bruge.

Klik på den store blå knap øverst til venstre kaldet “Opret bøtte” for at oprette en bøtte, der indeholder dine projektfiler.

Det vigtigste, du skal gøre her, er at sikre, at de offentlige tilladelser er indstillet til "Giv offentlig læseadgang til denne skovl."

Du får en advarsel fra AWS, men rolig. De vil bare sørge for, at ingen ved et uheld kunne gøre det. Men det er præcis, hvad du vil gøre.

Når du er færdig, kan du se din skovl på listen på din S3-konsol.

Trin 3: Tilføj filer og konfigurer indstillingerne på din bucket

Klik på din nyoprettede spand på listen. Dette fører dig til en side, hvor du kan føje indhold til din bucket og konfigurere dens indstillinger.

Først skal du tilføje dine projektfiler (nævnt i starten) på fanen "Oversigt". Husk, disse kan være filerne til ethvert fungerende frontend-projekt.

Du kan ikke uploade nogen mapper (igen, da S3 faktisk ikke har en mappestruktur). I stedet skal du manuelt oprette de mapper, du har i dit projekt i S3 og uploade dine filer til dem.

Klik derefter på fanen "Egenskaber".

Det er her, du fortæller S3, at du vil bruge denne spand til at være vært for dine filer.

Klik bare på det felt, der siger "Statisk webstedshosting", og indtast navnene på dit indeks (påkrævet) og fejl (ikke påkrævet) dokumenter, så er du færdig.

Klik derefter på fanen "Tilladelser".

Du ser lige under hovedfaner, som du starter i et underafsnit kaldet "Adgangskontroliste". Dette er allerede konfigureret korrekt, da du allerede har sagt, at nogen skal være i stand til at læse de filer, der er hostet i denne bucket.

Nu skal du klikke på underafsnittet "Bucket Policy". Her bliver du bedt om at oprette et JSON-objekt, der indeholder detaljerne i din skovs adgangstilladelsespolitik.

Denne del kan være forvirrende. For nu giver jeg dig bare den JSON, der giver fuld offentlig adgang til filerne i din spand. Dette gør hjemmesiden offentligt tilgængelig.

Indsæt dette i bucket policy editor vist ovenfor:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadForGetBucketObjects", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*" } ]}

Glem ikke at udskifte “DIN-BUCKET-NAVN” med ... din skovls navn.

Du er færdig!

Det er det! Du har nu implementeret et meget simpelt statisk sted på AWS S3.

For at få adgang til dit websted skal du gå tilbage til fanen “Oversigt” på S3 og klikke på dit indeksdokument (klik på et tomt område i listen, ikke på linket til selve dokumentet). Du får en menu til højre med et link til dit websted!