AWS tilbyr et mangfold av serverløsninger for å imøtekomme de individuelle behovene til enhver bruker.
En instans, i denne sammenhengen, er en virtuell server som kjører applikasjoner på Amazons EC2-plattform. Tenk på det som en liten, dedikert del av en større datamaskinressurs.
Hver instans fungerer med sin egen lagringsplass og nettverksforbindelse. Det er mulig å konfigurere flere av disse «små» datamaskinene på en enkelt fysisk maskin. Disse miniatyrdatamaskinene er det vi refererer til som instanser.
I denne artikkelen skal vi se nærmere på ulike typer AWS EC2-instanser, deres størrelser, priser og andre relevante aspekter.
Introduksjon til AWS EC2
AWS tilbyr det som kalles on-demand EC2-instanser. Dette betyr at brukerne kan leie virtuelle servere per time, og deretter installere og kjøre sine egne applikasjoner på dem.
Amazon Elastic Compute Cloud (EC2) er en fleksibel nettjeneste som tilbyr skalerbar datakraft i skyen. Dette betyr at du enkelt kan justere antallet serverinstanser du bruker, i takt med svingningene i dine databehov.
Hver instans blir fakturert per time, og prisene varierer avhengig av instanstypen. Du kan leie en instans basert på dine spesifikke krav til prosessor- og minnekapasitet, og beholde den så lenge du trenger.
Du har friheten til å avslutte instansen når som helst, og dermed spare penger. En stor fordel med on-demand-instanser er at de kan bidra til betydelige besparelser på kapitalutgifter.
La oss forestille oss at du er en utvikler som har valgt å jobbe frilans. Du har gjort grundige beregninger, og du er trygg på at du har tilstrekkelig datakraft tilgjengelig. Det du imidlertid også må tenke på, er at sikkerhetsoppdateringer må installeres jevnlig, helst daglig.
I tillegg må du feilsøke eventuelle problemer som kan dukke opp på serversiden. Med en EC2-instans slipper du å bekymre deg for slike oppgaver. Du kan i stedet fokusere all din energi på selve applikasjonen din.
Ulike typer AWS EC2-instanser
AWS tilbyr et bredt spekter av instanser. La oss starte med å få en oversikt over hva AWS EC2 Compute Instances faktisk er. Her er en oversikt over de mest brukte instansene:
- Generelle formål (A1, T2, T3 og T4g),
- Beregningsoptimalisert (C4,C5, C5a C5n,C6g)
- Minneoptimalisert (R4, R5, R5a og R5n), R6g, R6g, R1e, Z1d),
- Akselerert databehandling (P2, F3, F1, G3 og G4)
- Lagringsoptimalisert (D2, I3, I3en).
Det kan være en utfordring å identifisere og holde oversikt over de forskjellige AWS-instanstypene. Hver instanstype er satt sammen av tre hoveddeler. Den første delen indikerer familien, mens tallet deretter viser generasjonen (A, CD I, FGHMPRT X).
Hver generasjon kommer med et litt annerledes sett av funksjoner. Enkelte AWS-instanser har i tillegg en ekstra bokstav som beskriver hvordan de er optimalisert. Bokstaven «g» i for eksempel T4g eller M6g General Purpose-instanser, viser at de er drevet av Graviton 2-prosessorer, som er kjent for å være opptil 40 % mer energieffektive.
La oss ta en nærmere titt på hver av disse typene, én etter én.
Generelle formål instanser
Disse instansene er designet for å tilby en god balanse mellom prosessorkraft, minne og nettverkskapasitet. De passer for en rekke ulike arbeidsbelastninger. AWS EC2 generelle instanser er et godt valg for applikasjoner som krever jevn fordeling av ressurser, slik som arkivtjenester, servere og lignende.
Her er noen av de viktigste egenskapene:
- De er utstyrt med spesialbygde prosessorer
- Tilbyr nettverkstjenester med høy båndbredde
- EBS-optimalisert volum
Beregningsoptimaliserte instanser
AWS EC2 Compute-optimaliserte instanser er spesielt utviklet for applikasjoner som krever høy prosessorkraft. De er ideelle for oppgaver som er svært prosessorkrevende.
Disse instansene kan også benyttes for å håndtere batchbehandlingsjobber, mediekoding og høyytelsesservere. Spilleservere, annonseservere og maskinlæringsapplikasjoner er andre eksempler på bruksområder.
Her er noen av kjennetegnene ved beregningsoptimaliserte instanser:
- De er kompatible med spesialbygde prosessorer, som er kjent som AWS Gravitation 2-behandlingsenheter
- Disse EBS-optimaliserte instansene ligner de generelle instansene
- Forbedret nettverk med opptil 25 GBPS båndbredde
- Drevet av AWS Nitro System, som kombinerer en lett hypervisor med dedikert maskinvare
Minneoptimaliserte instanser
Disse instansene er optimalisert for å gi høy hastighet og effektiv behandling av store datamengder direkte i minnet. Dette er ideelt for minnekrevende oppgaver. Følgende instanser er minneoptimalisert:
AWS Graviton2-prosessoren brukes i EC2 R6g-instansene. Disse prosessorene er av den nyeste typen, og gir opptil 40 % bedre ytelse i forhold til pris. De er et utmerket valg for minnekrevende applikasjoner. Her er noen av deres egenskaper:
- De er kompatible med 64-bits Arm Neoverse-kjerner
- Nettverksstøtte for opptil 25 GB båndbredde
- Drevet av Nitro-systemer
Lagringsoptimaliserte instanser
Disse instansene er designet for å håndtere store arbeidsmengder som krever rask tilgang til lese- og skriveoperasjoner. Dataene som behandles er ofte store, og lagres lokalt. Disse instansene kan levere titusenvis av IO-operasjoner hvert sekund.
De støtter følgende familier:
Nøkkelfunksjoner inkluderer:
- Drevet av høyfrekvente Intel Xeon E5-2686 v4-prosessorer med en basisfrekvens på 2,3 GHz
- Gir nettverksbåndbredde på opptil 25 GB, med Elastic Network Adapter som er et nettverksbasert Enhanced Networking-system
- Høy I/O-ytelse og sekvensiell gjennomstrømming ved lesing
- Støtte for bare metall-instanser med opptil 256 GB RAM, for arbeidsmengder som krever direkte tilgang til minne og prosessorer
Akselerert databehandling
Disse instansene er spesielt tilrettelagt for grafikkbehandling. De benytter maskinvareakseleratorer og co-prosessorer for å utføre krevende beregninger og grafisk prosessering på en mer effektiv måte enn det tradisjonell programvare er i stand til.
De støtter følgende familie- og instansetyper.
Dette var en gjennomgang av de ulike EC2-instansene basert på deres familietype.
AWS EC2-instansstørrelse
Størrelsen på en AWS EC2-instans reflekterer mengden ressurser (kapasitet) som er tilgjengelig for den. AWS-instanser kan ha ulike størrelser, selv om de benytter samme maskinvare.
Instanser av forskjellig størrelse kan kjøres på forskjellig maskinvare. Det kan for eksempel benyttes både SSD- og HDD-lagringsenheter. De minste instansene har begrenset minne, mens større AWS EC2-instanser har tilsvarende mer minne.
Det finnes mange størrelser tilgjengelig for alle AWS-instanstyper, inkludert:
- Nano
- Mikro
- Liten
- Medium
- Stor
- XLarge
- 2XLarge
- 4XLarge
- 6XLarge
- 8XLarge
- 16XLarge
- 32XLarge
AWS EC2-priser
Nedenfor følger en oversikt over de forskjellige prismodellene for AWS EC2-instanser:
On-Demand Instanser
On-demand-instanser er en enkel prismodell der du kun betaler for det du faktisk bruker. Du belastes per dag eller time for den datakapasiteten du forbruker når du benytter en EC2-instans. Det kreves ingen forhåndsbetaling.
Reserverte instanser
I bytte mot en forhåndsbetaling kan du oppnå opptil 75 % rabatt på kostnadene for on-demand-instanser. Reserverte instanser er ofte et mer kostnadseffektivt alternativ enn on-demand-modellen.
Spot-instanser
Med denne prismodellen kan du by på ledig eller ubrukt EC2-datakapasitet, og oppnå priser som er opptil 90 % lavere enn de vanlige prisene. Prissettingen av spot-instanser er avhengig av tilbudet og etterspørselen etter ubrukt AWS ECS2-skykapasitet.
Dedikerte verter
Denne modellen gir deg en AWS EC2-server som er eksklusivt reservert for din bruk. Faktureringen baseres ikke på antallet instanser du bruker. En dedikert vert kan kjøpes enten ved å betale en timepris eller ved å gjøre en reservasjon. Sistnevnte er vanligvis 70 % rimeligere enn den normale prisen.
Anbefalinger for AWS EC2-priser
Etter min mening er AWS EC2 en fleksibel plattform som lar deg konfigurere instansen din slik at den passer dine behov og budsjett. Her er noen tips som kan hjelpe deg med å velge riktig instans og spare penger på EC2-instanser:
Velg den rimeligste EC2-instansen som dekker dine behov
Hvis du ikke har behov for de dyreste instansene, kan du spare penger ved å velge en rimeligere løsning. Hvis applikasjonene dine har varierende belastning, kan det være fornuftig å vurdere en automatisk skaleringsgruppe. Automatisk skalering kan hjelpe deg med å skalere opp EC2-klynger i takt med virksomhetens vekst.
Sikt mot et minimumsbelastningsnivå
For å redusere kostnadene kan du forsøke å redusere instansbelastningen hvis instansen din har høyt CPU- eller minnebruk. Du kan likevel opprettholde en god drift av hele systemet.
Reserver eller finn spot-instanser
Reserverte eller spot-instanser kan benyttes for å redusere kostnadene. On-demand-instanser er mest fornuftig dersom du kun har behov for EC2-instanser i en kort periode. Reserverte eller spot-instanser kan være et bedre alternativ for mer langvarig bruk.
Husk å deaktivere EC2-instanser når de ikke er i bruk
Noen ganger kan EC2-instanser fortsette å kjøre selv om de ikke lenger er nødvendige, noe som kan føre til unødvendige kostnader. Det kan derfor være lurt å lære seg å slå av produksjonssystemer som ikke er i bruk. Automatisering kan bidra til å slå av slike systemer når de ikke trengs.
Identifiser og stopp EC2-instanser med lav utnyttelse
Se etter inaktive eller underutnyttede EC2-instanser. Du kan deretter redusere kostnadene enten ved å stoppe dem eller redusere størrelsen på dem.
For å optimalisere ECS-kostnadene dine kan du benytte AWS Billing and Cost Management Tool. Du kan også bruke AWS Instance Scheduler for å stoppe instanser og AWS Operations Conductor for å redusere antall EC2-instanser.
Konklusjon
Denne artikkelen har gitt en grundig gjennomgang av AWS EC2. Jeg håper du har funnet den nyttig. Kompetanse innen skytjenester er ettertraktet i arbeidsmarkedet, så det kan være lurt å lære seg mer om dette.
Du kan velge fra et mangfold av AWS EC2-tjenester for å oppfylle de spesifikke behovene til dine applikasjoner. Denne artikkelen har også forklart prismodellen for AWS EC2-plattformen.
Du kan også se nærmere på noen nøkkelbegreper i AWS for å utvide din forståelse av denne teknologien.