Cloud & IT Cert Prep · Oppitunti

Kustannusten optimoinnin ja kestävyyden peruspilarit

Lisää kustannustietoisuutta, mitoita resurssit tarpeen mukaan ja valitse hinnoittelumallit kustannusten hallitsemiseksi; minimoi infrastruktuurin laajuus ja paranna energiatehokkuutta kestävyyden edistämiseksi.

Oppitunti 3/413 vaihetta

Kustannusten optimoinnin ja kestävyyden peruspilarit on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Kustannusten optimointi -pilarin yleiskatsaus

Kustannusten optimointi -pilari keskittyy tarpeettomien kustannusten välttämiseen ja AWS-kulutuksesta saatavan arvon maksimointiin. Se on usein välittömiltä vaikutuksiltaan merkittävin pilari, koska pilviresursseja on helppo ylimitoittaa. Keskeiset suunnitteluperiaatteet: Toteuta pilven taloushallinta — käsittele kustannuksia ensisijaisena mittarina. Omaksu kulutukseen perustuva malli — maksa vain käyttämästäsi. Mittaa kokonaistehokkuutta — seuraa kustannuksia liiketoiminta-arvon yksikköä kohden. Vähennä eriytymättömään ylläpitotyöhön käytettyjä kustannuksia — käytä hallinnoituja palveluita infrastruktuurin hallinnoinnin sijaan.

# Cost Optimisation pillars:
# 1. Expenditure awareness  - visibility into what you spend
# 2. Cost-effective resources - right instance types, storage classes
# 3. Matching supply to demand - auto scaling, spot instances
# 4. Optimising over time - regularly review and adjust

# Example: undifferentiated heavy lifting
# Instead of managing your own Redis: use ElastiCache
# Instead of managing Kubernetes: use EKS or Fargate
# Managed services reduce operational overhead AND cost

Resurssien oikea mitoitus

Resurssien oikea mitoitus on vaikuttavin kustannusten optimointitoimenpide: siinä tunnistetaan ylimitoitetut resurssit ja poistetaan niitä. Yleinen toimintatapa on käynnistää suuria instansseja alkuperäisen käyttöönoton yhteydessä eikä tarkistaa niiden kokoa myöhemmin. AWS Compute Optimizer analysoi käyttöasteen mittareita ja suosittelee optimaalista instanssityyppiä. Tyypillinen havainto: 5 prosentin CPU-käyttöasteella toimivan m5.4xlarge-instanssin pitäisi olla t3.medium, jolloin laskentakustannukset pienenevät 80 prosenttia. Resurssien oikea mitoitus koskee EC2:ta, Lambdaa (muisti), RDS:ää ja EBS-taltioita.

# Get Compute Optimizer recommendations for all EC2
aws compute-optimizer get-ec2-instance-recommendations \
  --filters Name=finding,Values=Overprovisioned

# Response includes:
# currentInstanceType: m5.4xlarge
# recommendedInstanceType: t3.large
# estimatedMonthlySavings: $280
# performanceRisk: VeryLow

# Also check EBS volumes:
aws compute-optimizer get-ebs-volume-recommendations \
  --filters Name=finding,Values=Overprovisioned

Hinnoittelumallin optimointi

Vakiintuneissa työkuormissa On-Demand-hinnoittelu on kallein vaihtoehto. Merkittäviä säästöjä voi saavuttaa seuraavilla vaihtoehdoilla: Reserved Instances (1 tai 3 vuotta) – ennakoitavissa työkuormissa säästöä voi kertyä jopa 72 prosenttia. Savings Plans – joustava sitoumus, joka koskee eri instanssiperheitä ja alueita ja jolla voi saavuttaa jopa 66 prosentin säästöt. Spot Instances – jopa 90 prosentin säästöt keskeytettävissä työkuormissa, kuten eräajoissa, CI/CD:ssä ja tilattomissa työkuormissa. Tyypillinen kustannusoptimoitu resurssikokonaisuus yhdistää kaikki kolme: Savings Plans peruskuormaan, Spot Instances kuormapiikkeihin ja On-Demand poikkeustapauksiin.

# Purchasing model comparison:
# On-Demand:       $0.192/hr (m5.large)   No commitment
# 1yr Reserved:    $0.114/hr              $0.78/hr effective
# 3yr Reserved:    $0.074/hr              Highest savings
# Compute SP:      ~$0.128/hr             Flexible family/region
# Spot:            $0.05-0.08/hr          Interruptible

# Savings Plans cover:
# - Compute Savings Plans: EC2 + Lambda + Fargate
# - EC2 Instance Savings Plans: specific family in one region

Spot Instances kustannusten optimoinnissa

Spot Instances hyödyntää AWS:n ylimääräistä kapasiteettia jopa 90 prosentin alennuksella, mutta AWS voi keskeyttää ne kahden minuutin varoitusajalla tarvitessaan kapasiteetin takaisin. Spot Instances sopii hyvin seuraaviin käyttötarkoituksiin: eräkäsittely (tallennetaan tarkistuspiste ja jatketaan siitä), CI/CD-koontiagentit, tilattomat verkkopalvelimet (ALB:n takana; ELB ohjaa liikenteen keskeytettyjen instanssien ohi) sekä EMR- ja EKS-työntekijäsolmut. Käyttäkää Spot Fleet -kokonaisuutta tai ASG:tä, jossa on useita instanssityyppejä ja AZ:ita, jotta kuormaa voidaan hajauttaa eri kapasiteettipooleihin ja pienentää keskeytysriskiä.

# ASG with mixed instances (On-Demand + Spot)
aws autoscaling create-auto-scaling-group \
  --auto-scaling-group-name my-mixed-asg \
  --mixed-instances-policy '{
    "LaunchTemplate": {"LaunchTemplateSpecification":{"LaunchTemplateId":"lt-12345","Version":"$Latest"},"Overrides":[{"InstanceType":"m5.large"},{"InstanceType":"m5a.large"},{"InstanceType":"m4.large"}]},
    "InstancesDistribution": {
      "OnDemandPercentageAboveBaseCapacity": 20,
      "SpotAllocationStrategy": "capacity-optimized"
    }
  }' \
  --min-size 2 --max-size 20 --desired-capacity 5

S3-tallennustilan kustannusten optimointi

S3-tallennustilan kustannuksia voidaan pienentää huomattavasti valitsemalla oikea tallennusluokka ja automatisoimalla siirtymät. S3 Intelligent-Tiering siirtää objektit automaattisesti käyttötiereiltä toisille käyttötapojen perusteella – se sopii erityisesti silloin, kun käyttötapoja ei tunneta etukäteen. Lifecycle-säännöt siirtävät objekteja aikataulun mukaan: Standard-luokasta → Standard-IA-luokkaan 30 päivän kuluttua → Glacier-luokkaan 90 päivän kuluttua → Deep Archive -luokkaan 180 päivän kuluttua. Harkitkaa myös S3 Select -ominaisuutta, jolla voidaan noutaa objektidatasta vain tarvittava osa ja vähentää näin tiedonsiirto- ja käsittelykustannuksia.

# S3 lifecycle policy for cost optimisation
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-data-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "auto-archive",
      "Status": "Enabled",
      "Transitions": [
        {"Days": 30, "StorageClass": "STANDARD_IA"},
        {"Days": 90, "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ]
    }]
  }'

Tunnisteet ja kustannusten kohdentaminen

Ilman asianmukaisia tunnisteita on mahdotonta ymmärtää, kuinka paljon kukin tiimi tai projekti kuluttaa. Cost Allocation Tags -tunnisteiden avulla kustannukset voidaan eritellä tiimin, projektin, ympäristön tai minkä tahansa määrittelemänne ulottuvuuden mukaan. Aktivoikaa tunnisteet Billing-konsolissa ja käyttäkää sitten AWS Cost Exploreria kustannusten suodattamiseen ja ryhmittelyyn tunnisteen perusteella. Valvokaa tunnisteiden käyttöä AWS Organizationsin Tag Policies -käytännöillä ja käyttäkää AWS Config rules -sääntöjä tunnisteettomien resurssien havaitsemiseen. Näin voidaan toteuttaa showback (näkyvyys kustannuksiin) ja chargeback (kustannusten kohdentaminen) yksittäisille tiimeille.

# Enforce required tags with Config rule
aws configservice put-config-rule \
  --config-rule '{
    "ConfigRuleName": "required-tags",
    "Source": {"Owner":"AWS","SourceIdentifier":"REQUIRED_TAGS"},
    "InputParameters": "{\"tag1Key\":\"Project\",\"tag2Key\":\"Environment\",\"tag3Key\":\"Owner\"}"
  }'

# Query cost by tag in Cost Explorer
aws ce get-cost-and-usage \
  --time-period Start=2026-06-01,End=2026-06-30 \
  --granularity MONTHLY \
  --group-by Type=TAG,Key=Project

Kestävyyden periaatteen yleiskatsaus

Sustainability-pilari (lisätty vuonna 2021) keskittyy pilvityökuormien ympäristövaikutusten minimointiin vähentämällä energiankulutusta ja parantamalla tehokkuutta. Suunnitteluperiaatteet: Ymmärrä vaikutuksesi – mitatkaa työkuormienne hiilijalanjälki. Aseta kestävyyttä koskevat tavoitteet. Maksimoi käyttöaste – mitoittakaa resurssit oikein joutokäynnillä olevien resurssien välttämiseksi. Ennakoi tehokkaamman laitteiston käyttöönottoa ja ota se käyttöön – käyttäkää uusimpia instanssisukupolvia. Käytä hallinnoituja palveluita – AWS käyttää datakeskuksia tehokkaammin kuin useimmat organisaatiot.

# Sustainability improvement areas:
# 1. Right-size instances (reduce idle energy use)
# 2. Use Graviton (ARM) instances: 60% less energy than x86
# 3. Use Spot instances: uses otherwise idle capacity
# 4. Use managed services: AWS optimises their utilisation
# 5. Use serverless: no idle servers
# 6. Move to S3/EFS instead of EC2 instance storage
# 7. Implement data lifecycle (don't store forever)

AWS Graviton kestävyyden ja kustannusten näkökulmasta

AWS Graviton processors (ARM-pohjaiset) tarjoavat x86-instansseihin verrattuna jopa 60 prosenttia paremman energiatehokkuuden ja 20–40 prosenttia paremman hinta-suorituskyvyn. Graviton3/4-instansseja (c7g-, m7g-, r7g- ja t4g-perheet) on saatavilla useimpiin EC2-, Lambda- ja Fargate-työkuormiin. Siirtyminen x86:sta Gravitoniin parantaa samanaikaisesti sekä Sustainability- että Cost Optimisation -pilaria: laskentaa kohti tarvitaan vähemmän watteja ja instanssien hinnat ovat alemmat. Useimmat työkuormat (Linux, kontitetut sovellukset ja JVM) voidaan siirtää vähäisin muutoksin.

# Compare: m5.large (x86) vs m7g.large (Graviton3)
# m5.large:  $0.096/hr, 2 vCPU, 8 GB
# m7g.large: $0.0808/hr, 2 vCPU, 8 GB
# Savings: ~16% cheaper + 40% better performance

# Switch Lambda function to Graviton (arm64)
aws lambda update-function-configuration \
  --function-name my-function \
  --architectures arm64

# Lambda arm64 is 20% cheaper than x86
# Most Python, Node.js, Java functions work unchanged

Joutokäynnillä olevien resurssien poistaminen

Merkittävä tarpeettomien kustannusten ja energiankulutuksen lähde ovat joutokäynnillä olevat resurssit – esimerkiksi yhden prosentin CPU-käyttöasteella toimivat EC2-instanssit, liittämättömät EBS-taltiot, käyttämättömät Elastic IP -osoitteet sekä unohtuneet kehitys- ja testiympäristöt, jotka ovat käynnissä ympäri vuorokauden. Ottakaa tuotantoon kuulumattomissa ympäristöissä käyttöön pysäytys- ja käynnistysaikataulu EventBridge-sääntöjen ja Systems Manager Automationin avulla: pysäyttäkää kehitysinstanssit kello 18 ja käynnistäkää ne kello 8. Tunnistakaa joutokäynnillä olevat instanssit, käyttämättömät EBS-taltiot ja vajaakäytössä olevat Reserved Instances -varaukset AWS Trusted Advisorin ja Cost Explorerin avulla.

# EventBridge + SSM to stop dev instances nights/weekends
aws events put-rule \
  --name stop-dev-instances \
  --schedule-expression 'cron(0 22 ? * MON-FRI *)'

aws events put-targets \
  --rule stop-dev-instances \
  --targets '[{
    "Id": "StopDevInstances",
    "Arn": "arn:aws:ssm:us-east-1::automation-definition/AWS-StopEC2Instance",
    "RoleArn": "arn:aws:iam::123:role/EventBridgeRole",
    "Input": "{\"InstanceId\":[\"i-dev1\",\"i-dev2\"]}"
  }]'

Datan elinkaari kestävyyden näkökulmasta

Datan säilyttäminen loputtomiin kuluttaa energiaa. Sustainability-pilari suosittelee ottamaan käyttöön datan elinkaarikäytännöt, jotka poistavat tai arkistoivat automaattisesti datan, jota ei enää tarvita. Käyttäkää S3 Lifecycle -sääntöjä ja määrittäkää vanhenemispäivät objektien poistamiseksi säilytysajan päätyttyä. Käyttäkää DynamoDB TTL:ää vanhojen tietueiden automaattiseen vanhentamiseen. Käyttäkää CloudWatch Logs -säilytyskäytäntöjä lokiryhmien poistamiseen määritetyn ajan kuluttua. Tarpeettoman datan poistaminen vähentää sekä tallennuskustannuksia että sen säilyttämiseen ja jäähdyttämiseen tarvittavaa energiaa.

# DynamoDB TTL for session data
# Add ttl attribute to items (Unix epoch timestamp)
aws dynamodb update-time-to-live \
  --table-name UserSessions \
  --time-to-live-specification Enabled=true,AttributeName=expiresAt

# Item will be deleted automatically after expiresAt timestamp
# Example: {'userId': 'u1', 'expiresAt': 1750000000}

# CloudWatch Logs: set 30-day retention
aws logs put-retention-policy \
  --log-group-name /aws/lambda/my-function \
  --retention-in-days 30

Kustannusten optimointi suhteessa muihin pilareihin

Kustannusten optimointi on joskus ristiriidassa muiden pilareiden kanssa. Multi-AZ RDS kaksinkertaistaa tietokannan kustannukset, mutta sitä tarvitaan Reliability-pilarin vaatimusten täyttämiseen. Cross-Region Replication parantaa luotettavuutta, mutta lisää tallennus- ja tiedonsiirtokustannuksia. Active-active multi-region vähentää viivettä (Performance Efficiency), mutta maksaa 2–3 kertaa enemmän. Well-Architected Framework ei ohjeista valitsemaan aina halvinta vaihtoehtoa, vaan tekemään tietoisia kompromisseja pilareiden välillä ja dokumentoimaan niiden perustelut. Kokeessa testataan kykyänne valita kustannustehokkain ratkaisu, joka täyttää edelleen annetut vaatimukset.

# Cost vs reliability trade-off example:
# Single-AZ RDS: $100/month, no HA
# Multi-AZ RDS:  $200/month, automated failover

# Decision: if database failure = $10,000/hour of revenue loss
# Even 1 event/year justifies Multi-AZ
# ($10,000 expected loss > $1,200/year extra cost)

# SAA-C03 exam approach:
# Meet the stated requirements FIRST
# Then choose the cheapest option that meets them

Pikatesti

Testatkaa, kuinka hyvin ymmärrätte tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteet.

Oppitunnin kertaus

Tässä oppitunnissa opitte, että Cost Optimisation yhdistää resurssien oikean mitoituksen, hankintamallit (Reserved Instances/Savings Plans/Spot Instances) ja S3:n elinkaarenhallinnan, Sustainability keskittyy käyttöasteen maksimointiin, Graviton-instanssien käyttöön ja datan elinkaarikäytäntöjen toteuttamiseen ja että kustannuksia koskevat kompromissit muiden pilareiden kanssa tulee tehdä tietoisesti liiketoimintavaatimusten perusteella. Kustannustunnisteet mahdollistavat showbackin ja chargebackin tiimien välillä. Seuraavaksi tutustumme Well-Architected Tooliin ja tarkistusprosessiin.

Aloita maksutta

Opi Cloud & IT Cert Prep 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
150
Oppitunnit
600

Usein kysytyt kysymykset

Onko oppitunti ”Kustannusten optimoinnin ja kestävyyden peruspilarit” ilmainen?

Kyllä – oppitunnin ”Kustannusten optimoinnin ja kestävyyden peruspilarit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Kustannusten optimoinnin ja kestävyyden peruspilarit”?

Lisää kustannustietoisuutta, mitoita resurssit tarpeen mukaan ja valitse hinnoittelumallit kustannusten hallitsemiseksi; minimoi infrastruktuurin laajuus ja paranna energiatehokkuutta kestävyyden edi… Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Kustannusten optimoinnin ja kestävyyden peruspilarit”-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ä Cloud & IT Cert Prep-oppitunnilla?

Kyllä. Jokainen Cloud & IT Cert Prep-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

  1. Toiminnallinen erinomaisuus ja tietoturvan peruspilarit
  2. Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit
  3. Kustannusten optimoinnin ja kestävyyden peruspilarit
  4. Well-Architected Tool ja tarkistusprosessi
← Takaisin: Cloud & IT Cert Prep