AWS for backendutviklere (EC2, S3, RDS, Lambda) · leksjon

CodeDeploy for EC2/Lambda

Automatiser kodeutrullinger til EC2-instanser og Lambda-funksjoner, og sørg for minimal nedetid og mulighet for tilbakerulling.

Leksjon 2 av 411 trinn

CodeDeploy for EC2/Lambda er en gratis leksjon i AWS for backendutviklere (EC2, S3, RDS, Lambda) på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AWS for backendutviklere (EC2, S3, RDS, Lambda), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AWS for backendutviklere (EC2, S3, RDS, Lambda) inneholder totalt 4 leksjoner.

Automatiser distribusjoner med CodeDeploy

Det kan være vanskelig å distribuere applikasjoner. Manuelle trinn er utsatt for feil og kan føre til nedetid. AWS CodeDeploy automatiserer denne prosessen for deg!

  • Det hjelper deg med å distribuere applikasjoner til EC2-instanser, AWS Lambda og lokale servere.
  • Det minimerer nedetid under distribusjoner.
  • Det tilbyr alternativer for enkel tilbakerulling hvis noe går galt.

De viktigste delene av CodeDeploy

CodeDeploy organiserer distribusjonene dine ved hjelp av noen få kjernekomponenter:

  • Application: Et unikt navn som identifiserer applikasjonen du vil distribuere.
  • Deployment Group: Et sett med individuelle instanser eller en bestemt Lambda-funksjon som du vil distribuere til.
  • Revision: Kildekoden, nettsidene, de kjørbare filene og skriptene du vil distribuere, pakket i en fil (for eksempel ZIP eller TAR).

Distribusjonsstrategier: In-place kontra Blue/Green

CodeDeploy støtter ulike strategier for å oppdatere applikasjonen din:

  • In-place-distribusjon: Stopper applikasjonen på hver instans, distribuerer den nye versjonen og starter den på nytt. Dette kan føre til kortvarig nedetid.
  • Blue/Green-distribusjon: Et nytt sett med instanser (Green) klargjøres med den nye versjonen. Trafikken flyttes deretter fra de gamle instansene (Blue) til de grønne. Dette minimerer nedetid og risiko.

Distribuere til EC2-instanser

For EC2-distribusjoner trenger CodeDeploy en agent som er installert på instansene dine. Denne agenten håndterer distribusjonsoppgavene.

Du definerer hvordan distribusjonen skal foregå ved hjelp av en appspec.yml-fil. Denne filen forteller CodeDeploy hvilke filer som skal kopieres, hvor de skal plasseres, og hvilke skript som skal kjøres.

Strukturen til appspec.yml for EC2

Her er et enkelt eksempel på en appspec.yml-fil for en EC2-distribusjon. Den forteller CodeDeploy å kopiere filer og kjøre et skript.

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

Livssykluskroker for EC2-distribusjoner

Kroker er skript som CodeDeploy kjører på bestemte tidspunkter under en distribusjon til en EC2-instans. De lar deg tilpasse distribusjonsprosessen:

  • BeforeInstall: Oppgaver før filer kopieres.
  • AfterInstall: Oppgaver etter at filer er kopiert, for eksempel installasjon av avhengigheter.
  • ApplicationStart: Start applikasjonstjenesten din.
  • ValidateService: Kontroller om den distribuerte applikasjonen fungerer som den skal.

Distribuere Lambda-funksjoner

CodeDeploy forenkler også distribusjoner av AWS Lambda-funksjoner. Det lar deg trygt flytte trafikk mellom ulike versjoner av funksjonen din.

Dette er spesielt nyttig for canary-distribusjoner eller gradvise utrullinger, slik at du kan kontrollere at den nye funksjonen fungerer som forventet før den mottar all trafikken.

Strukturen til appspec.yml for Lambda

For Lambda fokuserer appspec.yml på å definere funksjonen og hvordan trafikken skal flyttes. Her er et grunnleggende 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åndtere feil og tilbakerullinger

CodeDeploy overvåker distribusjoner automatisk. Hvis en distribusjon mislykkes (for eksempel fordi et hook-skript avsluttes med en feil), kan tjenesten automatisk rulle tilbake til den forrige stabile versjonen.

  • Du kan også starte en tilbakerulling manuelt.
  • Den integreres med CloudWatch for å overvåke distribusjonsstatus og utløse alarmer.

Sjekk av CodeDeploy-konsepter

Hvilken CodeDeploy-distribusjonsstrategi innebærer å klargjøre et helt nytt sett med instanser for den nye applikasjonsversjonen og deretter flytte trafikken?

Oppsummering av CodeDeploy

Godt jobbet! Du har lært om AWS CodeDeploy, en kraftig tjeneste for å automatisere applikasjonsdistribusjoner.

  • Den håndterer distribusjoner til EC2, Lambda og lokale servere.
  • Du kan velge mellom in-place- eller Blue/Green-strategier.
  • Filen appspec.yml definerer distribusjonstrinn og kroker.
  • Den støtter automatiske tilbakerullinger og integreres med overvåking.

CodeDeploy bidrar til at applikasjonene dine oppdateres pålitelig og med minimale forstyrrelser.

Gratis å komme i gang

Lær deg AWS for backendutviklere (EC2, S3, RDS, Lambda) med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «CodeDeploy for EC2/Lambda» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien AWS for backendutviklere (EC2, S3, RDS, Lambda), inkludert «CodeDeploy for EC2/Lambda», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i AWS for backendutviklere (EC2, S3, RDS, Lambda) inneholder totalt 4 leksjoner.

Hva lærer jeg i «CodeDeploy for EC2/Lambda»?

Automatiser kodeutrullinger til EC2-instanser og Lambda-funksjoner, og sørg for minimal nedetid og mulighet for tilbakerulling. Du øver på AWS for backendutviklere (EC2, S3, RDS, Lambda) med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med AWS for backendutviklere (EC2, S3, RDS, Lambda)?

Ingen tidligere erfaring er nødvendig. AWS for backendutviklere (EC2, S3, RDS, Lambda) på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «CodeDeploy for EC2/Lambda»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne AWS for backendutviklere (EC2, S3, RDS, Lambda)-leksjonen?

Ja. Alle AWS for backendutviklere (EC2, S3, RDS, Lambda)-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Grunnleggende om CodeCommit og CodeBuild
  2. CodeDeploy for EC2/Lambda
  3. Serverless Application Model (SAM)
  4. Infrastruktur som kode med CloudFormation
← Tilbake til AWS for backendutviklere (EC2, S3, RDS, Lambda)