AWS for backendudviklere (EC2, S3, RDS, Lambda) · Lektion

CodeDeploy til EC2/Lambda

Automatisér kodeimplementeringer til EC2-instanser og Lambda-funktioner, og sørg for minimal nedetid og mulighed for rollback.

Lektion 2 af 411 trin

CodeDeploy til EC2/Lambda er en gratis AWS for backendudviklere (EC2, S3, RDS, Lambda)-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i AWS for backendudviklere (EC2, S3, RDS, Lambda), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. AWS for backendudviklere (EC2, S3, RDS, Lambda)-kurset indeholder 4 lektioner i alt.

Automatiser implementeringer med CodeDeploy

Det kan være besværligt at implementere applikationer. Manuelle trin er fejlbehæftede og kan forårsage nedetid. AWS CodeDeploy automatiserer denne proces for dig!

  • Det hjælper med at implementere applikationer på EC2-instanser, AWS Lambda og lokale servere.
  • Det minimerer nedetid under implementeringer.
  • Det giver mulighed for nemme tilbagerulninger, hvis noget går galt.

De vigtigste dele af CodeDeploy

CodeDeploy organiserer dine implementeringer ved hjælp af nogle få centrale komponenter:

  • Applikation: Et entydigt navn, der identificerer den applikation, du vil implementere.
  • Implementeringsgruppe: Et sæt individuelle instanser eller en bestemt Lambda-funktion, som du vil implementere til.
  • Revision: Den kildekode, de websider, de eksekverbare filer og de script, du vil implementere, pakket i en fil (f.eks. zip eller tar).

Implementeringsstrategier: In-place eller blue/green

CodeDeploy understøtter forskellige strategier til opdatering af din applikation:

  • In-place-implementering: Stopper applikationen på hver instans, implementerer den nye version og starter den igen. Det kan medføre kortvarig nedetid.
  • Blue/green-implementering: Et nyt sæt instanser (Green) klargøres med den nye version. Trafikken flyttes derefter fra de gamle instanser (Blue) til de grønne. Det minimerer nedetid og risiko.

Implementering på EC2-instanser

Ved EC2-implementeringer skal der være installeret en agent på dine instanser. Denne agent håndterer implementeringsopgaverne.

Du definerer, hvordan implementeringen skal foregå, ved hjælp af en appspec.yml-fil. Filen fortæller CodeDeploy, hvilke filer der skal kopieres, hvor de skal placeres, og hvilke script der skal køres.

Strukturen i EC2 appspec.yml

Her er et simpelt eksempel på en appspec.yml til en EC2-implementering. Den fortæller CodeDeploy, at filer skal kopieres, og at et script skal køres.

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html
hooks:
  AfterInstall:
    - location: scripts/start_server.sh
      timeout: 300
      runas: root

Hooks i EC2-implementeringens livscyklus

Hooks er script, som CodeDeploy kører på bestemte tidspunkter under en implementering til en EC2-instans. De giver dig mulighed for at tilpasse implementeringsprocessen:

  • BeforeInstall: Opgaver før filer kopieres.
  • AfterInstall: Opgaver efter filer er kopieret, f.eks. installation af afhængigheder.
  • ApplicationStart: Starter din applikationstjeneste.
  • ValidateService: Kontrollerer, om den implementerede applikation fungerer korrekt.

Implementering af Lambda-funktioner

CodeDeploy gør det også nemmere at implementere AWS Lambda-funktioner. Det giver dig mulighed for sikkert at flytte trafik mellem forskellige versioner af din funktion.

Det er især nyttigt til canary-implementeringer eller gradvise udrulninger, fordi du kan sikre, at den nye funktion fungerer som forventet, før den modtager al trafik.

Strukturen i Lambda appspec.yml

For Lambda fokuserer appspec.yml på at definere funktionen og på, hvordan trafikken skal flyttes. Her er et grundlæggende eksempel:

version: 0.0
resources:
  - TargetService:
      Type: AWS::Lambda::Function
      Properties:
        Name: "my-lambda-function"
        Alias: "live"
        CurrentVersion: "my-lambda-function-old-version"
        TargetVersion: "my-lambda-function-new-version"
hooks:
  - BeforeAllowTraffic: "LambdaValidationFunction"

Håndtering af fejl og tilbagerulninger

CodeDeploy overvåger automatisk implementeringer. Hvis en implementering mislykkes (f.eks. fordi et hook-script afsluttes med en fejl), kan tjenesten automatisk rulle tilbage til den seneste stabile version.

  • Du kan også starte en tilbagerulning manuelt.
  • Den integreres med CloudWatch for at overvåge implementeringens tilstand og udløse alarmer.

Tjek af CodeDeploy-begreber

Hvilken CodeDeploy-implementeringsstrategi indebærer, at der klargøres et helt nyt sæt instanser til den nye applikationsversion, hvorefter trafikken flyttes?

Opsummering af CodeDeploy

Godt klaret! Du har lært om AWS CodeDeploy, en effektiv tjeneste til automatisering af applikationsimplementeringer.

  • Den håndterer implementeringer til EC2, Lambda og lokale servere.
  • Du kan vælge mellem in-place- eller blue/green-strategier.
  • Filen appspec.yml definerer implementeringstrin og hooks.
  • Den understøtter automatiske tilbagerulninger og integreres med overvågning.

CodeDeploy hjælper med at sikre, at dine applikationer opdateres pålideligt og med minimale forstyrrelser.

Gratis at komme i gang

Lær AWS for backendudviklere (EC2, S3, RDS, Lambda) 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
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “CodeDeploy til EC2/Lambda” gratis?

Ja — alle 3 lektioner i læringssporet AWS for backendudviklere (EC2, S3, RDS, Lambda), inklusive “CodeDeploy til EC2/Lambda”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. AWS for backendudviklere (EC2, S3, RDS, Lambda)-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “CodeDeploy til EC2/Lambda”?

Automatisér kodeimplementeringer til EC2-instanser og Lambda-funktioner, og sørg for minimal nedetid og mulighed for rollback. Du øver dig i AWS for backendudviklere (EC2, S3, RDS, Lambda) 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å AWS for backendudviklere (EC2, S3, RDS, Lambda)?

Der kræves ingen tidligere erfaring. AWS for backendudviklere (EC2, S3, RDS, Lambda) 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 “CodeDeploy til EC2/Lambda”?

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 AWS for backendudviklere (EC2, S3, RDS, Lambda)-lektion?

Ja. Alle AWS for backendudviklere (EC2, S3, RDS, Lambda)-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. Grundlæggende om CodeCommit og CodeBuild
  2. CodeDeploy til EC2/Lambda
  3. Serverless Application Model (SAM)
  4. Infrastruktur som kode med CloudFormation
← Tilbage til AWS for backendudviklere (EC2, S3, RDS, Lambda)