CodeDeploy EC2:lle ja Lambdalle
Automatisoikaa koodin käyttöönotot EC2-instansseille ja Lambda-funktioille sekä varmistakaa mahdollisimman lyhyet käyttökatkot ja palautusmahdollisuus.
CodeDeploy EC2:lle ja Lambdalle on ilmainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.
Käyttöönottojen automatisointi CodeDeploylla
Sovellusten käyttöönotto voi olla hankalaa. Manuaaliset vaiheet altistavat virheille ja voivat aiheuttaa käyttökatkoja. AWS CodeDeploy automatisoi tämän prosessin puolestanne!
- Se auttaa ottamaan sovelluksia käyttöön EC2-instansseissa, AWS Lambdassa ja paikallisissa palvelimissa.
- Se minimoi käyttökatkot käyttöönottojen aikana.
- Se tarjoaa helpon palautuksen aiempaan versioon, jos jokin menee vikaan.
CodeDeployn keskeiset osat
CodeDeploy järjestää käyttöönotot muutaman keskeisen komponentin avulla:
- Application: Yksilöllinen nimi käyttöönotettavan sovelluksen tunnistamiseen.
- Deployment Group: Joukko yksittäisiä instansseja tai tietty Lambda-funktio, johon käyttöönotto tehdään.
- Revision: Käyttöönotettava lähdekoodi, verkkosivut, suoritettavat tiedostot ja komentosarjat pakattuna tiedostoksi (esimerkiksi zip- tai tar-tiedostoksi).
Käyttöönottostrategiat: paikallinen päivitys vai blue/green
CodeDeploy tukee erilaisia strategioita sovelluksen päivittämiseen:
- In-place Deployment: Sovellus pysäytetään jokaisessa instanssissa, uusi versio otetaan käyttöön ja sovellus käynnistetään uudelleen. Tämä voi aiheuttaa lyhyen käyttökatkon.
- Blue/Green Deployment: Uusi joukko instansseja (Green) luodaan uudella versiolla. Liikenne siirretään sitten vanhoilta instansseilta (Blue) Green-instansseille. Tämä minimoi käyttökatkot ja riskit.
Käyttöönotto EC2-instansseihin
EC2-käyttöönottoja varten CodeDeploy tarvitsee instansseihin asennetun agentin. Agentti hoitaa käyttöönoton tehtävät.
Määrität käyttöönoton toiminnan appspec.yml-tiedostolla. Tiedosto kertoo CodeDeploylle, mitä tiedostoja kopioidaan, minne ne sijoitetaan ja mitä komentosarjoja suoritetaan.
EC2:n appspec.yml-tiedoston rakenne
Tässä on yksinkertainen esimerkki EC2-käyttöönotossa käytettävästä appspec.yml-tiedostosta. Se käskee CodeDeployta kopioimaan tiedostot ja suorittamaan komentosarjan.
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
hooks:
AfterInstall:
- location: scripts/start_server.sh
timeout: 300
runas: rootEC2-käyttöönoton elinkaarikoukut
Koukut ovat komentosarjoja, jotka CodeDeploy suorittaa tietyissä kohdissa EC2-instanssin käyttöönottoa. Niiden avulla voit mukauttaa käyttöönottoprosessia:
- BeforeInstall: Ennen tiedostojen kopiointia suoritettavat tehtävät.
- AfterInstall: Tiedostojen kopioinnin jälkeen suoritettavat tehtävät, kuten riippuvuuksien asentaminen.
- ApplicationStart: Sovelluspalvelun käynnistäminen.
- ValidateService: Tarkistus, että käyttöönotettu sovellus toimii oikein.
Lambda-funktioiden käyttöönotto
CodeDeploy yksinkertaistaa myös AWS Lambda -funktioiden käyttöönottoa. Sen avulla liikenne voidaan siirtää turvallisesti funktiosi eri versioiden välillä.
Tämä on erityisen hyödyllistä canary-käyttöönottojen ja asteittaisten julkaisujen yhteydessä, sillä voit varmistaa uuden funktion toiminnan ennen kaiken liikenteen siirtämistä sille.
Lambdan appspec.yml-tiedoston rakenne
Lambdassa appspec.yml keskittyy funktion ja liikenteen siirtotavan määrittämiseen. Tässä on perusesimerkki:
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"Virheiden käsittely ja palautukset
CodeDeploy valvoo käyttöönottoja automaattisesti. Jos käyttöönotto epäonnistuu (esimerkiksi koukkukomentosarja päättyy virheeseen), palvelu voi palauttaa automaattisesti aiemman vakaan version.
- Voit myös käynnistää palautuksen manuaalisesti.
- Se integroituu CloudWatchiin käyttöönoton tilan valvontaa ja hälytysten käynnistämistä varten.
CodeDeploy-käsitteiden tarkistus
Mikä CodeDeployn käyttöönottostrategia luo kokonaan uuden instanssijoukon sovelluksen uutta versiota varten ja siirtää sitten liikenteen sinne?
CodeDeployn kertaus
Hienoa työtä! Olette oppineet tuntemaan AWS CodeDeployn, tehokkaan palvelun sovellusten käyttöönottojen automatisointiin.
- Se hallinnoi käyttöönottoja EC2:ssa, Lambdassa ja paikallisissa palvelimissa.
- Voit valita paikallisen päivityksen tai blue/green-strategian.
appspec.yml-tiedosto määrittää käyttöönoton vaiheet ja koukut.- Se tukee automaattisia palautuksia ja integroituu valvontaan.
CodeDeploy auttaa varmistamaan, että sovellukset päivitetään luotettavasti ja mahdollisimman vähäisin häiriöin.
Opi AWS backend-kehittäjille (EC2, S3, RDS, Lambda) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”CodeDeploy EC2:lle ja Lambdalle” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolun 3 oppituntia, myös oppitunnin “CodeDeploy EC2:lle ja Lambdalle”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”CodeDeploy EC2:lle ja Lambdalle”?
Automatisoikaa koodin käyttöönotot EC2-instansseille ja Lambda-funktioille sekä varmistakaa mahdollisimman lyhyet käyttökatkot ja palautusmahdollisuus. Harjoittelet AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”CodeDeploy EC2:lle ja Lambdalle”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunnilla?
Kyllä. Jokainen AWS backend-kehittäjille (EC2, S3, RDS, Lambda)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- CodeCommitin ja CodeBuildin perusteet
- CodeDeploy EC2:lle ja Lambdalle
- Serverless Application Model (SAM)
- Infrastruktuuri koodina CloudFormationilla