A healthcare enterprise is designing a new cloud-native patient monitoring platform. The architecture comprises a high-throughput telemetry service (NoSQL database workload) and a medical imaging archiving service (Object storage workload). The solution must span two AWS accounts: a Production account (where applications run in the us-east-1 primary region and us-west-2 secondary region) and a centralized Security account.
The system must satisfy the following design constraints:
- Telemetry database writes must support low-latency ingest, and read availability must be maintained in both regions. The disaster recovery requirements dictate a Recovery Time Objective (RTO) of less than 10 minutes and a Recovery Point Objective (RPO) of less than 1 minute.
- Imaging reports must be written directly from application servers in the Production account to an Amazon S3 bucket in the Security account.
- The S3 bucket data must be encrypted at rest. To comply with corporate audits, the encryption keys must support custom rotation schedules and policy-based delegation. The application servers in the Production account must have permission to upload objects and read them back.
Which database and storage strategy meets these requirements?
- Deploy Amazon DynamoDB global tables in the Production account across us-east-1 and us-west-2. In the Security account, create the S3 bucket and an AWS KMS Customer Managed Key (CMK). Configure the CMK's key policy to grant the Production account IAM roles permissions for kms:GenerateDataKey and kms:Decrypt, and configure the S3 bucket policy to grant the Production IAM roles permissions for s3:PutObject and s3:GetObject.Answer
- BDeploy Amazon DynamoDB global tables in the Production account across us-east-1 and us-west-2. In the Security account, create the S3 bucket and configure it to use the default AWS-managed KMS key (aws/s3) for encryption. Configure the S3 bucket policy to grant the Production IAM roles permissions for s3:PutObject and s3:GetObject.
- CDeploy Amazon RDS for PostgreSQL in us-east-1 with a Multi-AZ deployment. To handle query scaling and ensure high availability, configure the application to write to the primary DB instance and read from both the primary instance and the Multi-AZ standby instance. In the Security account, create the S3 bucket and an AWS KMS Customer Managed Key (CMK), granting key policy and bucket policy access to the Production IAM roles.
- DDeploy a single-region Amazon DynamoDB table in us-east-1. Use AWS Backup to take daily backups of the DynamoDB table and copy them to us-west-2 for disaster recovery. In the Security account, create the S3 bucket and an AWS KMS Customer Managed Key (CMK), granting key policy and bucket policy access to the Production IAM roles.