Kysy konsultilta: Miksi CDK-projekti tarvitsee yleensä bootstrapata?

3. tammikuuta 2024

Miksi CDK-projekti tarvitsee yleensä bootstrapata?

AWS Cloud Development Kit eli tuttavallisemmin CDK on AWS:n tarjoama framework resurssien ja infrastruktuurin provisiointiin useilla ohjelmointikielillä. Pellin alla CDK ajaa CloudFormationia ja toimii abstraktiokerroksena, jonka tarkoituksena on auttaa tekemään asioita hyvien käytäntöjen mukaisesti. Vaikka CDK abstraktoi joitakin kompastuskiviä piiloon, on syytä muistaa mahdollisuus kurkata mustan laatikon sisälle. CDK:lla provisioitavat resurssit syntyvät CloudFormation stackeina, joista näkee koodista generoidun CloudFormation templaten.


Matka koodista resurssiksi sisältää muitakin askelia, ja käytännössä kaikki ei-triviaalit CDK-projektit on tarpeen 'bootstrapata' mikä tarkoittaa CDK:n käyttämien riippuvuuksien ja resurssien luomista ympäristöön ennen itse sovelluksen resurssien pystyttämistä. Yksinkertaisimmillaan tämä tarkoittaa 'cdk bootstrap' komennon ajamista, joka perustaa ympäristöön 'CDKToolkit' nimisen CloudFormation-stackin näillä resursseilla.


Oletusasetuksillakin tehty bootstrap toimii testatessa, mutta templatea voi muokata haluamallaan tavalla ja ympäristön vaatimusten mukaan. Asioita ei tarvitse jättää maagisiksi, sillä käytössä olevan templaten näkee stackista, ja ennen luomista templatea voidaan tarkastella komentamalla 'cdk bootstrap --show-template'. Oletuksena esimerkiksi CloudFormationia ajetaan varsin laajoilla oikeuksilla, ja bootstrap-resursseille syntyvä tunniste ei ole erityisen kuvaava. Muita mahdollisesti mielenkiintoisia arvoja on useampi säädettäväksi.


CDK on myös jatkuvasti kehittyvä työkalu, ja bootstrap-template kehittyy sen mukana. Aiemmin bootstrapattu ympäristö voi siis erota joiltakin osin myöhemmin bootstrapatusta ympäristöstä. Bootstrap-templaten sisällyttäminen versionhallintaan auttaa näiden eroavaisuuksien löytämisessä ja helpottaa päivittämistä eteenpäin. CDK-projektien kanssa työskennellessä on hyvä muistaa tarkastaa mahdolliset erot CDK v1 ja CDK v2 välillä. Esimerkiksi CDK v2 tukee ainoastaan modernia bootstrap-templatea, kun CDK v1 tukee sekä modernia että vanhempaa mallia.


Hyvin suunniteltu ja tarpeen mukainen bootstrappaus osana CDK-projektia mahdollistaa asioiden tekemisen hyvien infrastructure-as-code -käytäntöjen mukaisesti sekä toistettavien ja ennakoitavissa olevien ympäristöjen pystyttämisen uudelleen helposti nyt, tulevaisuudessa ja tekijästä riippumatta.

A black and white photo of a bald man wearing a black shirt.

Teemu Ala-Järvenpää

Cloud Specialist

Viimeisimmät kirjoitukset

29. tammikuuta 2026
AWS European Sovereign Cloud (EUSC) on nyt saatavilla ensimmäisellä regionilla. EUSC on erillinen kokonaisuus AWS:n tavallisesta commercial-pilvestä. Se on rakennettu tilanteisiin, joissa eurooppalainen regioni ei enää riitä, vaan vaatimukset koskevat myös palvelun operointia ja käyttöoikeuksia.
AWS Lambda durable functions
21. tammikuuta 2026
AWS julkaisi joulukuussa 2025 uuden Lambda durable functions -ominaisuuden. Tämä tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan.
AWS DevOps Agent
8. joulukuuta 2025
AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.
4. joulukuuta 2025
AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.
Lisää kirjoituksia