CodeDeploy for EC2/Lambda
Automatiser kodeutrullinger til EC2-instanser og Lambda-funksjoner, og sørg for minimal nedetid og mulighet for tilbakerulling.
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: rootLivssykluskroker 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.ymldefinerer 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.
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
- Grunnleggende om CodeCommit og CodeBuild
- CodeDeploy for EC2/Lambda
- Serverless Application Model (SAM)
- Infrastruktur som kode med CloudFormation