Question

Difficulty: HardDatabase and Storage Strategy

A global gaming publisher is designing a new cloud-based multiplayer game. The game requires a database and storage architecture for two key workloads:

1. Player session state: A database that supports global active-active replication with sub-10 millisecond latency for both reads and writes to serve players in North America, Europe, and Asia.
2. Historical match data: Long-term archival logs that must be stored durably and made accessible to a data analytics team operating in a separate, dedicated AWS account. This data must be encrypted at rest, and the encryption keys must allow cross-account access configuration.

Which two options should the solutions architect choose to meet these requirements?

  1. Configure Amazon DynamoDB global tables for the player session state to achieve single-digit millisecond latency and active-active replication across the target AWS Regions.Answer
  2. Store the historical match data in an Amazon S3 bucket encrypted with an AWS KMS customer managed key (CMK). Update both the S3 bucket policy and the KMS key policy to permit cross-account read access for the analytics team.Answer
  3. C
    Configure an Amazon Aurora Global Database for the session state to handle the high write throughput in all target regions, using Aurora Auto Scaling on the reader instances in secondary regions to automatically promote them to handle local write traffic.
  4. D
    Store the historical match data in an Amazon S3 bucket encrypted with the default AWS-managed KMS key (aws/s3). Configure the S3 bucket policy to grant read access to the analytics team's AWS account.
  5. E
    Deploy a multi-region Amazon EFS file system with cross-region replication (CRR) to store player session state, relying on the replication mechanism to achieve near-zero RTO and active-active writes in all regions.

Answer

Configure Amazon DynamoDB global tables for the player session state to achieve active-active global replication. For historical match data, store the files in an Amazon S3 bucket encrypted with an AWS KMS customer managed key (CMK) and update both the S3 bucket policy and KMS key policy to permit cross-account access.
Amazon DynamoDB global tables provide fully managed, active-active replication across multiple AWS Regions with single-digit millisecond latency for both reads and writes, which meets the session state workload requirements. Storing historical logs in Amazon S3 encrypted with a customer managed KMS key allows cross-account decryption access to be delegated to the analytics team via custom policies on both the S3 bucket and the KMS key.

Step-by-Step Solution

1
Evaluate the database options for the player session state requirement of sub-10ms active-active replication across multiple regions.
Amazon DynamoDB global tables are identified as the only option that natively supports multi-region active-active writes with single-digit millisecond latency.
Relational databases like Amazon Aurora Global Database only support writes in a single primary region, and file systems like Amazon EFS do not support multi-region active-active writes.
2
Evaluate the storage and security options for historical logs that must be shared across different AWS accounts.
Determine that Amazon S3 combined with a customer managed KMS key is required to enable cross-account delegation.
AWS-managed KMS keys cannot be shared cross-account as their key policies cannot be modified, making a customer managed key essential for this scenario.
3
Establish the permissions required for cross-account S3 access to encrypted data.
Update both the S3 bucket policy and the KMS key policy to trust the analytics team's AWS account.
Cross-account access to KMS-encrypted S3 objects requires permissions on both the S3 bucket policy and the KMS key policy.

Key Concept

Selecting multi-region active-active database solutions and establishing cross-account access to encrypted S3 storage.
Rate this question