Cloud & IT Cert Prep · Lektion

EC2-starttype kontra Fargate

Sammenlign selv at administrere EC2-containerinstanser med at bruge Fargate til serverløs containerkørsel, og forstå omkostningsafvejningerne

Lektion 2 af 413 trin

EC2-starttype kontra Fargate er en gratis Cloud & IT Cert Prep-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Cloud & IT Cert Prep, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

To måder at køre ECS-opgaver på

ECS tilbyder to starttyper, der definerer, hvor dine containere kører: EC2-starttypen kører containere på EC2-instanser, som du klargør og administrerer i klyngen; Fargate-starttypen er en serverløs beregningsmotor, hvor AWS fuldt ud administrerer de underliggende servere. Opgavedefinitionen og tjenestekonfigurationen er næsten identiske mellem dem – den vigtigste forskel er ansvaret for infrastrukturadministration og omkostningsmodellen.

EC2-starttypen: fuld kontrol

Med EC2-starttypen registrerer du EC2-instanser som containerinstanser i klyngen ved hjælp af ECS Container Agent (forudinstalleret på ECS-optimerede AMI'er). Du vælger instanstyper, styrer indstillinger på operativsystemniveau, anvender brugerdefinerede sikkerhedsstandarder og bruger Spot Instances for at spare omkostninger. ECS placerer opgaver på dine registrerede instanser baseret på strategier for bin-pakning eller spredt placering. Du er ansvarlig for programrettelser, skalering og vedligeholdelse af den underliggende EC2-flåde.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate: Serverløse containere

Med Fargate angiver du CPU og hukommelse pr. opgave, og AWS klargør den underliggende beregningskapacitet usynligt. Der er ingen EC2-instanser, du skal registrere, patche eller skalere—AWS håndterer det hele. Opgaver får deres egen isolerede kerne (via Firecracker-mikro-VM'er), hvilket giver stærkere sikkerhedsisolering end EC2-containerinstanser, hvor flere opgaver deler samme vært. Fargate kræver netværkstilstanden awsvpc, hvilket betyder, at hver opgave får sin egen ENI og VPC-IP-adresse.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

Sammenligning af omkostningsmodeller

Omkostningsmodellerne er grundlæggende forskellige. EC2-starttype: Du betaler for de underliggende EC2-instanser (uanset om der kører opgaver), men kan bruge Reserved Instances eller Savings Plans for at få rabat og Spot Instances for op til 90 % besparelse på arbejdsbelastninger, der kan afbrydes. Fargate: Du betaler kun for den vCPU og hukommelse, som hver opgave bruger pr. sekund—ingen omkostninger for inaktiv kapacitet mellem opgaver. Til arbejdsbelastninger med spidsbelastninger eller batchbehandling er Fargate ofte billigere; til arbejdsbelastninger med konstant høj udnyttelse kan EC2 med Reserved Instances være billigere.

Fargate Spot for lavere omkostninger

Fargate Spot leverer Fargate-beregningskapacitet til betydeligt lavere priser (op til 70 % rabat) mod muligheden for afbrydelse, når AWS har brug for kapaciteten igen. Fargate Spot er ideel til batchbehandling, CI/CD-pipelines samt udviklings- og testmiljøer. Konfigurer en kapacitetsudbyderstrategi for at kombinere Fargate (on-demand) og Fargate Spot: brug base=1 på Fargate for at sikre mindst én garanteret opgave, og brug weight-værdier til at fordele den resterende kapacitet mellem begge.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

Hvornår skal du vælge EC2-starttypen

Vælg EC2-starttypen, når du har brug for: GPU-instanser (Fargate har begrænset GPU-understøttelse), bestemte instanstyper, der ikke er tilgængelige i Fargate, brugerdefineret OS-konfiguration (kernejustering, brugerdefinerede drivere), netværksydelse, der kræver placeringsgrupper eller forbedret netværk, Windows-containere (EC2 understøtter Windows Server-containere; Fargate understøtter Windows, men med begrænsninger), eller når du kører med konstant høj udnyttelse, hvor EC2 Reserved Instances giver en betydelig omkostningsfordel i forhold til Fargates fakturering pr. sekund.

Hvornår skal du vælge Fargate

Vælg Fargate, når du vil: eliminere administrationsarbejdet med EC2 (ingen OS-patching eller klyngeskalering), kun betale for det, du bruger, pr. sekund, køre arbejdsbelastninger med spidsbelastninger eller batchbehandling, som ikke retfærdiggør inaktiv EC2-kapacitet, opnå stærkere isolering af opgaver via Firecracker-mikro-VM'er eller fremskynde udviklingen ved udelukkende at fokusere på applikationskoden. Fargate er den anbefalede standard til nye ECS-arbejdsbelastninger i SAA-C03-eksamen, medmindre der angives et specifikt EC2-krav.

ECS-kapacitetsudbydere

Kapacitetsudbydere abstraherer beregningslaget fra ECS-tjenester. For EC2 er en kapacitetsudbyder knyttet til en Auto Scaling Group—ECS skalerer automatisk ASG'en, når opgaver ikke kan placeres på grund af utilstrækkelig kapacitet. For Fargate er FARGATE og FARGATE_SPOT indbyggede kapacitetsudbydere. Ved at definere en kapacitetsudbyderstrategi for en tjeneste kan du kombinere on-demand og Spot/Fargate Spot, så du får detaljeret kontrol over afvejningen mellem omkostninger og tilgængelighed for hver arbejdsbelastning.

Sammenligning af driftsmæssigt administrationsarbejde

Det driftsmæssige administrationsarbejde varierer betydeligt mellem starttyperne. EC2-starttypen kræver: valg og opdatering af AMI, konfiguration af EC2 Auto Scaling, OS-patching via SSM eller brugerdefinerede scripts, kapacitetsstyring af containerinstanser og sikkerhedshærdning på instansniveau. Fargate eliminerer alt det ovenstående—AWS håndterer patching af Fargate-platformen, der er ingen instanser at administrere, og du behøver ikke planlægge klyngens kapacitet. Fargate giver dog mindre fleksibilitet til OS-tilpasning og justering af netværksydelsen.

Dimensionering af CPU og hukommelse til Fargate-opgaver

Fargate-opgavedefinitioner skal angive CPU og hukommelse fra et fast sæt kombinationer. CPU-værdier: 256, 512, 1024, 2048, 4096, 8192, 16384 (i vCPU-enheder, hvor 1024 = 1 vCPU). Hukommelsen skal ligge inden for de tilladte intervaller for hver CPU-værdi—for eksempel tillader 256 CPU 512-2048 MB hukommelse. Containerne i opgaven deler opgavens CPU- og hukommelsesloft. Korrekt dimensionering er vigtig: Fargate fakturerer præcis det, du angiver, så overprovisionering spilder penge uden at give en reel ydelsesfordel, hvis arbejdsbelastningerne er CPU-begrænsede.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

ECS Exec til fejlfinding

ECS Exec lader dig åbne en interaktiv shell-session direkte i en kørende container (både EC2 og Fargate) uden SSH eller bastionværter. Det bruger AWS Systems Manager Session Manager i baggrunden. Aktivér det på tjenesten, og brug CLI'en execute-command til at starte en bash-session. Det er uvurderligt til fejlfinding af problemer i containere i produktion. Opgaverollen skal have ssmmessages:CreateControlChannel og relaterede SSM-tilladelser.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

Hurtigt tjek

Test din forståelse af AWS Solutions Architect-koncepterne (SAA-C03) fra denne lektion.

Opsummering af lektionen

I denne lektion har du lært, at EC2-starttypen giver fuld kontrol over instanstyper og OS-konfiguration på bekostning af administration af den underliggende instansflåde—ideel til GPU'er, specialiseret hardware eller arbejdsbelastninger med konstant høj udnyttelse; Fargate eliminerer infrastrukturadministration med fakturering af opgaver pr. sekund og stærk Firecracker-isolering—ideel til de fleste web- og API-arbejdsbelastninger samt batchjob; og Fargate Spot reducerer omkostningerne med op til 70 % for arbejdsbelastninger, der tåler afbrydelser. Dernæst udforsker vi Amazon ECR til lagring og hentning af containerafbildninger.

Gratis at komme i gang

Lær Cloud & IT Cert Prep med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
150
Lektioner
600

Ofte stillede spørgsmål

Er lektionen “EC2-starttype kontra Fargate” gratis?

Ja — hele teksten til “EC2-starttype kontra Fargate” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Cloud & IT Cert Prep-kurset, skal du opgradere til CoddyKit PRO. Cloud & IT Cert Prep-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “EC2-starttype kontra Fargate”?

Sammenlign selv at administrere EC2-containerinstanser med at bruge Fargate til serverløs containerkørsel, og forstå omkostningsafvejningerne Du øver dig i Cloud & IT Cert Prep med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Cloud & IT Cert Prep?

Der kræves ingen tidligere erfaring. Cloud & IT Cert Prep på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “EC2-starttype kontra Fargate”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Cloud & IT Cert Prep-lektion?

Ja. Alle Cloud & IT Cert Prep-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. ECS-klynger, task definitions og services
  2. EC2-starttype kontra Fargate
  3. ECR: Lagring og hentning af containerafbildninger
  4. Automatisk skalering og belastningsfordeling af ECS-tjenester
← Tilbage til Cloud & IT Cert Prep