Question

Difficulty: MediumDatabase and Storage Strategy

A logistics company is designing the database strategy for a new delivery tracking application (OLTP workload). The application requires a relational database that can handle highly concurrent write operations and must scale read operations dynamically during peak hours. The database design must support a recovery point objective (RPO) of 00 (no data loss) and a recovery time objective (RTO) of less than 1010 minutes. The database administrator also needs to archive historical delivery logs to a central Amazon S3 bucket in a separate auditing account. The archived logs must be encrypted at rest using a KMS key where the auditing account controls key policies and rotation. Which database and storage design meets these requirements?

  1. Deploy Amazon Aurora PostgreSQL with Aurora Auto Scaling for read replicas to handle dynamic read scaling. Configure the application to write to the primary instance. Archive historical logs to the Amazon S3 bucket in the auditing account, encrypted using a Customer Managed Key (CMK) created in the auditing account.Answer
  2. B
    Deploy Amazon RDS for PostgreSQL in a Multi-AZ configuration. Configure the application to direct read traffic to the standby instance in the secondary Availability Zone during peak hours to scale reads. Archive historical logs to the Amazon S3 bucket in the auditing account, encrypted using a Customer Managed Key (CMK) created in the auditing account.
  3. C
    Deploy Amazon Aurora PostgreSQL with Aurora Auto Scaling for read replicas. Archive historical logs to the Amazon S3 bucket in the auditing account, encrypted using the AWS-managed KMS key in the application account, and delegate cross-account access to the auditing account.
  4. D
    Deploy Amazon RDS for PostgreSQL with cross-region read replicas. Use a Backup/Restore disaster recovery strategy with daily snapshots copied to a secondary region. Archive historical logs to the Amazon S3 bucket in the auditing account, encrypted using a Customer Managed Key (CMK) created in the auditing account.

Answer

Deploy Amazon Aurora PostgreSQL with Aurora Auto Scaling for read replicas, and archive logs to Amazon S3 in the auditing account encrypted with a Customer Managed Key created in the auditing account.
The correct architecture combines Amazon Aurora PostgreSQL for the OLTP workload with a cross-account S3 upload using a Customer Managed Key (CMK). Aurora satisfies the high-availability and performance requirements since its architecture separates compute and storage, allowing read replicas to scale dynamically via Auto Scaling and serve traffic, while offering near-zero replication lag (satisfying the RPO of 0) and automatic failover under 10 minutes (satisfying the RTO). For the cross-account storage audit requirement, AWS-managed keys cannot be shared across accounts; therefore, a Customer Managed Key created and managed in the auditing account is required to delegate key administration and access to the application account.

Step-by-Step Solution

1
Analyze the primary workload requirements: OLTP relational database, dynamic read scaling, RPO of 00, and RTO of less than 1010 minutes.
Determine that Amazon Aurora PostgreSQL meets these database requirements, as it supports dynamic read replica auto-scaling, has near-zero replication lag, and fails over automatically in less than 1010 minutes.
Amazon RDS Multi-AZ standby instances cannot serve read traffic, and standard snapshot backup/restore strategies cannot achieve an RPO of 00.
2
Analyze the cross-account archive storage and encryption requirements.
Determine that a Customer Managed Key (CMK) owned by the auditing account must be used to encrypt the S3 archive objects.
AWS-managed KMS keys cannot be shared cross-account because their key policies cannot be modified.

Key Concept

Selecting high-availability database engines with dynamic read scaling and configuring secure cross-account storage encryption.
Estimated Time:2m 30s
Rate this question