Amazon DVA-C02: Databases & Caching (RDS, Aurora, ElastiCache, Timestream, Proxy) — Studiegids

Onderdeel van de AWS Developer Associate DVA-C02 — Studiegids. Oefen met geverifieerde antwoorden in het Amazon-examencentrum, of doe getimede oefentests op ExamRoll.io.

RDS en Aurora: ontwerp, schaalbaarheid en versleuteling

Het ontwerpen van relationele databases op RDS of Aurora begint met de afwegingen qua workload tussen een provisioned RDS met een enkele node en de gedistribueerde opslag van Aurora. Kies Aurora wanneer je hoge schaalbaarheid voor reads en snelle failover nodig hebt: Aurora-replica’s delen het clustervolume waardoor promotie snel gaat, terwijl RDS MySQL/Postgres read replica’s asynchrone, op binlog gebaseerde replicatie gebruiken en achter kunnen lopen. Voor het schalen van reads voeg je read replica’s toe en stuur je het read-verkeer van de applicatie ernaartoe; gebruik reader endpoints in Aurora om de last automatisch over de replica’s te verdelen. Voor writes zijn verticale schaalbaarheid (instance class) en een zorgvuldig schema/index-ontwerp van belang. Schakel altijd encryption at rest in met een KMS CMK bij het aanmaken — versleuteling later inschakelen vereist een snapshot/restore naar een nieuwe, versleutelde instance; dat is een veelvoorkomende valkuil. Voor bescherming in-transit, dwing TLS/SSL-verbindingen af (RDS levert CA-bundels). Geef voor credentials de voorkeur aan AWS Secrets Manager met automatische rotatie via de ingebouwde RDS-rotatie Lambda-template; haal secrets programmatisch op met

undefined

in SDK’s. Overweeg IAM DB-authenticatie om statische wachtwoorden te elimineren: genereer een token via

undefined

(SDK) of

undefined

, en maak vervolgens verbinding met een kortlevende token. Instrumenteer met Performance Insights, Enhanced Monitoring en CloudWatch; gebruik slow query logs en

undefined

voor hotspots.

Connection pooling, RDS Proxy en serverless patronen

Serverless functies en applicaties met veel verbindingen putten vaak de limieten voor DB-verbindingen uit. Het voor de hand liggende patroon in Node.js is om een

undefined

-pool in de globale scope van de Lambda te plaatsen en deze te hergebruiken over aanroepen heen, maar dit lost het probleem van massale gelijktijdige schaalvergroting niet op. RDS Proxy is het beheerde antwoord: maak de proxy aan met

undefined

, koppel deze aan Secrets Manager-secrets en de doel-RDS/Aurora-instances, en gebruik het proxy-endpoint vanuit je app. RDS Proxy regelt connection multiplexing, integratie met IAM-authenticatie en failover. Voor serverless Aurora Serverless of wanneer je de voorkeur geeft aan HTTP-stijl calls, gebruik je de RDS Data API:

undefined

laat Lambda’s SQL uitvoeren zonder persistente TCP-verbindingen. Een veelvoorkomende ‘gotcha’ is het mixen van de Data API met provisioned clusters — de Data API is bedoeld voor serverless clusters en heeft andere semantiek wat betreft latency en transacties. Wees je er ook van bewust dat RDS Proxy een connection pool timeout en

undefined

introduceert; stem de idle client timeout en het lenen van verbindingen af op Lambda-bursts. Gebruik

undefined

voor credentials en roteer ze met

undefined

of schakel automatische rotatie in via de console/SDK.

Cachingstrategieën: ElastiCache, DAX en cache-ontwerp

De keuzes voor caching hangen af van de datastore en de toegangspatronen. Voor DynamoDB biedt DAX een read-latency van microseconden en transparante SDK-integratie via de

undefined

die

undefined

omhult; het is ideaal voor read-heavy, eventually-consistent workloads. Gebruik voor relationele of willekeurige key-value caching ElastiCache Redis voor geavanceerde datastructuren, persistentie (AOF/RDB snapshots), replicatie en sharding in cluster-modus, of Memcached voor eenvoudige, horizontaal schaalbare caching. Implementeer cache-aside voor reads en write-through/write-behind alleen wanneer dit acceptabel is qua consistentie en complexiteit. Sleutelontwerp is cruciaal: prefix sleutels met applicatie en versie, gebruik verstandige TTL’s en vermijd onbegrensde kardinaliteit. Behandel cache stampedes met lock-and-refresh-patronen (

undefined

of Redlock) of probabilistische vroege TTL-vernieuwing. Configureer Redis met multi-AZ en automatische failover; maak replicatiegroepen aan met automatische failover en snapshots via

undefined

. Veelvoorkomende valkuilen zijn onder meer verouderde caches na writes, het niet invalideren bij schemawijzigingen en het verwachten van absolute consistentie. Monitor de cache hit ratio en eviction-statistieken in CloudWatch en schaal nodetypes of cluster shards op wanneer geheugen of CPU een bottleneck wordt.

Tijdreeksen met Timestream en read-replica-patronen

Amazon Timestream is speciaal gebouwd voor tijdreeksen: ingest via de WriteRecords API van de SDK met gebundelde WriteRecords-aanroepen en query met TimestreamQuery.query(sql). Ontwerp je record-schema met dimensies van lage kardinaliteit en gebruik multi-measure records om ‘write amplification’ te verminderen. Configureer retentieregels voor geheugen (memory) en magnetische opslag (magnetic) per tabel om recente data ‘hot’ te houden en oudere data goedkoop op te slaan; het aanpassen van de retentie is cruciaal omdat de retentiegrootte van de memory-tier de kosten en queryprestaties beïnvloedt. Gebruik voor analyses tijdreeks-specifieke queries (time_bin of bin) en pas filters toe op dimensies (‘push down’) om de hoeveelheid gescande data te minimaliseren. Bij het integreren van tijdreeksen met relationele databases, verplaats je historische, onveranderlijke data naar Timestream en serveer je ‘hot’ metadata vanuit RDS/Aurora met ElastiCache. Voor het schalen van leesoperaties op relationele databases, voeg je read replicas toe en routeer je read-only verkeer; gebruik voor Aurora reader endpoints en controleer de replica lag (CloudWatch ReplicaLag) voordat je kritieke leesoperaties routeert. Een veelvoorkomende valkuil voor ontwikkelaars is hoge kardinaliteit in Timestream of caching-sleutels die per request worden gegenereerd, wat de opslag opblaast en de prestaties schaadt. Gebruik batching voor schrijfacties en asynchrone ingestie-pipelines (Kinesis, Firehose) om pieken af te vlakken en throttling te voorkomen.

Praktijkprobleem: Use-Case Scenario

Scenario: NovaShop beheert een multi-region e-commerceplatform in AWS en gebruikt Aurora MySQL voor bestellingen in us-east-1, met op Lambda gebaseerde API’s en een wereldwijde klantencatalogus in DynamoDB. Ontwikkelaars gebruiken CI/CD in één enkel AWS-account en slaan DB-credentials op in Secrets Manager.

Uitdaging: Tijdens verkooppieken putten Lambda-functies de DB-connecties uit en vereist de catalogus leesacties van microseconden; ontwikkelaars moeten de beveiliging waarborgen met geroteerde credentials en minimale latentie voor het lezen van productgegevens.

Aanbevolen Aanpak:

  1. Creëer een RDS Proxy voor het Aurora-cluster met

undefined

, koppel de ARN van het Secrets Manager-secret en configureer IAM-authenticatie; update Lambda om het proxy-endpoint te gebruiken en

undefined

voor de credentials. 2. Implementeer voor de catalogus een Amazon DAX-cluster en schakel de DynamoDB-client over naar

undefined

, die de DynamoDB DocumentClient omhult voor leesacties van microseconden. 3. Activeer automatische rotatie in Secrets Manager voor het Aurora-secret met behulp van de RDS-rotatie Lambda-template (

undefined

of configureer via de console) en zorg ervoor dat de IAM-rol van Lambda

undefined

kan aanroepen. 4. Voeg een ElastiCache Redis-cluster (cluster mode) toe voor sessie-caching en implementeer cache-aside met TTL’s en een

undefined

refresh lock om ‘stampedes’ te voorkomen.

Rationale: Het gebruik van RDS Proxy voorkomt ‘connection storms’ door het schalen van Lambda, terwijl IAM/Secrets Manager de credentials beschermt met geautomatiseerde rotatie; DAX levert DynamoDB-leesacties van microseconden en ElastiCache handelt tijdelijke sessie- en leescaching af, wat in lijn is met best practices voor serverless schaalbaarheid en beveiliging.


Opslag · Alle domeinen · Messaging

Oefen deze vragen → · Getimede oefening op ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Slaag voor je examen →

Blader door Amazon →

Related guides

Alles-in-één toegang

Eén abonnement. Elk examen.

Elk plan ontgrendelt onbeperkt zoeken naar antwoorden, oefentests, AI-uitleg en de volledige bronnenbibliotheek — in meer dan 20 talen.

Maandelijks
24.87
Just €0.83/day
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

Beste waarde
12 maanden
179.87
Just €0.49/daySave 40%
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

✓ Gratis plan inbegrepen · ✓ Annuleer op elk moment · ✓ Alle plannen ontgrendelen het volledige product