For noen år siden valgte du hvilken forekomst som skulle brukes til en applikasjon en rettferdig affære. Amazon Web Services (AWS) ga noen forekomsttyper som varierte på en primært lineær måte; det vil si hvis du ville ha mer prosessorkraft, valgte du en forekomststype som inneholdt flere ECU, og den fulgte med større mengder minne og lagring - en cakewalk.
Det er nå mye vanskeligere å bestemme hvilken forekomsttype som skal brukes, fordi Amazon har lansert (unnskyld ordspillet) flere familier av forekomster designet for å hjelpe deg med å optimalisere for en bestemt type funksjonalitet.
For eksempel, hva om applikasjonen din er minneintensiv, som visse analyseprogrammer er? Du pleide å bruke en forekomst fra familien av standard forekomsttyper, og du måtte bruke forekomster med store mengder minne som hadde høyt antall ECU, selv om programmet ikke krever mye prosessorkraft. Det var bare slik det var.
Bildetyper er bare én side av EC2-mynten. Du må også vurdere forekomsttyper - hvilke virtuelle maskiner du kan kjøre i AWS.
Forekomster varierer etter antall tre typer beregningsressurser:
-
Behandlingseffekt: Hver forekomst har et visst antall EC2 beregningsenhet s (ECU), som er en benchmarked mengde prosessorkraft (tilsvarende CPU-kapasiteten til en 1. 0-1. 2 GHz 2007 Opteron eller 2007 Xeon prosessor). For eksempel har den lille forekomsten i AWS 1 EC2 beregningsenhet, eller 1 ECU.
-
Minne: Hver forekomst inneholder en gitt mengde minne målt i gigabyte. En liten forekomst har 1. 7 GB minne.
-
Lagring: Hver forekomst har en viss diskplass. En liten forekomst har 170 GB diskplass.
Avhengig av forekomststypen, kan noe av disklageret som er knyttet til en forekomst, leveres i uformatert form - før den kan brukes, må den formateres med et filsystem som kan brukes av operativsystemet til forekomsten.
-
Nettverkstilkobling: Hver forekomst leveres med ett virtuelt nettverkskort (NIC), som det bruker til å kommunisere med andre enheter eller tjenester. Hver forekomst er gitt to IP-adresser: En privat adresse som bare brukes innenfor AWS og en offentlig adresse som brukes til Internett-tilgang til forekomsten.
Ikke alle forekomsttyper får bare ett NIC. Forekomster i AWS Virtual Private Cloud (VPC) kan ha mer enn ett NIC.
Dette er selvsagt et positivt dilemma fordi du kan finne en familie som er godt innstilt for søknadens bruksprofil; På den annen side (og det er alltid en annen hånd), må du bruke due diligence til å bestemme hvilken forekomstfamilie som er mest fornøyd med søknaden din (som krever en forståelse av søknadens driftsegenskaper i detalj).
I EC2-dokumentasjonen beskriver Amazon tilbudene fra EC2-forekomster (High-CPU, for eksempel) som familier, og de forskjellige forekomststørrelsene (M1, hvor M for eksempel står for medium), som typer.
I praksis refererer nesten alle andre (inkludert AWS-ansatte) til en familie fra AWS-dokumentasjonen som en type ("Det er en High-CPU type-forekomst", for eksempel) og til type fra AWS-dokumentasjonen som størrelse ("Det er en M1 Large Size-forekomst" for eksempel). Denne diskusjonen bruker den mer vanlige tilnærmingen fordi det er måten du hører det diskutert av nesten alle, men også fordi det er mer logisk.
Hopp til en beskrivelse av forekomsttypene:
-
Mikro: Veldig, veldig liten; gir en begrenset mengde både CPU og minne, selv om Micro instans typer kan sprekke til 2 ECU i korte perioder. Bruk denne typen for lavere gjennomføringsprogrammer og nettsteder med lav trafikk. Mikro-typen er også tilgjengelig som en del av AWS Free Usage Tier, som er nyttig for læring og eksperimentering.
-
Standard: Den "gjennomsnittlige" typen og uten tvil den mest brukte; tilbyr en balanse mellom CU, minne og disk som passer for vanlige applikasjoner.
-
Høy CPU: Går for høyere CUer i stedet for minne og passer godt til behandling av store applikasjoner. Et nummerbruddsprogram er det kanoniske brukstilfellet for høy-CPU-forekomster.
-
Høyt minne: Støtter minne snarere enn CPU. Denne typen er godt egnet for databaseprogrammer, analyseapplikasjoner og apper som er avhengige av minnekache. Hvis du kjører et caching-tierprodukt som memcached, er denne forekomststypen et godt valg.
-
Høy I / O: Gir høy gjennomstrømning (input + output - I / O, med andre ord) og passer godt til programmer som flytter mye data. Det er et godt valg for å kjøre din egen nøkkelverdi-oppbevaringstjeneste, som Cassandra eller MongoDB, i stedet for å bruke AWS DynamoDB-tjeneste. Høy-I / O-forekomster har høye gjennomstrømningsforbindelser (10 Gbps), og bruk solid state-stasjoner for å gi høy ytelse.
-
Cluster Compute: Gir et stort antall ECU sammen med høy ytelse nettverk (10 Gbps). Denne forekomst typen, som er godt egnet for høy ytelse databehandling oppgaver (svært store applikasjoner for spesialisert nummer crunching, som oljefelt seismisk analyse), kjører på spesialisert maskinvare, med tilpassede AMIer som bruker en annen, mer effektiv type virtualisering som nært forbundne maskiner for bedre nettverksytelse.
-
Cluster GPU: Analog til Cluster Compute-forekomster, men bruker grafiske behandlingsenheter (tenk på prosessoren inne i grafikkortet på PCen din, hvis du er en gamer) som er bedre egnet for visse typer applikasjoner, inkludert visse varianter av HPC-nettverksanalyse. Cluster GPU-forekomster opererer på samme måte som Cluster Compute-forekomster, om enn med forskjellige CPU-sjetonger i serverne disse forekomstene kjører på.
