Sådan hostes dit statiske websted med AWS - en begyndervejledning

Da jeg oprettede min første portefølje sidste år, baserede jeg den på det, jeg havde lært af freeCodeCamp (HTML, CSS og lidt JavaScript).

På det tidspunkt havde jeg kun set min portefølje på localhost ved at se filerne på min lokale computer. Jeg vidste ikke noget om, hvordan jeg var vært for et websted online.

At lære at være vært for mit første websted var ikke let, men det var en fantastisk læringsoplevelse. Hvis du er en håbende webudvikler eller bare er interesseret i at starte din egen statiske webside, så håber jeg, du finder denne vejledning nyttig.

Hvem er denne vejledning til?

Denne guide er rettet mod komplette begyndere, der ønsker at være vært for et statisk websted (et websted med fast indhold). Jeg vil give en vejledning til følgende:

  1. Sådan køber du et domæne.
  2. Sådan konfigureres dit domæne til en ekstern hostingudbyder.
  3. Sådan hostes dit websted med Amazon Web Services (AWS).
  4. Sådan gør du dit websted sikkert (SSL-certificering) ved hjælp af Amazon Certification Manager.

Der kan være noget terminologi, der er nyt for dig. Gå videre og find termer, der ikke er velkendte. Jeg har indsat nyttige links og forklaringer, hvor jeg syntes passende.

Hvad er et domænenavn og DNS (Domain Name System)?

Et domænenavn er din webstedsadresse. For eksempel thecodinghamster.com. Men for en computer er et domænenavn faktisk en række numre (en IP-adresse). En IP-adresse ser sådan ud: 123.321.0.1

Det er ikke let for os at huske en lang række numre. Så din computer henviser til en DNS for at oversætte en tekstbaseret webadresse til en IP-adresse, som den derefter kan forstå. En DNS er som et bibliotek.

Jeg så denne fantastiske video, der forklarer domænenavn, DNS, og hvordan dette fungerer på under fem minutter. Se de første fem minutter af videoen, hvis du er interesseret:

Hvor kan du købe dit domænenavn?

Du kan købe et domænenavn fra en domænenavnsregistrator. Priserne starter fra et par dollars. Dit domænenavn er unikt. Hver domænenavnsregistrator tilbyder forskellige niveauer af tjenester / support. Men du kan registrere dit domæne hos enhver registrator.

Hvad er en hostingudbyder?

”En internethostingtjeneste er en tjeneste, der kører internetservere, så organisationer og enkeltpersoner kan levere indhold til Internettet. Der er forskellige serviceniveauer og forskellige former for tjenester, der tilbydes. ”

Da jeg ledte efter en hostingudbyder til mit websted, udforskede jeg forskellige muligheder. Priserne varierede fra £ 2,00 - £ 5,00 pr. Måned med forskellige lagringsmuligheder fra 0,5 GB til 10 GB. Priserne syntes rimelige, men alt hvad jeg ønskede at gøre var at være vært for et statisk websted. Det havde et par billeder, HTML, CSS og JavaScript-filer. Intet dynamisk indhold.

Hvorfor AWS?

Efter nogle yderligere undersøgelser fandt jeg AWS. AWS tilbyder en gratis niveauindstilling. I det væsentlige får du masser af gratis produkter. Nogle af dem udløber efter 12 måneder, og andre er vedvarende fri. De eneste omkostninger, du vil afholde for at være vært for et statisk websted, er omkostningerne ved at oprette en hostet zone. Dette kostede $ 0,50 pr. Måned. Så jeg gik med AWS og oprettede min konto.

Den gode ting ved AWS er ​​prisen, og det er en pålidelig hostingudbyder. Men en ting at huske på er, at du er afhængig af deres dokumentation. Da jeg begyndte at læse om, hvilke tjenester AWS tilbød, blev det hurtigt forvirrende! Jeg brugte den officielle AWS-guide til opsætning af statiske websteder. Men jeg gik vild med at klikke på et link til et andet link og så videre. Jeg begyndte at undersøge andre guider for at kompensere for videnhuller.

Jeg fandt dette denne fremragende guide af Victoria Drake.

Jeg fulgte Victoria Drakes guide sammen med AWS-en og formåede at blande mig igennem. Men der var stadig et par ting, der ikke blev forklaret, som jeg håber at uddybe.

Inden vi fortsætter, er her din opgaveliste:

  • Undersøg domæneregistratorer, og køb dit domænenavn.
  • Tilmeld dig en gratis konto hos AWS.
  • Få både dokumentationen fra AWS og Victoria Drakes guide åben. Brug min guide til at guide dig gennem dokumentationen (håb det giver mening!).

Nu sker det!

AWS: Opret en værtszone på rute 53.

Rute 53 er, hvor alle dine DNS-anmodninger håndteres.

Den første ting, du skal konfigurere, er din hostede zone med rute 53. Dette er virkelig nemt, hvis du har købt dit domæne via AWS. En hostet zone oprettes automatisk, når du har købt den. Hvis du har gjort dette, skal du bare springe til næste afsnit ( Opsæt dine S3 spande ).

Men hvis du var som mig og købte dit domænenavn via en anden registrator, skal du gøre følgende.

Denne næste del er, hvordan du opretter en hostet zone på rute 53, hvis du ikke har købt dit domænenavn fra AWS:

  1. Gå til rute 53 i din konsol og klik på "Opret hostet zone". Udfyld din domæneadresse, kommentar er valgfri, og vælg en "Public Hosted Zone". Klik på "Opret".

2. Når din hostede zone er oprettet, skal du bruge dine NS-poster (Name Servers):

3. Gå til din domænenavnsregistrator og log ind. Afhængigt af din registrator skal du finde et afsnit i dine indstillinger kaldet "Navneservere", som du kan redigere. Du skal kopiere på tværs af AWS NS-poster og ændre de eksisterende NS-poster i dine domæneindstillinger.  

Bemærk, kopier ikke punktet / perioden i slutningen af ​​NS-posten. For eksempel skal det være "ns-63.awsdns-07.com", ikke "ns-63.awsdns-07.com."

Det vil tage op til 24 timer at sprede sig.

Opsæt dine S3 skovle

I mellemtiden kan du oprette dine S3 skovle. S3 Bucket er opbevaringen til dine filer såsom din index.html.

Du skal konfigurere to spande til dit websted: 1) ditdomænenavn.com og 2) www. ditdomænenavn.com.

Den første spand er din hovedspand, hvor du vil uploade alle dine dokumenter, såsom din index.html. Den anden spand omdirigerer til den første spand. For at opsætte dine S3 skovle skal du følge AWS-dokumentationen om, hvordan du konfigurerer din S3 skovl (2: Opret og konfigurer skovle og upload data).

Ud over dokumentationen er der et par ting at bemærke:

  • I afsnit 2.1 (del 2): ​​klik på linket Hvordan opretter jeg en S3-spand? Dette er en trinvis vejledning og forklarer alle de indstillinger, du har brug for at vælge.
  • I afsnit 2.1 (del 3): du behøver ikke at uploade dine webstedsfiler endnu. Du kan tilføje et testindeks.html i mellemtiden.

Vær opmærksom på dit slutpunkt . Du kan finde dette i din S3-spand> fanen "Egenskaber"> "Statisk webhosting" -felt. Det skal se sådan ud: //ditdomænenavn.com.s3-website.eu-west-2.amazonaws.com

Tilføj Alias ​​/ “A” -posterne i rute 53

Gå endelig tilbage til rute 53 og åbn din hostede zone for at oprette dine Alias-poster. Du kan følge dokumentationen på "Trin 3: Tilføj aliasoptegnelser for eksempel.com og www.eksempel.dk". Det er ret ligetil.

Når NS-indstillingerne er udbredt, er dit websted live ! Du kan besøge dit websted på domæneadressen, fx ditdomænenavn.com

Bemærk dog, at det ikke er sikkert, og du vil se et // præfiks i adresselinjen. Jeg kommer til det i næste afsnit.

Hvordan sikres dit websted, og hvad er et SSL-certifikat?

Det er meget vigtigt at gøre dit websted sikkert, og for at gøre dette skal du få et SSL-certifikat. SSL står for Secure Sockets Layer, og det bruger kryptering til sikker overførsel af data mellem en bruger og et websted. Google vil også give rankings boost for websteder med HTTPS.

Hvis du beskytter webstedet med et SSL-certifikat, kan du se // og et hængelås-symbol i din adresselinje.

Der findes forskellige typer SSL-certifikater: Udvidet valideringscertifikat og et domænevalideret certifikat. For et personligt websted eller en blog kræves kun et domænevalideret certifikat. Du kan heller ikke se navnet på din virksomhed til venstre for linjen som eksemplet ovenfor. Du får kun dette, hvis du har et udvidet valideringscertifikat, der er mere for store virksomheder / virksomheder.

Hvor meget koster det for et SSL-certifikat?

Jeg har set en række måder at få et SSL-certifikat på. Du kan betale en præmie for en tjeneste, der gør dette på dine vegne, eller du kan gøre det gratis med Let's Encrypt. Lad os kryptere er en officiel certifikatmyndighed (CA). Men du skal forny dit certifikat hver tredje måned, og processen er ret kompliceret.

Jeg ville ikke betale en præmie eller have besværet med at forny hver tredje måned. Bekvemt kan AWS udstede SSL-certifikater for et meget lille gebyr. Du betaler $ 0,75 for hvert udstedt certifikat, og det varer i et år.

Hvis du vælger ikke at gå med AWS, skal du sørge for at undersøge og vælge en betroet CA!

Hvordan får du et SSL-certifikat med AWS?

Log ind på din AWS-konsol, og naviger til AWS Certificate Manager (ACM).

Sørg for at ændre regionen fra standard (Ohio) til N. Virginia. Dette er ikke eksplicit i vejledningerne, og kun N. Virginia-regionen kan udstede certifikater. Jeg lærte den hårde måde og spildte meget tid!

Klik derefter på "Kom godt i gang" under "Provisionscertifikater".

Følg dokumentationen med AWS (“Anmodning om et offentligt certifikat ved hjælp af konsollen”) og brug Victoria Drakes guide (under “SSL-certifikat”).

Ud over guiderne er der få ting, der ikke blev forklaret fuldt ud:

  • Du skal validere dit domæneejerskab via e-mail eller direkte med DNS. Jeg vil foreslå altid at kontrollere ejerskab ved hjælp af DNS-validering .
  • Når du har anmodet om dit certifikat, får du noget som dette (undtagen status venter). Klik på "Eksporter DNS-konfigurationsfil":

Det er et Excel-regneark, der indeholder noget som dette:

  • Du bliver nødt til at tilføje disse poster til dine DNS-indstillinger med din registrator. Log ind og gå til DNS-indstillinger. Grænsefladen varierer med forskellige registratorer, men du leder efter dine værtsregistreringer under dine DNS-indstillinger.
  • Klik på "Tilføj post"> optagetype er CNAME :

Du skal tilføje to poster: 1) Værtsnavn skal være “@” og målnavn skal være postværdien fra DNS-konfigurationsfilen.

2) Værtsnavn skal være * (stjerne), og målnavn skal være postværdien fra DNS-konfigurationsfilen.

Hvis du vil have flere oplysninger om CNAME og record-typerne, fandt jeg denne nyttige artikel.

Det er ret langt, men jeg har trukket den nyttige del ud:

“Bemærk: Værtsnavn refererer til præfikset før domænenavnet. For at oprette en tom post skal du bruge en @ i feltet Hostname. Dette repræsenterer et tomt præfiks (så navnet matcher nøjagtigt domænenavnet; for eksempel divapirate.com). @ Hostname kaldes også roden til domænet. En * (stjerne) i værtsnavnet er et jokertegn og repræsenterer ethvert præfiks. Hvis du f.eks. Opretter en post for * .divapirate.com, peges .divapirate.com på den angivne IP-adresse. ”

Du skal bare vente på bekræftelsen. For mig tog dette cirka en time.

Hvordan tilføjer du dit SSL-certifikat?

Med AWS kan du tilføje SSL-certifikat til dit websted gennem opsætning af CloudFront . CloudFront er fantastisk til at fremskynde dit websted. Jeg brugte AWS-dokumentationen og Victoria Drakes guide (pas på hendes nyttige tip).

Bemærk, når du opretter din CloudFront-distribution, er der en rullemenu for at tilføje dit SSL-certifikat. Hvis du allerede har fået et SSL-certifikat, udfyldes det i rullemenuen.

Din tilstand i dit CloudFront-dashboard skal ændres til "Enabled". Dette er ikke øjeblikkeligt og tager lidt tid.

Er der næsten…

Endelig skal du hente dit domænenavn fra CloudFront-distributionen. Det skulle være noget som dette dsfdser83543. cloudfront.net .

Gå tilbage til rute 53> værtszone> skift begge Alias-poster (Alias ​​Target) til CloudFront Domain Name.

Voila! Du har været vært for dit første sikre statiske websted med AWS.

Håber du fandt dette nyttigt. Hvis du har spørgsmål eller bare vil sige hej, find mig på Twitter @PhoebeVF

En stor tak til Victoria Drake for hendes guide. For en mere avanceret tutorial om dette emne, se Victoria's artikel: "Hosting dit statiske websted med AWS S3, rute 53 og CloudFront".

Illustrationer med tilladelse fra //undraw.co