Courseiva

AWS Certified Data Engineer Associate DEA-C01 (DEA-C01) — Questions 9761050

1711 questions total · 23pages · All types, answers revealed

Page 13

Page 14 of 23

Page 15
976
MCQhard

A company is using Amazon EMR to process data stored in Amazon S3. The S3 bucket is configured with a bucket policy that denies access unless the request includes a specific tag. The EMR cluster's IAM role has s3:GetObject permission. However, the EMR job fails to read data from S3. What is the most likely cause?

A.The bucket policy is not attached to the EMR role.
B.The EMR cluster is not in the same account as the S3 bucket.
C.The IAM role does not have a condition that matches the required tag.
D.The EMR role does not have s3:GetObject permission.
AnswerC

The bucket policy requires a tag, and the role must have a matching condition.

Why this answer

The bucket policy denies access unless the request includes a specific tag. Even though the EMR cluster's IAM role has s3:GetObject permission, the IAM role does not have a condition key (e.g., aws:RequestTag) that matches the required tag. Therefore, the request is denied by the bucket policy, causing the EMR job to fail.

Exam trap

AWS often tests the interaction between IAM policies and S3 bucket policies, specifically that a bucket policy with a deny condition can override IAM permissions, and candidates mistakenly think the issue is missing IAM permissions rather than a missing condition in the request.

How to eliminate wrong answers

Option A is wrong because bucket policies are attached to the S3 bucket, not to IAM roles; the policy is already configured on the bucket. Option B is wrong because cross-account access is possible with proper permissions, and the question does not indicate a different account; the failure is due to the tag condition, not account mismatch. Option D is wrong because the question explicitly states the IAM role has s3:GetObject permission, so the failure is not due to missing permission.

977
MCQeasy

A data engineer needs to ingest data from an on-premises Oracle database into Amazon S3 on a nightly basis. The data volume is approximately 10 GB per night. The database is accessible over the internet. Which AWS service is MOST appropriate for this task?

A.AWS Glue ETL job with a JDBC connection
B.AWS DataSync
C.AWS Transfer Family
D.Amazon Kinesis Data Streams
AnswerA

AWS Glue ETL with JDBC can connect to Oracle and export data to S3, but it is less efficient than DMS for this use case. DMS handles schema extraction, data type conversion, and checkpoint resume automatically.

Why this answer

The most appropriate AWS service among the given options for nightly batch ingestion from an on-premises Oracle database into Amazon S3 is AWS Glue ETL job with a JDBC connection (A). AWS Glue can connect to the Oracle database via JDBC, extract data, and load it into S3 in a scheduled batch manner. While AWS Database Migration Service (DMS) is purpose-built for database migrations and would be the ideal service, it is not listed as an option.

AWS DataSync (B) is used for file and object storage transfers, not for database connections. AWS Transfer Family (C) provides managed file transfer protocols and cannot directly query databases. Amazon Kinesis Data Streams (D) is designed for real-time streaming data ingestion, not nightly batch loads.

Therefore, AWS Glue is the correct choice.

Exam trap

Candidates may assume that AWS Glue is the only option for batch ETL from databases, but AWS DMS is purpose-built for database migrations and is often the recommended service for migrating or replicating data from on-premises databases to AWS, including direct to S3.

978
MCQhard

A company is using Amazon EMR with Kerberos authentication. They want to ensure that data in transit between EMR cluster nodes is encrypted. Which configuration should be applied?

A.Use VPC peering to connect the cluster nodes.
B.Configure the EMR cluster to use in-transit encryption.
C.Enable S3 server-side encryption for the cluster's output data.
D.Enable EBS encryption on the cluster instances.
AnswerB

In-transit encryption uses TLS to protect data between nodes.

Why this answer

Enabling in-transit encryption in Amazon EMR uses TLS to encrypt data between nodes, ensuring data in transit is encrypted. Option A is incorrect because VPC peering does not provide encryption; it is a network connectivity feature. Option C is incorrect because S3 server-side encryption encrypts data at rest, not in transit.

Option D is incorrect because EBS encryption encrypts data at rest.

979
MCQmedium

A company uses Amazon S3 to store raw data files. An AWS Glue crawler creates metadata in the Data Catalog. The data engineer discovers that the crawler is not detecting new partitions after new data is added to the S3 bucket. What is the MOST likely cause?

A.The IAM role used by the crawler does not have kms:Decrypt permission for the KMS key that encrypts the new partitions.
B.The crawler configuration has 'Crawl all folders' disabled.
C.The S3 bucket has too many objects, exceeding the crawler's limit.
D.The crawler does not have S3 event notifications enabled.
AnswerA

Without decrypt permission, the crawler cannot read the data.

Why this answer

When new partitions are added to an S3 bucket encrypted with AWS KMS (SSE-KMS), the AWS Glue crawler needs the kms:Decrypt permission to read the object metadata and detect the new partitions. Without this permission, the crawler cannot list the objects or determine the partition structure, so it fails to update the Data Catalog. Option B is incorrect because the crawler's partition detection is not disabled by default; the 'Crawl all folders' setting is for crawling subfolders, not for partition detection.

Option C is incorrect because AWS Glue crawlers can handle large numbers of objects, and there is no specific limit that would prevent partition detection. Option D is incorrect because S3 event notifications are not required for crawling; the crawler periodically scans the S3 location and does not rely on events to detect changes.

980
MCQmedium

A data engineer is migrating an on-premises MongoDB database to Amazon DocumentDB. Which migration strategy minimizes downtime?

A.Take a snapshot of the MongoDB database and restore it to DocumentDB.
B.Use AWS Database Migration Service (AWS DMS) with full load only.
C.Export data using mongodump and import using mongorestore.
D.Use AWS DMS with full load and ongoing replication from MongoDB to DocumentDB.
AnswerD

Ongoing replication allows near-zero downtime cutover.

Why this answer

AWS DMS with full load and ongoing replication (change data capture) minimizes downtime by continuously synchronizing changes from the source MongoDB to the target DocumentDB after the initial full load, allowing a cutover with only a brief pause. This is the only option that supports near-zero downtime migration for live databases.

Exam trap

The trap here is that candidates assume any AWS DMS migration automatically minimizes downtime, but only the full load plus ongoing replication (CDC) option achieves near-zero downtime, while full load only still requires a write stop.

How to eliminate wrong answers

Option A is wrong because taking a snapshot and restoring it captures only a point-in-time copy, requiring the source database to be offline or read-only during the snapshot, causing downtime. Option B is wrong because AWS DMS full load only transfers the current data once, without capturing ongoing changes, so any writes during the migration are lost and downtime is needed to stop writes before cutover. Option C is wrong because mongodump and mongorestore are offline tools that require the source MongoDB to stop accepting writes during the export, resulting in significant downtime.

981
MCQeasy

A data engineer needs to ingest streaming data from thousands of IoT devices and immediately process each record with minimal latency. Which AWS service should be used as the ingestion point?

A.AWS Lambda
B.Amazon S3
C.Amazon Kinesis Data Streams
D.AWS Glue
AnswerC

Kinesis Data Streams ingests streaming data with low latency and can be consumed by multiple applications.

Why this answer

Amazon Kinesis Data Streams is designed for real-time streaming data ingestion with low latency. AWS Glue is for batch ETL, S3 is object storage, and Lambda is compute but not an ingestion endpoint itself.

982
MCQhard

A company uses Amazon Kinesis Data Firehose to deliver data to Amazon S3. The data is transformed using an AWS Lambda function. Recently, the transformation errors have increased due to Lambda timeouts. The data engineer needs to diagnose and resolve the issue without losing data. What should the engineer do?

A.Increase the Lambda function timeout and ensure that failed records are sent to a backup S3 bucket
B.Enable Amazon CloudWatch Logs for the Lambda function to capture errors and store failed records in CloudWatch
C.Configure the Lambda function to write failed records to an Amazon SQS queue for later reprocessing
D.Modify the Lambda function to store failed records in Amazon S3 before processing
AnswerA

Increasing timeout reduces failures, and configuring a backup bucket prevents data loss.

Why this answer

Increasing the Lambda function timeout directly addresses the root cause of transformation errors (timeouts), and configuring a backup S3 bucket for failed records ensures no data loss. Kinesis Data Firehose can be configured to send failed records to a separate S3 bucket as a dead-letter queue, which preserves the data for later reprocessing while the primary transformation pipeline is fixed.

Exam trap

The trap here is that candidates may confuse logging (CloudWatch Logs) with actual data preservation, or assume that SQS is a native Firehose failure destination, when in fact Firehose only supports S3 or Redshift as backup destinations for failed records.

How to eliminate wrong answers

Option B is wrong because enabling CloudWatch Logs captures error logs but does not store the actual failed records; it only provides visibility into errors without preventing data loss. Option C is wrong because Kinesis Data Firehose does not natively support sending failed records to an SQS queue; the Lambda function would need custom code to write to SQS, and this does not address the timeout issue. Option D is wrong because storing failed records in S3 before processing would require modifying the Lambda function to write to S3 first, which adds complexity and does not resolve the timeout; the records are already in the Firehose stream and need to be processed or redirected after failure.

983
MCQeasy

The exhibit shows the output of describing an Amazon Kinesis Data Stream. A producer is sending records but the consumer is not receiving all records. What is the most likely cause?

A.The stream has only one shard, causing write throttling
B.The stream is in ACTIVE status, which prevents reading
C.The retention period is too short
D.The hash key range is too wide
AnswerA

With one shard, write throughput is limited; exceeding it causes throttling and missed records.

Why this answer

The stream has only one shard, which provides a maximum throughput of 1 MB/s or 1000 records/s for writes. If the producer exceeds this, records will be throttled. The retention period is 24 hours, which is fine.

The stream status is ACTIVE. There is no indication of a faulty shard. The consumer might be slow, but the question asks for cause of not receiving all records; throttling due to insufficient shards is a common issue.

984
MCQeasy

A company needs to ingest data from a MySQL database into Amazon S3 in near real-time. The database is running on EC2. The data engineer wants to minimize the impact on the source database. Which service should be used?

A.AWS Database Migration Service (DMS) with ongoing replication
B.AWS Glue ETL job with a JDBC connection
C.Amazon RDS for MySQL with read replica
D.AWS Schema Conversion Tool (SCT)
AnswerA

DMS CDC uses binary logs to capture changes with minimal overhead.

Why this answer

AWS DMS with ongoing replication (change data capture) is the correct choice because it can continuously replicate changes from a MySQL source database to Amazon S3 with minimal performance impact. DMS uses a transactional log-based approach (MySQL binlog) to capture changes as they occur, avoiding heavy SELECT queries on the source. This enables near real-time ingestion without adding significant load to the production database.

Exam trap

The trap here is that candidates often confuse AWS Glue's batch JDBC capabilities with streaming ingestion, or assume that a read replica can directly feed data into S3 without an intermediary service like DMS or Kinesis.

How to eliminate wrong answers

Option B is wrong because AWS Glue ETL jobs with JDBC connections run batch queries that pull full table snapshots or large result sets, which can cause significant performance degradation on the source MySQL database and cannot achieve near real-time latency. Option C is wrong because Amazon RDS for MySQL with a read replica is a database migration or read scaling solution, not a data ingestion service to S3; it does not natively stream data to S3 without additional tooling. Option D is wrong because AWS Schema Conversion Tool (SCT) is designed for converting database schemas between different database engines (e.g., Oracle to Aurora), not for ingesting data into S3.

985
MCQhard

A financial services company stores transaction data in Amazon RDS for PostgreSQL. The company requires that all changes to the database be logged for audit purposes, including before and after images of updated rows. Which feature should the data engineer enable?

A.Enable automated backups and export logs to Amazon S3
B.Enable Enhanced Monitoring and publish logs to CloudWatch Logs
C.Set up logical replication using pglogical or native publication/subscription
D.Enable Multi-AZ deployment and read replicas
AnswerC

Logical replication provides row-level changes with before and after images.

Why this answer

Logical replication, using either pglogical or native PostgreSQL publication/subscription, captures row-level changes (INSERT, UPDATE, DELETE) and can include both the old and new values of updated rows. This meets the audit requirement for before-and-after images, as logical replication decodes the write-ahead log (WAL) to produce a change stream that includes full row snapshots.

Exam trap

The trap here is that candidates confuse database-level logging features (like Enhanced Monitoring or automated backups) with row-level change data capture, assuming any logging mechanism will capture before-and-after images, when only logical replication (or triggers with audit tables) provides that granularity.

How to eliminate wrong answers

Option A is wrong because automated backups capture point-in-time snapshots of the entire database, not a continuous, row-level change stream with before-and-after images; exporting logs to S3 provides error logs or slow query logs, not row-level audit trails. Option B is wrong because Enhanced Monitoring collects OS-level metrics (CPU, memory, disk I/O) and publishes them to CloudWatch Logs, not database row changes. Option D is wrong because Multi-AZ deployment provides high availability via synchronous standby replication, and read replicas serve read traffic; neither logs individual row modifications or provides before-and-after images.

986
MCQhard

A company uses Amazon EMR to process large datasets stored in Amazon S3. The cluster uses a transient configuration and stores intermediate data on HDFS. After a job fails due to a spot instance termination, the data engineer needs to rerun the job. What should the engineer do to minimize data loss and cost?

A.Use a long-running cluster with all on-demand instances to avoid interruptions.
B.Configure the cluster with a mix of spot and on-demand instances and set HDFS replication to 3.
C.Configure the cluster to use EMRFS and store intermediate data in S3.
D.Increase the HDFS replication factor to 5 and use only spot instances.
AnswerB

This balances cost and reliability; on-demand instances provide stability for HDFS NameNode and critical nodes.

Why this answer

Using a mix of spot and on-demand instances balances cost savings with fault tolerance, while setting HDFS replication to 3 ensures that intermediate data on HDFS survives the loss of a single node (e.g., a terminated spot instance). This allows the job to resume from the last checkpoint or reduce recomputation, minimizing both data loss and cost.

Exam trap

The trap here is that candidates assume storing intermediate data in S3 (EMRFS) is always better for durability, but they overlook that HDFS replication with spot/on-demand mix provides a cheaper, faster recovery for transient cluster workloads without incurring S3 write costs.

How to eliminate wrong answers

Option A is wrong because using all on-demand instances eliminates cost savings from spot instances and does not address the transient cluster design; a long-running cluster increases costs unnecessarily. Option C is wrong because storing intermediate data in S3 via EMRFS introduces higher latency and cost for transient data, and EMRFS does not natively support checkpointing for HDFS-dependent intermediate data. Option D is wrong because increasing HDFS replication to 5 consumes more storage and network bandwidth, and using only spot instances increases the risk of frequent failures without on-demand fallback, leading to higher recomputation costs.

987
MCQeasy

A data engineer needs to audit all AWS KMS key usage in the account. Which AWS service should be used to record KMS API calls?

A.AWS CloudTrail
B.AWS Config
C.Amazon CloudWatch Logs
D.Amazon GuardDuty
AnswerA

AWS CloudTrail records API calls for KMS, allowing auditing of all KMS key usage.

Why this answer

AWS CloudTrail records API calls for KMS. Option B (AWS Config) is wrong because it records resource changes, not API calls. Option C (Amazon CloudWatch Logs) is wrong because it stores logs but does not record API calls.

Option D (Amazon GuardDuty) is wrong because it is for threat detection.

988
MCQhard

A data pipeline uses Amazon Kinesis Data Firehose to ingest log data from web servers and deliver it to Amazon S3. The data is then transformed by an AWS Glue job before being loaded into Amazon Redshift. The pipeline must handle a sudden spike in log volume without data loss. Which configuration change is MOST appropriate?

A.Increase the AWS Glue job timeout and allocate more DPUs.
B.Configure Kinesis Data Firehose to back up all data to S3 in case of delivery failures.
C.Increase the number of nodes in the Redshift cluster to handle higher load.
D.Increase the S3 bucket size limit and enable versioning.
AnswerB

S3 backup for failed records ensures no data loss.

Why this answer

Kinesis Data Firehose can be configured to back up all data to Amazon S3 in case of delivery failures, ensuring no data loss during spikes. This feature writes incoming data to a separate S3 bucket as a safety net when the primary destination (e.g., Redshift via Glue) is unavailable or overwhelmed, directly addressing the requirement to handle sudden volume spikes without data loss.

Exam trap

The trap here is that candidates confuse downstream scaling (Redshift or Glue) with ingestion-layer fault tolerance, overlooking that Kinesis Data Firehose’s S3 backup directly addresses data loss at the point of delivery failure.

How to eliminate wrong answers

Option A is wrong because increasing AWS Glue job timeout and DPUs improves processing capacity but does not prevent data loss during ingestion spikes; data can still be lost if Firehose delivery fails before Glue runs. Option C is wrong because scaling Redshift nodes handles downstream load but does not protect against data loss at the ingestion layer; data may be dropped before it reaches Redshift. Option D is wrong because S3 bucket size limit and versioning are irrelevant to data loss prevention during spikes; S3 has no practical size limit, and versioning protects against accidental deletion, not ingestion failures.

989
MCQeasy

A data engineer needs to store archival data that is rarely accessed but must be retained for 7 years. The data should be retrievable within 12 hours. Which Amazon S3 storage class is MOST cost-effective?

A.S3 Intelligent-Tiering
B.S3 Glacier Flexible Retrieval
C.S3 Standard
D.S3 Glacier Deep Archive
AnswerD

Lowest cost with 12-hour retrieval.

Why this answer

S3 Glacier Deep Archive is the most cost-effective storage class for archival data that is rarely accessed and requires a 7-year retention period, with retrieval times up to 12 hours. It offers the lowest storage cost among S3 classes, making it ideal for long-term retention of data that does not need immediate access.

Exam trap

The trap here is that candidates often confuse S3 Glacier Flexible Retrieval (which offers faster retrieval but higher cost) with S3 Glacier Deep Archive, failing to recognize that the 12-hour retrieval requirement is easily met by Deep Archive's standard retrieval, making it the most cost-effective choice for long-term archival.

How to eliminate wrong answers

Option A is wrong because S3 Intelligent-Tiering is designed for data with unknown or changing access patterns, automatically moving data between tiers based on usage, which incurs monitoring and automation costs that are unnecessary for rarely accessed archival data. Option B is wrong because S3 Glacier Flexible Retrieval offers retrieval times from minutes to hours (typically 1-5 minutes for expedited, 3-5 hours for standard), but its storage cost is higher than Glacier Deep Archive, making it less cost-effective for data that only needs retrieval within 12 hours. Option C is wrong because S3 Standard is designed for frequently accessed data with millisecond retrieval times, and its storage cost is significantly higher than archival classes, making it prohibitively expensive for data that is rarely accessed and retained for 7 years.

990
MCQeasy

A data engineer needs to store semi-structured JSON files that are accessed infrequently but must be retrievable within minutes. The data should be stored cost-effectively. Which storage solution meets these requirements?

A.Amazon S3 Glacier Flexible Retrieval storage class.
B.Amazon S3 Glacier Deep Archive storage class.
C.Amazon S3 Standard-Infrequent Access (S3 Standard-IA) storage class.
D.Amazon S3 Standard storage class.
AnswerC

S3 Standard-IA is cost-effective for infrequent access with millisecond retrieval.

Why this answer

Amazon S3 Standard-Infrequent Access (S3 Standard-IA) is the correct choice because it is designed for data accessed infrequently but requires rapid retrieval (within milliseconds). It offers lower storage costs than S3 Standard while maintaining low-latency access, meeting the requirement of retrievability within minutes cost-effectively.

Exam trap

The trap here is that candidates often confuse retrieval time with retrieval cost, assuming that 'infrequent access' implies slower retrieval, but S3 Standard-IA provides the same low-latency access as S3 Standard, unlike Glacier classes which have significantly longer retrieval times.

How to eliminate wrong answers

Option A is wrong because Amazon S3 Glacier Flexible Retrieval is optimized for archival data where retrieval times range from minutes to hours, but it incurs higher retrieval costs and is not designed for frequent or rapid access within minutes. Option B is wrong because Amazon S3 Glacier Deep Archive is the lowest-cost storage class for long-term archival, but retrieval times are typically 12 hours or more, far exceeding the 'within minutes' requirement. Option D is wrong because Amazon S3 Standard is designed for frequently accessed data with high durability and low latency, but it is more expensive than S3 Standard-IA for infrequently accessed data, making it less cost-effective for this use case.

991
Multi-Selectmedium

A data engineer is monitoring an Amazon Kinesis Data Analytics for Apache Flink application that processes streaming data. The application is falling behind (increasing 'MillisBehindLatest') and the CPU utilization of the Flink task managers is consistently above 80%. Which THREE actions should the engineer take to improve performance? (Choose THREE.)

Select 3 answers
A.Increase the number of shards in the Kinesis data stream.
B.Decrease the checkpoint interval to reduce state size.
C.Enable auto-scaling for the Flink application.
D.Decrease the number of task managers to reduce CPU contention.
E.Increase the Flink application's parallelism.
AnswersA, C, E

More shards allow higher ingestion rate.

Why this answer

Increasing the number of shards in the Kinesis data stream (Option A) directly increases the ingestion capacity and parallelism source for the Flink application. With more shards, the application can read data from more partitions concurrently, reducing the backlog indicated by 'MillisBehindLatest'. This is a fundamental scaling action for Kinesis-based Flink applications.

Exam trap

The trap here is that candidates often confuse decreasing checkpoint intervals with improving performance, not realizing that more frequent checkpoints increase CPU and I/O overhead, making the lag worse.

992
MCQeasy

A data engineer is designing a data lake on Amazon S3. The data is accessed frequently for the first 30 days, then rarely accessed after 90 days, and must be archived after 1 year. Which S3 lifecycle policy configuration meets these requirements with the lowest cost?

A.Transition to S3 One Zone-IA after 30 days, then to S3 Glacier Deep Archive after 365 days.
B.Transition to S3 Glacier Flexible Retrieval after 90 days.
C.Transition to S3 Glacier Instant Retrieval after 30 days, then expire after 365 days.
D.Transition to S3 Standard-IA after 30 days, then to S3 Glacier Deep Archive after 365 days.
AnswerD

Standard-IA is cost-effective for infrequent access, and Deep Archive is the cheapest archival tier.

Why this answer

It transitions data to S3 Standard-IA after 30 days (when frequent access drops), then to S3 Glacier Deep Archive after 365 days for archival, minimizing cost while meeting all access patterns. Standard-IA offers lower storage cost than Standard for infrequent access, and Glacier Deep Archive is the cheapest storage class for long-term archival.

Exam trap

The trap here is that candidates often choose S3 Glacier Instant Retrieval (Option C) thinking it balances retrieval speed and cost, but it is not designed for frequent access and does not archive data, only deletes it after 365 days.

How to eliminate wrong answers

Option A is wrong because S3 One Zone-IA is not durable enough for a data lake (single AZ, 99.5% availability) and does not provide the lowest cost for the first 30 days of frequent access; it also skips the 90-day rare access period. Option B is wrong because transitioning directly to S3 Glacier Flexible Retrieval after 90 days ignores the first 30 days of frequent access, incurring higher costs during that period, and does not archive after 1 year. Option C is wrong because S3 Glacier Instant Retrieval is designed for data accessed once a quarter, not for frequent access in the first 30 days, and expiring after 365 days deletes data instead of archiving it, failing the requirement to archive after 1 year.

993
Multi-Selecteasy

A data engineer is setting up a new Amazon Redshift cluster for a data warehouse. The engineer wants to ensure data durability and high availability. Which THREE features should the engineer consider? (Choose three.)

Select 3 answers
A.S3 Cross-Region Replication for Redshift data.
B.Cross-Region snapshot copy.
C.Multi-node cluster with data replication.
D.Multi-AZ deployment for automatic failover.
E.Automated snapshots to Amazon S3.
AnswersB, C, E

Cross-Region copies protect against region failures.

Why this answer

Options B, C, and E are correct. B: Cross-Region snapshot copy allows copying snapshots to another AWS Region, protecting against regional disasters. C: Multi-node clusters with data replication within the cluster provide high availability by distributing data across nodes and automatically mirroring data.

E: Automated snapshots to Amazon S3 enable point-in-time recovery for durability. Option A is incorrect because S3 Cross-Region Replication applies to S3, not directly to Redshift data. Option D is incorrect because Redshift does not support Multi-AZ deployments; it relies on automatic failover within the cluster using multiple nodes.

994
MCQeasy

A retail company stores customer transaction data in an Amazon S3 bucket. The data is encrypted using server-side encryption with AWS KMS (SSE-KMS). The company uses an IAM role to allow an Amazon Athena query service to read the data. The data engineer creates a new Athena workgroup and attempts to run a query on the S3 bucket. The query fails with an access denied error. The IAM role has permissions to decrypt the KMS key and read from the bucket. The engineer checks the S3 bucket policy and finds that it does not explicitly allow access. What is the most likely cause of the failure?

A.The S3 bucket is in a different AWS account than the Athena workgroup.
B.The S3 bucket policy does not grant the required permissions to the Athena service principal.
C.The IAM role does not have permission to use the KMS key for encryption operations.
D.Athena does not support querying data encrypted with SSE-KMS.
AnswerB

The S3 bucket policy must explicitly allow the Athena service or the IAM role to access the bucket.

Why this answer

The most likely cause is that the S3 bucket policy does not explicitly grant the required permissions to the Athena service principal. Even though the IAM role has permissions to decrypt and read, Athena operates as a service and the bucket policy must allow the `athena.amazonaws.com` principal to perform `s3:GetObject` and `s3:ListBucket` actions. Option B is correct because without this explicit grant, the bucket policy implicitly denies access.

Option A is incorrect because the bucket being in a different account would cause an error, but the scenario does not indicate cross-account setup. Option C is incorrect because the IAM role already has decrypt permissions. Option D is incorrect because Athena supports SSE-KMS encrypted data with proper KMS permissions.

995
MCQmedium

A company stores sensitive data in Amazon S3. They need to ensure that all objects are encrypted at rest. Which approach meets this requirement with minimal effort?

A.Use client-side encryption before uploading
B.Enable default encryption on the S3 bucket with SSE-S3
C.Enable S3 Versioning and MFA Delete
D.Use a bucket policy to deny PutObject without encryption
AnswerB

Automatically encrypts all new objects with minimal effort.

Why this answer

Enabling default encryption on an S3 bucket with SSE-S3 (Server-Side Encryption with S3-Managed Keys) automatically encrypts all objects at rest using AES-256, with no additional effort from the user. This ensures that any object uploaded without explicit encryption headers is encrypted by default, meeting the requirement with minimal configuration overhead.

Exam trap

The trap here is that candidates often confuse enforcing encryption at upload (via bucket policy) with automatically encrypting data at rest, leading them to choose option D, which requires additional policy management and does not guarantee encryption of all objects without explicit headers.

How to eliminate wrong answers

Option A is wrong because client-side encryption requires the application to manage encryption keys and perform encryption before upload, adding significant operational effort and complexity, which contradicts the 'minimal effort' requirement. Option C is wrong because S3 Versioning and MFA Delete provide data protection against accidental deletion and overwrites, but they do not encrypt objects at rest. Option D is wrong because a bucket policy to deny PutObject without encryption only enforces encryption on upload but does not encrypt existing objects or objects uploaded without the required headers; it also requires additional policy management and does not automatically encrypt data at rest.

996
MCQmedium

Refer to the exhibit. An IAM policy is attached to a user. The user cannot upload objects to the S3 bucket 'example-bucket' using the AWS CLI. What is the most likely cause?

A.The user is not using HTTPS for API calls
B.The policy does not allow s3:PutObject
C.The user is not in the same AWS region
D.The resource ARN does not include the bucket itself
AnswerA

The condition aws:SecureTransport requires HTTPS.

Why this answer

The IAM policy explicitly denies all actions unless the request uses HTTPS (via the `aws:SecureTransport` condition key). Since the AWS CLI by default can use HTTP if not explicitly configured to use HTTPS, the user's upload attempt fails. The `s3:PutObject` action is allowed in the policy, but the condition block overrides that permission when the request is not made over HTTPS.

Exam trap

AWS often tests the `aws:SecureTransport` condition key as a hidden denial, leading candidates to incorrectly assume the action is missing or the ARN is malformed.

How to eliminate wrong answers

Option B is wrong because the policy does allow `s3:PutObject` on the bucket; the issue is the condition key, not the action. Option C is wrong because S3 is a global service and bucket operations are not restricted by the user's AWS region; the region is specified in the bucket ARN, not the user's location. Option D is wrong because the resource ARN `arn:aws:s3:::example-bucket/*` correctly includes all objects within the bucket, which is the standard way to grant object-level permissions; the bucket itself is not needed for object uploads.

997
Multi-Selecteasy

A data engineer is designing a data pipeline that processes streaming data. The pipeline must be able to handle duplicate records and ensure exactly-once processing semantics. Which THREE AWS services or features should the engineer consider? (Choose three.)

Select 3 answers
A.Amazon EMR with Apache Flink for exactly-once semantics.
B.Amazon Kinesis Data Firehose with automatic retries.
C.Amazon Kinesis Data Streams with sequence numbers for deduplication.
D.Amazon DynamoDB Streams for change data capture.
E.Amazon Kinesis Data Analytics for Apache Flink with idempotent sinks.
AnswersA, C, E

Flink on EMR provides exactly-once processing via checkpointing.

Why this answer

The three correct options are A, C, and E. Option A (Amazon EMR with Apache Flink) supports exactly-once processing semantics through checkpointing and fault tolerance. Option C (Amazon Kinesis Data Streams with sequence numbers) enables deduplication to achieve exactly-once processing.

Option E (Amazon Kinesis Data Analytics for Apache Flink with idempotent sinks) ensures exactly-once delivery by recognizing and ignoring duplicates. Options B and D are incorrect: Amazon Kinesis Data Firehose provides at-least-once delivery, and Amazon DynamoDB Streams also provides at-least-once delivery, not exactly-once semantics.

998
MCQmedium

A data engineer needs to audit all access to an S3 bucket containing sensitive customer data. The engineer must record the requester, timestamp, action, and whether the access was denied. Which AWS solution meets these requirements?

A.Use AWS Config to record S3 bucket-level configuration changes.
B.Enable VPC Flow Logs for the VPC where the bucket resides.
C.Enable AWS CloudTrail Data Events for the S3 bucket.
D.Enable S3 server access logs for the bucket, storing them in a different bucket.
AnswerD

S3 server access logs provide detailed records of all requests, including requester and access status.

Why this answer

S3 server access logs capture detailed records of requests made to a bucket, including the requester, timestamp, action, and response status (e.g., whether the access was denied). These logs are stored in a designated target bucket and are specifically designed for auditing access requests. Option A is incorrect because AWS Config tracks configuration changes, not individual access requests.

Option B is incorrect because VPC Flow Logs capture IP traffic metadata, not application-level S3 operations. Option C is incorrect because while AWS CloudTrail can log object-level events when Data Events are enabled, S3 server access logs are purpose-built for this auditing requirement and provide granular details out of the box without additional setup or cost beyond logging.

999
MCQhard

A company runs an e-commerce platform on AWS. The product catalog is stored in Amazon DynamoDB with a table that has a partition key of 'product_id' and a sort key of 'category'. The application frequently queries products by category and by product_id. Recently, the operations team noticed that read latency has increased significantly for queries that filter by category. The DynamoDB table has auto scaling enabled. The data engineer examines the CloudWatch metrics and sees that the ReadThrottleEvents metric is non-zero for the table, but the consumed read capacity is well below the provisioned limit. The table has a global secondary index (GSI) on the 'category' attribute. Which action is most likely to resolve the latency issue?

A.Switch the table to DynamoDB on-demand capacity mode.
B.Enable DynamoDB Accelerator (DAX) to cache read queries.
C.Increase the provisioned read capacity on the main table.
D.Redesign the GSI partition key to include a random suffix to distribute load across multiple partitions.
AnswerD

This prevents a hot partition on the GSI.

Why this answer

The issue is that the GSI on 'category' is experiencing hot partitions because 'category' has low cardinality, causing uneven data distribution. The non-zero ReadThrottleEvents on the GSI (not the main table) indicate throttling on the GSI's provisioned capacity, even though the main table's consumed read capacity is below its limit. Adding a random suffix to the GSI partition key distributes reads across multiple physical partitions, reducing hot spots and latency.

Exam trap

The trap here is that candidates assume throttling always relates to the base table's provisioned capacity, overlooking that GSIs have independent capacity and can throttle even when the base table is underutilized, especially with low-cardinality sort keys like 'category'.

How to eliminate wrong answers

Option A is wrong because switching to on-demand mode would not resolve the hot partition issue; it only eliminates the need to manage provisioned capacity but does not fix the underlying data skew that causes throttling on the GSI. Option B is wrong because DynamoDB Accelerator (DAX) caches read results but does not address the root cause of throttling on the GSI due to uneven partition access; it would only mask the symptom for cached queries. Option C is wrong because increasing provisioned read capacity on the main table does not affect the GSI's separate capacity; the throttling is occurring on the GSI, not the base table, and the consumed read capacity on the main table is already well below its limit.

1000
Multi-Selectmedium

A data engineer is designing a data ingestion pipeline that uses Amazon Kinesis Data Firehose to deliver data to Amazon S3. The engineer wants to ensure that the data is organized in a directory structure by year, month, day, and hour. Which TWO configurations should the engineer set on the Firehose delivery stream? (Choose TWO.)

Select 2 answers
A.Enable dynamic partitioning
B.Set a custom prefix with '!{timestamp:yyyy}/!{timestamp:MM}/!{timestamp:dd}/!{timestamp:HH}/'
C.Use an AWS Lambda function to write to S3 with the desired prefix
D.Enable format conversion to Parquet
E.Configure an S3 bucket with versioning enabled
AnswersA, B

Dynamic partitioning allows Firehose to partition data based on keys.

Why this answer

Correct options: A and B. Option A is correct because enabling dynamic partitioning allows Firehose to use partition keys from the data, such as timestamps, to automatically create folder structures in S3. Option B is correct because setting a custom prefix with the expression '!{timestamp:yyyy}/!{timestamp:MM}/!{timestamp:dd}/!{timestamp:HH}/' defines the directory hierarchy by year, month, day, and hour.

Option C is incorrect because using a Lambda function to write to S3 with a desired prefix is not necessary; Firehose handles the prefix natively. Option D is incorrect because format conversion to Parquet is unrelated to directory organization. Option E is incorrect because S3 bucket versioning does not affect directory structure.

1001
MCQhard

A company is migrating an on-premises PostgreSQL database to Amazon Aurora PostgreSQL. The database is 2 TB in size. The migration must have minimal downtime. Which approach should the data engineer use?

A.Use AWS Schema Conversion Tool (SCT) to convert the schema and then copy data using S3.
B.Create an Aurora read replica from the on-premises database using native replication.
C.Use AWS Database Migration Service (DMS) with ongoing replication to minimize downtime.
D.Use pg_dump to export the database and pg_restore to import into Aurora.
AnswerC

DMS supports full load + CDC for minimal downtime.

Why this answer

AWS DMS with ongoing replication (change data capture) is the correct approach because it allows a full load of the 2 TB database followed by continuous replication of changes from the on-premises PostgreSQL source to the Aurora PostgreSQL target, minimizing downtime to a short cutover window. This is the only option that supports near-zero downtime migration for large databases by capturing ongoing transactions.

Exam trap

The trap here is that candidates often confuse native PostgreSQL replication (e.g., streaming replication) with AWS-managed replication, assuming an Aurora read replica can be created from any PostgreSQL source, but Aurora read replicas are only supported within the Aurora cluster itself.

How to eliminate wrong answers

Option A is wrong because AWS SCT is used for schema conversion (e.g., from Oracle to PostgreSQL), but the source is already PostgreSQL, so no schema conversion is needed; copying data via S3 adds unnecessary complexity and does not provide ongoing replication for minimal downtime. Option B is wrong because Aurora read replicas can only be created from an existing Aurora DB instance, not from an on-premises PostgreSQL database; native PostgreSQL replication (e.g., streaming replication) is not supported across an on-premises-to-Aurora boundary without a custom intermediary. Option D is wrong because pg_dump/pg_restore is a logical backup and restore method that requires the source database to be offline or in a read-only state during the dump to ensure consistency, resulting in significant downtime for a 2 TB database.

1002
MCQmedium

A data engineer is designing a data lake on Amazon S3. The data is accessed frequently for the first 30 days, then rarely after that. Compliance requires that data be retained for 7 years. What is the MOST cost-effective storage strategy?

A.Use S3 Intelligent-Tiering for the entire 7 years.
B.Store all data in S3 Standard for 7 years.
C.Use S3 Standard for 30 days, then S3 One Zone-IA for 7 years.
D.Use S3 Standard for 30 days, then transition to S3 Standard-IA, then to S3 Glacier Deep Archive after 90 days.
AnswerD

Standard-IA for infrequent access, then Glacier Deep Archive for long-term retention.

Why this answer

The most cost-effective because it matches the access pattern: S3 Standard for the first 30 days of frequent access, then S3 Standard-IA for the next 60 days (reduced storage cost with a retrieval fee), and finally S3 Glacier Deep Archive for the remaining ~6.9 years to meet the 7-year retention requirement at the lowest possible storage cost. This lifecycle policy minimizes total cost by transitioning data to progressively cheaper storage tiers as access frequency drops, while still meeting compliance.

Exam trap

AWS often tests the misconception that S3 Intelligent-Tiering is always the most cost-effective for unknown access patterns, but in this scenario with a known access pattern (frequent for 30 days, then rarely), a lifecycle policy with explicit transitions is cheaper because it avoids the per-object monitoring fee of Intelligent-Tiering.

How to eliminate wrong answers

Option A is wrong because S3 Intelligent-Tiering incurs a monthly monitoring and automation fee per object, which over 7 years would be more expensive than a lifecycle-based approach, especially for rarely accessed data. Option B is wrong because storing all data in S3 Standard for 7 years is the most expensive option, as it does not take advantage of lower-cost tiers for data that is rarely accessed after 30 days. Option C is wrong because S3 One Zone-IA does not provide the durability or availability needed for long-term compliance (data is stored in a single Availability Zone) and is more expensive than Glacier Deep Archive for data accessed rarely over 7 years.

1003
MCQhard

Refer to the exhibit. A data engineer runs the describe-stream command and sees this output. The application is writing records to the stream but is experiencing high write latency. The average record size is 50 KB, and the write rate is 1500 records per second. What is the MOST likely cause of the latency?

A.The application is running in a different AWS region.
B.The application is exceeding the DynamoDB provisioned throughput.
C.The Kinesis stream is throttling the application because of a hot shard.
D.The stream does not have enough shards to handle the write throughput.
AnswerD

2 shards provide 2 MB/s write capacity; the application requires 75 MB/s.

Why this answer

The stream does not have enough shards to handle the write throughput. Each Kinesis shard can ingest up to 1 MB/s or 1000 records per second (for up to 1 KB record size). With 2 shards, the total write capacity is 2 MB/s or 2000 records/s.

However, the average record size is 50 KB, and the write rate is 1500 records/s. The throughput in MB/s is 1500 * 50 KB = 75 MB/s, which far exceeds the 2 MB/s total capacity. Therefore, the stream is under-provisioned, causing high write latency.

Option A is incorrect because the region of the application does not directly cause high latency; cross-region latency might be a factor but not the most likely given the throughput metrics. Option B is incorrect because DynamoDB provisioned throughput is not relevant to Kinesis streams. Option C is incorrect because throttling due to a hot shard would occur if data is unevenly distributed, but the issue here is overall insufficient shard count given the high throughput demand.

1004
MCQmedium

A data engineer is troubleshooting an AWS Glue ETL job that fails with a 'java.lang.OutOfMemoryError: Java heap space' error. The job processes a 50 GB Parquet file from an S3 bucket. The job uses a G.1X DPU (16 GB memory) and default parameters. Which action should the engineer take to resolve the issue?

A.Change the worker type to G.2X (32 GB memory).
B.Increase the number of workers from 2 to 4.
C.Increase the 'batch size' parameter in the DynamicFrame reader.
D.Convert the input data from Parquet to JSON format.
AnswerA

Doubling the memory per worker resolves the heap space error without changing the number of workers.

Why this answer

Changing the worker type to G.2X (32 GB memory) doubles the memory per worker, directly addressing the Java heap space error. Option B is incorrect because increasing the number of workers does not increase memory per worker; each G.1X DPU still has only 16 GB. Option C is incorrect because increasing the batch size would increase the amount of data loaded into memory per worker, potentially worsening the memory issue.

Option D is incorrect because converting from Parquet to JSON typically increases file size and memory usage due to lack of compression and columnar storage.

1005
MCQhard

A company uses Amazon DynamoDB with provisioned capacity. During a sales event, write traffic spikes and some requests receive ProvisionedThroughputExceeded exceptions. The reads are within limits. The data engineer needs to minimize latency for the spike without manual intervention. Which solution is MOST cost-effective?

A.Use Amazon SQS to buffer write requests and process them in batches.
B.Disable auto scaling and set write capacity to the peak observed value.
C.Enable DynamoDB auto scaling for write capacity with a target utilization of 70%.
D.Enable DynamoDB Accelerator (DAX) to cache write operations.
AnswerC

Auto scaling adjusts capacity dynamically based on traffic, handling spikes cost-effectively.

Why this answer

DynamoDB auto scaling for write capacity automatically adjusts the provisioned write capacity units (WCUs) based on the actual traffic pattern, using a target utilization of 70% to balance cost and performance. This eliminates manual intervention and handles spikes efficiently by scaling up before throttling occurs, while remaining cost-effective since capacity scales down when traffic subsides.

Exam trap

The trap here is that candidates may confuse DAX as a solution for write performance, but DAX only accelerates reads (via caching) and does not mitigate write throttling, leading to an incorrect choice of Option D.

How to eliminate wrong answers

Option A is wrong because using Amazon SQS to buffer write requests introduces additional latency for processing batches, which contradicts the requirement to minimize latency during the spike, and it adds complexity and cost for queue management. Option B is wrong because disabling auto scaling and setting write capacity to the peak observed value is wasteful and costly, as it permanently allocates high capacity that is only needed during spikes, and it requires manual intervention to adjust. Option D is wrong because DynamoDB Accelerator (DAX) is an in-memory cache for read operations, not writes; it does not reduce write throttling or ProvisionedThroughputExceeded exceptions, and it adds cost without addressing the write capacity issue.

1006
MCQmedium

A company uses Amazon S3 to store log files from multiple sources. The logs are partitioned by year, month, day, and hour. A data engineer uses Amazon Athena to query the logs. Recently, users have reported that queries are taking longer than expected. The engineer notices that many queries are scanning large amounts of data even when filtering on partition columns. The total data size is 10 TB, and the average query scans 2 TB. The partition columns are properly defined in the table schema. What is the most likely cause of the slow queries?

A.The number of partitions is too large, causing Athena to spend time listing partitions.
B.The table is not partitioned, or the partitions are not properly defined in the table DDL.
C.The log files are stored in compressed format (e.g., gzip), which increases the amount of data scanned.
D.The log files are stored in CSV format instead of columnar formats like Parquet.
AnswerB

Without proper partitions, Athena scans the entire dataset, causing high scan volumes and slow queries.

Why this answer

The most likely cause. Although the partition columns are defined in the table schema, partition pruning in Athena only works if the data is stored in a matching Hive-style partition layout (e.g., s3://bucket/year=2024/month=01/day=01/hour=12/). If the S3 prefix does not follow this pattern, Athena must scan all partitions, resulting in large data scans.

Option A is incorrect because a large number of partitions can cause slow metadata operations but does not inherently increase the amount of data scanned; partition pruning still applies. Option C is incorrect because compressed files reduce the amount of data scanned, not increase it. Option D is incorrect because while columnar formats like Parquet improve query performance by reading only necessary columns, they do not affect partition pruning; the issue here is that partitions are not being pruned.

1007
MCQmedium

A data engineer is designing a data ingestion pipeline for real-time clickstream data using Amazon Kinesis Data Streams. The data must be transformed using AWS Lambda and then stored in Amazon S3 in Parquet format. Which Kinesis client library configuration should be used to minimize the number of Lambda invocations while ensuring data is processed within 60 seconds?

A.Set batch size to 100 records and disable batch window
B.Set batch size to 10000 records and batch window to 60 seconds
C.Set batch size to 100 records and batch window to 0 seconds
D.Set batch size to 10000 records and batch window to 5 seconds
AnswerB

Set batch size to 10000 records and batch window to 60 seconds maximizes records per invocation while respecting the 60-second requirement, minimizing invocations.

Why this answer

A batch size of 10,000 records combined with a batch window of 60 seconds maximizes the number of records per Lambda invocation while respecting the 60-second processing requirement, thereby minimizing the total number of invocations. Option A (batch size 100, no batch window) leads to many small invocations. Option C (batch window 0 seconds) triggers immediate processing, increasing invocation frequency.

Option D (batch window 5 seconds) forces more frequent invocations than necessary, even with a large batch size.

1008
MCQhard

A data engineer is designing a streaming pipeline that ingests IoT sensor data from 10,000 devices. Each device sends a 1 KB message every second. The data must be processed in near real-time and stored in S3 for analytics. Which combination of services provides the most cost-effective solution?

A.AWS Data Pipeline with periodic S3 copy.
B.Amazon Kinesis Data Streams with Kinesis Data Firehose delivery to S3.
C.Amazon MSK (Managed Streaming for Kafka) with Kafka Connect S3 sink.
D.Amazon SQS FIFO queue with Lambda consumers writing to S3.
AnswerB

Handles high throughput, Firehose batches to S3.

Why this answer

B is correct because Kinesis Data Streams ingests high-throughput IoT data (10,000 messages/sec at 1 KB each) with low latency, and Kinesis Data Firehose automatically batches and compresses data before delivering it to S3, eliminating the need for custom code or manual scaling. This combination provides the most cost-effective near-real-time solution by leveraging Firehose's built-in buffering and compression to minimize S3 storage costs and reduce the number of PUT requests.

Exam trap

The trap here is that candidates often choose MSK (Option C) thinking it is more scalable or flexible, but they overlook the higher operational cost and complexity for a simple S3 sink use case, where Kinesis Data Firehose's fully managed batching, compression, and direct S3 integration is more cost-effective and simpler to maintain.

How to eliminate wrong answers

Option A is wrong because AWS Data Pipeline is a batch-oriented orchestration service, not designed for near-real-time streaming ingestion; it would introduce significant latency and require periodic polling, failing the near-real-time requirement. Option C is wrong because Amazon MSK (Managed Streaming for Apache Kafka) introduces unnecessary operational overhead and cost for this use case, as it requires managing Kafka clusters, brokers, and the Kafka Connect S3 sink, while Kinesis Data Firehose provides a simpler, fully managed, and more cost-effective direct S3 delivery. Option D is wrong because SQS FIFO queues are designed for exactly-once processing and low throughput (300 transactions per second by default), making them unsuitable for 10,000 messages per second; additionally, Lambda consumers would incur high costs due to the large number of invocations and lack built-in batching and compression for S3 writes.

1009
MCQhard

A company wants to audit all changes to IAM policies in their AWS account. Which combination of services should be used to achieve this?

A.AWS Config and Amazon SNS
B.AWS CloudTrail and Amazon CloudWatch Logs
C.Amazon CloudWatch Logs and Amazon SNS
D.AWS CloudTrail and Amazon DynamoDB
AnswerB

CloudTrail records IAM API calls and can deliver logs to CloudWatch Logs for monitoring and alerting.

Why this answer

AWS CloudTrail records all API calls made in the account, including IAM policy changes (e.g., PutRolePolicy, PutUserPolicy). By sending CloudTrail logs to Amazon CloudWatch Logs, you can monitor and set up alerts for policy modifications. This combination provides a complete audit trail for IAM changes.

Option B is correct. AWS Config records resource configuration changes but not all API calls; Amazon SNS alone or with Config does not capture the API events; DynamoDB is not used for CloudTrail log storage or monitoring.

1010
MCQeasy

A data engineer creates an Amazon DynamoDB table using the CloudFormation snippet in the exhibit. The application writes 200 items per second to the table. The engineer notices that many write requests are being throttled. What is the MOST likely reason?

A.The table does not have a sort key, causing hot partitions.
B.The attribute type for OrderID should be numeric for better performance.
C.The table name 'Orders' conflicts with an existing table.
D.The provisioned write capacity is too low for the application's write rate.
AnswerD

5 WCU allows only 5 writes per second (1 KB each).

Why this answer

The table is provisioned with only 5 write capacity units, which allows 5 writes per second (each write up to 1 KB). With 200 writes per second, the table is severely under-provisioned. Option A is incorrect because the key schema is fine for a primary key.

Option B is incorrect because the attribute type is correct. Option C is incorrect because the table name is valid.

1011
MCQeasy

A company stores critical financial data in Amazon DynamoDB. To meet compliance requirements, the data must be encrypted at rest with a customer-managed key. Which solution should the data engineer implement?

A.Configure the DynamoDB table to use a customer managed key from AWS KMS.
B.Use AWS CloudHSM to generate a key and import it into DynamoDB.
C.Enable default encryption on the DynamoDB table using S3-managed keys.
D.Use AWS Certificate Manager to issue a certificate and configure TLS.
AnswerA

DynamoDB integrates with KMS for customer-managed keys.

Why this answer

AWS DynamoDB integrates with AWS KMS to support encryption at rest using customer-managed keys (CMKs). By selecting a customer-managed key from KMS during table creation or via an update, the company can meet compliance requirements for controlling the encryption key lifecycle, including rotation and access policies. This approach ensures that the data is encrypted using AES-256 encryption, with the key material managed by the customer rather than AWS.

Exam trap

The trap here is that candidates may confuse encryption at rest with encryption in transit (TLS) or assume that CloudHSM can be directly used with DynamoDB, when in fact DynamoDB only supports KMS for encryption at rest, and CloudHSM requires a custom integration layer.

How to eliminate wrong answers

Option B is wrong because AWS CloudHSM provides hardware-based key storage but does not directly integrate with DynamoDB for encryption at rest; DynamoDB only supports KMS keys, not CloudHSM-generated keys imported via the HSM. Option C is wrong because DynamoDB does not use S3-managed keys; default encryption in DynamoDB uses AWS-owned keys or AWS-managed keys, not S3-managed keys, and S3-managed keys are specific to Amazon S3. Option D is wrong because AWS Certificate Manager and TLS are used for encryption in transit, not encryption at rest, and do not address the requirement for encrypting stored data with a customer-managed key.

1012
MCQhard

A company is using Amazon DynamoDB with on-demand capacity for a gaming application. During a new game launch, write traffic spikes to 50,000 writes per second, but the application experiences throttling. The DynamoDB table has a partition key of 'game_id' and a sort key of 'timestamp'. What is the MOST likely cause of throttling?

A.The table has not enabled auto-scaling for writes.
B.The table's on-demand capacity is insufficient for the write spike.
C.Hot partitions due to a skewed access pattern on the partition key 'game_id'.
D.The sort key is not optimal for write-heavy workloads.
AnswerC

If many writes go to the same partition key, that partition can be throttled even with on-demand capacity.

Why this answer

DynamoDB on-demand capacity automatically scales to handle traffic spikes, but it still has per-partition throughput limits. With 'game_id' as the partition key, a single popular game can create a hot partition where all writes target the same partition, exceeding the partition's maximum write capacity (1,000 write capacity units per partition) and causing throttling, even though the overall table capacity is sufficient.

Exam trap

The trap here is that candidates assume on-demand capacity eliminates all throttling, but they overlook DynamoDB's per-partition throughput limits, which can cause throttling on hot partitions even with on-demand mode.

How to eliminate wrong answers

Option A is wrong because on-demand capacity does not use auto-scaling; it automatically adjusts capacity without needing auto-scaling enabled. Option B is wrong because on-demand capacity is designed to handle sudden spikes without manual provisioning, so insufficient capacity is not the issue—the problem is partition-level limits. Option D is wrong because the sort key does not affect write throughput distribution; partition key selection determines write distribution, and a sort key is irrelevant to throttling caused by hot partitions.

1013
MCQhard

A team is designing a data ingestion pipeline to load JSON files from an Amazon S3 bucket into Amazon Redshift. The files arrive every 5 minutes, and each file is between 10 MB and 50 MB. The team wants to minimize the time between file arrival and data availability in Redshift. Which approach should the team use?

A.Schedule an AWS Glue job to run every 5 minutes to load the data.
B.Use S3 Event Notifications to trigger an AWS Lambda function that runs the COPY command to load data into Redshift.
C.Use Amazon Redshift Spectrum to query the data directly from S3 without loading.
D.Configure Amazon Kinesis Data Firehose to stream data from S3 to Redshift.
AnswerB

Lambda responds quickly to S3 events and runs COPY for efficient bulk loading.

Why this answer

S3 Event Notifications can trigger an AWS Lambda function that executes the COPY command, loading data into Redshift with minimal latency. This approach avoids the overhead of scheduling or batching, directly responding to each file arrival to meet the 5-minute frequency and file size requirements.

Exam trap

The trap here is that candidates may confuse Redshift Spectrum (which queries external data without loading) with the requirement to have data available in Redshift tables, or they may overestimate the suitability of scheduled Glue jobs for low-latency, frequent ingestion.

How to eliminate wrong answers

Option A is wrong because scheduling an AWS Glue job every 5 minutes introduces unnecessary startup overhead and may not achieve the lowest latency, as Glue jobs have a cold start time and are better suited for larger batch processing. Option C is wrong because Redshift Spectrum queries data directly from S3 without loading it into Redshift tables, which does not make the data available in Redshift for fast, indexed queries and can incur higher latency for repeated access. Option D is wrong because Amazon Kinesis Data Firehose cannot directly ingest data from S3; it is designed to stream data into S3 or Redshift from producers like Kinesis Data Streams, not to read existing S3 files.

1014
MCQmedium

A data engineer needs to store semi-structured JSON logs from multiple microservices in a cost-effective manner for ad-hoc querying using SQL. Which AWS service should be used?

A.Amazon Athena with data in S3
B.Amazon DynamoDB
C.Amazon RDS for MySQL
D.Amazon Kinesis Data Analytics
AnswerA

Athena can query JSON in S3 directly using SQL, cost-effective for ad-hoc queries.

Why this answer

Amazon Athena is the correct choice because it allows you to query semi-structured JSON logs stored in S3 directly using standard SQL, without needing to load or transform the data. Athena's schema-on-read approach and pay-per-query pricing make it highly cost-effective for ad-hoc analysis of large volumes of log data, as you only pay for the data scanned during queries.

Exam trap

The trap here is that candidates often confuse Amazon Athena with Amazon Kinesis Data Analytics, mistakenly thinking that Kinesis is the go-to service for SQL-based log analysis, when in fact Kinesis is for real-time streaming and Athena is the correct serverless query service for stored data in S3.

How to eliminate wrong answers

Option B (Amazon DynamoDB) is wrong because it is a NoSQL key-value and document database optimized for low-latency, high-throughput transactional workloads, not for ad-hoc SQL querying of semi-structured logs; it lacks native SQL support and would require expensive scanning of large datasets. Option C (Amazon RDS for MySQL) is wrong because it requires you to predefine a schema, load the JSON logs into relational tables, and pay for provisioned compute and storage even when idle, making it less cost-effective for sporadic ad-hoc queries compared to Athena's serverless model. Option D (Amazon Kinesis Data Analytics) is wrong because it is designed for real-time stream processing and analytics on streaming data using SQL, not for querying stored JSON logs in S3; it would require continuous ingestion and incurs ongoing costs regardless of query frequency.

1015
MCQhard

A company uses Amazon RDS for MySQL with Multi-AZ deployment. During a recent failover, the application experienced a brief outage because it cached the old database endpoint. Which solution would minimize application disruption during future failovers?

A.Use Amazon ElastiCache to cache database queries and absorb the failover delay.
B.Create a read replica in another Availability Zone and promote it during failover.
C.Configure the application to connect using the RDS instance's private IP address.
D.Use the RDS cluster endpoint in the application configuration.
AnswerD

The cluster endpoint automatically points to the current primary instance, enabling seamless failover.

Why this answer

The RDS cluster endpoint (also known as the writer endpoint) automatically points to the primary instance in a Multi-AZ deployment. During a failover, DNS is updated to resolve the cluster endpoint to the new primary instance, so the application does not need to cache or change the endpoint. This minimizes disruption by ensuring the application always connects to the current primary without manual intervention.

Exam trap

The trap here is that candidates confuse the cluster endpoint with the instance endpoint or private IP, assuming that static IPs or read replicas provide better failover behavior, when in fact the cluster endpoint is specifically designed for automatic failover in Multi-AZ deployments.

How to eliminate wrong answers

Option A is wrong because ElastiCache caches query results, not database endpoints; it does not address the DNS resolution or endpoint caching issue during a failover. Option B is wrong because promoting a read replica creates a new standalone instance with a different endpoint, requiring application reconfiguration and causing longer disruption than Multi-AZ automatic failover. Option C is wrong because private IP addresses can change after a failover (the new primary may have a different IP), and using IPs bypasses DNS-based failover mechanisms, leading to connectivity failures.

1016
MCQhard

A data engineer is setting up an Amazon EMR cluster to process sensitive data. The data is stored in S3 with SSE-S3. The company policy requires that data in transit between the EMR cluster and S3 be encrypted. Which configuration should be used?

A.Enable S3 encryption in transit using TLS
B.Disable encryption and use VPC endpoints
C.Configure EMRFS to use SSE-KMS
D.Use SSE-C for S3 objects
AnswerA

TLS encrypts data in transit between EMR and S3.

Why this answer

Enabling S3 encryption in transit using TLS encrypts data between the EMR cluster and S3. Amazon S3 supports HTTPS (TLS) endpoints by default, and this ensures that data is encrypted during transfer. Option B is wrong because disabling encryption is not allowed per policy.

Option C is incorrect because EMRFS with SSE-KMS encrypts data at rest, not in transit. Option D is wrong because SSE-C is also an at-rest encryption mechanism, not for transit.

1017
MCQhard

Refer to the exhibit. A data engineer runs this CLI command to investigate a recent change to an S3 bucket policy. What information does the command return?

A.An evaluation of bucket policy compliance
B.The current bucket policy for all buckets
C.A report of all S3 bucket policy changes
D.A list of event IDs for PutBucketPolicy calls
AnswerD

The output includes event IDs, but also other details like user identity and timestamp.

Why this answer

The command uses CloudTrail's lookup-events to find all PutBucketPolicy API calls in a 24-hour period. It returns a list of events, each containing details like who made the call, when, and the request parameters. Option A is wrong because the command returns a list of event IDs, not an evaluation of compliance.

Option B is wrong because the command does not show the current policy, only past events. Option C is wrong because the command does not evaluate compliance.

1018
MCQeasy

A company is using Amazon S3 as a data lake. The data engineer needs to ensure that all objects uploaded to a specific bucket are automatically replicated to a bucket in another AWS Region for disaster recovery. Which configuration should the engineer implement?

A.Enable S3 Same-Region Replication (SRR) on the source bucket.
B.Enable S3 Cross-Region Replication (CRR) on the source bucket.
C.Use S3 Transfer Acceleration to copy objects to the destination.
D.Use S3 Batch Operations to copy existing objects.
AnswerB

CRR replicates objects across regions automatically.

Why this answer

S3 Cross-Region Replication (CRR) is the correct choice because it automatically replicates objects from a source bucket in one AWS Region to a destination bucket in a different AWS Region, meeting the disaster recovery requirement for geographic separation. CRR requires versioning to be enabled on both buckets and replicates new objects asynchronously after upload.

Exam trap

The trap here is that candidates confuse S3 Transfer Acceleration (which speeds up uploads) with replication, or assume S3 Batch Operations can be used for ongoing replication, when only CRR provides automatic, cross-region object replication for disaster recovery.

How to eliminate wrong answers

Option A is wrong because S3 Same-Region Replication (SRR) replicates objects within the same AWS Region, not across regions, so it does not provide disaster recovery across geographic boundaries. Option C is wrong because S3 Transfer Acceleration speeds up uploads over long distances using AWS edge locations but does not replicate objects to another bucket; it only improves transfer performance for clients. Option D is wrong because S3 Batch Operations is used for bulk actions like copying existing objects or tagging, but it is a one-time operation, not an automatic, ongoing replication configuration for new objects.

1019
Multi-Selecthard

A data engineer is troubleshooting an AWS Glue job that reads from an Amazon RDS for PostgreSQL database using a JDBC connection. The job fails with the error 'java.sql.SQLException: No suitable driver'. Which TWO actions should the engineer take to resolve this issue? (Select TWO.)

Select 2 answers
A.Verify that the connection string in the job's JDBC URL uses the correct format and includes the driver class
B.Check that the Glue job's VPC and security groups allow outbound traffic to the RDS instance
C.Restart the Glue job with a higher timeout value
D.Include the PostgreSQL JDBC driver JAR as a dependent library in the Glue job
E.Update the IAM role associated with the Glue job to allow 'rds:*' permissions
AnswersA, D

The JDBC URL must be correctly formatted, e.g., 'jdbc:postgresql://...'.

Why this answer

The 'No suitable driver' error in JDBC indicates that the driver class specified in the JDBC URL is either missing or incorrect. For PostgreSQL, the JDBC URL must follow the format 'jdbc:postgresql://host:port/database' and the driver class must be 'org.postgresql.Driver'. If the URL is malformed or the driver class is not properly referenced, the Glue job cannot load the driver, leading to this specific SQLException.

Exam trap

The trap here is that candidates often confuse network connectivity issues (VPC/security groups) with classpath/driver loading errors, leading them to select Option B instead of recognizing that 'No suitable driver' is a Java classloading problem, not a network one.

1020
MCQhard

A company stores sensitive data in S3 and uses VPC endpoints to access the bucket. They need to ensure that only traffic from their VPC can access the data, and that the traffic cannot leave the AWS network. Which combination of bucket policy and endpoint policy should they use?

A.Use only a bucket policy with aws:SourceIp condition
B.Use an S3 VPC Gateway endpoint and add a bucket policy with aws:SourceVpc condition
C.Use an S3 VPC Interface endpoint and add a bucket policy with aws:SourceVpce condition
D.Use an S3 VPC Gateway endpoint with no bucket policy
AnswerB

Gateway endpoints keep traffic within AWS network and the condition restricts to the VPC.

Why this answer

Using an S3 VPC Gateway endpoint with a bucket policy that includes the aws:SourceVpc condition restricts access to traffic originating from the specified VPC, and Gateway endpoints use AWS private network, ensuring traffic does not leave the AWS network. Option A is incorrect because aws:SourceIp checks IP addresses, not VPC origin, so it cannot enforce VPC-only access. Option C is incorrect because VPC Interface endpoints, while private, rely on aws:SourceVpce condition which checks the specific endpoint ID rather than the VPC; the requirement is to restrict to the entire VPC.

Option D is incorrect because without any bucket policy, the bucket would be publicly accessible or accessible to any authenticated user, failing to restrict to the VPC.

1021
Multi-Selecthard

A data engineering team is designing a near-real-time data ingestion pipeline for IoT sensor data. The data must be processed and stored in Amazon S3, with transformations applied before storage. The team needs to handle potential duplicates and ensure exactly-once processing semantics. Which TWO AWS services should be used together? (Choose TWO.)

Select 2 answers
A.Amazon Kinesis Data Firehose
B.Amazon Simple Queue Service (SQS)
C.Amazon Kinesis Data Analytics for Apache Flink
D.Amazon Kinesis Data Streams
E.AWS Database Migration Service (DMS)
AnswersC, D

Flink can provide exactly-once semantics with checkpointing.

Why this answer

For near-real-time IoT sensor data ingestion with exactly-once processing, Amazon Kinesis Data Streams (option D) provides ordered, durable, and replayable data ingestion. Amazon Kinesis Data Analytics for Apache Flink (option C) consumes from the stream and supports exactly-once semantics through checkpointing and idempotent sinks, enabling duplicate handling. Amazon Kinesis Data Firehose (option A) offers at-least-once delivery only.

Amazon SQS (option B) standard queues do not guarantee exactly-once, and FIFO queues cannot handle high-throughput IoT data. AWS DMS (option E) is for database replication, not streaming ingestion.

1022
Multi-Selecthard

A data engineer is configuring an Amazon Redshift cluster for compliance. The cluster must encrypt data at rest and automatically rotate the encryption key every year. Which steps should the engineer take? (Choose THREE.)

Select 3 answers
A.Create the Redshift cluster with encryption enabled.
B.Enable automatic yearly rotation of the KMS key.
C.Configure the Redshift cluster to rotate its encryption key every year.
D.Modify an existing unencrypted cluster to enable encryption.
E.Specify a customer-managed AWS KMS key for encryption.
AnswersA, B, E

Encryption must be enabled at creation.

Why this answer

The correct steps to meet the compliance requirements are A, B, and E. Option A is correct because encryption must be enabled during Redshift cluster creation; it cannot be added afterward. Option B is correct because using a customer-managed KMS key allows you to enable automatic yearly rotation of the key itself, satisfying the key rotation requirement.

Option E is correct because specifying a customer-managed KMS key gives you control over the key and its rotation policy. Option C is incorrect because Redshift does not provide a native mechanism to rotate the cluster's encryption key; key rotation is handled at the KMS level. Option D is incorrect because encryption cannot be enabled on an existing unencrypted Redshift cluster; you must create a new cluster with encryption enabled.

1023
MCQmedium

A data engineer needs to ingest streaming data from thousands of IoT devices into AWS for near-real-time analytics. The data volume varies significantly and can spike unpredictably. The engineer wants to minimize operational overhead and ensure that data is durably stored as soon as it arrives. Which AWS service combination should the engineer use?

A.Use Amazon S3 Transfer Acceleration with S3 Event Notifications to trigger AWS Lambda for processing.
B.Use Amazon Kinesis Data Firehose to ingest data into Amazon S3 and use AWS Lambda to transform data during delivery.
C.Use Amazon Simple Queue Service (SQS) to buffer the streaming data and configure an Auto Scaling group of EC2 instances to poll and process the data.
D.Use Amazon Kinesis Data Streams to ingest the data and AWS Lambda to process records in real-time with automatic scaling.
AnswerD

Kinesis Data Streams provides durable, scalable, low-latency ingestion; Lambda can process each shard in parallel and scales automatically.

Why this answer

Amazon Kinesis Data Streams (KDS) is designed for ingesting large volumes of streaming data with automatic scaling (via shard splitting/merging) and provides durable storage (default 24-hour retention, extendable to 365 days) as soon as records are received. AWS Lambda can be subscribed to the stream to process records in near-real-time, scaling automatically based on the number of shards, which minimizes operational overhead and handles unpredictable spikes without manual intervention.

Exam trap

The trap here is that candidates often confuse Kinesis Data Firehose (which batches and delivers to destinations like S3) with Kinesis Data Streams (which provides real-time, durable storage and processing), leading them to choose Option B despite its lack of true near-real-time ingestion and automatic scaling for spikes.

How to eliminate wrong answers

Option A is wrong because S3 Transfer Acceleration is for speeding up uploads over long distances, not for streaming ingestion, and S3 Event Notifications have at-least-once delivery with potential latency, not providing immediate durable storage upon arrival. Option B is wrong because Kinesis Data Firehose batches data before delivering to S3, introducing latency and not providing true near-real-time ingestion; it also does not offer the same level of automatic scaling for unpredictable spikes as KDS. Option C is wrong because SQS is a message queue with no native streaming shard model, and using an Auto Scaling group of EC2 instances adds significant operational overhead (managing instances, scaling policies, polling logic) and does not guarantee data durability as soon as it arrives (messages are stored but processing is decoupled).

1024
MCQmedium

A data engineer needs to ingest data from an Amazon RDS for MySQL database into Amazon S3 on a daily basis. The data volume is about 50 GB per day. The engineer wants to minimize the impact on the source database. Which AWS service should be used?

A.AWS Glue with a JDBC connection
B.Amazon Athena Federated Query
C.AWS Database Migration Service (DMS)
D.AWS DataSync
AnswerC

DMS is optimized for database migrations with minimal impact.

Why this answer

AWS DMS can perform full load and ongoing replication with minimal impact on the source database. Option A is wrong because AWS Glue with a JDBC connection can impact the source due to high query load. Option B is wrong because Amazon Athena Federated Query reads data directly from RDS, which can cause performance issues.

Option D is wrong because AWS DataSync is designed for file storage, not databases.

1025
MCQmedium

Refer to the exhibit. A data engineer runs a Glue ETL job that reads from a CSV file and writes to a Redshift table. The job fails with the error shown. What is the most likely cause?

A.The source CSV file has fewer columns than the target table.
B.The IAM role for the Glue job does not have permission to write to Redshift.
C.The target Redshift table has mismatched data types for some columns.
D.The Glue job is using an incorrect number of partitions for the source data.
AnswerA

Error says columns (10) does not match expected (12).

Why this answer

The error indicates a column count mismatch. The source file has 10 columns but the target expects 12. Option B is wrong because the error is about column count, not data type.

Option C is wrong because there is no mention of partition count. Option D is wrong because the error is about validation, not permissions.

1026
MCQmedium

A company needs to enforce encryption in transit for all data moving between its Amazon S3 bucket and a fleet of Amazon EC2 instances. The data is accessed via S3 API calls over the internet. Which configuration ensures encryption in transit?

A.Enable SSE-S3 on the bucket.
B.Enable S3 Transfer Acceleration.
C.Use a VPC endpoint for S3.
D.Configure the bucket policy to deny requests that do not use HTTPS.
AnswerD

Bucket policy with condition aws:SecureTransport true enforces HTTPS.

Why this answer

Configuring the bucket policy to deny requests that do not use HTTPS ensures encryption in transit for S3 API calls. Option A is wrong because SSE-S3 encrypts data at rest, not in transit. Option B is wrong because S3 Transfer Acceleration uses a global network but does not enforce encryption; HTTPS must still be used.

Option C is wrong because a VPC endpoint for S3 uses AWS network but does not enforce encryption; the bucket policy must explicitly require HTTPS.

1027
MCQhard

A company is using Amazon DynamoDB with auto scaling enabled. During a marketing campaign, write traffic spikes, and some write requests fail with ProvisionedThroughputExceededException. The auto scaling policy has a target utilization of 70% and a maximum capacity that is high enough. What is the most likely cause of the throttling?

A.The table has a global secondary index that is throttling.
B.Auto scaling cannot react quickly enough to sudden traffic spikes.
C.The table does not have enough maximum capacity.
D.The auto scaling policy is not configured correctly.
AnswerB

Auto scaling has a lag, so sudden spikes can cause throttling.

Why this answer

Auto scaling in DynamoDB adjusts capacity based on the average utilization over a period (typically 5-10 minutes). When a sudden traffic spike occurs, the write requests can exceed the current provisioned capacity before the auto scaling policy has time to react and increase the capacity. This delay causes ProvisionedThroughputExceededException errors, even though the maximum capacity is set high enough.

Exam trap

The trap here is that candidates assume a correctly configured auto scaling policy with sufficient maximum capacity will always prevent throttling, ignoring the inherent latency in auto scaling's reaction to sudden, short-lived traffic spikes.

How to eliminate wrong answers

Option A is wrong because a throttling global secondary index (GSI) would cause its own ProvisionedThroughputExceededException, but the question states the write requests fail directly on the table, and a GSI throttling would typically manifest as errors on writes that affect the index, not necessarily all table writes. Option C is wrong because the question explicitly states that the maximum capacity is high enough, so insufficient maximum capacity is not the cause. Option D is wrong because the auto scaling policy is configured with a target utilization of 70% and a high enough maximum capacity, which is a standard and correct configuration; the issue is the inherent lag in auto scaling's response to sudden spikes, not a misconfiguration.

1028
Multi-Selectmedium

A company is building a data pipeline that ingests sensitive customer data from an on-premises database into Amazon S3 using AWS DMS. The data must be encrypted at rest in S3 and in transit. The security team requires that the encryption keys be managed by the company (not AWS). Which TWO actions should the data engineer take to meet these requirements? (Choose TWO.)

Select 2 answers
A.Enable encryption at rest using the default DMS encryption settings.
B.Configure the S3 bucket to use server-side encryption with AWS KMS (SSE-KMS) using a customer managed key.
C.Configure the S3 bucket to use server-side encryption with S3 managed keys (SSE-S3).
D.Enable SSL/TLS encryption on the DMS source and target endpoints.
E.Create an AWS KMS key and use it in the DMS endpoint to encrypt data in transit.
AnswersB, D

Customer managed keys allow the company to control the keys.

Why this answer

SSE-KMS with a customer managed key allows the company to control the encryption keys used for S3 server-side encryption, meeting the requirement that keys be managed by the company, not AWS. Option D is correct because enabling SSL/TLS on both the DMS source and target endpoints ensures data is encrypted in transit between the on-premises database and AWS DMS, and between DMS and S3, satisfying the in-transit encryption requirement.

Exam trap

The trap here is that candidates often confuse encryption at rest with encryption in transit, and mistakenly think that KMS keys can be used for both, or that default DMS encryption or SSE-S3 satisfies the customer-managed key requirement.

1029
MCQhard

A data engineer runs an AWS Glue ETL job that reads from a table in the AWS Glue Data Catalog. The job fails with the error shown. The IAM role used by the Glue job has the following policy attached: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetDatabase" ], "Resource": "*" } ] } What should be added to the IAM role's policy to resolve the error?

A.s3:GetObject on the underlying S3 bucket
B.glue:GetTable on the specific table resource
C.lakeformation:GetDataAccess on the table resource
D.kms:Decrypt on the KMS key
AnswerC

This permission is required to access tables governed by Lake Formation.

Why this answer

Lake Formation requires lakeformation:GetDataAccess permission on the table. Option A is wrong because the error is about Lake Formation, not S3. Option B is wrong because the role already has glue:GetTable.

Option D is wrong because kms:Decrypt is not indicated.

1030
MCQmedium

A data engineer is analyzing a DynamoDB table for a session management application. The table currently has 10,000 items and is 1 MB in size. The application expects 1,000 writes per second during peak hours. What should the data engineer do to accommodate the write workload?

A.Reduce the item size to improve write performance.
B.Use global tables to distribute writes across regions.
C.Increase the write capacity units (WCU) for the table.
D.Enable DynamoDB Accelerator (DAX) to offload writes.
AnswerC

The current WCU is 5, insufficient for 1,000 writes/second.

Why this answer

DynamoDB write capacity is provisioned in Write Capacity Units (WCUs), and the table's current WCU setting is insufficient for 1,000 writes per second. Increasing the WCU ensures the table can handle the peak write throughput without throttling, as each WCU supports one write per second for items up to 1 KB. The table size (1 MB) and item count (10,000) are irrelevant to throughput capacity.

Exam trap

The trap here is that candidates confuse read-heavy optimizations (like DAX or global tables) with write performance, or assume that reducing item size alone can solve throughput issues, when the fundamental solution is to adjust the provisioned write capacity.

How to eliminate wrong answers

Option A is wrong because reducing item size does not increase the number of writes per second; it only reduces WCU consumption per write, but the core issue is insufficient provisioned capacity, not item size. Option B is wrong because global tables replicate data across regions for disaster recovery and low-latency reads, but they do not increase write throughput for a single table; writes are still subject to the table's WCU limit in each region. Option D is wrong because DynamoDB Accelerator (DAX) is an in-memory cache for reads only; it does not offload or accelerate write operations, which still go directly to the DynamoDB table.

1031
Multi-Selectmedium

A company is ingesting IoT sensor data from thousands of devices using Amazon Kinesis Data Streams. The data is consumed by a Lambda function that transforms and writes to Amazon S3. The company notices that occasionally records are dropped. The data engineer needs to identify the cause and prevent data loss. Which TWO actions should the data engineer take? (Choose TWO.)

Select 2 answers
A.Enable CloudWatch Logs on the Kinesis stream to log all records.
B.Decrease the Lambda batch size to process records more frequently.
C.Add an Amazon SQS queue between Kinesis and Lambda to buffer records.
D.Increase the number of shards in the Kinesis data stream.
E.Configure a dead-letter queue on the Lambda function to capture failed records.
AnswersD, E

More shards provide higher throughput, reducing throttling.

Why this answer

Increasing the number of shards in the Kinesis data stream raises the total read and write capacity, reducing the likelihood of throttling that can cause records to be dropped. Option E is correct because configuring a dead-letter queue (DLQ) on the Lambda function captures records that fail processing after all retries, preventing data loss and enabling reprocessing.

Exam trap

The trap here is that candidates may think adding a buffer (SQS) or reducing batch size solves the issue, but the real cause is often shard throttling or processing failures, which require scaling shards and using a DLQ respectively.

1032
MCQhard

A company is designing a data lake on Amazon S3. The data includes personal identifiable information (PII). The data engineer must ensure that only authorized users can access the data, and that access is logged for auditing. Which combination of services should the data engineer use?

A.S3 bucket policies with IAM policies and AWS CloudTrail with data events
B.Amazon S3 access points and VPC endpoints
C.Amazon Macie to discover PII and S3 Object Lock to prevent deletion
D.AWS KMS to encrypt data and AWS CloudTrail to log access
AnswerA

Bucket and IAM policies control access; CloudTrail logs data events for auditing.

Why this answer

S3 bucket policies combined with IAM policies provide fine-grained access control to restrict who can access the data, while AWS CloudTrail with data events logs every S3 object-level operation (e.g., GetObject, PutObject) for auditing. This combination directly meets the requirements of authorized access and logging for PII data.

Exam trap

The trap here is that candidates often assume CloudTrail automatically logs all S3 operations, but it only logs management events by default; data events must be explicitly enabled, and many overlook this distinction when designing for auditing.

How to eliminate wrong answers

Option B is wrong because Amazon S3 access points and VPC endpoints control network-level access and simplify bucket management, but they do not provide the required logging of data access for auditing. Option C is wrong because Amazon Macie discovers and classifies PII, and S3 Object Lock prevents deletion or overwriting, but neither service enforces access control or logs data access events. Option D is wrong because AWS KMS encrypts data at rest, which protects confidentiality but does not control who can access the data, and while AWS CloudTrail logs API calls, it does not log data events by default; without enabling data event logging, object-level access (e.g., reading a file) is not recorded.

1033
MCQhard

A data engineer is troubleshooting an access denied error when an AWS Lambda function tries to decrypt an object encrypted with the KMS key 'abc123'. The Lambda function's execution role has the above policy attached. What is the likely cause of the error?

A.The Deny statement blocks all decrypt requests
B.The Lambda function does not have permission to call kms:GenerateDataKey
C.The KMS key policy does not grant the Lambda role decrypt permission
D.The IAM policy does not include kms:Decrypt permission
AnswerC

Key policies must also grant access; IAM alone may not be sufficient.

Why this answer

The error occurs because KMS requires both the IAM policy and the key policy to grant the necessary permissions. While the IAM policy attached to the Lambda execution role includes kms:Decrypt, the KMS key policy for 'abc123' does not explicitly grant the Lambda role permission to call kms:Decrypt. Since KMS key policies act as a resource-based policy, they must allow the principal (the Lambda role) to perform the action; otherwise, the request is denied even if the IAM policy allows it.

Exam trap

The trap here is that candidates assume IAM permissions alone are sufficient for KMS operations, overlooking that KMS key policies must explicitly grant access to the IAM role, which is a common source of access denied errors in cross-account or cross-service scenarios.

How to eliminate wrong answers

Option A is wrong because the Deny statement in the policy only blocks decrypt requests that do not include the encryption context 'Project=Alpha', not all decrypt requests; the error is likely due to missing key policy permissions, not a blanket Deny. Option B is wrong because the error is about decrypting an object, not generating a data key; kms:GenerateDataKey is used for encryption operations, not decryption, and the Lambda function is trying to decrypt, not encrypt. Option D is wrong because the IAM policy shown in the question includes kms:Decrypt permission (the policy lists kms:Decrypt as an allowed action), so the issue is not a missing IAM permission but rather the KMS key policy not granting the Lambda role decrypt permission.

1034
MCQeasy

A company uses Amazon DynamoDB as the primary data store for a gaming application. The application stores user profiles and game state. During peak hours, the application experiences throttling on writes to the UserProfiles table. The table's read capacity is underutilized. Which solution should resolve the write throttling?

A.Increase the provisioned write capacity units for the table.
B.Enable DynamoDB Accelerator (DAX) on the table.
C.Add a global secondary index (GSI) to the table.
D.Configure auto scaling for read capacity units.
AnswerA

Increasing write capacity resolves write throttling.

Why this answer

Write throttling occurs when the number of write requests exceeds the provisioned write capacity units (WCUs) for the DynamoDB table. Since the read capacity is underutilized, the correct solution is to increase the provisioned WCUs to accommodate the peak write traffic. This directly addresses the capacity deficit without affecting read operations.

Exam trap

The trap here is that candidates may confuse read and write capacity solutions, such as selecting DAX (which only helps reads) or auto scaling for reads, when the issue is specifically write throttling.

How to eliminate wrong answers

Option B is wrong because DynamoDB Accelerator (DAX) is an in-memory cache that improves read performance, not write throughput; it does not increase write capacity or reduce write throttling. Option C is wrong because adding a global secondary index (GSI) consumes additional write capacity from the base table and can actually increase write throttling, not resolve it. Option D is wrong because auto scaling for read capacity units does not affect write throttling; write throttling requires adjusting write capacity, not read capacity.

1035
MCQmedium

A data engineer is designing a data lake on Amazon S3. The data consists of sensitive personally identifiable information (PII) that must be encrypted at rest. The company requires that encryption keys be rotated every 90 days and that access to the keys be logged. Which encryption solution meets these requirements?

A.Use server-side encryption with customer-provided keys (SSE-C).
B.Use client-side encryption with a master key stored in AWS Secrets Manager.
C.Use server-side encryption with S3 managed keys (SSE-S3).
D.Use server-side encryption with AWS KMS (SSE-KMS) and enable automatic key rotation.
AnswerD

SSE-KMS provides customer-managed keys with rotation and logging via CloudTrail.

Why this answer

SSE-KMS with automatic key rotation (Option D) meets the requirements because it encrypts data at rest in S3, allows key rotation every 90 days via AWS KMS automatic rotation, and logs all key usage in AWS CloudTrail for auditing. This provides the necessary encryption, rotation, and access logging without managing keys externally.

Exam trap

The trap here is that candidates often confuse SSE-S3's automatic annual rotation with the required 90-day rotation, or assume SSE-C or client-side encryption can meet logging and rotation requirements without realizing they lack native AWS rotation and auditing capabilities.

How to eliminate wrong answers

Option A is wrong because SSE-C requires the customer to provide and manage their own encryption keys, and AWS does not support automatic key rotation or logging of key access for customer-provided keys. Option B is wrong because client-side encryption encrypts data before it reaches S3, but storing the master key in AWS Secrets Manager does not provide automatic key rotation every 90 days (Secrets Manager rotation is configurable but not native to KMS key rotation) and does not log key usage in CloudTrail as KMS does. Option C is wrong because SSE-S3 uses S3-managed keys that are rotated annually (not every 90 days) and do not provide granular access logging for key usage.

1036
MCQhard

A financial services company uses a multi-account AWS Organization with hundreds of accounts. The data engineering team needs to enable cross-account access to an encrypted S3 bucket in the data lake account (account ID 111111111111) for a Glue ETL job running in the analytics account (account ID 222222222222). The S3 bucket uses AWS KMS customer managed key (CMK) for server-side encryption (SSE-KMS). The Glue job fails with an AccessDenied error when trying to read data from the bucket. The IAM roles in both accounts have the necessary S3 permissions and the bucket policy allows access from the analytics account. What is the most likely cause of the failure?

A.The KMS key policy does not grant the analytics account's IAM role permission to use the key for decryption.
B.The S3 bucket is in a different region than the Glue job.
C.The Glue job does not have an IAM role assigned.
D.The S3 bucket policy does not allow the s3:GetObject action for the analytics account's IAM role.
AnswerA

Cross-account access to SSE-KMS encrypted objects requires the key policy to allow the decrypt action for the external principal.

Why this answer

The Glue job fails because the KMS key policy does not grant the analytics account's IAM role permission to use the key for decryption. S3 permissions alone are insufficient when SSE-KMS is used; the key policy must explicitly allow the decrypt action for the cross-account principal.

1037
MCQhard

A data engineer is troubleshooting a Lambda function that reads from a Kinesis Data Stream, processes records, and writes to a Kinesis Data Firehose delivery stream. The Firehose delivery stream is configured to deliver data to an S3 bucket. The Lambda function is failing with an access denied error. The IAM policy attached to the Lambda execution role is shown in the exhibit. Which permission is missing?

A.firehose:PutRecord on the Firehose delivery stream
B.firehose:DescribeDeliveryStream on the Firehose delivery stream
C.logs:CreateLogGroup and logs:CreateLogStream on the CloudWatch log group
D.s3:PutObjectAcl on the S3 bucket
AnswerA

Correct. firehose:PutRecord is the IAM action needed to send records to a Kinesis Data Firehose delivery stream.

Why this answer

The Lambda function is failing due to a missing permission to write to the Kinesis Data Firehose delivery stream. The required permission is firehose:PutRecord (or firehose:PutRecordBatch). The IAM policy likely lacks this permission, causing an access denied error when the Lambda attempts to write records.

Option A correctly identifies this missing permission.

Exam trap

Candidates often confuse permissions for Kinesis Data Streams and Kinesis Data Firehose. Writing to a Firehose delivery stream requires firehose:PutRecord, not kinesis:PutRecord, which is for Kinesis Data Streams.

How to eliminate wrong answers

Option A is wrong because the Lambda function reads from the Kinesis Data Stream (requiring `kinesis:GetRecords`, `kinesis:DescribeStream`, etc.), not writes to it, so `kinesis:PutRecord` is irrelevant. Option C is wrong because CloudWatch Logs permissions (`logs:CreateLogGroup`, `logs:CreateLogStream`) are needed for logging but would cause a different error (e.g., 'Unable to create log stream'), not an access denied on Firehose. Option D is wrong because `s3:PutObjectAcl` is not required for Firehose to deliver to S3; Firehose uses `s3:PutObject` with bucket owner full control by default, and ACLs are not involved in this scenario.

1038
MCQeasy

A company wants to ingest streaming data from thousands of IoT devices into AWS for real-time processing. Each device sends JSON payloads of about 2 KB at a rate of 1 message per second. The data must be processed with a durable, ordered stream per device. Which service should the company use as the ingestion layer?

A.Amazon Simple Queue Service (Amazon SQS) with a FIFO queue.
B.Amazon Kinesis Data Streams.
C.Amazon Simple Notification Service (Amazon SNS) with a Lambda subscriber.
D.Amazon Kinesis Data Firehose with Direct Put.
AnswerB

Provides ordered, durable streaming.

Why this answer

Amazon Kinesis Data Streams is the correct choice because it provides durable, ordered stream processing per shard, which can be partitioned by device ID to maintain message order for each device. It supports real-time ingestion from thousands of IoT devices at 2 KB per message per second, with a retention period of up to 365 days and the ability to reprocess data via multiple consumers.

Exam trap

The trap here is that candidates often confuse Kinesis Data Streams with Kinesis Data Firehose, assuming Firehose can handle real-time ordered streams, but Firehose does not provide per-record ordering or real-time consumer access; it is a delivery stream, not a stream processing layer.

How to eliminate wrong answers

Option A is wrong because Amazon SQS FIFO queues guarantee exactly-once processing and strict ordering within a message group, but they are designed for decoupling microservices, not for high-throughput streaming ingestion from thousands of devices; FIFO throughput is limited to 300 transactions per second (with batching) and does not support multiple consumers reading the same stream in real-time. Option C is wrong because Amazon SNS is a pub/sub messaging service that does not provide ordered delivery or durable stream storage; it pushes messages to subscribers like Lambda, but ordering is not guaranteed and messages are not persisted for replay. Option D is wrong because Amazon Kinesis Data Firehose is a near-real-time delivery service that buffers data and writes it to destinations like S3 or Redshift, but it does not support ordered stream processing per device and cannot be consumed by multiple real-time applications directly; it is designed for batch loading, not for real-time ordered stream consumption.

1039
MCQhard

Refer to the exhibit. A data engineer is configuring an AWS Lambda function to process records from a Kinesis stream. The function is set up with an event source mapping, but no records are being processed. The Lambda function's IAM role has the policy shown. What is the most likely reason for the issue?

A.The policy does not grant permission to describe the Kinesis stream.
B.The IAM policy does not include all the necessary Kinesis actions for the event source mapping to work.
C.The policy includes too many actions, which causes a conflict.
D.The resource ARN for the Lambda function in the policy is incorrect.
AnswerB

Missing kinesis:ListShards action.

Why this answer

The IAM policy attached to the Lambda function's execution role is missing key Kinesis actions required for the event source mapping to operate. Specifically, while the policy includes kinesis:DescribeStream and kinesis:GetRecords, it lacks kinesis:GetShardIterator and kinesis:ListShards. These actions are necessary for the Lambda service to poll the stream, retrieve shard iterators, and process records.

Without them, the event source mapping cannot read from the Kinesis stream, resulting in no records being processed. Therefore, option B is correct: the policy does not include all necessary Kinesis actions.

1040
MCQhard

A CloudFormation template includes this IAM policy for a cross-account S3 upload use case. What is the purpose of the condition?

A.To enforce server-side encryption with KMS.
B.To limit the size of objects that can be uploaded.
C.To restrict uploads to only a specific AWS account.
D.To ensure that uploaded objects grant full control to the bucket owner.
AnswerD

The ACL bucket-owner-full-control grants the bucket owner full permissions.

Why this answer

The condition in the IAM policy uses the `s3:x-amz-acl` key with a value of `bucket-owner-full-control`. This ensures that any object uploaded to the S3 bucket explicitly grants the bucket owner full control over the object, overriding the default behavior where the uploading account retains ownership. This is critical in cross-account uploads to prevent the uploading account from retaining exclusive access to the objects.

Exam trap

The trap here is that candidates confuse the `s3:x-amz-acl` condition key with account-level restrictions or encryption settings, when in fact it specifically controls the Access Control List (ACL) applied to the uploaded object.

How to eliminate wrong answers

Option A is wrong because server-side encryption with KMS is enforced using the `s3:x-amz-server-side-encryption-aws:kms` condition key, not the `s3:x-amz-acl` key. Option B is wrong because object size limits are enforced using the `s3:content-length-range` condition key, not the ACL-related condition shown. Option C is wrong because restricting uploads to a specific AWS account is done using the `aws:SourceAccount` or `aws:SourceArn` condition keys, not the `s3:x-amz-acl` key which controls object ACL permissions.

1041
MCQmedium

A company is ingesting streaming data from IoT devices into Amazon Kinesis Data Streams. The data is then processed by an AWS Lambda function that transforms the records and writes them to an Amazon S3 bucket. Recently, the Lambda function has been timing out and the S3 bucket is not receiving all expected data. The Kinesis stream is not throttling and has sufficient shards. Which step should the company take to resolve this issue?

A.Increase the Lambda function's reserved concurrency.
B.Increase the Lambda function's timeout and memory allocation.
C.Increase the number of shards in the Kinesis stream.
D.Enable enhanced fan-out on the Kinesis stream to reduce latency.
AnswerB

Increasing timeout and memory allows the function to run longer and with more compute resources.

Why this answer

The Lambda function is timing out, indicating that it cannot process the records within the allotted time. Increasing the Lambda function's timeout and memory allocation (Option B) provides more execution time and CPU resources, which can help process larger or more frequent records before timing out. Option A is incorrect because reserved concurrency limits the maximum number of concurrent instances, not the execution duration of a single instance.

Option C is incorrect because increasing shards is unnecessary; the stream is not throttling, and more shards do not resolve Lambda timeouts. Option D is incorrect because enhanced fan-out reduces latency for multiple consumers but does not prevent a single Lambda function from timing out due to processing time.

1042
MCQhard

A company uses Amazon DynamoDB to store session data. The security team requires that all data be encrypted at rest using a customer-managed KMS key. The data engineer has enabled DynamoDB encryption with a customer-managed key. However, the security team notices that the key is not being used for all tables; some tables still use the default AWS-managed key. The engineer needs to ensure that all new tables are automatically encrypted with the customer-managed key. The company has hundreds of developers who create tables using various methods (console, CLI, SDK, CloudFormation). What is the most efficient way to enforce this policy?

A.Create a CloudFormation template that all developers must use to create tables.
B.Attach an SCP to deny creating DynamoDB tables without the customer-managed key.
C.Use an AWS Config rule to check for tables not using the customer-managed key and trigger auto-remediation.
D.Update the company's internal documentation and require all developers to specify the KMS key in their code.
AnswerC

Config can detect and remediate non-compliant resources.

Why this answer

AWS Config rules can evaluate whether DynamoDB tables use customer-managed KMS keys and take remediation actions. Option A is wrong because it requires updating all existing code. Option B is wrong because CloudFormation templates can be bypassed.

Option D is wrong because SCPs cannot enforce encryption configuration for DynamoDB.

1043
Multi-Selecthard

A data engineer is troubleshooting a failed AWS Glue ETL job that reads from an S3 bucket. The job logs show the following error: 'java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem not found'. Which TWO actions will resolve this issue?

Select 2 answers
A.Enable VPC S3 endpoint for the Glue job.
B.Include the hadoop-aws jar as an extra jar in the Glue job configuration.
C.Update the IAM role to allow access to S3.
D.Use a Glue version that includes the S3A filesystem library (e.g., Glue 3.0 or later).
E.Change the S3 access mode from S3A to EMRFS.
AnswersB, D

Adds the missing class to the classpath.

Why this answer

The error 'ClassNotFoundException: Class org.apache.hadoop.fs.s3a.S3AFileSystem' indicates the S3A filesystem library is missing from the classpath. Option B resolves this by adding the hadoop-aws jar as an extra jar, which provides the S3AFileSystem class. Option D resolves it by using a Glue version (3.0 or later) that includes the S3A library by default.

Option A (VPC endpoint) addresses networking, not classpath. Option C (IAM role) addresses permissions, not missing classes. Option E (EMRFS) is for Amazon EMR, not AWS Glue.

1044
Multi-Selectmedium

Which THREE of the following are best practices for managing data storage costs in Amazon S3? (Choose 3.)

Select 3 answers
A.Store all data in S3 Standard for maximum durability.
B.Use S3 Lifecycle policies to transition objects to S3 Glacier Deep Archive after a specified period.
C.Use S3 Object Lock to prevent object deletion and then apply a lifecycle policy to expire objects after a retention period.
D.Create multiple bucket replicas in different regions to ensure availability.
E.Enable S3 Intelligent-Tiering for data with unknown or changing access patterns.
AnswersB, C, E

S3 Lifecycle policies automatically transition objects to cheaper storage classes like S3 Glacier Deep Archive, reducing costs for infrequently accessed data—a key cost management practice.

Why this answer

S3 Lifecycle policies allow you to automatically transition objects to lower-cost storage classes like S3 Glacier Deep Archive after a specified period, reducing storage costs for infrequently accessed data. Option C is correct because combining S3 Object Lock with a lifecycle policy to expire objects after the retention period ensures that objects are automatically deleted when they are no longer needed, preventing unnecessary storage costs. Option E is correct because S3 Intelligent-Tiering automatically moves data between access tiers based on changing patterns, optimizing costs without manual intervention.

Options A and D are not best practices for cost management: storing all data in S3 Standard is costly, and creating multiple replicas increases storage costs.

Exam trap

A common trap is overlooking S3 Object Lock with lifecycle expiration as a cost management best practice. Object Lock is often seen solely as a compliance feature, but when paired with lifecycle policies, it ensures data is retained only as long as needed and then expires, directly impacting storage costs. The actual best practices for cost management include lifecycle transitions (Option B), Object Lock with lifecycle policies (Option C), and Intelligent-Tiering (Option E).

1045
MCQmedium

A company uses AWS Lake Formation to manage data lake permissions. A data analyst is unable to query a table in the data lake using Amazon Athena. The table is registered in Lake Formation, and the analyst has SELECT permission granted via Lake Formation. What is the most likely reason for the failure?

A.Athena is configured to use encryption in transit
B.The IAM role used by Athena does not have necessary Lake Formation permissions
C.The S3 bucket policy does not grant access to the analyst's IAM role
D.The table is not registered in the AWS Glue Data Catalog
AnswerB

Athena needs permissions to call Lake Formation APIs.

Why this answer

Lake Formation integrates with Athena, and the IAM role assumed by Athena must have necessary Lake Formation permissions (e.g., SELECT on the table) to query the data. Option A is incorrect because encryption in transit is about data protection during transmission, not access control; it does not prevent querying. Option C is incorrect because when using Lake Formation, S3 bucket policies are not the primary mechanism for granting access; Lake Formation manages permissions, and the bucket policy typically allows the Lake Formation service role, not the analyst's role.

Option D is incorrect because the table is registered in Lake Formation, which requires it to be in the AWS Glue Data Catalog; so this is not the issue.

1046
MCQeasy

Refer to the exhibit. An IAM policy includes the above statement to allow decryption of a KMS key under specific conditions. What does this policy allow?

A.Decrypt any data encrypted with any KMS key
B.Decrypt data that was encrypted with the encryption context {"aws:pi":"db-123"}
C.Encrypt data with the KMS key using the specified encryption context
D.Decrypt data encrypted with the KMS key without any encryption context
AnswerB

The condition matches that context.

Why this answer

The policy allows the Decrypt action on the KMS key only when the encryption context condition is met, specifically the key 'aws:pi' with value 'db-123'. This means only data encrypted with that encryption context can be decrypted. Option A is incorrect because the condition restricts to a specific encryption context, not any KMS key.

Option C is incorrect because the action is Decrypt, not Encrypt. Option D is incorrect because decryption without the required encryption context would not satisfy the condition.

1047
MCQhard

A CloudFormation template defines an AWS Glue job. The job fails during execution with the error 'Unable to locate script: s3://scripts-bucket/etl-script.py'. The S3 bucket 'scripts-bucket' exists and the script file is present. What is the most likely cause?

A.The script location path is incorrect; it should include the bucket's region.
B.The IAM role for the Glue job does not have s3:GetObject permission on the scripts bucket.
C.The Glue job requires Python version 2, but the script uses Python 3 syntax.
D.The S3 bucket is in a different AWS region than the Glue job.
AnswerB

Glue needs to read the script from S3.

Why this answer

The Glue job fails to locate the script because the IAM role assigned to the job lacks the s3:GetObject permission on the scripts-bucket. Even though the bucket and object exist, AWS Glue requires the execution role to have explicit read access to the S3 object to download and execute the script. Without this permission, the job cannot retrieve the file, resulting in the 'Unable to locate script' error.

Exam trap

The trap here is that candidates assume the error is about the script path or region mismatch, but the real cause is almost always missing IAM permissions for the Glue execution role to read the script from S3.

How to eliminate wrong answers

Option A is wrong because S3 object paths do not include the bucket's region; the path format is s3://bucket-name/key, and region is irrelevant to the path. Option C is wrong because Python version compatibility would cause a syntax error during execution, not a 'Unable to locate script' error, which is a file access issue. Option D is wrong because S3 buckets and Glue jobs can operate across regions as long as the Glue job's IAM role has appropriate cross-region permissions; the error message specifically indicates a missing object, not a region mismatch.

1048
MCQhard

Refer to the exhibit. A data engineer is analyzing a query performance issue on an Amazon Redshift table. The table 'sales' has 100 million rows. The query is performing a full table scan. Which optimization should the engineer apply to improve query performance?

A.Change DISTKEY to region.
B.Use an interleaved sort key on (sale_date, region).
C.Use a compound sort key on (sale_date, region).
D.Change DISTSTYLE to ALL.
AnswerC

Compound sort key on sale_date first enables efficient range restriction, then region for aggregation.

Why this answer

The query is performing a full table scan, which indicates that Redshift cannot efficiently prune blocks. A compound sort key on (sale_date, region) orders rows by sale_date first, then by region, allowing Redshift to skip large portions of data when filtering on the leading column (sale_date). This minimizes the number of blocks scanned and dramatically improves query performance for range-based or equality filters on the leading column.

Exam trap

The trap here is that candidates often confuse distribution keys (which control data placement across nodes) with sort keys (which control row order within a node), leading them to choose DISTKEY or DISTSTYLE changes when the real issue is block pruning from a full table scan.

How to eliminate wrong answers

Option A is wrong because changing DISTKEY to region affects data distribution across nodes, not the physical order of rows within a node; it does not help with block pruning for a full table scan. Option B is wrong because an interleaved sort key gives equal weight to all columns, which can cause overhead in maintenance and is less efficient for range-based queries on the leading column compared to a compound sort key. Option D is wrong because changing DISTSTYLE to ALL replicates the entire table to every node, which can improve join performance but does not reduce the number of blocks scanned during a full table scan and may waste storage and memory.

1049
MCQmedium

A data engineering team is managing an Amazon DynamoDB table that stores user session data. The table has a primary key of user_id (partition key) and session_id (sort key). The application performs strongly consistent reads on individual items. The team notices that read latency increases during peak hours. They suspect that the table is experiencing hot partitions. The team needs to improve read performance without changing the application code. Which solution should they implement?

A.Enable DynamoDB global tables to distribute reads across regions.
B.Enable DynamoDB Accelerator (DAX) for the table.
C.Increase the read capacity units for the table.
D.Change the application to use eventually consistent reads.
AnswerB

DAX caches reads and reduces latency.

Why this answer

DynamoDB Accelerator (DAX) is a fully managed, in-memory cache that delivers up to 10x read performance improvement by caching hot partition data. Since the application uses strongly consistent reads and cannot be changed, DAX provides a drop-in caching layer that reduces read latency on hot partitions without requiring any code modifications.

Exam trap

AWS often tests the misconception that increasing provisioned capacity (RCUs) can solve hot partition issues, but candidates must remember that DynamoDB enforces a per-partition throughput limit that cannot be exceeded regardless of total table capacity.

How to eliminate wrong answers

Option A is wrong because global tables replicate data across regions for disaster recovery and low-latency global access, but they do not solve hot partition issues within a single table; they add complexity and cross-region latency. Option C is wrong because increasing read capacity units (RCUs) only increases the provisioned throughput, but if a single partition key (user_id) is hot, the partition-level throughput limit (3,000 RCUs or 1,000 WCUs) still caps performance; more RCUs cannot overcome a single partition's bottleneck. Option D is wrong because changing to eventually consistent reads would reduce latency by sacrificing consistency, but the requirement explicitly states the application performs strongly consistent reads and the code cannot be changed.

1050
MCQmedium

A data engineer runs the above command and gets the output. What does the 'MFADelete' setting imply?

A.Any modification to an object requires MFA.
B.To permanently delete a version of an object, the user must provide MFA.
C.MFA is required for all read operations as well.
D.All operations on the bucket require MFA authentication.
AnswerB

MFADelete adds an extra layer of security for version deletions.

Why this answer

The 'MFADelete' setting on an S3 bucket versioning configuration requires multi-factor authentication to permanently delete an object version. This means that when a user issues a DELETE request with a version ID (a permanent delete), they must include a valid MFA token in the request headers. It does not apply to creating new versions, reading objects, or other operations.

Exam trap

The DEA-C01 exam often tests the distinction between 'MFA Delete' (which only applies to permanent version deletion) and general MFA enforcement on all bucket operations, leading candidates to overgeneralize the scope of the setting.

How to eliminate wrong answers

Option A is wrong because 'MFADelete' does not require MFA for any modification (e.g., PUT, POST, or COPY operations); it only applies to permanent deletes of specific versions. Option C is wrong because read operations (GET, HEAD) are never subject to MFA requirements under this setting. Option D is wrong because 'MFADelete' is a versioning-specific sub-setting and does not enforce MFA on all bucket operations, only on permanent version deletion.

Page 13

Page 14 of 23

Page 15