AWS Solutions Architect · Oppitunti

Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit

Suunnittele automaattista palautumista, horisontaalista skaalausta ja kapasiteetin hallintaa varten; valitse oikeat resurssityypit ja seuraa suorituskyvyn säilymistä ajan mittaan.

Oppitunti 2/413 vaihetta

Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit on ilmainen AWS Solutions Architect-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 Solutions Architect-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.

Luotettavuus-pilarin yleiskatsaus

Well-Architected Frameworkin Luotettavuus-pilari varmistaa, että työkuorma suorittaa sille tarkoitetun tehtävän oikein ja johdonmukaisesti silloin, kun sitä odotetaan. Luotettavuus kattaa kolme aluetta: perustan (palvelurajat, verkkotopologia), työkuorman arkkitehtuurin (hajautetut järjestelmät, yksittäisten vikaantumispisteiden välttäminen) sekä muutosten ja vikojen hallinnan (valvonta, skaalaus, vikatilanteista palautuminen). Tavoitteena on rakentaa järjestelmiä, jotka palautuvat automaattisesti infrastruktuurin tai palveluiden häiriöistä.

# Reliability design principles:
# 1. Automatically recover from failure
# 2. Test recovery procedures
# 3. Scale horizontally to increase availability
# 4. Stop guessing capacity (use auto scaling)
# 5. Manage change in automation (IaC + CI/CD)

# Key AWS services for reliability:
# - Auto Scaling Groups
# - Elastic Load Balancing
# - Route 53 health checks
# - AWS Backup

Palvelurajat ja kiintiöt

AWS soveltaa resursseihin palvelukiintiöitä (aiemmin rajoituksia) suojatakseen kaikkia asiakkaita. Esimerkkejä ovat EC2-instanssien oletusrajat alueittain, VPC-rajat ja Lambdan samanaikaiset suoritukset. Jos työkuormasi saavuttaa kiintiön odottamatta, pyynnöt rajoitetaan tai hylätään, mikä aiheuttaa luotettavuusongelmia. Tarkastele nykyisiä rajoja Service Quotas -konsolissa tai CLI:llä ja pyydä korotuksia ennen kuin tarvitset niitä. Valvo käyttömittareita havaitaksesi lähestyvät rajat ennen kuin ne vaikuttavat käytettävyyteen.

# List service quotas for EC2
aws service-quotas list-service-quotas \
  --service-code ec2 \
  --query 'Quotas[?QuotaName==`Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances`]'

# Request quota increase
aws service-quotas request-service-quota-increase \
  --service-code ec2 \
  --quota-code L-1216C47A \
  --desired-value 500

Automaattinen palautuminen vikatilanteista

Luotettavuus-pilari korostaa automaattista palautumista ilman ihmisen toimia. AWS tarjoaa useita itsestään korjaavia mekanismeja: EC2 Auto Recovery palauttaa instanssin automaattisesti samalle laitteistolle tai siirtää sen toimivaan laitteistoon, kun se ei läpäise taustalla olevia tarkistuksia. ASG:n kuntotarkistukset päättävät viallisten instanssien toiminnan ja käynnistävät niiden tilalle uudet. RDS Multi-AZ vaihtaa automaattisesti standby-instanssiin. Suunnittele arkkitehtuurisi niin, että useimmat vikatilanteet käynnistävät CloudWatch-hälytyksiin perustuvat automaattiset palautustoimet.

# CloudWatch alarm to auto-recover a specific EC2 instance
aws cloudwatch put-metric-alarm \
  --alarm-name EC2-auto-recover \
  --metrics '[{"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/EC2","MetricName":"StatusCheckFailed_System","Dimensions":[{"Name":"InstanceId","Value":"i-12345"}]},"Period":60,"Stat":"Maximum"}}]' \
  --comparison-operator GreaterThanThreshold \
  --threshold 0 \
  --evaluation-periods 2 \
  --alarm-actions 'arn:aws:automate:us-east-1:ec2:recover'

Vaakasuuntainen skaalaus luotettavuutta varten

Luotettavuus-pilari suosittelee vaakasuuntaista skaalausta (useampien pienempien instanssien lisäämistä) pystysuuntaisen skaalauksen sijaan (skaalaus suurempiin instansseihin), koska se parantaa luotettavuutta. Yksi suuri instanssi on yksittäinen vikaantumispiste. Kuormantasaajan takana olevat monet pienemmät instanssit tarkoittavat, että yksittäisen instanssin vikaantumisella on vain vähäinen vaikutus. AWS Auto Scaling säätää laivaston kokoa automaattisesti kysynnän mukaan ja varmistaa, että kapasiteettia on riittävästi eikä käyttämättömistä resursseista makseta hiljaisina aikoina.

# Horizontal scaling: 10 t3.medium vs 1 r5.4xlarge
# 10 t3.medium:
#   - Failure of 1 = loss of 10% capacity
#   - ASG launches replacement automatically
#   - 9 instances absorb load during replacement

# 1 r5.4xlarge:
#   - Failure = 100% downtime until instance recovered
#   - Much higher RTO (new instance launch: 1-3 min)

# Prefer horizontal scaling for stateless tiers

Luotettavuuden testaaminen

Luotettavuus-pilari edellyttää palautumismenettelyjen testaamista — ei niiden toimivuuden olettamista. Käytä AWS Fault Injection Simulator (FIS) -palvelua vikojen hallittuun syöttämiseen järjestelmään: päätä satunnaisten EC2-instanssien toiminta, rajoita API-kutsuja ja lisää verkkoviivettä. Suorita näitä kokeita tuotannossa (suojatoimien kanssa) varmistaaksesi, että valvonta havaitsee viat, automaattinen skaalaus reagoi ja palautuminen valmistuu RTO-aikasi puitteissa. Testaamattomat palautumismenettelyt epäonnistuvat usein todellisen häiriön aiheuttaman paineen alla.

# AWS FIS experiment: terminate random instance
aws fis create-experiment-template \
  --description 'Chaos: terminate 1 of 5 instances' \
  --targets '{"instanceTargets":{"resourceType":"aws:ec2:instance","selectionMode":"COUNT(1)","resourceTags":{"Env":"production"}}}' \
  --actions '{"terminateInstance":{"actionId":"aws:ec2:terminate-instances","targets":{"Instances":"instanceTargets"}}}' \
  --stop-conditions '[{"source":"aws:cloudwatch:alarm","value":"arn:aws:cloudwatch::123:alarm:high-error-rate"}]'

Suorituskyvyn tehokkuus -pilarin yleiskatsaus

Suorituskyvyn tehokkuus -pilari keskittyy laskentaresurssien tehokkaaseen käyttöön järjestelmän vaatimusten täyttämiseksi sekä tämän tehokkuuden säilyttämiseen kysynnän ja teknologioiden muuttuessa. Keskeiset suunnitteluperiaatteet: Ota edistyneet teknologiat kaikkien käyttöön — käytä hallinnoituja palveluita (RDS, SageMaker) sen sijaan, että rakentaisit kaiken alusta alkaen. Siirry maailmanlaajuiseksi minuuteissa — ota käyttöön useilla alueilla CloudFormationin avulla. Käytä serverless-arkkitehtuureja — poista infrastruktuurin hallinnan tarve. Kokeile useammin — testaa eri instanssityyppejä ja määrityksiä.

# Performance Efficiency areas:
# Selection:   Right compute, storage, database, network
# Review:      Continuously evaluate new services
# Monitoring:  CloudWatch metrics guide decisions
# Trade-offs:  Consistency vs performance, latency vs cost

# Example: choosing between services
# RDS vs DynamoDB vs Aurora vs ElastiCache
# → depends on access patterns, consistency needs, scale

Oikean laskentaratkaisun valinta

Suorituskyvyn tehokkuus alkaa työkuormalle sopivan laskentatyypin valinnasta. EC2:ssa on kymmeniä eri käyttötarkoituksiin optimoituja instanssiperheitä: c-sarja laskentaintensiivisiin tehtäviin (videon koodaus, eräkäsittely), r-sarja muistia vaativiin tehtäviin (muistissa toimivat tietokannat, välimuisti), i-sarja tallennusta vaativiin tehtäviin (NoSQL, tietovarastointi) ja p/g-sarja GPU-työkuormiin (ML-koulutus). Väärän instanssityypin käyttö tarkoittaa, että maksat kapasiteetista, jota et voi hyödyntää, tai suorituskyky heikkenee.

# AWS Compute Optimizer: get right-size recommendations
aws compute-optimizer get-ec2-instance-recommendations \
  --instance-arns arn:aws:ec2:us-east-1:123:instance/i-12345

# Output shows:
# - Current instance utilisation (CPU, memory, network)
# - Recommended instance type
# - Estimated monthly savings
# - Performance risk of changing

# Lambda: match memory to actual usage
# Use Lambda Power Tuning tool for memory optimisation

Välimuisti suorituskyvyn tehokkuuden parantamisessa

Välimuisti on keskeinen suorituskyvyn tehostamistekniikka, joka vähentää viivettä ja tietokannan kuormitusta. ElastiCache (Redis/Memcached) tallentaa tietokantakyselyjen tulokset välimuistiin muistissa, jolloin ne ovat saatavilla millisekunneissa. CloudFront tallentaa HTTP-vastaukset käyttäjiä lähellä sijaitseviin reunasijainteihin. API Gateway -välimuisti vähentää Lambda-kutsuja tallentamalla API-vastaukset välimuistiin. DAX (DynamoDB Accelerator) lisää DynamoDB:n eteen mikrosekuntitason muistissa toimivan välimuistin. Valitse sopiva välimuistitaso sen perusteella, missä pullonkaula sijaitsee — tietokannassa, API:ssa vai reunatoimituksessa.

# DAX cluster for DynamoDB microsecond latency
aws dax create-cluster \
  --cluster-name my-dax \
  --node-type dax.r6g.large \
  --replication-factor 3 \
  --iam-role-arn arn:aws:iam::123:role/DAXRole \
  --subnet-group my-dax-subnet-group

# Application connects to DAX endpoint
# Cache hits: microseconds
# Cache misses: fetches from DynamoDB and caches result

Oikea tallennustila suorituskykyä varten

Tallennustilan valinta vaikuttaa suorituskykyyn merkittävästi. io2 Block Express EBS tarjoaa korkean suorituskyvyn tietokannoille jopa 256 000 IOPS:ää. gp3 on useimpien työkuormien oletusvaihtoehto edullisemman hinnan vuoksi. Instance store tarjoaa suurimman IOPS-määrän (NVMe) väliaikaisille tiedoille. S3 skaalautuu objektitallennuksessa tuhansiin pyyntöihin sekunnissa. EFS tarjoaa jaetun POSIX-tiedostokäytön. Sovita tallennustila I/O-malliin: peräkkäiset luvut hyötyvät st1:stä (Throughput Optimised HDD), kun taas satunnainen I/O edellyttää SSD-taltioita.

# EBS volume performance characteristics:
# gp3: 3,000-16,000 IOPS, 125-1,000 MB/s
# io2: 100-64,000 IOPS (up to 256k with Block Express)
# st1: 40-500 MB/s sequential throughput (HDD)
# sc1: 12-250 MB/s (cheapest, cold workloads)

# Create high-performance io2 volume
aws ec2 create-volume \
  --availability-zone us-east-1a \
  --volume-type io2 \
  --size 500 \
  --iops 50000

Suorituskyvyn valvonta ja jatkuva parantaminen

Suorituskyvyn tehokkuus ei ole kertaluonteinen päätös — suorituskykymittareita on valvottava jatkuvasti ja valintoja arvioitava uudelleen AWS:n julkaistessa uusia palveluita. Seuraa CloudWatch-hallintapaneeleilla p50-, p90- ja p99-viivepersentiilejä (ei vain keskiarvoja, jotka peittävät häntäviiveen). Tunnista X-Ray-jäljitysten avulla pyyntöketjun hitaimmat osat. Määritä CloudWatchin poikkeamien tunnistus muodostamaan automaattisesti perustaso ja hälyttämään suorituskyvyn poikkeavista muutoksista. Seuraa AWS:n ilmoituksia säännöllisesti — uudemmat instanssityypit tarjoavat usein paremman suorituskyvyn pienemmillä kustannuksilla.

# CloudWatch: track API response latency percentiles
aws cloudwatch put-metric-alarm \
  --alarm-name 'API-P99-Latency' \
  --metric-name TargetResponseTime \
  --namespace AWS/ApplicationELB \
  --extended-statistic p99 \
  --dimensions Name=LoadBalancer,Value=app/my-alb/xxx \
  --period 60 \
  --evaluation-periods 5 \
  --threshold 2.0 \
  --comparison-operator GreaterThanThreshold

Suorituskyvyn tehokkuuden kompromissit

Suorituskyvyn tehokkuus edellyttää joskus kompromisseja muiden pilarien kanssa. Välimuistin (ElastiCache) lisääminen parantaa suorituskykyä, mutta lisää operatiivista monimutkaisuutta (Operational Excellence -kompromissi) ja kustannuksia (Cost Optimisation -kompromissi). DynamoDB:n käyttäminen RDS:n sijaan parantaa suorituskykyä suuressa mittakaavassa, mutta edellyttää tietomallin uudelleensuunnittelua (Operational Excellence -työ). Well-Architected Framework tunnistaa nämä kompromissit ja edellyttää, että teette ne tietoisesti sekä dokumentoitte perustelut. Koekysymyksissä etsikää vaihtoehtoa, joka saavuttaa suorituskykytavoitteet pienimmällä operatiivisella kuormalla.

# Common performance vs cost trade-offs:
# Cache:         +Performance, +Cost, +Complexity
# Read Replicas: +Read performance, +Cost
# SSD vs HDD:    +IOPS, +Cost
# Multi-region:  -Latency for users, +Cost, +Complexity

# Common performance vs consistency trade-offs:
# DynamoDB eventually consistent reads: +Throughput, -Consistency
# Aurora Reader endpoint: +Read scale, potential replication lag

Pikatarkistus

Testaa ymmärryksesi tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteistä.

Oppitunnin yhteenveto

Tässä oppitunnissa opit, että luotettavuus edellyttää automaattista palautumista, vaakasuuntaista skaalausta ja säännöllistä vikojen testaamista, suorituskyvyn tehokkuus edellyttää kullekin työkuormalle sopivan laskenta-, tallennus- ja tietokantatyypin valintaa ja että välimuistin käyttö useilla tasoilla vähentää viivettä ja tietokannan kuormitusta. Molemmat pilarit edellyttävät jatkuvaa valvontaa ja halukkuutta arvioida arkkitehtuuripäätöksiä uudelleen. Seuraavaksi tutustumme kustannusten optimoinnin ja kestävyyden pilareihin.

Aloita maksutta

Opi AWS Solutions Architect 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
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AWS Solutions Architect-oppimispolun 3 oppituntia, myös oppitunnin “Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AWS Solutions Architect-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Luotettavuuden ja suorituskyvyn tehokkuuden peruspilarit”?

Suunnittele automaattista palautumista, horisontaalista skaalausta ja kapasiteetin hallintaa varten; valitse oikeat resurssityypit ja seuraa suorituskyvyn säilymistä ajan mittaan. Harjoittelet AWS Solutions Architect-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni AWS Solutions Architect-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin AWS Solutions Architect-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Luotettavuuden ja suorituskyvyn tehokkuuden 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ä AWS Solutions Architect-oppitunnilla?

Kyllä. Jokainen AWS Solutions Architect-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: AWS Solutions Architect