A logistics enterprise is designing a new global fleet-tracking platform. The platform must support two main data requirements:
1. A real-time NoSQL telemetry ingestion store for GPS coordinates from 200,000 active delivery vehicles, sustaining 20,000 writes/sec with sub-millisecond latency. The store must support multi-region disaster recovery with a Recovery Point Objective (RPO) of less than 1 minute and a Recovery Time Objective (RTO) of less than 15 minutes.
2. An object store for raw daily telemetry log files (averaging 500 GB/day). These files must be accessible by an external auditor's AWS account.
All data must be encrypted at rest. Which database and storage strategy meets these requirements with the lowest operational complexity?
- Deploy Amazon DynamoDB global tables with replica tables in the secondary region. For the log files, create an Amazon S3 bucket encrypted with a Customer Managed Key (CMK). Grant the auditor's AWS account cross-account access by updating both the S3 bucket policy and the CMK key policy to allow the auditor's IAM principal read permissions.Answer
- BDeploy Amazon DynamoDB global tables with replica tables in the secondary region. For the log files, create an Amazon S3 bucket encrypted with the default AWS-managed KMS key (aws/s3). Configure the S3 bucket policy to allow the auditor's AWS account read permissions.
- CDeploy a single-region Amazon DynamoDB table in the primary region, and configure an AWS Lambda function triggered by DynamoDB Streams to export changes to Amazon S3. Set up S3 Cross-Region Replication (CRR) to replicate the DynamoDB backups to the secondary region. For log files, create an Amazon S3 bucket encrypted with a Customer Managed Key (CMK) and share it via a cross-account bucket policy and CMK key policy.
- DDeploy Amazon RDS for PostgreSQL in a Multi-AZ deployment to store the telemetry data, directing the read-heavy dashboard queries to the standby instance in the secondary Availability Zone to scale read performance. For the log files, create an Amazon S3 bucket encrypted with a Customer Managed Key (CMK) and share it via a cross-account bucket policy and CMK key policy.
Answer
Deploy Amazon DynamoDB global tables with replica tables in the secondary region. For the log files, create an Amazon S3 bucket encrypted with a Customer Managed Key (CMK). Grant the auditor's AWS account cross-account access by updating both the S3 bucket policy and the CMK key policy to allow the auditor's IAM principal read permissions.
The correct strategy uses Amazon DynamoDB global tables to meet the high write throughput NoSQL requirement with low-latency cross-region replication for RTO/RPO targets. It uses Amazon S3 for log file storage and encrypts it with a Customer Managed Key (CMK). By updating both the S3 bucket policy and the CMK key policy, the external auditor's AWS account is granted the necessary permissions to read and decrypt the log files.
Step-by-Step Solution
Key Concept
Selecting multi-region NoSQL databases for low RTO/RPO and configuring cross-account access with Customer Managed Keys.