Instiq
Chapter 2 · Design for New Solutions·v2.1.0·Updated 7/16/2026·~10 min

What's changed: Service coverage: added catalog sections (s4 compute/DB/storage/network, s5 analytics/ML/IoT/media/integration)

2.3Choosing Data Stores and Encryption

Key points

Understand the right data store and protection—choosing RDS/Aurora/DynamoDB/S3 storage classes, encryption with KMS, Secrets Manager, and encryption at rest/in transit. Select secure stores that fit requirements.

Choose data stores by access pattern: relational = RDS/Aurora, key-value/large low-latency = DynamoDB, objects = S3. All can be encrypted with KMS.

2.3.1Data stores and encryption

Diagram of data store selection by access pattern: relational/transactional = Amazon RDS/Aurora (Multi-AZ/read replicas), key-value/large low-latency = DynamoDB (on-demand/global tables), objects/large = Amazon S3 (storage classes: Standard, Intelligent-Tiering, Glacier); all protected by AWS KMS encryption at rest (customer-managed keys/envelope encryption) and TLS in transit, with credentials/DB passwords managed and auto-rotated by Secrets Manager.
Data store selection and encryption
  • RDS/Aurora: relational/transactional; Multi-AZ for HA, read replicas for read scaling.
  • DynamoDB: key-value, large-scale low-latency; serverless, global tables for multi-region.
  • S3 storage classes: optimize cost with Standard/Intelligent-Tiering/Glacier by access frequency.
  • KMS / Secrets Manager: KMS for at-rest (envelope) encryption; Secrets Manager to store and auto-rotate credentials.
Exam point

Common on SAP-C02: relational = RDS/Aurora, key-value/ultra-low-latency/serverless = DynamoDB, objects + tiered cost optimization = S3 storage classes (Intelligent-Tiering/Glacier), key management/at-rest encryption = KMS, DB password auto-rotation = Secrets Manager. Derive the store from the access pattern.

Note

For unpredictable access, S3 Intelligent-Tiering auto-tiers to optimize cost; for rarely accessed long-term archives, the Glacier classes are cheapest.

Derive the data store from the access pattern. Relational/transactional = RDS/Aurora (Aurora’s distributed storage, up to 15 read replicas, Global Database cross-region, Serverless v2); key-value/ultra-low-latency/serverless = DynamoDB (partition key design, on-demand/provisioned, microseconds via DAX, global tables); analytics/DWH = Redshift; full-text search = OpenSearch; caching = ElastiCache; objects = S3 (classes Standard/Intelligent-Tiering/Standard-IA/One Zone-IA/Glacier Instant·Flexible·Deep Archive; auto-transition via lifecycle policies). Protect with KMS (envelope encryption, CMKs, automatic key rotation, SSE for S3/EBS/RDS) and TLS in transit; manage credentials in Secrets Manager (auto-rotation; config in SSM Parameter Store). Control access with IAM / resource policies / VPC endpoint policies; address data sovereignty via region choice. Pick by requirement: “unpredictable access = Intelligent-Tiering,” “archive = Glacier,” “microsecond reads = DAX,” “password auto-rotation = Secrets Manager.”

Access patternStoreKey point
Relational/transactionalRDS / AuroraMulti-AZ, read replicas, Global DB
Key-value, ultra-low-latencyDynamoDB (+ DAX)Serverless, global tables
Objects/largeS3 (storage classes)Intelligent-Tiering/Glacier
Analytics/DWHRedshiftColumnar, large aggregation
Note

Scenario: read/write global game player data at single-digit ms (microseconds for hot data) with low latency from multiple regions. → Choose DynamoDB (global tables for multi-region active-active) and front it with DAX for ultra-fast reads. Encrypt with KMS (at rest) + TLS (in transit) and auto-rotate app DB credentials with Secrets Manager.

Note

FAQ: Q. KMS vs Secrets Manager? → A. KMS manages keys/encryption; Secrets Manager stores and auto-rotates credentials (passwords/connection strings). Q. S3 data with unpredictable access? → A. Intelligent-Tiering auto-tiers; with known rules, transition to Glacier classes via lifecycle policies.

Warning

Trap: “use KMS to store and auto-rotate credentials” is wrong—KMS manages keys/encryption; credential storage and auto-rotation is Secrets Manager. Also “choose RDS for ultra-low-latency key-value” is wrong—key-value at single-digit ms is DynamoDB, microseconds is DAX.

2.3.2Section summary

  • Choose = RDS/Aurora (relational) / DynamoDB (key-value) / S3 (objects)
  • Protect = KMS (encryption) + Secrets Manager (credential rotation)

Sign in to track progress — Log in.

Quick check

(just a quick review)

Q1. You want a single-digit-millisecond, virtually unlimited key-value store with no server management. What?

Q2. You want to auto-optimize storage cost for objects with unpredictable access, without operational effort. Which S3 option?

Q3. You want DB credentials kept out of code, securely managed, and auto-rotated. What do you use?

Check your understandingPractice questions for Chapter 2: Design for New Solutions