AWS DA With Answers
AWS DA With Answers
AWS DA With Answers
Question #1 Topic 1
A company is implementing an application on Amazon EC2 instances. The application needs to process incoming transactions. When the
application detects a transaction that is not valid, the application must send a chat message to the company's support team. To send the
message, the application needs to retrieve the access token to authenticate by using the chat API.
A developer needs to implement a solution to store the access token. The access token must be encrypted at rest and in transit. The access token
Which solution will meet these requirements with the LEAST management overhead?
A. Use an AWS Systems Manager Parameter Store SecureString parameter that uses an AWS Key Management Service (AWS KMS) AWS
managed key to store the access token. Add a resource-based policy to the parameter to allow access from other accounts. Update the IAM
role of the EC2 instances with permissions to access Parameter Store. Retrieve the token from Parameter Store with the decrypt flag enabled.
Use the decrypted access token to send the message to the chat.
B. Encrypt the access token by using an AWS Key Management Service (AWS KMS) customer managed key. Store the access token in an
Amazon DynamoDB table. Update the IAM role of the EC2 instances with permissions to access DynamoDB and AWS KMS. Retrieve the token
from DynamoDDecrypt the token by using AWS KMS on the EC2 instances. Use the decrypted access token to send the message to the chat.
C. Use AWS Secrets Manager with an AWS Key Management Service (AWS KMS) customer managed key to store the access token. Add a
resource-based policy to the secret to allow access from other accounts. Update the IAM role of the EC2 instances with permissions to
access Secrets Manager. Retrieve the token from Secrets Manager. Use the decrypted access token to send the message to the chat.
D. Encrypt the access token by using an AWS Key Management Service (AWS KMS) AWS managed key. Store the access token in an Amazon
S3 bucket. Add a bucket policy to the S3 bucket to allow access from other accounts. Update the IAM role of the EC2 instances with
permissions to access Amazon S3 and AWS KMS. Retrieve the token from the S3 bucket. Decrypt the token by using AWS KMS on the EC2
instances. Use the decrypted access token to send the massage to the chat.
Correct Answer: D
A company is running Amazon EC2 instances in multiple AWS accounts. A developer needs to implement an application that collects all the
lifecycle events of the EC2 instances. The application needs to store the lifecycle events in a single Amazon Simple Queue Service (Amazon SQS)
A. Configure Amazon EC2 to deliver the EC2 instance lifecycle events from all accounts to the Amazon EventBridge event bus of the main
account. Add an EventBridge rule to the event bus of the main account that matches all EC2 instance lifecycle events. Add the SQS queue as a
B. Use the resource policies of the SQS queue in the main account to give each account permissions to write to that SQS queue. Add to the
Amazon EventBridge event bus of each account an EventBridge rule that matches all EC2 instance lifecycle events. Add the SQS queue in the
C. Write an AWS Lambda function that scans through all EC2 instances in the company accounts to detect EC2 instance lifecycle changes.
Configure the Lambda function to write a notification message to the SQS queue in the main account if the function detects an EC2 instance
lifecycle change. Add an Amazon EventBridge scheduled rule that invokes the Lambda function every minute.
D. Configure the permissions on the main account event bus to receive events from all accounts. Create an Amazon EventBridge rule in each
account to send all the EC2 instance lifecycle events to the main account event bus. Add an EventBridge rule to the main account event bus
that matches all EC2 instance lifecycle events. Set the SQS queue as a target for the rule.
Correct Answer: D
Question #3 Topic 1
An application is using Amazon Cognito user pools and identity pools for secure access. A developer wants to integrate the user-specific file
upload and download features in the application with Amazon S3. The developer must ensure that the files are saved and retrieved in a secure
manner and that users can access only their own files. The file sizes range from 3 KB to 300 MB.
Which option will meet these requirements with the HIGHEST level of security?
A. Use S3 Event Notifications to validate the file upload and download requests and update the user interface (UI).
B. Save the details of the uploaded files in a separate Amazon DynamoDB table. Filter the list of files in the user interface (UI) by comparing
the current user ID with the user ID associated with the file in the table.
C. Use Amazon API Gateway and an AWS Lambda function to upload and download files. Validate each request in the Lambda function before
D. Use an IAM policy within the Amazon Cognito identity prefix to restrict users to use their own folders in Amazon S3.
Correct Answer: D
A company is building a scalable data management solution by using AWS services to improve the speed and agility of development. The solution
will ingest large volumes of data from various sources and will process this data through multiple business rules and transformations.
The solution requires business rules to run in sequence and to handle reprocessing of data if errors occur when the business rules run. The
company needs the solution to be scalable and to require the least possible maintenance.
Which AWS service should the company use to manage and automate the orchestration of the data flows to meet these requirements?
A. AWS Batch
C. AWS Glue
D. AWS Lambda
Correct Answer: D
Question #5 Topic 1
A developer has created an AWS Lambda function that is written in Python. The Lambda function reads data from objects in Amazon S3 and
writes data to an Amazon DynamoDB table. The function is successfully invoked from an S3 event notification when an object is created. However,
C. The Lambda function does not have IAM permissions to write to DynamoDB.
D. The DynamoDB table is not running in the same Availability Zone as the Lambda function.
Correct Answer: D
Question #6 Topic 1
A developer is creating an AWS CloudFormation template to deploy Amazon EC2 instances across multiple AWS accounts. The developer must
How can the developer incorporate the list of approved instance types in the CloudFormation template?
A. Create a separate CloudFormation template for each EC2 instance type in the list.
B. In the Resources section of the CloudFormation template, create resources for each EC2 instance type in the list.
C. In the CloudFormation template, create a separate parameter for each EC2 instance type in the list.
D. In the CloudFormation template, create a parameter with the list of EC2 instance types as AllowedValues.
Correct Answer: D
A developer has an application that makes batch requests directly to Amazon DynamoDB by using the BatchGetItem low-level API operation. The
Which actions should the developer take to increase the resiliency of the application when the batch response includes values in
B. Retry the batch operation with exponential backoff and randomized delay.
C. Update the application to use an AWS software development kit (AWS SDK) to make the requests.
D. Increase the provisioned read capacity of the DynamoDB tables that the operation accesses.
E. Increase the provisioned write capacity of the DynamoDB tables that the operation accesses.
Correct Answer: BD
Question #8 Topic 1
A company is running a custom application on a set of on-premises Linux servers that are accessed using Amazon API Gateway. AWS X-Ray
How can a developer enable X-Ray tracing on the on-premises servers with the LEAST amount of configuration?
A. Install and run the X-Ray SDK on the on-premises servers to capture and relay the data to the X-Ray service.
B. Install and run the X-Ray daemon on the on-premises servers to capture and relay the data to the X-Ray service.
C. Capture incoming requests on-premises and configure an AWS Lambda function to pull, process, and relay relevant data to X-Ray using the
D. Capture incoming requests on-premises and configure an AWS Lambda function to pull, process, and relay relevant data to X-Ray using the
Correct Answer: B
A company wants to share information with a third party. The third party has an HTTP API endpoint that the company can use to share the
information. The company has the required API key to access the HTTP API.
The company needs a way to manage the API key by using code. The integration of the API key with the application code cannot affect application
performance.
A. Store the API credentials in AWS Secrets Manager. Retrieve the API credentials at runtime by using the AWS SDK. Use the credentials to
B. Store the API credentials in a local code variable. Push the code to a secure Git repository. Use the local code variable at runtime to make
C. Store the API credentials as an object in a private Amazon S3 bucket. Restrict access to the S3 object by using IAM policies. Retrieve the
API credentials at runtime by using the AWS SDK. Use the credentials to make the API call.
D. Store the API credentials in an Amazon DynamoDB table. Restrict access to the table by using resource-based policies. Retrieve the API
credentials at runtime by using the AWS SDK. Use the credentials to make the API call.
Correct Answer: B
A developer is deploying a new application to Amazon Elastic Container Service (Amazon ECS). The developer needs to securely store and retrieve
different types of variables. These variables include authentication information for a remote API, the URL for the API, and credentials. The
authentication information and API URL must be available to all current and future deployed versions of the application across development,
How should the developer retrieve the variables with the FEWEST application changes?
A. Update the application to retrieve the variables from AWS Systems Manager Parameter Store. Use unique paths in Parameter Store for each
variable in each environment. Store the credentials in AWS Secrets Manager in each environment.
B. Update the application to retrieve the variables from AWS Key Management Service (AWS KMS). Store the API URL and credentials as
C. Update the application to retrieve the variables from an encrypted file that is stored with the application. Store the API URL and credentials
D. Update the application to retrieve the variables from each of the deployed environments. Define the authentication information and API URL
in the ECS task definition as unique names during the deployment process.
Correct Answer: B
A company is migrating legacy internal applications to AWS. Leadership wants to rewrite the internal employee directory to use native AWS
services. A developer needs to create a solution for storing employee contact details and high-resolution photos for use with the new application.
Which solution will enable the search and retrieval of each employee's individual details and high-resolution photos using AWS APIs?
A. Encode each employee's contact information and photos using Base64. Store the information in an Amazon DynamoDB table using a sort
key.
B. Store each employee's contact information in an Amazon DynamoDB table along with the object keys for the photos stored in Amazon S3.
C. Use Amazon Cognito user pools to implement the employee directory in a fully managed software-as-a-service (SaaS) method.
D. Store employee contact information in an Amazon RDS DB instance with the photos stored in Amazon Elastic File System (Amazon EFS).
Correct Answer: B
A developer is creating an application that will give users the ability to store photos from their cellphones in the cloud. The application needs to
support tens of thousands of users. The application uses an Amazon API Gateway REST API that is integrated with AWS Lambda functions to
process the photos. The application stores details about the photos in Amazon DynamoDB.
Users need to create an account to access the application. In the application, users must be able to upload photos and retrieve previously
uploaded photos. The photos will range in size from 300 KB to 5 MB.
Which solution will meet these requirements with the LEAST operational overhead?
A. Use Amazon Cognito user pools to manage user accounts. Create an Amazon Cognito user pool authorizer in API Gateway to control
access to the API. Use the Lambda function to store the photos and details in the DynamoDB table. Retrieve previously uploaded photos
B. Use Amazon Cognito user pools to manage user accounts. Create an Amazon Cognito user pool authorizer in API Gateway to control
access to the API. Use the Lambda function to store the photos in Amazon S3. Store the object's S3 key as part of the photo details in the
DynamoDB table. Retrieve previously uploaded photos by querying DynamoDB for the S3 key.
C. Create an IAM user for each user of the application during the sign-up process. Use IAM authentication to access the API Gateway API. Use
the Lambda function to store the photos in Amazon S3. Store the object's S3 key as part of the photo details in the DynamoDB table. Retrieve
D. Create a users table in DynamoDB. Use the table to manage user accounts. Create a Lambda authorizer that validates user credentials
against the users table. Integrate the Lambda authorizer with API Gateway to control access to the API. Use the Lambda function to store the
photos in Amazon S3. Store the object's S3 key as par of the photo details in the DynamoDB table. Retrieve previously uploaded photos by
Correct Answer: B
A company receives food orders from multiple partners. The company has a microservices application that uses Amazon API Gateway APIs with
AWS Lambda integration. Each partner sends orders by calling a customized API that is exposed through API Gateway. The API call invokes a
Partners need to be notified after the Lambda function processes the orders. Each partner must receive updates for only the partner's own orders.
The company wants to add new partners in the future with the fewest code changes possible.
Which solution will meet these requirements in the MOST scalable way?
A. Create a different Amazon Simple Notification Service (Amazon SNS) topic for each partner. Configure the Lambda function to publish
B. Create a different Lambda function for each partner. Configure the Lambda function to notify each partner's service endpoint directly.
C. Create an Amazon Simple Notification Service (Amazon SNS) topic. Configure the Lambda function to publish messages with specific
attributes to the SNS topic. Subscribe each partner to the SNS topic. Apply the appropriate filter policy to the topic subscriptions.
D. Create one Amazon Simple Notification Service (Amazon SNS) topic. Subscribe all partners to the SNS topic.
Correct Answer: C
A financial company must store original customer records for 10 years for legal reasons. A complete record contains personally identifiable
information (PII). According to local regulations, PII is available to only certain people in the company and must not be shared with third parties.
The company needs to make the records available to third-party organizations for statistical analysis without sharing the PII.
A developer wants to store the original immutable record in Amazon S3. Depending on who accesses the S3 document, the document should be
returned as is or with all the PII removed. The developer has written an AWS Lambda function to remove the PII from the document. The function
is named removePii.
What should the developer do so that the company can meet the PII requirements while maintaining only one copy of the document?
A. Set up an S3 event notification that invokes the removePii function when an S3 GET request is made. Call Amazon S3 by using a GET
B. Set up an S3 event notification that invokes the removePii function when an S3 PUT request is made. Call Amazon S3 by using a PUT
C. Create an S3 Object Lambda access point from the S3 console. Select the removePii function. Use S3 Access Points to access the object
without PII.
D. Create an S3 access point from the S3 console. Use the access point name to call the GetObjectLegalHold S3 API function. Pass in the
Correct Answer: C
A developer is deploying an AWS Lambda function The developer wants the ability to return to older versions of the function quickly and
seamlessly.
How can the developer achieve this goal with the LEAST operational overhead?
Correct Answer: B
A developer has written an AWS Lambda function. The function is CPU-bound. The developer wants to ensure that the function returns responses
quickly.
Correct Answer: B
For a deployment using AWS Code Deploy, what is the run order of the hooks for in-place deployments?
Correct Answer: A
A company is building a serverless application on AWS. The application uses an AWS Lambda function to process customer orders 24 hours a
day, 7 days a week. The Lambda function calls an external vendor's HTTP API to process payments.
During load tests, a developer discovers that the external vendor payment processing API occasionally times out and returns errors. The company
expects that some payment processing API calls will return errors.
The company wants the support team to receive notifications in near real time only when the payment processing external API error rate exceed
5% of the total number of transactions in an hour. Developers need to use an existing Amazon Simple Notification Service (Amazon SNS) topic
A. Write the results of payment processing API calls to Amazon CloudWatch. Use Amazon CloudWatch Logs Insights to query the CloudWatch
logs. Schedule the Lambda function to check the CloudWatch logs and notify the existing SNS topic.
B. Publish custom metrics to CloudWatch that record the failures of the external payment processing API calls. Configure a CloudWatch alarm
to notify the existing SNS topic when error rate exceeds the specified rate.
C. Publish the results of the external payment processing API calls to a new Amazon SNS topic. Subscribe the support team members to the
D. Write the results of the external payment processing API calls to Amazon S3. Schedule an Amazon Athena query to run at regular intervals.
Configure Athena to send notifications to the existing SNS topic when the error rate exceeds the specified rate.
Correct Answer: B
A company is offering APIs as a service over the internet to provide unauthenticated read access to statistical information that is updated daily.
The company uses Amazon API Gateway and AWS Lambda to develop the APIs. The service has become popular, and the company wants to
Correct Answer: A
A developer wants to store information about movies. Each movie has a title, release year, and genre. The movie information also can include
additional properties about the cast and production crew. This additional information is inconsistent across movies. For example, one movie
might have an assistant director, and another movie might have an animal trainer.
The developer needs to implement a solution to support the following use cases:
For a given title and release year, get all details about the movie that has that title and release year.
For a given title, get all details about all movies that have that title.
For a given genre, get all details about all movies in that genre.
A. Create an Amazon DynamoDB table. Configure the table with a primary key that consists of the title as the partition key and the release year
as the sort key. Create a global secondary index that uses the genre as the partition key and the title as the sort key.
B. Create an Amazon DynamoDB table. Configure the table with a primary key that consists of the genre as the partition key and the release
year as the sort key. Create a global secondary index that uses the title as the partition key.
C. On an Amazon RDS DB instance, create a table that contains columns for title, release year, and genre. Configure the title as the primary
key.
D. On an Amazon RDS DB instance, create a table where the primary key is the title and all other data is encoded into JSON format as one
additional column.
Correct Answer: A
A developer maintains an Amazon API Gateway REST API. Customers use the API through a frontend UI and Amazon Cognito authentication.
The developer has a new version of the API that contains new endpoints and backward-incompatible interface changes. The developer needs to
provide beta access to other developers on the team without affecting customers.
Which solution will meet these requirements with the LEAST operational overhead?
A. Define a development stage on the API Gateway API. Instruct the other developers to point the endpoints to the development stage.
B. Define a new API Gateway API that points to the new API application code. Instruct the other developers to point the endpoints to the new
API.
C. Implement a query parameter in the API application code that determines which code version to call.
D. Specify new API Gateway endpoints for the API endpoints that the developer wants to add.
Correct Answer: A
A developer is creating an application that will store personal health information (PHI). The PHI needs to be encrypted at all times. An encrypted
Amazon RDS for MySQL DB instance is storing the data. The developer wants to increase the performance of the application by caching frequently
accessed data while adding the ability to sort or rank the cached datasets.
A. Create an Amazon ElastiCache for Redis instance. Enable encryption of data in transit and at rest. Store frequently accessed data in the
cache.
B. Create an Amazon ElastiCache for Memcached instance. Enable encryption of data in transit and at rest. Store frequently accessed data in
the cache.
C. Create an Amazon RDS for MySQL read replica. Connect to the read replica by using SSL. Configure the read replica to store frequently
accessed data.
D. Create an Amazon DynamoDB table and a DynamoDB Accelerator (DAX) cluster for the table. Store frequently accessed data in the
DynamoDB table.
Correct Answer: A
A company has a multi-node Windows legacy application that runs on premises. The application uses a network shared folder as a centralized
configuration repository to store configuration files in .xml format. The company is migrating the application to Amazon EC2 instances. As part of
the migration to AWS, a developer must identify a solution that provides high availability for the repository.
A. Mount an Amazon Elastic Block Store (Amazon EBS) volume onto one of the EC2 instances. Deploy a file system on the EBS volume. Use
the host operating system to share a folder. Update the application code to read and write configuration files from the shared folder.
B. Deploy a micro EC2 instance with an instance store volume. Use the host operating system to share a folder. Update the application code to
C. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Update the application code to use the
AWS SDK to read and write configuration files from Amazon S3.
D. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Mount the S3 bucket to the EC2
instances as a local volume. Update the application code to read and write configuration files from the disk.
Correct Answer: C
A company wants to deploy and maintain static websites on AWS. Each website's source code is hosted in one of several version control systems,
The company wants to implement phased releases by using development, staging, user acceptance testing, and production environments in the
AWS Cloud. Deployments to each environment must be started by code merges on the relevant Git branch. The company wants to use HTTPS for
all data exchange. The company needs a solution that does not require servers to run continuously.
Which solution will meet these requirements with the LEAST operational overhead?
A. Host each website by using AWS Amplify with a serverless backend. Conned the repository branches that correspond to each of the desired
B. Host each website in AWS Elastic Beanstalk with multiple environments. Use the EB CLI to link each repository branch. Integrate AWS
C. Host each website in different Amazon S3 buckets for each environment. Configure AWS CodePipeline to pull source code from version
control. Add an AWS CodeBuild stage to copy source code to Amazon S3.
D. Host each website on its own Amazon EC2 instance. Write a custom deployment script to bundle each website's static assets. Copy the
assets to Amazon EC2. Set up a workflow to run the script when code is merged.
Correct Answer: A
A company is migrating an on-premises database to Amazon RDS for MySQL. The company has read-heavy workloads. The company wants to
Which solution will meet this requirement with LEAST current and future effort?
A. Use a multi-AZ Amazon RDS deployment. Increase the number of connections that the code makes to the database or increase the
B. Use a multi-AZ Amazon RDS deployment. Modify the code so that queries access the secondary RDS instance.
C. Deploy Amazon RDS with one or more read replicas. Modify the application code so that queries use the URL for the read replicas.
D. Use open source replication software to create a copy of the MySQL database on an Amazon EC2 instance. Modify the application code so
Correct Answer: B
A developer is creating an application that will be deployed on IoT devices. The application will send data to a RESTful API that is deployed as an
AWS Lambda function. The application will assign each API request a unique identifier. The volume of API requests from the application can
During periods of request throttling, the application might need to retry requests. The API must be able to handle duplicate requests without
A. Create an Amazon RDS for MySQL DB instance. Store the unique identifier for each request in a database table. Modify the Lambda
function to check the table for the identifier before processing the request.
B. Create an Amazon DynamoDB table. Store the unique identifier for each request in the table. Modify the Lambda function to check the table
C. Create an Amazon DynamoDB table. Store the unique identifier for each request in the table. Modify the Lambda function to return a client
D. Create an Amazon ElastiCache for Memcached instance. Store the unique identifier for each request in the cache. Modify the Lambda
function to check the cache for the identifier before processing the request.
Correct Answer: B
A developer wants to expand an application to run in multiple AWS Regions. The developer wants to copy Amazon Machine Images (AMIs) with
the latest changes and create a new application stack in the destination Region. According to company requirements, all AMIs must be encrypted
in all Regions. However, not all the AMIs that the company uses are encrypted.
How can the developer expand the application to run in the destination Region while meeting the encryption requirement?
A. Create new AMIs, and specify encryption parameters. Copy the encrypted AMIs to the destination Region. Delete the unencrypted AMIs.
B. Use AWS Key Management Service (AWS KMS) to enable encryption on the unencrypted AMIs. Copy the encrypted AMIs to the destination
Region.
C. Use AWS Certificate Manager (ACM) to enable encryption on the unencrypted AMIs. Copy the encrypted AMIs to the destination Region.
D. Copy the unencrypted AMIs to the destination Region. Enable encryption by default in the destination Region.
Correct Answer: B
A company hosts a client-side web application for one of its subsidiaries on Amazon S3. The web application can be accessed through Amazon
CloudFront from https://www.example.com. After a successful rollout, the company wants to host three more client-side web applications for its
To achieve this goal, a developer moves all the common JavaScript files and web fonts to a central S3 bucket that serves the web applications.
However, during testing, the developer notices that the browser blocks the JavaScript files and web fonts.
What should the developer do to prevent the browser from blocking the JavaScript files and web fonts?
A. Create four access points that allow access to the central S3 bucket. Assign an access point to each web application bucket.
B. Create a bucket policy that allows access to the central S3 bucket. Attach the bucket policy to the central S3 bucket
C. Create a cross-origin resource sharing (CORS) configuration that allows access to the central S3 bucket. Add the CORS configuration to the
central S3 bucket.
D. Create a Content-MD5 header that provides a message integrity check for the central S3 bucket. Insert the Content-MD5 header for each
Correct Answer: C
An application is processing clickstream data using Amazon Kinesis. The clickstream data feed into Kinesis experiences periodic spikes. The
PutRecords API call occasionally fails and the logs show that the failed call returns the response shown below:
Correct Answer: AC
A company has an application that uses Amazon Cognito user pools as an identity provider. The company must secure access to user records.
The company has set up multi-factor authentication (MFA). The company also wants to send a login activity notification by email every time a user
logs in.
What is the MOST operationally efficient solution that meets this requirement?
A. Create an AWS Lambda function that uses Amazon Simple Email Service (Amazon SES) to send the email notification. Add an Amazon API
Gateway API to invoke the function. Call the API from the client side when login confirmation is received.
B. Create an AWS Lambda function that uses Amazon Simple Email Service (Amazon SES) to send the email notification. Add an Amazon
C. Create an AWS Lambda function that uses Amazon Simple Email Service (Amazon SES) to send the email notification. Create an Amazon
CloudWatch Logs log subscription filter to invoke the function based on the login status.
D. Configure Amazon Cognito to stream all logs to Amazon Kinesis Data Firehose. Create an AWS Lambda function to process the streamed
logs and to send the email notification based on the login status of each user.
Correct Answer: B
A developer has an application that stores data in an Amazon S3 bucket. The application uses an HTTP API to store and retrieve objects. When
the PutObject API operation adds objects to the S3 bucket the developer must encrypt these objects at rest by using server-side encryption with
A. Create an AWS Key Management Service (AWS KMS) key. Assign the KMS key to the S3 bucket.
B. Set the x-amz-server-side-encryption header when invoking the PutObject API operation.
Correct Answer: B
A developer needs to perform geographic load testing of an API. The developer must deploy resources to multiple AWS Regions to support the
How can the developer meet these requirements without additional application code?
A. Create and deploy an AWS Lambda function in each desired Region. Configure the Lambda function to create a stack from an AWS
B. Create an AWS CloudFormation template that defines the load test resources. Use the AWS CLI create-stack-set command to create a stack
C. Create an AWS Systems Manager document that defines the resources. Use the document to create the resources in the desired Regions.
D. Create an AWS CloudFormation template that defines the load test resources. Use the AWS CLI deploy command to create a stack from the
Correct Answer: B
A developer is creating an application that includes an Amazon API Gateway REST API in the us-east-2 Region. The developer wants to use
Amazon CloudFront and a custom domain name for the API. The developer has acquired an SSL/TLS certificate for the domain from a third-party
provider.
How should the developer configure the custom domain for the application?
A. Import the SSL/TLS certificate into AWS Certificate Manager (ACM) in the same Region as the API. Create a DNS A record for the custom
domain.
B. Import the SSL/TLS certificate into CloudFront. Create a DNS CNAME record for the custom domain.
C. Import the SSL/TLS certificate into AWS Certificate Manager (ACM) in the same Region as the API. Create a DNS CNAME record for the
custom domain.
D. Import the SSL/TLS certificate into AWS Certificate Manager (ACM) in the us-east-1 Region. Create a DNS CNAME record for the custom
domain.
Correct Answer: B
A developer is creating a template that uses AWS CloudFormation to deploy an application. The application is serverless and uses Amazon API
Which AWS service or tool should the developer use to define serverless resources in YAML?
Correct Answer: C
A developer wants to insert a record into an Amazon DynamoDB table as soon as a new file is added to an Amazon S3 bucket.
A. Create an event with Amazon EventBridge that will monitor the S3 bucket and then insert the records into DynamoDB.
B. Configure an S3 event to invoke an AWS Lambda function that inserts records into DynamoDB.
C. Create an AWS Lambda function that will poll the S3 bucket and then insert the records into DynamoDB.
D. Create a cron job that will run at a scheduled time and insert the records into DynamoDB.
Correct Answer: B
A development team maintains a web application by using a single AWS CloudFormation template. The template defines web servers and an
Amazon RDS database. The team uses the Cloud Formation template to deploy the Cloud Formation stack to different environments.
During a recent application deployment, a developer caused the primary development database to be dropped and recreated. The result of this
incident was a loss of data. The team needs to avoid accidental database deletion in the future.
A. Add a CloudFormation Deletion Policy attribute with the Retain value to the database resource.
D. Create a CloudFormation stack set for the web application and database deployments.
E. Add a Cloud Formation DeletionPolicy attribute with the Retain value to the stack.
Correct Answer: AD
A company has an Amazon S3 bucket that contains sensitive data. The data must be encrypted in transit and at rest. The company encrypts the
data in the S3 bucket by using an AWS Key Management Service (AWS KMS) key. A developer needs to grant several other AWS accounts the
permission to use the S3 GetObject operation to retrieve the data from the S3 bucket.
How can the developer enforce that all requests to retrieve the data provide encryption in transit?
A. Define a resource-based policy on the S3 bucket to deny access when a request meets the condition “aws:SecureTransport”: “false”.
B. Define a resource-based policy on the S3 bucket to allow access when a request meets the condition “aws:SecureTransport”: “false”.
C. Define a role-based policy on the other accounts' roles to deny access when a request meets the condition of “aws:SecureTransport”:
“false”.
D. Define a resource-based policy on the KMS key to deny access when a request meets the condition of “aws:SecureTransport”: “false”.
Correct Answer: A
An application that is hosted on an Amazon EC2 instance needs access to files that are stored in an Amazon S3 bucket. The application lists the
objects that are stored in the S3 bucket and displays a table to the user. During testing, a developer discovers that the application does not show
A. Update the IAM instance profile that is attached to the EC2 instance to include the S3:* permission for the S3 bucket.
B. Update the IAM instance profile that is attached to the EC2 instance to include the S3:ListBucket permission for the S3 bucket.
C. Update the developer's user permissions to include the S3:ListBucket permission for the S3 bucket.
D. Update the S3 bucket policy by including the S3:ListBucket permission and by setting the Principal element to specify the account number
Correct Answer: B
A company is planning to securely manage one-time fixed license keys in AWS. The company's development team needs to access the license
keys in automaton scripts that run in Amazon EC2 instances and in AWS CloudFormation stacks.
Correct Answer: C
A company has deployed infrastructure on AWS. A development team wants to create an AWS Lambda function that will retrieve data from an
Amazon Aurora database. The Amazon Aurora database is in a private subnet in company's VPC. The VPC is named VPC1. The data is relational
A. Create the Lambda function. Configure VPC1 access for the function. Attach a security group named SG1 to both the Lambda function and
the database. Configure the security group inbound and outbound rules to allow TCP traffic on Port 3306.
B. Create and launch a Lambda function in a new public subnet that is in a new VPC named VPC2. Create a peering connection between VPC1
and VPC2.
C. Create the Lambda function. Configure VPC1 access for the function. Assign a security group named SG1 to the Lambda function. Assign a
second security group named SG2 to the database. Add an inbound rule to SG1 to allow TCP traffic from Port 3306.
D. Export the data from the Aurora database to Amazon S3. Create and launch a Lambda function in VPC1. Configure the Lambda function
Correct Answer: B
A developer is building a web application that uses Amazon API Gateway to expose an AWS Lambda function to process requests from clients.
During testing, the developer notices that the API Gateway times out even though the Lambda function finishes under the set time limit.
Which of the following API Gateway metrics in Amazon CloudWatch can help the developer troubleshoot the issue? (Choose two.)
A. CacheHitCount
B. IntegrationLatency
C. CacheMissCount
D. Latency
E. Count
Correct Answer: BD
A development team wants to build a continuous integration/continuous delivery (CI/CD) pipeline. The team is using AWS CodePipeline to
automate the code build and deployment. The team wants to store the program code to prepare for the CI/CD pipeline.
Which AWS service should the team use to store the program code?
A. AWS CodeDeploy
B. AWS CodeArtifact
C. AWS CodeCommit
D. Amazon CodeGuru
Correct Answer: C
A developer is designing an AWS Lambda function that creates temporary files that are less than 10 MB during invocation. The temporary files will
be accessed and modified multiple times during invocation. The developer has no need to save or retrieve these files in the future.
D. Amazon S3
Correct Answer: A
A developer is designing a serverless application with two AWS Lambda functions to process photos. One Lambda function stores objects in an
Amazon S3 bucket and stores the associated metadata in an Amazon DynamoDB table. The other Lambda function fetches the objects from the
S3 bucket by using the metadata from the DynamoDB table. Both Lambda functions use the same Python library to perform complex
computations and are approaching the quota for the maximum size of zipped deployment packages.
What should the developer do to reduce the size of the Lambda deployment packages with the LEAST operational overhead?
A. Package each Python library in its own .zip file archive. Deploy each Lambda function with its own copy of the library.
B. Create a Lambda layer with the required Python library. Use the Lambda layer in both Lambda functions.
C. Combine the two Lambda functions into one Lambda function. Deploy the Lambda function as a single .zip file archive.
D. Download the Python library to an S3 bucket. Program the Lambda functions to reference the object URLs.
Correct Answer: B
A developer is writing an AWS Lambda function. The developer wants to log key events that occur while the Lambda function runs. The developer
wants to include a unique identifier to associate the events with a specific function invocation. The developer adds the following code to the
Lambda function:
A. Obtain the request identifier from the AWS request ID field in the context object. Configure the application to write logs to standard output.
B. Obtain the request identifier from the AWS request ID field in the event object. Configure the application to write logs to a file.
C. Obtain the request identifier from the AWS request ID field in the event object. Configure the application to write logs to standard output.
D. Obtain the request identifier from the AWS request ID field in the context object. Configure the application to write logs to a file.
Correct Answer: D
A developer is working on a serverless application that needs to process any changes to an Amazon DynamoDB table with an AWS Lambda
function.
How should the developer configure the Lambda function to detect changes to the DynamoDB table?
A. Create an Amazon Kinesis data stream, and attach it to the DynamoDB table. Create a trigger to connect the data stream to the Lambda
function.
B. Create an Amazon EventBridge rule to invoke the Lambda function on a regular schedule. Conned to the DynamoDB table from the Lambda
C. Enable DynamoDB Streams on the table. Create a trigger to connect the DynamoDB stream to the Lambda function.
D. Create an Amazon Kinesis Data Firehose delivery stream, and attach it to the DynamoDB table. Configure the delivery stream destination as
Correct Answer: C
An application uses an Amazon EC2 Auto Scaling group. A developer notices that EC2 instances are taking a long time to become available during
The developer must implement a solution to decrease the time that elapses before an EC2 instance becomes available. The solution must make
the most recent version of the application available at all times and must apply all available security updates. The solution also must minimize the
Which combination of steps should the developer take to meet these requirements? (Choose two.)
A. Use EC2 Image Builder to create an Amazon Machine Image (AMI). Install all the patches and agents that are needed to manage and run
the application. Update the Auto Scaling group launch configuration to use the AMI.
B. Use EC2 Image Builder to create an Amazon Machine Image (AMI). Install the latest version of the application and all the patches and
agents that are needed to manage and run the application. Update the Auto Scaling group launch configuration to use the AMI.
C. Set up AWS CodeDeploy to deploy the most recent version of the application at runtime.
D. Set up AWS CodePipeline to deploy the most recent version of the application at runtime.
E. Remove any commands that perform operating system patching from the UserData script.
Correct Answer: AB
A developer is creating an AWS Lambda function that needs credentials to connect to an Amazon RDS for MySQL database. An Amazon S3 bucket
currently stores the credentials. The developer needs to improve the existing solution by implementing credential rotation and secure storage. The
Which solution should the developer use to store and retrieve the credentials with the LEAST management overhead?
A. Store the credentials in AWS Systems Manager Parameter Store. Select the database that the parameter will access. Use the default AWS
Key Management Service (AWS KMS) key to encrypt the parameter. Enable automatic rotation for the parameter. Use the parameter from
B. Encrypt the credentials with the default AWS Key Management Service (AWS KMS) key. Store the credentials as environment variables for
the Lambda function. Create a second Lambda function to generate new credentials and to rotate the credentials by updating the environment
variables of the first Lambda function. Invoke the second Lambda function by using an Amazon EventBridge rule that runs on a schedule.
Update the database to use the new credentials. On the first Lambda function, retrieve the credentials from the environment variables. Decrypt
C. Store the credentials in AWS Secrets Manager. Set the secret type to Credentials for Amazon RDS database. Select the database that the
secret will access. Use the default AWS Key Management Service (AWS KMS) key to encrypt the secret. Enable automatic rotation for the
secret. Use the secret from Secrets Manager on the Lambda function to connect to the database.
D. Encrypt the credentials by using AWS Key Management Service (AWS KMS). Store the credentials in an Amazon DynamoDB table. Create a
second Lambda function to rotate the credentials. Invoke the second Lambda function by using an Amazon EventBridge rule that runs on a
schedule. Update the DynamoDB table. Update the database to use the generated credentials. Retrieve the credentials from DynamoDB with
Correct Answer: C
A developer has written the following IAM policy to provide access to an Amazon S3 bucket:
Which access does the policy allow regarding the s3:GetObject and s3:PutObject actions?
B. Access on all buckets that start with “DOC-EXAMPLE-BUCKET” except the “DOC-EXAMPLE-BUCKET/secrets” bucket
C. Access on all objects in the “DOC-EXAMPLE-BUCKET” bucket along with access to all S3 actions for objects in the “DOC-EXAMPLE-
D. Access on all objects in the “DOC-EXAMPLE-BUCKET” bucket except on objects that start with “secrets”
Correct Answer: D
A developer is creating a mobile app that calls a backend service by using an Amazon API Gateway REST API. For integration testing during the
development phase, the developer wants to simulate different backend responses without invoking the backend service.
Which solution will meet these requirements with the LEAST operational overhead?
A. Create an AWS Lambda function. Use API Gateway proxy integration to return constant HTTP responses.
B. Create an Amazon EC2 instance that serves the backend REST API by using an AWS CloudFormation template.
C. Customize the API Gateway stage to select a response type based on the request.
Correct Answer: B
A developer has a legacy application that is hosted on-premises. Other applications hosted on AWS depend on the on-premises application for
proper functioning. In case of any application errors, the developer wants to be able to use Amazon CloudWatch to monitor and troubleshoot all
A. Install an AWS SDK on the on-premises server to automatically send logs to CloudWatch.
B. Download the CloudWatch agent to the on-premises server. Configure the agent to use IAM user credentials with permissions for
CloudWatch.
C. Upload log files from the on-premises server to Amazon S3 and have CloudWatch read the files.
D. Upload log files from the on-premises server to an Amazon EC2 instance and have the instance forward the logs to CloudWatch.
Correct Answer: B
An Amazon Kinesis Data Firehose delivery stream is receiving customer data that contains personally identifiable information. A developer needs
to remove pattern-based customer identifiers from the data and store the modified data in an Amazon S3 bucket.
A. Implement Kinesis Data Firehose data transformation as an AWS Lambda function. Configure the function to remove the customer
B. Launch an Amazon EC2 instance. Set the EC2 instance as the destination of the delivery stream. Run an application on the EC2 instance to
remove the customer identifiers. Store the transformed data in an Amazon S3 bucket.
C. Create an Amazon OpenSearch Service instance. Set the OpenSearch Service instance as the destination of the delivery stream. Use search
and replace to remove the customer identifiers. Export the data to an Amazon S3 bucket.
D. Create an AWS Step Functions workflow to remove the customer identifiers. As the last step in the workflow, store the transformed data in
an Amazon S3 bucket. Set the workflow as the destination of the delivery stream.
Correct Answer: A
A developer is using an AWS Lambda function to generate avatars for profile pictures that are uploaded to an Amazon S3 bucket. The Lambda
function is automatically invoked for profile pictures that are saved under the /original/ S3 prefix. The developer notices that some pictures cause
the Lambda function to time out. The developer wants to implement a fallback mechanism by using another Lambda function that resizes the
profile picture.
Which solution will meet these requirements with the LEAST development effort?
A. Set the image resize Lambda function as a destination of the avatar generator Lambda function for the events that fail processing.
B. Create an Amazon Simple Queue Service (Amazon SQS) queue. Set the SQS queue as a destination with an on failure condition for the
avatar generator Lambda function. Configure the image resize Lambda function to poll from the SQS queue.
C. Create an AWS Step Functions state machine that invokes the avatar generator Lambda function and uses the image resize Lambda
function as a fallback. Create an Amazon EventBridge rule that matches events from the S3 bucket to invoke the state machine.
D. Create an Amazon Simple Notification Service (Amazon SNS) topic. Set the SNS topic as a destination with an on failure condition for the
avatar generator Lambda function. Subscribe the image resize Lambda function to the SNS topic.
Correct Answer: C
A developer needs to migrate an online retail application to AWS to handle an anticipated increase in traffic. The application currently runs on two
servers: one server for the web application and another server for the database. The web server renders webpages and manages session state in
memory. The database server hosts a MySQL database that contains order details. When traffic to the application is heavy, the memory usage for
the web server approaches 100% and the application slows down considerably.
The developer has found that most of the memory increase and performance decrease is related to the load of managing additional user
sessions. For the web server migration, the developer will use Amazon EC2 instances with an Auto Scaling group behind an Application Load
Balancer.
Which additional set of changes should the developer make to the application to improve the application's performance?
A. Use an EC2 instance to host the MySQL database. Store the session data and the application data in the MySQL database.
B. Use Amazon ElastiCache for Memcached to store and manage the session data. Use an Amazon RDS for MySQL DB instance to store the
application data.
C. Use Amazon ElastiCache for Memcached to store and manage the session data and the application data.
D. Use the EC2 instance store to manage the session data. Use an Amazon RDS for MySQL DB instance to store the application data.
Correct Answer: A
An application uses Lambda functions to extract metadata from files uploaded to an S3 bucket; the metadata is stored in Amazon DynamoDB. The
application starts behaving unexpectedly, and the developer wants to examine the logs of the Lambda function code for errors.
Based on this system configuration, where would the developer find the logs?
A. Amazon S3
B. AWS CloudTrail
C. Amazon CloudWatch
D. Amazon DynamoDB
Correct Answer: C
A company is using an AWS Lambda function to process records from an Amazon Kinesis data stream. The company recently observed slow
processing of the records. A developer notices that the iterator age metric for the function is increasing and that the Lambda run duration is
Which actions should the developer take to increase the processing speed? (Choose two.)
Correct Answer: AC
A company needs to harden its container images before the images are in a running state. The company's application uses Amazon Elastic
Container Registry (Amazon ECR) as an image registry. Amazon Elastic Kubernetes Service (Amazon EKS) for compute, and an AWS CodePipeline
pipeline that orchestrates a continuous integration and continuous delivery (CI/CD) workflow.
Dynamic application security testing occurs in the final stage of the pipeline after a new image is deployed to a development namespace in the
EKS cluster. A developer needs to place an analysis stage before this deployment to analyze the container image earlier in the CI/CD pipeline.
Which solution will meet these requirements with the MOST operational efficiency?
A. Build the container image and run the docker scan command locally. Mitigate any findings before pushing changes to the source code
repository. Write a pre-commit hook that enforces the use of this workflow before commit.
B. Create a new CodePipeline stage that occurs after the container image is built. Configure ECR basic image scanning to scan on image
push. Use an AWS Lambda function as the action provider. Configure the Lambda function to check the scan results and to fail the pipeline if
C. Create a new CodePipeline stage that occurs after source code has been retrieved from its repository. Run a security scanner on the latest
revision of the source code. Fail the pipeline if there are findings.
D. Add an action to the deployment stage of the pipeline so that the action occurs before the deployment to the EKS cluster. Configure ECR
basic image scanning to scan on image push. Use an AWS Lambda function as the action provider. Configure the Lambda function to check
the scan results and to fail the pipeline if there are findings.
Correct Answer: D
A developer is testing a new file storage application that uses an Amazon CloudFront distribution to serve content from an Amazon S3 bucket. The
distribution accesses the S3 bucket by using an origin access identity (OAI). The S3 bucket's permissions explicitly deny access to all other users.
The application prompts users to authenticate on a login page and then uses signed cookies to allow users to access their personal storage
directories. The developer has configured the distribution to use its default cache behavior with restricted viewer access and has set the origin to
point to the S3 bucket. However, when the developer tries to navigate to the login page, the developer receives a 403 Forbidden error.
The developer needs to implement a solution to allow unauthenticated access to the login page. The solution also must keep all private content
secure.
A. Add a second cache behavior to the distribution with the same origin as the default cache behavior. Set the path pattern for the second
cache behavior to the path of the login page, and make viewer access unrestricted. Keep the default cache behavior's settings unchanged.
B. Add a second cache behavior to the distribution with the same origin as the default cache behavior. Set the path pattern for the second
cache behavior to *, and make viewer access restricted. Change the default cache behavior's path pattern to the path of the login page, and
C. Add a second origin as a failover origin to the default cache behavior. Point the failover origin to the S3 bucket. Set the path pattern for the
primary origin to *, and make viewer access restricted. Set the path pattern for the failover origin to the path of the login page, and make
D. Add a bucket policy to the S3 bucket to allow read access. Set the resource on the policy to the Amazon Resource Name (ARN) of the login
page object in the S3 bucket. Add a CloudFront function to the default cache behavior to redirect unauthorized requests to the login page's S3
URL.
Correct Answer: A
A developer is using AWS Amplify Hosting to build and deploy an application. The developer is receiving an increased number of bug reports from
users. The developer wants to add end-to-end testing to the application to eliminate as many bugs as possible before the bugs reach production.
B. Create unit tests in the application. Deploy the unit tests by using the amplify push command in the Amplify CLI.
C. Add a test phase to the amplify.yml build settings for the application.
Correct Answer: C
An ecommerce company is using an AWS Lambda function behind Amazon API Gateway as its application tier. To process orders during checkout,
the application calls a POST API from the frontend. The POST API invokes the Lambda function asynchronously. In rare situations, the application
has not processed orders. The Lambda application logs show no errors or failures.
A. Inspect the frontend logs for API failures. Call the POST API manually by using the requests from the log file.
B. Create and inspect the Lambda dead-letter queue. Troubleshoot the failed functions. Reprocess the events.
C. Inspect the Lambda logs in Amazon CloudWatch for possible errors. Fix the errors.
D. Make sure that caching is disabled for the POST API in API Gateway.
Correct Answer: B
A company is building a web application on AWS. When a customer sends a request, the application will generate reports and then make the
reports available to the customer within one hour. Reports should be accessible to the customer for 8 hours. Some reports are larger than 1 MB.
Each report is unique to the customer. The application should delete all reports that are older than 2 days.
Which solution will meet these requirements with the LEAST operational overhead?
A. Generate the reports and then store the reports as Amazon DynamoDB items that have a specified TTL. Generate a URL that retrieves the
reports from DynamoDB. Provide the URL to customers through the web application.
B. Generate the reports and then store the reports in an Amazon S3 bucket that uses server-side encryption. Attach the reports to an Amazon
Simple Notification Service (Amazon SNS) message. Subscribe the customer to email notifications from Amazon SNS.
C. Generate the reports and then store the reports in an Amazon S3 bucket that uses server-side encryption. Generate a presigned URL that
contains an expiration date Provide the URL to customers through the web application. Add S3 Lifecycle configuration rules to the S3 bucket
D. Generate the reports and then store the reports in an Amazon RDS database with a date stamp. Generate an URL that retrieves the reports
from the RDS database. Provide the URL to customers through the web application. Schedule an hourly AWS Lambda function to delete
Correct Answer: B
A company has deployed an application on AWS Elastic Beanstalk. The company has configured the Auto Scaling group that is associated with the
Elastic Beanstalk environment to have five Amazon EC2 instances. If the capacity is fewer than four EC2 instances during the deployment,
application performance degrades. The company is using the all-at-once deployment policy.
B. Change the deployment policy to traffic splitting. Specify an evaluation time of 1 hour.
C. Change the deployment policy to rolling with additional batch. Specify a batch size of 1.
Correct Answer: C
A developer is incorporating AWS X-Ray into an application that handles personal identifiable information (PII). The application is hosted on
Amazon EC2 instances. The application trace messages include encrypted PII and go to Amazon CloudWatch. The developer needs to ensure that
C. Use Amazon Macie to detect and hide PII. Call the X-Ray API from AWS Lambda.
Correct Answer: B
A developer is migrating some features from a legacy monolithic application to use AWS Lambda functions instead. The application currently
stores data in an Amazon Aurora DB cluster that runs in private subnets in a VPC. The AWS account has one VPC deployed. The Lambda functions
and the DB cluster are deployed in the same AWS Region in the same AWS account.
The developer needs to ensure that the Lambda functions can securely access the DB cluster without crossing the public internet.
C. Configure a NAT gateway and a security group for the Lambda functions.
D. Configure the VPC, subnets, and a security group for the Lambda functions.
Correct Answer: D
A developer is building a new application on AWS. The application uses an AWS Lambda function that retrieves information from an Amazon
DynamoDB table. The developer hard coded the DynamoDB table name into the Lambda function code. The table name might change over time.
The developer does not want to modify the Lambda code if the table name changes.
A. Create a Lambda environment variable to store the table name. Use the standard method for the programming language to retrieve the
variable.
B. Store the table name in a file. Store the file in the /tmp folder. Use the SDK for the programming language to retrieve the table name.
C. Create a file to store the table name. Zip the file and upload the file to the Lambda layer. Use the SDK for the programming language to
D. Create a global variable that is outside the handler in the Lambda function to store the table name.
Correct Answer: C -
A company has a critical application on AWS. The application exposes an HTTP API by using Amazon API Gateway. The API is integrated with an
AWS Lambda function. The application stores data in an Amazon RDS for MySQL DB instance with 2 virtual CPUs (vCPUs) and 64 GB of RAM.
Customers have reported that some of the API calls return HTTP 500 Internal Server Error responses. Amazon CloudWatch Logs shows errors for
“too many connections.” The errors occur during peak usage times that are unpredictable.
The company needs to make the application resilient. The database cannot be down outside of scheduled maintenance hours.
A. Decrease the number of vCPUs for the DB instance. Increase the max_connections setting.
B. Use Amazon RDS Proxy to create a proxy that connects to the DB instance. Update the Lambda function to connect to the proxy.
C. Add a CloudWatch alarm that changes the DB instance class when the number of connections increases to more than 1,000.
D. Add an Amazon EventBridge rule that increases the max_connections setting of the DB instance when CPU utilization is above 75%.
Correct Answer: B
A company has installed smart meters in all its customer locations. The smart meters measure power usage at 1-minute intervals and send the
usage readings to a remote endpoint for collection. The company needs to create an endpoint that will receive the smart meter readings and store
the readings in a database. The company wants to store the location ID and timestamp information.
The company wants to give its customers low-latency access to their current usage and historical usage on demand. The company expects
demand to increase significantly. The solution must not impact performance or include downtime while scaling.
A. Store the smart meter readings in an Amazon RDS database. Create an index on the location ID and timestamp columns. Use the columns
B. Store the smart meter readings in an Amazon DynamoDB table. Create a composite key by using the location ID and timestamp columns.
C. Store the smart meter readings in Amazon ElastiCache for Redis. Create a SortedSet key by using the location ID and timestamp columns.
D. Store the smart meter readings in Amazon S3. Partition the data by using the location ID and timestamp columns. Use Amazon Athena to
Correct Answer: B
A company is building a serverless application that uses AWS Lambda functions. The company needs to create a set of test events to test
Lambda functions in a development environment. The test events will be created once and then will be used by all the developers in an IAM
developer group. The test events must be editable by any of the IAM users in the IAM developer group.
A. Create and store the test events in Amazon S3 as JSON objects. Allow S3 bucket access to all IAM users.
B. Create the test events. Configure the event sharing settings to make the test events shareable.
C. Create and store the test events in Amazon DynamoDB. Allow access to DynamoDB by using IAM roles.
D. Create the test events. Configure the event sharing settings to make the test events private.
Correct Answer: B
A developer is configuring an application's deployment environment in AWS CodePipeline. The application code is stored in a GitHub repository.
The developer wants to ensure that the repository package's unit tests run in the new deployment environment. The developer has already set the
pipeline's source provider to GitHub and has specified the repository and branch to use in the deployment.
Which combination of steps should the developer take next to meet these requirements with the LEAST overhead? (Choose two.)
A. Create an AWS CodeCommit project. Add the repository package's build and test commands to the project's buildspec.
B. Create an AWS CodeBuild project. Add the repository package's build and test commands to the project's buildspec.
C. Create an AWS CodeDeploy project. Add the repository package's build and test commands to the project's buildspec.
D. Add an action to the source stage. Specify the newly created project as the action provider. Specify the build artifact as the action's input
artifact.
E. Add a new stage to the pipeline after the source stage. Add an action to the new stage. Specify the newly created project as the action
Correct Answer: BD
An engineer created an A/B test of a new feature on an Amazon CloudWatch Evidently project. The engineer configured two variations of the
feature (Variation A and Variation B) for the test. The engineer wants to work exclusively with Variation A. The engineer needs to make updates so
that Variation A is the only variation that appears when the engineer hits the application's endpoint.
A. Add an override to the feature. Set the identifier of the override to the engineer's user ID. Set the variation to Variation A.
B. Add an override to the feature. Set the identifier of the override to Variation A. Set the variation to 100%.
C. Add an experiment to the project. Set the identifier of the experiment to Variation B. Set the variation to 0%.
D. Add an experiment to the project. Set the identifier of the experiment to the AWS account's account ISet the variation to Variation A.
Correct Answer: B
A developer is working on an existing application that uses Amazon DynamoDB as its data store. The DynamoDB table has the following
attributes: partNumber (partition key), vendor (sort key), description, productFamily, and productType. When the developer analyzes the usage
patterns, the developer notices that there are application modules that frequently look for a list of products based on the productFamily and
productType attributes.
The developer wants to make changes to the application to improve performance of the query operations.
A. Create a global secondary index (GSI) with productFamily as the partition key and productType as the sort key.
B. Create a local secondary index (LSI) with productFamily as the partition key and productType as the sort key.
C. Recreate the table. Add partNumber as the partition key and vendor as the sort key. During table creation, add a local secondary index (LSI)
with productFamily as the partition key and productType as the sort key.
D. Update the queries to use Scan operations with productFamily as the partition key and productType as the sort key.
Correct Answer: A
A developer creates a VPC named VPC-A that has public and private subnets. The developer also creates an Amazon RDS database inside the
private subnet of VPC-A. To perform some queries, the developer creates an AWS Lambda function in the default VPC. The Lambda function has
code to access the RDS database. When the Lambda function runs, an error message indicates that the function cannot connect to the RDS
database.
A. Modify the RDS security group. Add a rule to allow traffic from all the ports from the VPC CIDR block.
B. Redeploy the Lambda function in the same subnet as the RDS instance. Ensure that the RDS security group allows traffic from the Lambda
function.
C. Create a security group for the Lambda function. Add a new rule in the RDS security group to allow traffic from the new Lambda security
group.
D. Create an IAM role. Attach a policy that allows access to the RDS database. Attach the role to the Lambda function.
Correct Answer: C
A company runs an application on AWS. The company deployed the application on Amazon EC2 instances. The application stores data on Amazon
Aurora.
The application recently logged multiple application-specific custom DECRYP_ERROR errors to Amazon CloudWatch logs. The company did not
detect the issue until the automated tests that run every 30 minutes failed. A developer must implement a solution that will monitor for the
custom errors and alert a development team in real time when these errors occur in the production environment.
Which solution will meet these requirements with the LEAST operational overhead?
A. Configure the application to create a custom metric and to push the metric to CloudWatch. Create an AWS CloudTrail alarm. Configure the
CloudTrail alarm to use an Amazon Simple Notification Service (Amazon SNS) topic to send notifications.
B. Create an AWS Lambda function to run every 5 minutes to scan the CloudWatch logs for the keyword DECRYP_ERROR. Configure the
Lambda function to use Amazon Simple Notification Service (Amazon SNS) to send a notification.
C. Use Amazon CloudWatch Logs to create a metric filter that has a filter pattern for DECRYP_ERROR. Create a CloudWatch alarm on this
metric for a threshold >=1. Configure the alarm to send Amazon Simple Notification Service (Amazon SNS) notifications.
D. Install the CloudWatch unified agent on the EC2 instance. Configure the application to generate a metric for the keyword DECRYP_ERROR
errors. Configure the agent to send Amazon Simple Notification Service (Amazon SNS) notifications.
Correct Answer: C
A developer created an AWS Lambda function that accesses resources in a VPC. The Lambda function polls an Amazon Simple Queue Service
(Amazon SQS) queue for new messages through a VPC endpoint. Then the function calculates a rolling average of the numeric values that are
contained in the messages. After initial tests of the Lambda function, the developer found that the value of the rolling average that the function
How can the developer ensure that the function calculates an accurate rolling average?
A. Set the function's reserved concurrency to 1. Calculate the rolling average in the function. Store the calculated rolling average in Amazon
ElastiCache.
B. Modify the function to store the values in Amazon ElastiCache. When the function initializes, use the previous values from the cache to
C. Set the function's provisioned concurrency to 1. Calculate the rolling average in the function. Store the calculated rolling average in Amazon
ElastiCache.
D. Modify the function to store the values in the function's layers. When the function initializes, use the previously stored values to calculate
Correct Answer: C
A developer is writing unit tests for a new application that will be deployed on AWS. The developer wants to validate all pull requests with unit
tests and merge the code with the main branch only when all tests pass.
The developer stores the code in AWS CodeCommit and sets up AWS CodeBuild to run the unit tests. The developer creates an AWS Lambda
function to start the CodeBuild task. The developer needs to identify the CodeCommit events in an Amazon EventBridge event that can invoke the
A.
B.
C.
D.
Correct Answer: C
A developer deployed an application to an Amazon EC2 instance. The application needs to know the public IPv4 address of the instance.
Correct Answer: A
An application under development is required to store hundreds of video files. The data must be encrypted within the application prior to storage,
A. Use the KMS Encrypt API to encrypt the data. Store the encrypted data key and data.
B. Use a cryptography library to generate an encryption key for the application. Use the encryption key to encrypt the data. Store the encrypted
data.
C. Use the KMS GenerateDataKey API to get a data key. Encrypt the data with the data key. Store the encrypted data key and data.
D. Upload the data to an S3 bucket using server side-encryption with an AWS KMS key.
Correct Answer: C
A company is planning to deploy an application on AWS behind an Elastic Load Balancer. The application uses an HTTP/HTTPS listener and must
B. Use a Network Load Balancer (NLB). Enable proxy protocol support on the NLB and the target application.
C. Use an Application Load Balancer. Register the targets by the instance ID.
Correct Answer: A
A developer wants to debug an application by searching and filtering log data. The application logs are stored in Amazon CloudWatch Logs. The
developer creates a new metric filter to count exceptions in the application logs. However, no results are returned from the logs.
A. A setup of the Amazon CloudWatch interface VPC endpoint is required for filtering the CloudWatch Logs in the VPC.
B. CloudWatch Logs only publishes metric data for events that happen after the filter is created.
C. The log group for CloudWatch Logs should be first streamed to Amazon OpenSearch Service before metric filtering returns the results.
D. Metric data points for logs groups can be filtered only after they are exported to an Amazon S3 bucket.
Correct Answer: B
A company is planning to use AWS CodeDeploy to deploy an application to Amazon Elastic Container Service (Amazon ECS). During the
deployment of a new version of the application, the company initially must expose only 10% of live traffic to the new version of the deployed
application. Then, after 15 minutes elapse, the company must route all the remaining live traffic to the new version of the deployed application.
A. CodeDeployDefault.ECSCanary10Percent15Minutes
B. CodeDeployDefault.LambdaCanary10Percent5Minutes
C. CodeDeployDefault.LambdaCanary10Percentl15Minutes
D. CodeDeployDefault.ECSLinear10PercentEvery1Minutes
Correct Answer: A
A company hosts a batch processing application on AWS Elastic Beanstalk with instances that run the most recent version of Amazon Linux. The
In recent weeks, the application's performance has decreased significantly during a peak period for traffic. A developer suspects that the
application issues are related to the memory usage. The developer checks the Elastic Beanstalk console and notices that memory usage is not
being tracked.
How should the developer gather more information about the application performance issues?
A. Configure the Amazon CloudWatch agent to push logs to Amazon CloudWatch Logs by using port 443.
B. Configure the Elastic Beanstalk .ebextensions directory to track the memory usage of the instances.
C. Configure the Amazon CloudWatch agent to track the memory usage of the instances.
D. Configure an Amazon CloudWatch dashboard to track the memory usage of the instances.
Correct Answer: B
A developer is building a highly secure healthcare application using serverless components. This application requires writing temporary data to
A. Enable Amazon EBS volume encryption with an AWS KMS key in the Lambda function configuration so that all storage attached to the
B. Set up the Lambda function with a role and key policy to access an AWS KMS key. Use the key to generate a data key used to encrypt all
C. Use OpenSSL to generate a symmetric encryption key on Lambda startup. Use this key to encrypt the data prior to writing to /tmp.
D. Use an on-premises hardware security module (HSM) to generate keys, where the Lambda function requests a data key from the HSM and
Correct Answer: B
A developer has created an AWS Lambda function to provide notification through Amazon Simple Notification Service (Amazon SNS) whenever a
file is uploaded to Amazon S3 that is larger than 50 MB. The developer has deployed and tested the Lambda function by using the CLI. However,
when the event notification is added to the S3 bucket and a 3,000 MB file is uploaded, the Lambda function does not launch.
Which of the following is a possible reason for the Lambda function's inability to launch?
A. The S3 event notification does not activate for files that are larger than 1,000 MB.
B. The resource-based policy for the Lambda function does not have the required permissions to be invoked by Amazon S3.
Correct Answer: B
A developer is creating a Ruby application and needs to automate the deployment, scaling, and management of an environment without requiring
A. AWS CodeDeploy
B. AWS CloudFormation
C. AWS OpsWorks
Correct Answer: D
A company has a web application that is deployed on AWS. The application uses an Amazon API Gateway API and an AWS Lambda function as its
backend.
The application recently demonstrated unexpected behavior. A developer examines the Lambda function code, finds an error, and modifies the
code to resolve the problem. Before deploying the change to production, the developer needs to run tests to validate that the application operates
properly.
The application has only a production environment available. The developer must create a new development environment to test the code
changes. The developer must also prevent other developers from overwriting these changes during the test cycle.
Which combination of steps will meet these requirements with the LEAST development effort? (Choose two.)
A. Create a new resource in the current stage. Create a new method with Lambda proxy integration. Select the Lambda function. Add the
B. Update the Lambda function in the API Gateway API integration request to use the hotfix alias. Deploy the API Gateway API to a new stage
C. Modify the Lambda function by fixing the code. Test the Lambda function. Create the alias hotfix. Point the alias to the $LATEST version.
D. Modify the Lambda function by fixing the code. Test the Lambda function. When the Lambda function is working as expected, publish the
Lambda function as a new version. Create the alias hotfix. Point the alias to the new version.
E. Create a new API Gateway API for the development environment. Add a resource and method with Lambda integration. Choose the Lambda
function and the hotfix alias. Deploy to a new stage. Test the backend.
Correct Answer: BD
A developer is implementing an AWS Cloud Development Kit (AWS CDK) serverless application. The developer will provision several AWS Lambda
functions and Amazon API Gateway APIs during AWS CloudFormation stack creation. The developer's workstation has the AWS Serverless
Application Model (AWS SAM) and the AWS CDK installed locally.
A. Run the sam package and sam deploy commands. Create a Lambda test event from the AWS Management Console. Test the Lambda
function.
B. Run the cdk synth and cdk deploy commands. Create a Lambda test event from the AWS Management Console. Test the Lambda function.
C. Run the cdk synth and sam local invoke commands with the function construct identifier and the path to the synthesized CloudFormation
template.
D. Run the cdk synth and sam local start-lambda commands with the function construct identifier and the path to the synthesized
CloudFormation template.
Correct Answer: D
A company's new mobile app uses Amazon API Gateway. As the development team completes a new release of its APIs, a developer must safely
What is the SIMPLEST solution for the developer to use for rolling out the new API version to a limited number of users through API Gateway?
A. Create a new API in API Gateway. Direct a portion of the traffic to the new API using an Amazon Route 53 weighted routing policy.
B. Validate the new API version and promote it to production during the window of lowest expected utilization.
C. Implement an Amazon CloudWatch alarm to trigger a rollback if the observed HTTP 500 status code rate exceeds a predetermined
threshold.
D. Use the canary release deployment option in API Gateway. Direct a percentage of the API traffic using the canarySettings setting.
Correct Answer: D
A company caches session information for a web application in an Amazon DynamoDB table. The company wants an automated way to delete old
A. Write a script that deletes old records; schedule the script as a cron job on an Amazon EC2 instance.
B. Add an attribute with the expiration time; enable the Time To Live feature based on that attribute.
C. Each day, create a new table to hold session data; delete the previous day's table.
D. Add an attribute with the expiration time; name the attribute ItemExpiration.
Correct Answer: B
A company is using an Amazon API Gateway REST API endpoint as a webhook to publish events from an on-premises source control management
(SCM) system to Amazon EventBridge. The company has configured an EventBridge rule to listen for the events and to control application
deployment in a central AWS account. The company needs to receive the same events across multiple receiver AWS accounts.
How can a developer meet these requirements without changing the configuration of the SCM system?
A. Deploy the API Gateway REST API to all the required AWS accounts. Use the same custom domain name for all the gateway endpoints so
that a single SCM webhook can be used for all events from all accounts.
B. Deploy the API Gateway REST API to all the receiver AWS accounts. Create as many SCM webhooks as the number of AWS accounts.
C. Grant permission to the central AWS account for EventBridge to access the receiver AWS accounts. Add an EventBridge event bus on the
D. Convert the API Gateway type from REST API to HTTP API.
Correct Answer: C
A company moved some of its secure files to a private Amazon S3 bucket that has no public access. The company wants to develop a serverless
application that gives its employees the ability to log in and securely share the files with other users.
Which AWS feature should the company use to share and access the files securely?
B. S3 presigned URLs
C. S3 bucket policy
Correct Answer: A
A company needs to develop a proof of concept for a web service application. The application will show the weather forecast for one of the
company's office locations. The application will provide a REST endpoint that clients can call. Where possible, the application should use caching
features provided by AWS to limit the number of requests to the backend service. The application backend will receive a small amount of traffic
Which approach should the developer take to provide the REST endpoint MOST cost-effectively?
A. Create a container image. Deploy the container image by using Amazon Elastic Kubernetes Service (Amazon EKS). Expose the functionality
B. Create an AWS Lambda function by using the AWS Serverless Application Model (AWS SAM). Expose the Lambda functionality by using
C. Create a container image. Deploy the container image by using Amazon Elastic Container Service (Amazon ECS). Expose the functionality
D. Create a microservices application. Deploy the application to AWS Elastic Beanstalk. Expose the AWS Lambda functionality by using an
Correct Answer: B
An e-commerce web application that shares session state on-premises is being migrated to AWS. The application must be fault tolerant, natively
highly scalable, and any service interruption should not affect the user experience.
Correct Answer: A
A developer is building an application that uses Amazon DynamoDB. The developer wants to retrieve multiple specific items from the database
Which DynamoDB API call will meet these requirements with the MINIMUM impact on the database?
A. BatchGetItem
B. GetItem
C. Scan
D. Query
Correct Answer: D
A developer has written an application that runs on Amazon EC2 instances. The developer is adding functionality for the application to write
Which policy must the developer modify to allow the instances to write these objects?
A. The IAM policy that is attached to the EC2 instance profile role
B. The session policy that is applied to the EC2 instance role session
C. The AWS Key Management Service (AWS KMS) key policy that is attached to the EC2 instance profile role
Correct Answer: A
A developer is leveraging a Border Gateway Protocol (BGP)-based AWS VPN connection to connect from on-premises to Amazon EC2 instances in
the developer's account. The developer is able to access an EC2 instance in subnet A, but is unable to access an EC2 instance in subnet B in the
same VPC.
Which logs can the developer use to verify whether the traffic is reaching subnet B?
A. VPN logs
B. BGP logs
Correct Answer: C
A developer is creating a service that uses an Amazon S3 bucket for image uploads. The service will use an AWS Lambda function to create a
thumbnail of each image. Each time an image is uploaded, the service needs to send an email notification and create the thumbnail. The
developer needs to configure the image processing and email notifications setup.
A. Create an Amazon Simple Notification Service (Amazon SNS) topic. Configure S3 event notifications with a destination of the SNS topic.
Subscribe the Lambda function to the SNS topic. Create an email notification subscription to the SNS topic.
B. Create an Amazon Simple Notification Service (Amazon SNS) topic. Configure S3 event notifications with a destination of the SNS topic.
Subscribe the Lambda function to the SNS topic. Create an Amazon Simple Queue Service (Amazon SQS) queue. Subscribe the SQS queue to
the SNS topic. Create an email notification subscription to the SQS queue.
C. Create an Amazon Simple Queue Service (Amazon SQS) queue. Configure S3 event notifications with a destination of the SQS queue.
Subscribe the Lambda function to the SQS queue. Create an email notification subscription to the SQS queue.
D. Create an Amazon Simple Queue Service (Amazon SQS) queue. Send S3 event notifications to Amazon EventBridge. Create an EventBridge
rule that runs the Lambda function when images are uploaded to the S3 bucket. Create an EventBridge rule that sends notifications to the SQS
Correct Answer: A
A developer has designed an application to store incoming data as JSON files in Amazon S3 objects. Custom business logic in an AWS Lambda
function then transforms the objects, and the Lambda function loads the data into an Amazon DynamoDB table. Recently, the workload has
experienced sudden and significant changes in traffic. The flow of data to the DynamoDB table is becoming throttled.
The developer needs to implement a solution to eliminate the throttling and load the data into the DynamoDB table more consistently.
A. Refactor the Lambda function into two functions. Configure one function to transform the data and one function to load the data into the
DynamoDB table. Create an Amazon Simple Queue Service (Amazon SQS) queue in between the functions to hold the items as messages and
B. Turn on auto scaling for the DynamoDB table. Use Amazon CloudWatch to monitor the table's read and write capacity metrics and to track
consumed capacity.
C. Create an alias for the Lambda function. Configure provisioned concurrency for the application to use.
D. Refactor the Lambda function into two functions. Configure one function to store the data in the DynamoDB table. Configure the second
function to process the data and update the items after the data is stored in DynamoDB. Create a DynamoDB stream to invoke the second
Correct Answer: B
A developer is creating an AWS Lambda function in VPC mode. An Amazon S3 event will invoke the Lambda function when an object is uploaded
into an S3 bucket. The Lambda function will process the object and produce some analytic results that will be recorded into a file. Each processed
object will also generate a log entry that will be recorded into a file.
Other Lambda functions, AWS services, and on-premises resources must have access to the result files and log file. Each log entry must also be
appended to the same shared log file. The developer needs a solution that can share files and append results into an existing file.
A. Create an Amazon Elastic File System (Amazon EFS) file system. Mount the EFS file system in Lambda. Store the result files and log file in
the mount point. Append the log entries to the log file.
B. Create an Amazon Elastic Block Store (Amazon EBS) Multi-Attach enabled volume. Attach the EBS volume to all Lambda functions. Update
the Lambda function code to download the log file, append the log entries, and upload the modified log file to Amazon EBS.
C. Create a reference to the /tmp local directory. Store the result files and log file by using the directory reference. Append the log entry to the
log file.
D. Create a reference to the /opt storage directory. Store the result files and log file by using the directory reference. Append the log entry to
Correct Answer: A
A company has an AWS Lambda function that processes incoming requests from an Amazon API Gateway API. The API calls the Lambda function
by using a Lambda alias. A developer updated the Lambda function code to handle more details related to the incoming requests. The developer
wants to deploy the new Lambda function for more testing by other developers with no impact to customers that use the API.
Which solution will meet these requirements with the LEAST operational overhead?
A. Create a new version of the Lambda function. Create a new stage on API Gateway with integration to the new Lambda version. Use the new
B. Update the existing Lambda alias used by API Gateway to a weighted alias. Add the new Lambda version as an additional Lambda function
with a weight of 10%. Use the existing API Gateway stage for testing.
C. Create a new version of the Lambda function. Create and deploy a second Lambda function to filter incoming requests from API Gateway. If
the filtering Lambda function detects a test request, the filtering Lambda function will invoke the new Lambda version of the code. For other
requests, the filtering Lambda function will invoke the old Lambda version. Update the API Gateway API to use the filtering Lambda function.
D. Create a new version of the Lambda function. Create a new API Gateway API for testing purposes. Update the integration of the new API
with the new Lambda version. Use the new API for testing.
Correct Answer: C
A company uses AWS Lambda functions and an Amazon S3 trigger to process images into an S3 bucket. A development team set up multiple
After a recent production deployment, the development team observed that the development S3 buckets invoked the production environment
Lambda functions. These invocations caused unwanted execution of development S3 files by using production Lambda functions. The
development team must prevent these invocations. The team must follow security best practices.
A. Update the Lambda execution role for the production Lambda function to add a policy that allows the execution role to read from only the
B. Move the development and production environments into separate AWS accounts. Add a resource policy to each Lambda function to allow
only S3 buckets that are within the same account to invoke the function.
C. Add a resource policy to the production Lambda function to allow only the production environment S3 bucket to invoke the function.
D. Move the development and production environments into separate AWS accounts. Update the Lambda execution role for each function to
add a policy that allows the execution role to read from the S3 bucket that is within the same account.
Correct Answer: C
A developer is creating an application. New users of the application must be able to create an account and register by using their own social
media accounts.
Which AWS service or resource should the developer use to meet these requirements?
A. IAM role
Correct Answer: C
A social media application uses the AWS SDK for JavaScript on the frontend to get user credentials from AWS Security Token Service (AWS STS).
The application stores its assets in an Amazon S3 bucket. The application serves its content by using an Amazon CloudFront distribution with the
The credentials for the role that the application assumes to make the SDK calls are stored in plaintext in a JSON file within the application code.
The developer needs to implement a solution that will allow the application to get user credentials without having any credentials hardcoded in
A. Add a Lambda@Edge function to the distribution. Invoke the function on viewer request. Add permissions to the function's execution role to
allow the function to access AWS STS. Move all SDK calls from the frontend into the function.
B. Add a CloudFront function to the distribution. Invoke the function on viewer request. Add permissions to the function's execution role to
allow the function to access AWS STS. Move all SDK calls from the frontend into the function.
C. Add a Lambda@Edge function to the distribution. Invoke the function on viewer request. Move the credentials from the JSON file into the
function. Move all SDK calls from the frontend into the function.
D. Add a CloudFront function to the distribution. Invoke the function on viewer request. Move the credentials from the JSON file into the
function. Move all SDK calls from the frontend into the function.
Correct Answer: A
An ecommerce website uses an AWS Lambda function and an Amazon RDS for MySQL database for an order fulfillment service. The service
During a marketing campaign that caused an increase in the number of orders, the website's operations team noticed errors for “too many
connections” from Amazon RDS. However, the RDS DB cluster metrics are healthy. CPU and memory capacity are still available.
A. Initialize the database connection outside the handler function. Increase the max_user_connections value on the parameter group of the DB
B. Initialize the database connection outside the handler function. Use RDS Proxy instead of connecting directly to the DB cluster.
C. Use Amazon Simple Queue Service (Amazon SQS) FIFO queues to queue the orders. Ingest the orders into the database. Set the Lambda
function's concurrency to a value that equals the number of available database connections.
D. Use Amazon Simple Queue Service (Amazon SQS) FIFO queues to queue the orders. Ingest the orders into the database. Set the Lambda
function's concurrency to a value that is less than the number of available database connections.
Correct Answer: A
A company stores its data in data tables in a series of Amazon S3 buckets. The company received an alert that customer credit card information
might have been exposed in a data table on one of the company's public applications. A developer needs to identify all potential exposures within
A. Use Amazon Athena to run a job on the S3 buckets that contain the affected data. Filter the findings by using the
B. Use Amazon Macie to run a job on the S3 buckets that contain the affected data. Filter the findings by using the
C. Use Amazon Macie to run a job on the S3 buckets that contain the affected data. Filter the findings by using the
D. Use Amazon Athena to run a job on the S3 buckets that contain the affected data. Filter the findings by using the
Correct Answer: D
A software company is launching a multimedia application. The application will allow guest users to access sample content before the users
decide if they want to create an account to gain full access. The company wants to implement an authentication process that can identify users
who have already created an account. The company also needs to keep track of the number of guest users who eventually create an account.
A. Create an Amazon Cognito user pool. Configure the user pool to allow unauthenticated users. Exchange user tokens for temporary
B. Create an Amazon Cognito identity pool. Configure the identity pool to allow unauthenticated users. Exchange unique identity for temporary
C. Create an Amazon CloudFront distribution. Configure the distribution to allow unauthenticated users. Exchange user tokens for temporary
D. Create a role for authenticated users that allows access to all content. Create a role for unauthenticated users that allows access to only
E. Allow all users to access the sample content by default. Create a role for authenticated users that allows access to the other content.
Correct Answer: BE
A company is updating an application to move the backend of the application from Amazon EC2 instances to a serverless model. The application
uses an Amazon RDS for MySQL DB instance and runs in a single VPC on AWS. The application and the DB instance are deployed in a private
A. Create Lambda functions inside the VPC with the AWSLambdaBasicExecutionRole policy attached to the Lambda execution role. Modify
the RDS security group to allow inbound access from the Lambda security group.
B. Create Lambda functions inside the VPC with the AWSLambdaVPCAccessExecutionRole policy attached to the Lambda execution role.
Modify the RDS security group to allow inbound access from the Lambda security group.
C. Create Lambda functions with the AWSLambdaBasicExecutionRole policy attached to the Lambda execution role. Create an interface VPC
endpoint for the Lambda functions. Configure the interface endpoint policy to allow the lambda:InvokeFunclion action for each Lambda
D. Create Lambda functions with the AWSLambdaVPCAccessExecutionRole policy attached to the Lambda execution role. Create an interface
VPC endpoint for the Lambda functions. Configure the interface endpoint policy to allow the lambda:InvokeFunction action for each Lambda
Correct Answer: B
A company has a web application that runs on Amazon EC2 instances with a custom Amazon Machine Image (AMI). The company uses AWS
CloudFormation to provision the application. The application runs in the us-east-1 Region, and the company needs to deploy the application to the
us-west-1 Region.
An attempt to create the AWS CloudFormation stack in us-west-1 fails. An error message states that the AMI ID does not exist. A developer must
resolve this error with a solution that uses the least amount of operational overhead.
A. Change the AWS CloudFormation templates for us-east-1 and us-west-1 to use an AWS AMI. Relaunch the stack for both Regions.
B. Copy the custom AMI from us-east-1 to us-west-1. Update the AWS CloudFormation template for us-west-1 to refer to AMI ID for the copied
C. Build the custom AMI in us-west-1. Create a new AWS CloudFormation template to launch the stack in us-west-1 with the new AMI ID.
Correct Answer: B
A developer is updating several AWS Lambda functions and notices that all the Lambda functions share the same custom libraries. The developer
wants to centralize all the libraries, update the libraries in a convenient way, and keep the libraries versioned.
Which solution will meet these requirements with the LEAST development effort?
A. Create an AWS CodeArtifact repository that contains all the custom libraries.
B. Create a custom container image for the Lambda functions to save all the custom libraries.
D. Create an Amazon Elastic File System (Amazon EFS) file system to store all the custom libraries.
Correct Answer: D
A developer wants to use AWS Elastic Beanstalk to test a new version of an application in a test environment.
A. Immutable
B. Rolling
D. All at once
Correct Answer: D
A company is providing read access to objects in an Amazon S3 bucket for different customers. The company uses IAM permissions to restrict
access to the S3 bucket. The customers can access only their own files.
Due to a regulation requirement, the company needs to enforce encryption in transit for interactions with Amazon S3.
A. Add a bucket policy to the S3 bucket to deny S3 actions when the aws:SecureTransport condition is equal to false.
B. Add a bucket policy to the S3 bucket to deny S3 actions when the s3:x-amz-acl condition is equal to public-read.
C. Add an IAM policy to the IAM users to enforce the usage of the AWS SDK.
D. Add an IAM policy to the IAM users that allows S3 actions when the s3:x-amz-acl condition is equal to bucket-owner-read.
Correct Answer: D
A company has an image storage web application that runs on AWS. The company hosts the application on Amazon EC2 instances in an Auto
Scaling group. The Auto Scaling group acts as the target group for an Application Load Balancer (ALB) and uses an Amazon S3 bucket to store
The company wants to develop a feature to test system requests. The feature will direct requests to a separate target group that hosts a new beta
Which solution will meet this requirement with the LEAST effort?
A. Create a new Auto Scaling group and target group for the beta version of the application. Update the ALB routing rule with a condition that
looks for a cookie named version that has a value of beta. Update the test system code to use this cookie to test the beta version of the
application.
B. Create a new ALB, Auto Scaling group, and target group for the beta version of the application. Configure an alternate Amazon Route 53
record for the new ALB endpoint. Use the alternate Route 53 endpoint in the test system requests to test the beta version of the application.
C. Create a new ALB, Auto Scaling group, and target group for the beta version of the application. Use Amazon CloudFront with Lambda@Edge
to determine which specific request will go to the new ALB. Use the CloudFront endpoint to send the test system requests to test the beta
D. Create a new Auto Scaling group and target group for the beta version of the application. Update the ALB routing rule with a condition that
looks for a cookie named version that has a value of beta. Use Amazon CloudFront with Lambda@Edge to update the test system requests to
Correct Answer: D
A team is developing an application that is deployed on Amazon EC2 instances. During testing, the team receives an error. The EC2 instances are
Which steps should the team take to troubleshoot this issue? (Choose two.)
A. Check whether the policy that is assigned to the IAM role that is attached to the EC2 instances grants access to Amazon S3.
B. Check the S3 bucket policy to validate the access permissions for the S3 bucket.
C. Check whether the policy that is assigned to the IAM user that is attached to the EC2 instances grants access to Amazon S3.
D. Check the S3 Lifecycle policy to validate the permissions that are assigned to the S3 bucket.
E. Check the security groups that are assigned to the EC2 instances. Make sure that a rule is not blocking the access to Amazon S3.
Correct Answer: D E
A developer is working on an ecommerce website. The developer wants to review server logs without logging in to each of the application servers
individually. The website runs on multiple Amazon EC2 instances, is written in Python, and needs to be highly available.
How can the developer update the application to meet these requirements with MINIMUM changes?
A. Rewrite the application to be cloud native and to run on AWS Lambda, where the logs can be reviewed in Amazon CloudWatch.
B. Set up centralized logging by using Amazon OpenSearch Service, Logstash, and OpenSearch Dashboards.
C. Scale down the application to one larger EC2 instance where only one instance is recording logs.
D. Install the unified Amazon CloudWatch agent on the EC2 instances. Configure the agent to push the application logs to CloudWatch.
Correct Answer: D
A company is creating an application that processes .csv files from Amazon S3. A developer has created an S3 bucket. The developer has also
created an AWS Lambda function to process the .csv files from the S3 bucket.
Which combination of steps will invoke the Lambda function when a .csv file is uploaded to Amazon S3? (Choose two.)
A. Create an Amazon EventBridge rule. Configure the rule with a pattern to match the S3 object created event.
B. Schedule an Amazon EventBridge rule to run a new Lambda function to scan the S3 bucket.
C. Add a trigger to the existing Lambda function. Set the trigger type to EventBridge. Select the Amazon EventBridge rule.
D. Create a new Lambda function to scan the S3 bucket for recently added S3 objects.
Correct Answer: BD
A developer needs to build an AWS CloudFormation template that self-populates the AWS Region variable that deploys the CloudFormation
template.
What is the MOST operationally efficient way to determine the Region in which the template is being deployed?
C. Find the Region from the AWS::StackId pseudo parameter by using the Fn::Split intrinsic function.
D. Dynamically import the Region by referencing the relevant parameter in AWS Systems Manager Parameter Store.
Correct Answer: A
A company has hundreds of AWS Lambda functions that the company's QA team needs to test by using the Lambda function URLs. A developer
needs to configure the authentication of the Lambda functions to allow access so that the QA IAM group can invoke the Lambda functions by
A. Create a CLI script that loops on the Lambda functions to add a Lambda function URL with the AWS_IAM auth type. Run another script to
create an IAM identity-based policy that allows the lambda:InvokeFunctionUrl action to all the Lambda function Amazon Resource Names
B. Create a CLI script that loops on the Lambda functions to add a Lambda function URL with the NONE auth type. Run another script to create
an IAM resource-based policy that allows the lambda:InvokeFunctionUrl action to all the Lambda function Amazon Resource Names (ARNs).
C. Create a CLI script that loops on the Lambda functions to add a Lambda function URL with the AWS_IAM auth type. Run another script to
loop on the Lambda functions to create an IAM identity-based policy that allows the lambda:InvokeFunctionUrl action from the QA IAM group's
D. Create a CLI script that loops on the Lambda functions to add a Lambda function URL with the NONE auth type. Run another script to loop
on the Lambda functions to create an IAM resource-based policy that allows the lambda:InvokeFunctionUrl action from the QA IAM group's
Correct Answer: A
A developer maintains a critical business application that uses Amazon DynamoDB as the primary data store. The DynamoDB table contains
millions of documents and receives 30-60 requests each minute. The developer needs to perform processing in near-real time on the documents
How can the developer implement this feature with the LEAST amount of change to the existing application code?
A. Set up a cron job on an Amazon EC2 instance. Run a script every hour to query the table for changes and process the documents.
B. Enable a DynamoDB stream on the table. Invoke an AWS Lambda function to process the documents.
C. Update the application to send a PutEvents request to Amazon EventBridge. Create an EventBridge rule to invoke an AWS Lambda function
D. Update the application to synchronously process the documents directly after the DynamoDB write.
Correct Answer: B
A developer is writing an application for a company. The application will be deployed on Amazon EC2 and will use an Amazon RDS for Microsoft
SQL Server database. The company's security team requires that database credentials are rotated at least weekly.
How should the developer configure the database credentials for this application?
A. Create a database user. Store the user name and password in an AWS Systems Manager Parameter Store secure string parameter. Enable
rotation of the AWS Key Management Service (AWS KMS) key that is used to encrypt the parameter.
B. Enable IAM authentication for the database. Create a database user for use with IAM authentication. Enable password rotation.
C. Create a database user. Store the user name and password in an AWS Secrets Manager secret that has daily rotation enabled.
D. Use the EC2 user data to create a database user. Provide the user name and password in environment variables to the application.
Correct Answer: C
A real-time messaging application uses Amazon API Gateway WebSocket APIs with backend HTTP service. A developer needs to build a feature in
the application to identify a client that keeps connecting to and disconnecting from the WebSocket connection. The developer also needs the
Which combination of changes should the developer make to the application to meet these requirements? (Choose two.)
C. Use the callback URL to disconnect the client from the backend service.
D. Add code to track the client status in Amazon ElastiCache in the backend service.
Correct Answer: CD
A developer has written code for an application and wants to share it with other developers on the team to receive feedback. The shared
application code needs to be stored long-term with multiple versions and batch change tracking.
A. AWS CodeBuild
B. Amazon S3
C. AWS CodeCommit
D. AWS Cloud9
Correct Answer: C
A company's developer is building a static website to be deployed in Amazon S3 for a production environment. The website integrates with an
Amazon Aurora PostgreSQL database by using an AWS Lambda function. The website that is deployed to production will use a Lambda alias that
The company must rotate the database credentials every 2 weeks. Lambda functions that the company deployed previously must be able to use
A. Store the database credentials in AWS Secrets Manager. Turn on rotation. Write code in the Lambda function to retrieve the credentials
B. Include the database credentials as part of the Lambda function code. Update the credentials periodically and deploy the new Lambda
function.
C. Use Lambda environment variables. Update the environment variables when new credentials are available.
D. Store the database credentials in AWS Systems Manager Parameter Store. Turn on rotation. Write code in the Lambda function to retrieve
Correct Answer: A
A developer is developing an application that uses signed requests (Signature Version 4) to call other AWS services. The developer has created a
canonical request, has created the string to sign, and has calculated signing information.
Which methods could the developer use to complete a signed request? (Choose two.)
Correct Answer: AD
A company must deploy all its Amazon RDS DB instances by using AWS CloudFormation templates as part of AWS CodePipeline continuous
integration and continuous delivery (CI/CD) automation. The primary password for the DB instance must be automatically generated as part of the
deployment process.
Which solution will meet these requirements with the LEAST development effort?
A. Create an AWS Lambda-backed CloudFormation custom resource. Write Lambda code that generates a secure string. Return the value of
the secure string as a data field of the custom resource response object. Use the CloudFormation Fn::GetAtt intrinsic function to get the value
B. Use the AWS CodeBuild action of CodePipeline to generate a secure string by using the following AWS CLI command: aws secretsmanager
get-random-password. Pass the generated secure string as a CloudFormation parameter with the NoEcho attribute set to true. Use the
C. Create an AWS Lambda-backed CloudFormation custom resource. Write Lambda code that generates a secure string. Return the value of
the secure string as a data field of the custom resource response object. Use the CloudFormation Fn::GetAtt intrinsic function to get a value of
the secure string. Create secrets in AWS Secrets Manager. Use the secretsmanager dynamic reference to use the value stored in the secret to
D. Use the AWS::SecretsManager::Secret resource to generate a secure string. Store the secure string as a secret in AWS Secrets Manager.
Use the secretsmanager dynamic reference to use the value stored in the secret to create the DB instance.
Correct Answer: B
An organization is storing large files in Amazon S3, and is writing a web application to display meta-data about the files to end-users. Based on
the metadata a user selects an object to download. The organization needs a mechanism to index the files and provide single-digit millisecond
A. Amazon DynamoDB
B. Amazon EC2
C. AWS Lambda
D. Amazon RDS
Correct Answer: A
A developer is creating an AWS Serverless Application Model (AWS SAM) template. The AWS SAM template contains the definition of multiple
AWS Lambda functions, an Amazon S3 bucket, and an Amazon CloudFront distribution. One of the Lambda functions runs on Lambda@Edge in
the CloudFront distribution. The S3 bucket is configured as an origin for the CloudFront distribution.
When the developer deploys the AWS SAM template in the eu-west-1 Region, the creation of the stack fails.
D. The CloudFront distribution and the S3 bucket cannot be created in the same Region.
Correct Answer: C
A developer is integrating Amazon ElastiCache in an application. The cache will store data from a database. The cached data must populate real-
time dashboards.
A. A read-through cache
B. A write-behind cache
C. A lazy-loading cache
D. A write-through cache
Correct Answer: D
A developer is creating an AWS Lambda function. The Lambda function needs an external library to connect to a third-party solution. The external
library is a collection of files with a total size of 100 MB. The developer needs to make the external library available to the Lambda execution
Which solution will meet these requirements with the LEAST operational overhead?
A. Create a Lambda layer to store the external library. Configure the Lambda function to use the layer.
B. Create an Amazon S3 bucket. Upload the external library into the S3 bucket. Mount the S3 bucket folder in the Lambda function. Import the
C. Load the external library to the Lambda function's /tmp directory during deployment of the Lambda package. Import the library from the
/tmp directory.
D. Create an Amazon Elastic File System (Amazon EFS) volume. Upload the external library to the EFS volume. Mount the EFS volume in the
Lambda function. Import the library by using the proper folder in the mount point.
Correct Answer: C
A company has a front-end application that runs on four Amazon EC2 instances behind an Elastic Load Balancer (ELB) in a production
environment that is provisioned by AWS Elastic Beanstalk. A developer needs to deploy and test new application code while updating the Elastic
Beanstalk platform from the current version to a newer version of Node.js. The solution must result in zero downtime for the application.
A. Clone the production environment to a different platform version. Deploy the new application code, and test it. Swap the environment URLs
upon verification.
B. Deploy the new application code in an all-at-once deployment to the existing EC2 instances. Test the code. Redeploy the previous code if
verification fails.
C. Perform an immutable update to deploy the new application code to new EC2 instances. Serve traffic to the new instances after they pass
health checks.
D. Use a rolling deployment for the new application code. Apply the code to a subset of EC2 instances until the tests pass. Redeploy the
Correct Answer: D
A developer is creating an AWS Lambda function. The Lambda function will consume messages from an Amazon Simple Queue Service (Amazon
SQS) queue. The developer wants to integrate unit testing as part of the function's continuous integration and continuous delivery (CI/CD)
process.
A. Create an AWS CloudFormation template that creates an SQS queue and deploys the Lambda function. Create a stack from the template
during the CI/CD process. Invoke the deployed function. Verify the output.
B. Create an SQS event for tests. Use a test that consumes messages from the SQS queue during the function's Cl/CD process.
C. Create an SQS queue for tests. Use this SQS queue in the application's unit test. Run the unit tests during the CI/CD process.
D. Use the aws lambda invoke command with a test event during the CIICD process.
Correct Answer: D
A developer is working on a web application that uses Amazon DynamoDB as its data store. The application has two DynamoDB tables: one table
that is named artists and one table that is named songs. The artists table has artistName as the partition key. The songs table has songName as
The table usage patterns include the retrieval of multiple songs and artists in a single database operation from the webpage. The developer needs
a way to retrieve this information with minimal network traffic and optimal application performance.
A. Perform a BatchGetltem operation that returns items from the two tables. Use the list of songName/artistName keys for the songs table
B. Create a local secondary index (LSI) on the songs table that uses artistName as the partition key. Perform a query operation for each
artistName on the songs table that filters by the list of songName. Perform a query operation for each artistName on the artists table.
C. Perform a BatchGetitem operation on the songs table that uses the songName/artistName keys. Perform a BatchGetltem operation on the
D. Perform a Scan operation on each table that filters by the list of songName/artistName for the songs table and the list of artistName in the
artists table.
Correct Answer: A
A company is developing an ecommerce application that uses Amazon API Gateway APIs. The application uses AWS Lambda as a backend. The
company needs to test the code in a dedicated, monitored test environment before the company releases the code to the production environment.
A. Use a single stage in API Gateway. Create a Lambda function for each environment. Configure API clients to send a query parameter that
B. Use multiple stages in API Gateway. Create a single Lambda function for all environments. Add different code blocks for different
C. Use multiple stages in API Gateway. Create a Lambda function for each environment. Configure API Gateway stage variables to route traffic
D. Use a single stage in API Gateway. Configure API clients to send a query parameter that indicates the environment. Add different code
blocks for different environments in the Lambda function to match the value of the query parameter.
Correct Answer: C
A developer creates an AWS Lambda function that retrieves and groups data from several public API endpoints. The Lambda function has been
updated and configured to connect to the private subnet of a VPC. An internet gateway is attached to the VPC. The VPC uses the default network
The developer finds that the Lambda function can no longer access the public API. The developer has ensured that the public API is accessible,
A. Ensure that the network ACL allows outbound traffic to the public internet.
B. Ensure that the security group allows outbound traffic to the public internet.
C. Ensure that outbound traffic from the private subnet is routed to a public NAT gateway.
D. Ensure that outbound traffic from the private subnet is routed to a new internet gateway.
Correct Answer: A
A developer needs to store configuration variables for an application. The developer needs to set an expiration date and time for the configuration.
Which solution will meet these requirements with the LEAST operational overhead?
A. Create a standard parameter in AWS Systems Manager Parameter Store. Set Expiration and ExpirationNotification policy types.
B. Create a standard parameter in AWS Systems Manager Parameter Store. Create an AWS Lambda function to expire the configuration and to
C. Create an advanced parameter in AWS Systems Manager Parameter Store. Set Expiration and ExpirationNotification policy types.
D. Create an advanced parameter in AWS Systems Manager Parameter Store. Create an Amazon EC2 instance with a cron job to expire the
Correct Answer: D
A company is developing a serverless application that consists of various AWS Lambda functions behind Amazon API Gateway APIs. A developer
needs to automate the deployment of Lambda function code. The developer will deploy updated Lambda functions with AWS CodeDeploy. The
deployment must minimize the exposure of potential errors to end users. When the application is in production, the application cannot experience
Which deployment configuration will meet these requirements with the LEAST deployment time?
A. Use the AWS CodeDeploy in-place deployment configuration for the Lambda functions. Shift all traffic immediately after deployment.
B. Use the AWS CodeDeploy linear deployment configuration to shift 10% of the traffic every minute.
C. Use the AWS CodeDeploy all-at-once deployment configuration to shift all traffic to the updated versions immediately.
D. Use the AWS CodeDeploy predefined canary deployment configuration to shift 10% of the traffic immediately and shift the remaining traffic
after 5 minutes.
Correct Answer: A
A company created four AWS Lambda functions that connect to a relational database server that runs on an Amazon RDS instance. A security
team requires the company to automatically change the database password every 30 days.
A. Store the database credentials in the environment variables of the Lambda function. Deploy the Lambda function with the new credentials
every 30 days.
B. Store the database credentials in AWS Secrets Manager. Configure a 30-day rotation schedule for the credentials.
C. Store the database credentials in AWS Systems Manager Parameter Store secure strings. Configure a 30-day schedule for the secure
strings.
D. Store the database credentials in an Amazon S3 bucket that uses server-side encryption with customer-provided encryption keys (SSE-C).
Correct Answer: C
A developer is setting up a deployment pipeline. The pipeline includes an AWS CodeBuild build stage that requires access to a database to run
integration tests. The developer is using a buildspec.yml file to configure the database connection. Company policy requires automatic rotation of
A. Retrieve the credentials from variables that are hardcoded in the buildspec.yml file. Configure an AWS Lambda function to rotate the
credentials.
B. Retrieve the credentials from an environment variable that is linked to a SecureString parameter in AWS Systems Manager Parameter Store.
C. Retrieve the credentials from an environment variable that is linked to an AWS Secrets Manager secret. Configure Secrets Manager for
automatic rotation.
D. Retrieve the credentials from an environment variable that contains the connection string in plaintext. Configure an Amazon EventBridge
Correct Answer: A
A company is developing a serverless multi-tier application on AWS. The company will build the serverless logic tier by using Amazon API
While the company builds the logic tier, a developer who works on the frontend of the application must develop integration tests. The tests must
cover both positive and negative scenarios, depending on success and error HTTP status codes.
Which solution will meet these requirements with the LEAST effort?
A. Set up a mock integration for API methods in API Gateway. In the integration request from Method Execution, add simple logic to return
either a success or error based on HTTP status code. In the integration response, add messages that correspond to the HTTP status codes.
B. Create two mock integration resources for API methods in API Gateway. In the integration request, return a success HTTP status code for
one resource and an error HTTP status code for the other resource. In the integration response, add messages that correspond to the HTTP
status codes.
C. Create Lambda functions to perform tests. Add simple logic to return either success or error, based on the HTTP status codes. Build an API
Gateway Lambda integration. Select appropriate Lambda functions that correspond to the HTTP status codes.
D. Create a Lambda function to perform tests. Add simple logic to return either success or error-based HTTP status codes. Create a mock
integration in API Gateway. Select the Lambda function that corresponds to the HTTP status codes.
Correct Answer: C
Users are reporting errors in an application. The application consists of several microservices that are deployed on Amazon Elastic Container
Which combination of steps should a developer take to fix the errors? (Choose two.)
A. Deploy AWS X-Ray as a sidecar container to the microservices. Update the task role policy to allow access to the X-Ray API.
B. Deploy AWS X-Ray as a daemonset to the Fargate cluster. Update the service role policy to allow access to the X-Ray API.
C. Instrument the application by using the AWS X-Ray SDK. Update the application to use the PutXrayTrace API call to communicate with the
X-Ray API.
D. Instrument the application by using the AWS X-Ray SDK. Update the application to communicate with the X-Ray daemon.
E. Instrument the ECS task to send the stdout and stderr output to Amazon CloudWatch Logs. Update the task role policy to allow the
cloudwatch:PullLogs action.
Correct Answer: A
A developer is creating an application for a company. The application needs to read the file doc.txt that is placed in the root folder of an Amazon
S3 bucket that is named DOC-EXAMPLE-BUCKET. The company’s security team requires the principle of least privilege to be applied to the
A.
B.
C.
D.
Correct Answer: D
A company has an application that uses AWS CodePipeline to automate its continuous integration and continuous delivery (CI/CD) workflow. The
application uses AWS CodeCommit for version control. A developer who was working on one of the tasks did not pull the most recent changes
from the main branch. A week later, the developer noticed merge conflicts.
How can the developer resolve the merge conflicts in the developer's branch with the LEAST development effort?
A. Clone the repository. Create a new branch. Update the branch with the changes.
B. Create a new branch. Apply the changes from the previous branch.
C. Use the Commit Visualizer view to compare the commits when a feature was added. Fix the merge conflicts.
D. Stop the pull from the main branch to the feature branch. Rebase the feature branch from the main branch.
Correct Answer: D
A developer wants to add request validation to a production environment Amazon API Gateway API. The developer needs to test the changes
before the API is deployed to the production environment. For the test, the developer will send test requests to the API through a testing tool.
Which solution will meet these requirements with the LEAST operational overhead?
A. Export the existing API to an OpenAPI file. Create a new API. Import the OpenAPI file. Modify the new API to add request validation.
Perform the tests. Modify the existing API to add request validation. Deploy the existing API to production.
B. Modify the existing API to add request validation. Deploy the updated API to a new API Gateway stage. Perform the tests. Deploy the
C. Create a new API. Add the necessary resources and methods, including new request validation. Perform the tests. Modify the existing API
D. Clone the existing API. Modify the new API to add request validation. Perform the tests. Modify the existing API to add request validation.
Correct Answer: B
An online food company provides an Amazon API Gateway HTTP API to receive orders for partners. The API is integrated with an AWS Lambda
function. The Lambda function stores the orders in an Amazon DynamoDB table.
The company expects to onboard additional partners. Some of the partners require additional Lambda functions to receive orders. The company
has created an Amazon S3 bucket. The company needs to store all orders and updates in the S3 bucket for future analysis.
How can the developer ensure that all orders and updates are stored to Amazon S3 with the LEAST development effort?
A. Create a new Lambda function and a new API Gateway API endpoint. Configure the new Lambda function to write to the S3 bucket. Modify
the original Lambda function to post updates to the new API endpoint.
B. Use Amazon Kinesis Data Streams to create a new data stream. Modify the Lambda function to publish orders to the data stream.
C. Enable DynamoDB Streams on the DynamoDB table. Create a new Lambda function. Associate the stream’s Amazon Resource Name (ARN)
with the Lambda function. Configure the Lambda function to write to the S3 bucket as records appear in the table's stream.
D. Modify the Lambda function to publish to a new Amazon Simple Notification Service (Amazon SNS) topic as the Lambda function receives
orders. Subscribe a new Lambda function to the topic. Configure the new Lambda function to write to the S3 bucket as updates come through
the topic.
Correct Answer: C
A company’s website runs on an Amazon EC2 instance and uses Auto Scaling to scale the environment during peak times. Website users across
the world are experiencing high latency due to static content on the EC2 instance, even during non-peak hours.
Which combination of steps will resolve the latency issue? (Choose two.)
Correct Answer: DE
A company has an Amazon S3 bucket containing premier content that it intends to make available to only paid subscribers of its website. The S3
bucket currently has default permissions of all objects being private to prevent inadvertent exposure of the premier content to non-paying website
visitors.
How can the company limit the ability to download a premier content file in the S3 bucket to paid subscribers only?
A. Apply a bucket policy that allows anonymous users to download the content from the S3 bucket.
B. Generate a pre-signed object URL for the premier content file when a paid subscriber requests a download.
C. Add a bucket policy that requires multi-factor authentication for requests to access the S3 bucket objects.
D. Enable server-side encryption on the S3 bucket for data protection against the non-paying website visitors.
Correct Answer: B
A developer is creating an AWS Lambda function that searches for items from an Amazon DynamoDB table that contains customer contact
information. The DynamoDB table items have the customer’s email_address as the partition key and additional properties such as customer_type,
The Lambda function runs whenever a user types a new character into the customer_type text input. The developer wants the search to return
partial matches of all the email_address property of a particular customer_type. The developer does not want to recreate the DynamoDB table.
A. Add a global secondary index (GSI) to the DynamoDB table with customer_type as the partition key and email_address as the sort key.
Perform a query operation on the GSI by using the begins_with key condition expression with the email_address property.
B. Add a global secondary index (GSI) to the DynamoDB table with email_address as the partition key and customer_type as the sort key.
Perform a query operation on the GSI by using the begins_with key condition expression with the email_address property.
C. Add a local secondary index (LSI) to the DynamoDB table with customer_type as the partition key and email_address as the sort key.
Perform a query operation on the LSI by using the begins_with key condition expression with the email_address property.
D. Add a local secondary index (LSI) to the DynamoDB table with job_title as the partition key and email_address as the sort key. Perform a
query operation on the LSI by using the begins_with key condition expression with the email_address property.
Correct Answer: D
A developer is building an application that uses AWS API Gateway APIs, AWS Lambda functions, and AWS DynamoDB tables. The developer uses
the AWS Serverless Application Model (AWS SAM) to build and run serverless applications on AWS. Each time the developer pushes changes for
only to the Lambda functions, all the artifacts in the application are rebuilt.
The developer wants to implement AWS SAM Accelerate by running a command to only redeploy the Lambda functions that have changed.
C. sam package
Correct Answer: C
A developer is building an application that gives users the ability to view bank accounts from multiple sources in a single dashboard. The
developer has automated the process to retrieve API credentials for these sources. The process invokes an AWS Lambda function that is
The developer wants a solution that will store the API credentials with minimal operational overhead.
Which solution will meet these requirements in the MOST secure way?
A. Add an AWS Secrets Manager GenerateSecretString resource to the CloudFormation template. Set the value to reference new credentials
B. Use the AWS SDK ssm:PutParameter operation in the Lambda function from the existing custom resource to store the credentials as a
parameter. Set the parameter value to reference the new credentials. Set the parameter type to SecureString.
C. Add an AWS Systems Manager Parameter Store resource to the CloudFormation template. Set the CloudFormation resource value to
reference the new credentials. Set the resource NoEcho attribute to true.
D. Use the AWS SDK ssm:PutParameter operation in the Lambda function from the existing custom resource to store the credentials as a
parameter. Set the parameter value to reference the new credentials. Set the parameter NoEcho attribute to true.
Correct Answer: D
A developer is trying to get data from an Amazon DynamoDB table called demoman-table. The developer configured the AWS CLI to use a specific
A. The command is incorrect; it should be rewritten to use put-item with a string argument.
B. The developer needs to log a ticket with AWS Support to enable access to the demoman-table.
C. Amazon DynamoDB cannot be accessed from the AWS CLI and needs to be called via the REST API.
D. The IAM user needs an associated policy with read access to demoman-table.
Correct Answer: A
An organization is using Amazon CloudFront to ensure that its users experience low-latency access to its web application. The organization has
identified a need to encrypt all traffic between users and CloudFront, and all traffic between CloudFront and the web application.
A. Use AWS KMS to encrypt traffic between CloudFront and the web application.
D. Set the Viewer Protocol Policy to “HTTPS Only” or “Redirect HTTP to HTTPS”.
Correct Answer: BD
A developer is planning to migrate on-premises company data to Amazon S3. The data must be encrypted, and the encryption keys must support
automatic annual rotation. The company must use AWS Key Management Service (AWS KMS) to encrypt the data.
Which type of keys should the developer use to meet these requirements?
B. Symmetric customer managed keys with key material that is generated by AWS
C. Asymmetric customer managed keys with key material that is generated by AWS
Correct Answer: D
A team of developers is using an AWS CodePipeline pipeline as a continuous integration and continuous delivery (CI/CD) mechanism for a web
application. A developer has written unit tests to programmatically test the functionality of the application code. The unit tests produce a test
report that shows the results of each individual check. The developer now wants to run these tests automatically during the CI/CD process.
Which solution will meet this requirement with the LEAST operational effort?
A. Write a Git pre-commit hook that runs the tests before every commit. Ensure that each developer who is working on the project has the pre-
commit hook installed locally. Review the test report and resolve any issues before pushing changes to AWS CodeCommit.
B. Add a new stage to the pipeline. Use AWS CodeBuild as the provider. Add the new stage after the stage that deploys code revisions to the
test environment. Write a buildspec that fails the CodeBuild stage if any test does not pass. Use the test reports feature of CodeBuild to
integrate the report with the CodeBuild console. View the test results in CodeBuild. Resolve any issues.
C. Add a new stage to the pipeline. Use AWS CodeBuild as the provider. Add the new stage before the stage that deploys code revisions to the
test environment. Write a buildspec that fails the CodeBuild stage if any test does not pass. Use the test reports feature of CodeBuild to
integrate the report with the CodeBuild console. View the test results in CodeBuild. Resolve any issues.
D. Add a new stage to the pipeline. Use Jenkins as the provider. Configure CodePipeline to use Jenkins to run the unit tests. Write a
Jenkinsfile that fails the stage if any test does not pass. Use the test report plugin for Jenkins to integrate the report with the Jenkins
Correct Answer: D
A company has multiple Amazon VPC endpoints in the same VPC. A developer needs to configure an Amazon S3 bucket policy so users can
A. Create multiple S3 bucket polices by using each VPC endpoint ID that have the aws:SourceVpce value in the StringNotEquals condition.
B. Create a single S3 bucket policy that has the aws:SourceVpc value and in the StringNotEquals condition to use VPC ID.
C. Create a single S3 bucket policy that has the aws:SourceVpce value and in the StringNotEquals condition to use vpce*.
D. Create a single S3 bucket policy that has multiple aws:sourceVpce value in the StringNotEquals condition. Repeat for all the VPC endpoint
IDs.
Correct Answer: C
A company uses a custom root certificate authority certificate chain (Root CA Cert) that is 10 KB in size to generate SSL certificates for its on-
premises HTTPS endpoints. One of the company’s cloud-based applications has hundreds of AWS Lambda functions that pull data from these
endpoints. A developer updated the trust store of the Lambda execution environment to use the Root CA Cert when the Lambda execution
environment is initialized. The developer bundled the Root CA Cert as a text file in the Lambda deployment bundle.
After 3 months of development, the Root CA Cert is no longer valid and must be updated. The developer needs a more efficient solution to update
the Root CA Cert for all deployed Lambda functions. The solution must not include rebuilding or updating all Lambda functions that use the Root
CA Cert. The solution must also work for all development, testing, and production environments. Each environment is managed in a separate AWS
account.
Which combination of steps should the developer take to meet these requirements MOST cost-effectively? (Choose two.)
A. Store the Root CA Cert as a secret in AWS Secrets Manager. Create a resource-based policy. Add IAM users to allow access to the secret.
B. Store the Root CA Cert as a SecureString parameter in AWS Systems Manager Parameter Store. Create a resource-based policy. Add IAM
C. Store the Root CA Cert in an Amazon S3 bucket. Create a resource-based policy to allow access to the bucket.
D. Refactor the Lambda code to load the Root CA Cert from the Root CA Cert’s location. Modify the runtime trust store inside the Lambda
function handler.
E. Refactor the Lambda code to load the Root CA Cert from the Root CA Cert’s location. Modify the runtime trust store outside the Lambda
function handler.
Correct Answer: CE
A developer maintains applications that store several secrets in AWS Secrets Manager. The applications use secrets that have changed over time.
The developer needs to identify required secrets that are still in use. The developer does not want to cause any application downtime.
A. Configure an AWS CloudTrail log file delivery to an Amazon S3 bucket. Create an Amazon CloudWatch alarm for the GetSecretValue Secrets
B. Create a secretsmanager-secret-unused AWS Config managed rule. Create an Amazon EventBridge rule to initiate notifications when the
C. Deactivate the applications secrets and monitor the applications error logs temporarily.
D. Configure AWS X-Ray for the applications. Create a sampling rule to match the GetSecretValue Secrets Manager API operation requests.
Correct Answer: A
A developer is writing a serverless application that requires an AWS Lambda function to be invoked every 10 minutes.
A. Deploy an Amazon EC2 instance based on Linux, and edit its /etc/crontab file by adding a command to periodically invoke the Lambda
function.
B. Configure an environment variable named PERIOD for the Lambda function. Set the value to 600.
C. Create an Amazon EventBridge rule that runs on a regular schedule to invoke the Lambda function.
D. Create an Amazon Simple Notification Service (Amazon SNS) topic that has a subscription to the Lambda function with a 600-second timer.
Correct Answer: C
A company is using Amazon OpenSearch Service to implement an audit monitoring system. A developer needs to create an AWS CloudFormation
custom resource that is associated with an AWS Lambda function to configure the OpenSearch Service domain. The Lambda function must
access the OpenSearch Service domain by using OpenSearch Service internal master user credentials.
What is the MOST secure way to pass these credentials to the Lambda function?
A. Use a CloudFormation parameter to pass the master user credentials at deployment to the OpenSearch Service domain’s
MasterUserOptions and the Lambda function’s environment variable. Set the NoEcho attribute to true.
B. Use a CloudFormation parameter to pass the master user credentials at deployment to the OpenSearch Service domain’s
MasterUserOptions and to create a parameter in AWS Systems Manager Parameter Store. Set the NoEcho attribute to true. Create an IAM role
that has the ssm:GetParameter permission. Assign the role to the Lambda function. Store the parameter name as the Lambda function’s
C. Use a CloudFormation parameter to pass the master user credentials at deployment to the OpenSearch Service domain’s
MasterUserOptions and the Lambda function’s environment variable. Encrypt the parameter’s value by using the AWS Key Management
D. Use CloudFormation to create an AWS Secrets Manager secret. Use a CloudFormation dynamic reference to retrieve the secret’s value for
the OpenSearch Service domain’s MasterUserOptions. Create an IAM role that has the secretsmanager:GetSecretValue permission. Assign the
role to the Lambda function. Store the secret’s name as the Lambda function’s environment variable. Resolve the secret’s value at runtime.
Correct Answer: D
Where is the session data best written so that it can be served reliably across multiple requests?
Correct Answer: A
An ecommerce application is running behind an Application Load Balancer. A developer observes some unexpected load on the application during
non-peak hours. The developer wants to analyze patterns for the client IP addresses that use the application.
Which HTTP header should the developer use for this analysis?
Correct Answer: A
A developer migrated a legacy application to an AWS Lambda function. The function uses a third-party service to pull data with a series of API
calls at the end of each month. The function then processes the data to generate the monthly reports. The function has been working with no
issues so far.
The third-party service recently issued a restriction to allow a fixed number of API calls each minute and each day. If the API calls exceed the limit
for each minute or each day, then the service will produce errors. The API also provides the minute limit and daily limit in the response header.
This restriction might extend the overall process to multiple days because the process is consuming more API calls than the available limit.
What is the MOST operationally efficient way to refactor the serverless application to accommodate this change?
A. Use an AWS Step Functions state machine to monitor API failures. Use the Wait state to delay calling the Lambda function.
B. Use an Amazon Simple Queue Service (Amazon SQS) queue to hold the API calls. Configure the Lambda function to poll the queue within
C. Use an Amazon CloudWatch Logs metric to count the number of API calls. Configure an Amazon CloudWatch alarm that stops the currently
running instance of the Lambda function when the metric exceeds the API threshold limits.
D. Use Amazon Kinesis Data Firehose to batch the API calls and deliver them to an Amazon S3 bucket with an event notification to invoke the
Lambda function.
Correct Answer: B
A developer must analyze performance issues with production-distributed applications written as AWS Lambda functions. These distributed
How should the developer identify and troubleshoot the root cause of the performance issues in production?
A. Add logging statements to the Lambda functions, then use Amazon CloudWatch to view the logs.
Correct Answer: C
A developer wants to deploy a new version of an AWS Elastic Beanstalk application. During deployment, the application must maintain full
capacity and avoid service interruption. Additionally, the developer must minimize the cost of additional resources that support the deployment.
Which deployment method should the developer use to meet these requirements?
A. All at once
C. Blue/green
D. Immutable
Correct Answer: B
A developer has observed an increase in bugs in the AWS Lambda functions that a development team has deployed in its Node.js application. To
minimize these bugs, the developer wants to implement automated testing of Lambda functions in an environment that closely simulates the
Lambda environment.
The developer needs to give other developers the ability to run the tests locally. The developer also needs to integrate the tests into the team’s
continuous integration and continuous delivery (CI/CD) pipeline before the AWS Cloud Development Kit (AWS CDK) deployment.
A. Create sample events based on the Lambda documentation. Create automated test scripts that use the cdk local invoke command to
invoke the Lambda functions. Check the response. Document the test scripts for the other developers on the team. Update the CI/CD pipeline
B. Install a unit testing framework that reproduces the Lambda execution environment. Create sample events based on the Lambda
documentation. Invoke the handler function by using a unit testing framework. Check the response. Document how to run the unit testing
framework for the other developers on the team. Update the CI/CD pipeline to run the unit testing framework.
C. Install the AWS Serverless Application Model (AWS SAM) CLI tool. Use the sam local generate-event command to generate sample events
for the automated tests. Create automated test scripts that use the sam local invoke command to invoke the Lambda functions. Check the
response. Document the test scripts for the other developers on the team. Update the CI/CD pipeline to run the test scripts.
D. Create sample events based on the Lambda documentation. Create a Docker container from the Node.js base image to invoke the Lambda
functions. Check the response. Document how to run the Docker container for the other developers on the team. Update the CI/CD pipeline to
Correct Answer: B
A developer is troubleshooting an application that uses Amazon DynamoDB in the us-west-2 Region. The application is deployed to an Amazon
EC2 instance. The application requires read-only permissions to a table that is named Cars. The EC2 instance has an attached IAM role that
When the application tries to read from the Cars table, an Access Denied error occurs.
C. Create a trust policy that specifies the EC2 service principal. Associate the role with the policy.
Correct Answer: D
When using the AWS Encryption SDK, how does the developer keep track of the data encryption keys used to encrypt data?
A. The developer must manually keep track of the data encryption keys used for each data object.
B. The SDK encrypts the data encryption key and stores it (encrypted) as part of the returned ciphertext.
C. The SDK stores the data encryption keys automatically in Amazon S3.
D. The data encryption key is stored in the Userdata for the EC2 instance.
Correct Answer: C
An application that runs on AWS Lambda requires access to specific highly confidential objects in an Amazon S3 bucket. In accordance with the
principle of least privilege, a company grants access to the S3 bucket by using only temporary credentials.
How can a developer configure access to the S3 bucket in the MOST secure way?
A. Hardcode the credentials that are required to access the S3 objects in the application code. Use the credentials to access the required S3
objects.
B. Create a secret access key and access key ID with permission to access the S3 bucket. Store the key and key ID in AWS Secrets Manager.
Configure the application to retrieve the Secrets Manager secret and use the credentials to access the S3 objects.
C. Create a Lambda function execution role. Attach a policy to the role that grants access to specific objects in the S3 bucket.
D. Create a secret access key and access key ID with permission to access the S3 bucket. Store the key and key ID as environment variables in
Correct Answer: D
A developer has code that is stored in an Amazon S3 bucket. The code must be deployed as an AWS Lambda function across multiple accounts in
the same AWS Region as the S3 bucket. An AWS CloudFormation template that runs for each account will deploy the Lambda function.
What is the MOST secure way to allow CloudFormation to access the Lambda code in the S3 bucket?
A. Grant the CloudFormation service role the S3 ListBucket and GetObject permissions. Add a bucket policy to Amazon S3 with the principal
B. Grant the CloudFormation service role the S3 GetObject permission. Add a bucket policy to Amazon S3 with the principal of “*”.
C. Use a service-based link to grant the Lambda function the S3 ListBucket and GetObject permissions by explicitly adding the S3 bucket’s
D. Use a service-based link to grant the Lambda function the S3 GetObject permission. Add a resource of “*” to allow access to the S3 bucket.
Correct Answer: A
A developer at a company needs to create a small application that makes the same API call once each day at a designated time. The company
does not have infrastructure in the AWS Cloud yet, but the company wants to implement this functionality on AWS.
Which solution meets these requirements in the MOST operationally efficient manner?
A. Use a Kubernetes cron job that runs on Amazon Elastic Kubernetes Service (Amazon EKS).
B. Use an Amazon Linux crontab scheduled job that runs on Amazon EC2.
C. Use an AWS Lambda function that is invoked by an Amazon EventBridge scheduled event.
D. Use an AWS Batch job that is submitted to an AWS Batch job queue.
Correct Answer: C
A developer is building a serverless application that is based on AWS Lambda. The developer initializes the AWS software development kit (SDK)
Correct Answer: B
A company is using Amazon RDS as the backend database for its application. After a recent marketing campaign, a surge of read requests to the
database increased the latency of data retrieval from the database. The company has decided to implement a caching layer in front of the
database. The cached content must be encrypted and must be highly available.
A. Amazon CloudFront
Correct Answer: C
A developer at a company recently created a serverless application to process and show data from business reports. The application’s user
interface (UI) allows users to select and start processing the files. The UI displays a message when the result is available to view. The application
uses AWS Step Functions with AWS Lambda functions to process the files. The developer used Amazon API Gateway and Lambda functions to
The company’s UI team reports that the request to process a file is often returning timeout errors because of the size or complexity of the files.
The UI team wants the API to provide an immediate response so that the UI can display a message while the files are being processed. The
backend process that is invoked by the API needs to send an email message when the report processing is complete.
What should the developer do to configure the API to meet these requirements?
A. Change the API Gateway route to add an X-Amz-Invocation-Type header with a static value of ‘Event’ in the integration request. Deploy the
B. Change the configuration of the Lambda function that implements the request to process a file. Configure the maximum age of the event so
C. Change the API Gateway timeout value to match the Lambda function timeout value. Deploy the API Gateway stage to apply the changes.
D. Change the API Gateway route to add an X-Amz-Target header with a static value of ‘Async’ in the integration request. Deploy the API
Correct Answer: A
A developer has an application that is composed of many different AWS Lambda functions. The Lambda functions all use some of the same
dependencies. To avoid security issues, the developer is constantly updating the dependencies of all of the Lambda functions. The result is
How can the developer keep the dependencies of the Lambda functions up to date with the LEAST additional complexity?
A. Define a maintenance window for the Lambda functions to ensure that the functions get updated copies of the dependencies.
Correct Answer: C
A mobile app stores blog posts in an Amazon DynamoDB table. Millions of posts are added every day, and each post represents a single item in
the table. The mobile app requires only recent posts. Any post that is older than 48 hours can be removed.
What is the MOST cost-effective way to delete posts that are older than 48 hours?
A. For each item, add a new attribute of type String that has a timestamp that is set to the blog post creation time. Create a script to find old
posts with a table scan and remove posts that are older than 48 hours by using the BatchWriteItem API operation. Schedule a cron job on an
B. For each item, add a new attribute of type String that has a timestamp that is set to the blog post creation time. Create a script to find old
posts with a table scan and remove posts that are older than 48 hours by using the BatchWriteItem API operation. Place the script in a
container image. Schedule an Amazon Elastic Container Service (Amazon ECS) task on AWS Fargate that invokes the container every 5
minutes.
C. For each item, add a new attribute of type Date that has a timestamp that is set to 48 hours after the blog post creation time. Create a
global secondary index (GSI) that uses the new attribute as a sort key. Create an AWS Lambda function that references the GSI and removes
expired items by using the BatchWriteItem API operation. Schedule the function with an Amazon CloudWatch event every minute.
D. For each item, add a new attribute of type Number that has a timestamp that is set to 48 hours after the blog post creation time. Configure
the DynamoDB table with a TTL that references the new attribute.
Correct Answer: B
A developer is modifying an existing AWS Lambda function. While checking the code, the developer notices hardcoded parameter values for an
Amazon RDS for SQL Server user name, password, database, host, and port. There are also hardcoded parameter values for an Amazon
DynamoDB table, an Amazon S3 bucket, and an Amazon Simple Notification Service (Amazon SNS) topic.
The developer wants to securely store the parameter values outside the code in an encrypted format and wants to turn on rotation for the
credentials. The developer also wants to be able to reuse the parameter values from other applications and to update the parameter values
Which solution will meet these requirements with the LEAST operational overhead?
A. Create an RDS database secret in AWS Secrets Manager. Set the user name, password, database, host, and port. Turn on secret rotation.
Create encrypted Lambda environment variables for the DynamoDB table, S3 bucket, and SNS topic.
B. Create an RDS database secret in AWS Secrets Manager. Set the user name, password, database, host, and port. Turn on secret rotation.
Create SecureString parameters in AWS Systems Manager Parameter Store for the DynamoDB table, S3 bucket, and SNS topic.
C. Create RDS database parameters in AWS Systems Manager Parameter Store for the user name, password, database, host, and port. Create
encrypted Lambda environment variables for the DynamoDB table, S3 bucket, and SNS topic. Create a Lambda function and set the logic for
the credentials rotation task. Schedule the credentials rotation task in Amazon EventBridge.
D. Create RDS database parameters in AWS Systems Manager Parameter Store for the user name, password, database, host, and port. Store
the DynamoDB table, S3 bucket, and SNS topic in Amazon S3. Create a Lambda function and set the logic for the credentials rotation. Invoke
Correct Answer: B
A developer accesses AWS CodeCommit over SSH. The SSH keys configured to access AWS CodeCommit are tied to a user with the following
permissions:
Which specific IAM permissions need to be added, based on the principle of least privilege?
A. "codecommit:CreateBranch"
"codecommit:DeleteBranch"
B. "codecommit:Put*"
C. "codecommit:Update*"
D. "codecommit:*"
Correct Answer: B
An application that is deployed to Amazon EC2 is using Amazon DynamoDB. The application calls the DynamoDB REST API. Periodically, the
application receives a ProvisionedThroughputExceededException error when the application writes to a DynamoDB table.
Which solutions will mitigate this error MOST cost-effectively? (Choose two.)
A. Modify the application code to perform exponential backoff when the error is received.
E. Create a second DynamoDB table. Distribute the reads and writes between the two tables.
Correct Answer: AB
When a developer tries to run an AWS CodeBuild project, it raises an error because the length of all environment variables exceeds the limit for the
A. Add the export LC_ALL="en_US.utf8" command to the pre_build section to ensure POSIX localization.
B. Use Amazon Cognito to store key-value pairs for large numbers of environment variables.
C. Update the settings for the build project to use an Amazon S3 bucket for large numbers of environment variables.
D. Use AWS Systems Manager Parameter Store to store large numbers of environment variables.
Correct Answer: D
A company is expanding the compatibility of its photo-sharing mobile app to hundreds of additional devices with unique screen dimensions and
resolutions. Photos are stored in Amazon S3 in their original format and resolution. The company uses an Amazon CloudFront distribution to
serve the photos. The app includes the dimension and resolution of the display as GET parameters with every request.
A developer needs to implement a solution that optimizes the photos that are served to each device to reduce load time and increase photo
quality.
A. Use S3 Batch Operations to invoke an AWS Lambda function to create new variants of the photos with the required dimensions and
resolutions. Create a dynamic CloudFront origin that automatically maps the request of each device to the corresponding photo variant.
B. Use S3 Batch Operations to invoke an AWS Lambda function to create new variants of the photos with the required dimensions and
resolutions. Create a Lambda@Edge function to route requests to the corresponding photo variant by using request headers.
C. Create a Lambda@Edge function that optimizes the photos upon request and returns the photos as a response. Change the CloudFront TTL
D. Create a Lambda@Edge function that optimizes the photos upon request and returns the photos as a response. In the same function, store
Correct Answer: D
A company is building an application for stock trading. The application needs sub-millisecond latency for processing trade requests. The company
uses Amazon DynamoDB to store all the trading data that is used to process each trading request.
A development team performs load testing on the application and finds that the data retrieval time is higher than expected. The development team
needs a solution that reduces the data retrieval time with the least possible effort.
B. Store the trading data in Amazon S3, and use S3 Transfer Acceleration.
Correct Answer: D
A developer is working on a Python application that runs on Amazon EC2 instances. The developer wants to enable tracing of application requests
Which combination of actions should the developer take to achieve this goal? (Choose two.)
E. Install and configure the AWS X-Ray SDK for Python in the application.
Correct Answer: CE
A company has an application that runs as a series of AWS Lambda functions. Each Lambda function receives data from an Amazon Simple
Notification Service (Amazon SNS) topic and writes the data to an Amazon Aurora DB instance.
To comply with an information security policy, the company must ensure that the Lambda functions all use a single securely encrypted database
A. Use IAM database authentication for Aurora to enable secure database connections for all the Lambda functions.
B. Store the credentials and read the credentials from an encrypted Amazon RDS DB instance.
C. Store the credentials in AWS Systems Manager Parameter Store as a secure string parameter.
D. Use Lambda environment variables with a shared AWS Key Management Service (AWS KMS) key for encryption.
Correct Answer: D
A developer is troubleshooting an Amazon API Gateway API. Clients are receiving HTTP 400 response errors when the clients try to access an
A. Create an Amazon Kinesis Data Firehose delivery stream to receive API call logs from API Gateway. Configure Amazon CloudWatch Logs as
B. Turn on AWS CloudTrail Insights and create a trail. Specify the Amazon Resource Name (ARN) of the trail for the stage of the API.
C. Turn on AWS X-Ray for the API stage. Create an Amazon CloudWatch Logs log group. Specify the Amazon Resource Name (ARN) of the log
D. Turn on execution logging and access logging in Amazon CloudWatch Logs for the API stage. Create a CloudWatch Logs log group. Specify
the Amazon Resource Name (ARN) of the log group for the API stage.
Correct Answer: A
A company developed an API application on AWS by using Amazon CloudFront, Amazon API Gateway, and AWS Lambda. The API has a minimum
of four requests every second. A developer notices that many API users run the same query by using the POST method. The developer wants to
A. Configure the CloudFront cache. Update the application to return cached content based upon the default request headers.
B. Override the cache method in the selected stage of API Gateway. Select the POST method.
C. Save the latest request response in Lambda /tmp directory. Update the Lambda function to check the /tmp directory.
D. Save the latest request in AWS Systems Manager Parameter Store. Modify the Lambda function to take the latest request response from
Parameter Store.
Correct Answer: B
A company is building a microservices application that consists of many AWS Lambda functions. The development team wants to use AWS
Serverless Application Model (AWS SAM) templates to automatically test the Lambda functions. The development team plans to test a small
percentage of traffic that is directed to new updates before the team commits to a full deployment of the application.
Which combination of steps will meet these requirements in the MOST operationally efficient way? (Choose two.)
A. Use AWS SAM CLI commands in AWS CodeDeploy to invoke the Lambda functions to test the deployment.
B. Declare the EventInvokeConfig on the Lambda functions in the AWS SAM templates with OnSuccess and OnFailure configurations.
D. Set the deployment preference type to Canary10Percent30Minutes. Use hooks to test the deployment.
E. Set the deployment preference type to Linear10PercentEvery10Minutes. Use hooks to test the deployment.
Correct Answer: BD
A company is using AWS CloudFormation to deploy a two-tier application. The application will use Amazon RDS as its backend database. The
company wants a solution that will randomly generate the database password during deployment. The solution also must automatically rotate the
What is the MOST operationally efficient solution that meets these requirements?
A. Use an AWS Lambda function as a CloudFormation custom resource to generate and rotate the password.
B. Use an AWS Systems Manager Parameter Store resource with the SecureString data type to generate and rotate the password.
C. Use a cron daemon on the application’s host to generate and rotate the password.
D. Use an AWS Secrets Manager resource to generate and rotate the password.
Correct Answer: D
A developer has been asked to create an AWS Lambda function that is invoked any time updates are made to items in an Amazon DynamoDB
table. The function has been created, and appropriate permissions have been added to the Lambda execution role. Amazon DynamoDB streams
have been enabled for the table, but the function is still not being invoked.
Which option would enable DynamoDB table updates to invoke the Lambda function?
A. Change the StreamViewType parameter value to NEW_AND_OLD_IMAGES for the DynamoDB table.
C. Map an Amazon Simple Notification Service (Amazon SNS) topic to the DynamoDB streams.
Correct Answer: B
A developer needs to deploy an application running on AWS Fargate using Amazon ECS. The application has environment variables that must be
A. Define an array that includes the environment variables under the environment parameter within the service definition.
B. Define an array that includes the environment variables under the environment parameter within the task definition.
C. Define an array that includes the environment variables under the entryPoint parameter within the task definition.
D. Define an array that includes the environment variables under the entryPoint parameter within the service definition.
Correct Answer: A
A development team maintains a web application by using a single AWS RDS, template. The template defines web servers and an Amazon RDS
database. The team uses the CloudFormation template to deploy the CloudFormation stack to different environments.
During a recent application deployment, a developer caused the primary development database to be dropped and recreated. The result of this
incident was a loss of data. The team needs to avoid accidental database deletion in the future.
A. Add a CloudFormation DeletionPolicy attribute with the Retain value to the database resource.
D. Create a CloudFormation stack set for the web application and database deployments.
E. Add a CloudFormation DeletionPolicy attribute with the Retain value to the stack.
Correct Answer: AB
A developer is storing sensitive data generated by an application in Amazon S3. The developer wants to encrypt the data at rest. A company policy
requires an audit trail of when the AWS Key Management Service (AWS KMS) key was used and by whom.
Correct Answer: B
A company has an ecommerce application. To track product reviews, the company’s development team uses an Amazon DynamoDB table.
• A Product ID and User ID, 16-digit UUIDs that reference other tables
The table partition key is the Review ID. The most performed query against the table is to find the 10 reviews with the highest rating for a given
product.
Which index will provide the FASTEST response for this query?
A. A global secondary index (GSI) with Product ID as the partition key and Product Rating as the sort key
B. A global secondary index (GSI) with Product ID as the partition key and Review ID as the sort key
C. A local secondary index (LSI) with Product ID as the partition key and Product Rating as the sort key
D. A local secondary index (LSI) with Review ID as the partition key and Product ID as the sort key
Correct Answer: B
A company needs to distribute firmware updates to its customers around the world.
Which service will allow easy and secure control of the access to the downloads at the lowest cost?
D. Use Amazon API Gateway and AWS Lambda to control access to an S3 bucket.
Correct Answer: A
A developer is testing an application that invokes an AWS Lambda function asynchronously. During the testing phase, the Lambda function fails to
B. Configure Dead Letter Queues by sending events to Amazon SQS for investigation.
C. Configure Amazon Simple Workflow Service to process any direct unprocessed events.
Correct Answer: B
A company is migrating its PostgreSQL database into the AWS Cloud. The company wants to use a database that will secure and regularly rotate
database credentials. The company wants a solution that does not require additional programming overhead.
A. Use Amazon Aurora PostgreSQL for the database. Store the database credentials in AWS Systems Manager Parameter Store. Turn on
rotation.
B. Use Amazon Aurora PostgreSQL for the database. Store the database credentials in AWS Secrets Manager. Turn on rotation.
C. Use Amazon DynamoDB for the database. Store the database credentials in AWS Systems Manager Parameter Store. Turn on rotation.
D. Use Amazon DynamoDB for the database. Store the database credentials in AWS Secrets Manager. Turn on rotation.
Correct Answer: C
A developer is creating a mobile application that will not require users to log in.
What is the MOST efficient method to grant users access to AWS resources?
B. Create an AWS Lambda function to create an IAM user when a user accesses the application.
C. Create credentials using AWS KMS and apply these credentials to users when using the application.
D. Use Amazon Cognito to associate unauthenticated users with an IAM role that has limited access to resources.
Correct Answer: D
A company has developed a new serverless application using AWS Lambda functions that will be deployed using the AWS Serverless Application
Which step should the developer complete prior to deploying the application?
A. Compress the application to a .zip file and upload it into AWS Lambda.
B. Test the new AWS Lambda function by first tracing it in AWS X-Ray.
Correct Answer: B
A company wants to automate part of its deployment process. A developer needs to automate the process of checking for and deleting unused
resources that supported previously deployed stacks but that are no longer used.
The company has a central application that uses the AWS Cloud Development Kit (AWS CDK) to manage all deployment stacks. The stacks are
spread out across multiple accounts. The developer’s solution must integrate as seamlessly as possible within the current deployment process.
Which solution will meet these requirements with the LEAST amount of configuration?
A. In the central AWS CDK application, write a handler function in the code that uses AWS SDK calls to check for and delete unused resources.
Create an AWS CloudFormation template from a JSON file. Use the template to attach the function code to an AWS Lambda function and to
B. In the central AWS CDK application, write a handler function in the code that uses AWS SDK calls to check for and delete unused resources.
Create an AWS CDK custom resource. Use the custom resource to attach the function code to an AWS Lambda function and to invoke the
C. In the central AWS CDK, write a handler function in the code that uses AWS SDK calls to check for and delete unused resources. Create an
API in AWS Amplify. Use the API to attach the function code to an AWS Lambda function and to invoke the Lambda function when the
D. In the AWS Lambda console, write a handler function in the code that uses AWS SDK calls to check for and delete unused resources. Create
an AWS CDK custom resource. Use the custom resource to import the Lambda function into the stack and to invoke the Lambda function
Correct Answer: B
A company built a new application in the AWS Cloud. The company automated the bootstrapping of new resources with an Auto Scaling group by
using AWS CloudFormation templates. The bootstrap scripts contain sensitive data.
The company needs a solution that is integrated with CloudFormation to manage the sensitive data in the bootstrap scripts.
Which solution will meet these requirements in the MOST secure way?
A. Put the sensitive data into a CloudFormation parameter. Encrypt the CloudFormation templates by using an AWS Key Management Service
B. Put the sensitive data into an Amazon S3 bucket. Update the CloudFormation templates to download the object from Amazon S3 during
bootstrap.
C. Put the sensitive data into AWS Systems Manager Parameter Store as a secure string parameter. Update the CloudFormation templates to
D. Put the sensitive data into Amazon Elastic File System (Amazon EFS). Enforce EFS encryption after file system creation. Update the
Correct Answer: D
A company needs to set up secure database credentials for all its AWS Cloud resources. The company’s resources include Amazon RDS DB
instances, Amazon DocumentDB clusters, and Amazon Aurora DB instances. The company’s security policy mandates that database credentials
A. Set up IAM database authentication for token-based access. Generate user tokens to provide centralized access to RDS DB instances,
B. Create parameters for the database credentials in AWS Systems Manager Parameter Store. Set the Type parameter to SecureString. Set up
C. Store the database access credentials as an encrypted Amazon S3 object in an S3 bucket. Block all public access on the S3 bucket. Use S3
D. Create an AWS Lambda function by using the SecretsManagerRotationTemplate template in the AWS Secrets Manager console. Create
secrets for the database credentials in Secrets Manager. Set up secrets rotation on a schedule.
Correct Answer: C
A developer has created an AWS Lambda function that makes queries to an Amazon Aurora MySQL DB instance. When the developer performs a
Which solution will meet these requirements with the LEAST operational effort?
A. Create a read replica for the DB instance. Query the replica DB instance instead of the primary DB instance.
D. Create a proxy in Amazon RDS Proxy. Query the proxy instead of the DB instance.
Correct Answer: D
A developer is creating a new REST API by using Amazon API Gateway and AWS Lambda. The development team tests the API and validates
responses for the known use cases before deploying the API to the production environment.
The developer wants to make the REST API available for testing by using API Gateway locally.
Which AWS Serverless Application Model Command Line Interface (AWS SAM CLI) subcommand will meet these requirements?
Correct Answer: D
A company has a serverless application on AWS that uses a fleet of AWS Lambda functions that have aliases. The company regularly publishes
new Lambda function by using an in-house deployment solution. The company wants to improve the release process and to use traffic shifting. A
newly published function version should initially make available only to a fixed percentage of production users.
A. Configure routing on the alias of the new function by using a weighted alias.
Correct Answer: B
A company has an application that stores data in Amazon RDS instances. The application periodically experiences surges of high traffic that
cause performance problems. During periods of peak traffic, a developer notices a reduction in query speed in all database queries.
The team’s technical lead determines that a multi-threaded and scalable caching solution should be used to offload the heavy read traffic. The
Which solution will meet these requirements with the LEAST complexity?
A. Use Amazon ElastiCache for Memcached to offload read requests from the main database.
C. Configure the Amazon RDS instances to use Multi-AZ deployment with one standby instance. Offload read requests from the main database
D. Use Amazon ElastiCache for Redis to offload read requests from the main database.
Correct Answer: A
A developer must provide an API key to an AWS Lambda function to authenticate with a third-party system. The Lambda function will run on a
schedule. The developer needs to ensure that the API key remains encrypted at rest.
A. Store the API key as a Lambda environment variable by using an AWS Key Management Service (AWS KMS) customer managed key.
B. Configure the application to prompt the user to provide the password to the Lambda function on the first run.
Correct Answer: C
An IT department uses Amazon S3 to store sensitive images. After more than 1 year, the company moves the images into archival storage. The
company rarely accesses the images, but the company wants a storage solution that maximizes resiliency. The IT department needs access to the
A. Use S3 Standard-Infrequent Access (S3 Standard-IA) to store the images. Use S3 Glacier Deep Archive with standard retrieval to store and
B. Use S3 Standard-Infrequent Access (S3 Standard-IA) to store the images. Use S3 Glacier Deep Archive with bulk retrieval to store and
C. Use S3 Intelligent-Tiering to store the images. Use S3 Glacier Deep Archive with standard retrieval to store and retrieve archived images.
D. Use S3 One Zone-Infrequent Access (S3 One Zone-IA) to store the images. Use S3 Glacier Deep Archive with bulk retrieval to store and
Correct Answer: D
A developer is building a serverless application by using the AWS Serverless Application Model (AWS SAM). The developer is currently testing the
application in a development environment. When the application is nearly finished, the developer will need to set up additional testing and staging
The developer wants to use a feature of the AWS SAM to set up deployments to multiple environments.
Which solution will meet these requirements with the LEAST development effort?
A. Add a configuration file in TOML format to group configuration entries to every environment. Add a table for each testing and staging
environment. Deploy updates to the environments by using the sam deploy command and the --config-env flag that corresponds to each
environment.
B. Create additional AWS SAM templates for each testing and staging environment. Write a custom shell script that uses the sam deploy
C. Create one AWS SAM configuration file that has default parameters. Perform updates to the testing and staging environments by using the -
-parameter-overrides flag in the AWS SAM CLI and the parameters that the updates will override.
D. Use the existing AWS SAM template. Add additional parameters to configure specific attributes for the serverless function and database
table resources that are in each environment. Deploy updates to the testing and staging environments by using the sam deploy command.
Correct Answer: B
A developer is working on an application that processes operating data from IoT devices. Each IoT device uploads a data file once every hour to
an Amazon S3 bucket. The developer wants to immediately process each data file when the data file is uploaded to Amazon S3.
The developer will use an AWS Lambda function to process the data files from Amazon S3. The Lambda function is configured with the S3 bucket
information where the files are uploaded. The developer wants to configure the Lambda function to immediately invoke after each data file is
uploaded.
A. Add an asynchronous invocation to the Lambda function. Select the S3 bucket as the source.
B. Add an Amazon EventBridge event to the Lambda function. Select the S3 bucket as the source.
C. Add a trigger to the Lambda function. Select the S3 bucket as the source.
D. Add a layer to the Lambda function. Select the S3 bucket as the source.
Correct Answer: B
A developer is setting up infrastructure by using AWS CloudFormation. If an error occurs when the resources described in the Cloud Formation
template are provisioned, successfully provisioned resources must be preserved. The developer must provision and update the CloudFormation
A. Add an --enable-termination-protection command line option to the create-stack command and the update-stack command.
B. Add a --disable-rollback command line option to the create-stack command and the update-stack command.
C. Add a --parameters ParameterKey=PreserveResources,ParameterValue=True command line option to the create-stack command and the
update-stack command.
D. Add a --tags Key=PreserveResources,Value=True command line option to the create-stack command and the update-stack command.
Correct Answer: C
A developer is building a serverless application that connects to an Amazon Aurora PostgreSQL database. The serverless application consists of
hundreds of AWS Lambda functions. During every Lambda function scale out, a new database connection is made that increases database
resource consumption.
The developer needs to decrease the number of connections made to the database. The solution must not impact the scalability of the Lambda
functions.
A. Configure provisioned concurrency for each Lambda function by setting the ProvisionedConcurrentExecutions parameter to 10.
B. Enable cluster cache management for Aurora PostgreSQL. Change the connection string of each Lambda function to point to cluster cache
management.
C. Use Amazon RDS Proxy to create a connection pool to manage the database connections. Change the connection string of each Lambda
D. Configure reserved concurrency for each Lambda function by setting the ReservedConcurrentExecutions parameter to 10.
Correct Answer: A
A developer is preparing to begin development of a new version of an application. The previous version of the application is deployed in a
production environment. The developer needs to deploy fixes and updates to the current version during the development of the new version of the
application. The code for the new version of the application is stored in AWS CodeCommit.
A. From the main branch, create a feature branch for production bug fixes. Create a second feature branch from the main branch for
B. Create a Git tag of the code that is currently deployed in production. Create a Git tag for the development of the new version. Push the two
C. From the main branch, create a branch of the code that is currently deployed in production. Apply an IAM policy that ensures no other users
D. Create a new CodeCommit repository for development of the new version of the application. Create a Git tag for the development of the
new version.
Correct Answer: A
A developer is creating an AWS CloudFormation stack. The stack contains IAM resources with custom names. When the developer tries to deploy
Correct Answer: B
A company uses Amazon API Gateway to expose a set of APIs to customers. The APIs have caching enabled in API Gateway. Customers need a
way to invalidate the cache for each API when they test the API.
What should a developer do to give customers the ability to invalidate the API cache?
A. Ask the customers to use AWS credentials to call the InvalidateCache API operation.
B. Attach an InvalidateCache policy to the IAM execution role that the customers use to invoke the API. Ask the customers to send a request
that contains the Cache-Control:max-age=0 HTTP header when they make an API call.
C. Ask the customers to use the AWS SDK API Gateway class to invoke the InvalidateCache API operation.
D. Attach an InvalidateCache policy to the IAM execution role that the customers use to invoke the API. Ask the customers to add the
Correct Answer: D
A developer is creating an AWS Lambda function that will generate and export a file. The function requires 100 MB of temporary storage for
temporary files while running. These files will not be needed after the function is complete.
How can the developer MOST efficiently handle the temporary files?
A. Store the files in Amazon Elastic Block Store (Amazon EBS) and delete the files at the end of the Lambda function.
B. Copy the files to Amazon Elastic File System (Amazon EFS) and delete the files at the end of the Lambda function.
C. Store the files in the /tmp directory and delete the files at the end of the Lambda function.
D. Copy the files to an Amazon S3 bucket with a lifecycle policy to delete the files.
Correct Answer: A
A company uses Amazon DynamoDB as a data store for its order management system. The company frontend application stores orders in a
DynamoDB table. The DynamoDB table is configured to send change events to a DynamoDB stream. The company uses an AWS Lambda function
to log and process the incoming orders based on data from the DynamoDB stream.
An operational review reveals that the order quantity of incoming orders is sometimes set to 0. A developer needs to create a dashboard that will
show how many unique customers this problem affects each day.
A. Grant the Lambda function’s execution role permissions to upload logs to Amazon CloudWatch Logs. Implement a CloudWatch Logs
Insights query that selects the number of unique customers for orders with order quantity equal to 0 and groups the results in 1-day periods.
B. Use Amazon Athena to query AWS CloudTrail API logs for API calls. Implement an Athena query that selects the number of unique
customers for orders with order quantity equal to 0 and groups the results in 1-day periods. Add the Athena query to an Amazon CloudWatch
dashboard.
C. Configure the Lambda function to send events to Amazon EventBridge. Create an EventBridge rule that groups the number of unique
customers for orders with order quantity equal to 0 in 1-day periods. Add a CloudWatch dashboard as the target of the rule.
D. Turn on custom Amazon CloudWatch metrics for the DynamoDB stream of the DynamoDB table. Create a CloudWatch alarm that groups the
number of unique customers for orders with order quantity equal to 0 in 1-day periods. Add the CloudWatch alarm to a CloudWatch
dashboard.
Correct Answer: D
A developer needs to troubleshoot an AWS Lambda function in a development environment. The Lambda function is configured in VPC mode and
needs to connect to an existing Amazon RDS for SQL Server DB instance. The DB instance is deployed in a private subnet and accepts
When the developer tests the function, the function reports an error when it tries to connect to the database.
Which combination of steps should the developer take to diagnose this issue? (Choose two.)
A. Check that the function’s security group has outbound access on port 1433 to the DB instance’s security group. Check that the DB
instance’s security group has inbound access on port 1433 from the function’s security group.
B. Check that the function’s security group has inbound access on port 1433 from the DB instance’s security group. Check that the DB
instance’s security group has outbound access on port 1433 to the function’s security group.
C. Check that the VPC is set up for a NAT gateway. Check that the DB instance has the public access option turned on.
D. Check that the function’s execution role permissions include rds:DescribeDBInstances, rds:ModifyDBInstance. and
E. Check that the function’s execution role permissions include ec2:CreateNetworkInterface, ec2:DescribeNetworkInterfaces, and
ec2:DeleteNetworkInterface.
Correct Answer: AC
A developer needs to launch a new Amazon EC2 instance by using the AWS CLI.
Which AWS CLI command should the developer use to meet this requirement?
Correct Answer: D
A developer needs to manage AWS infrastructure as code and must be able to deploy multiple identical copies of the infrastructure, stage
A. Use cost allocation reports and AWS OpsWorks to deploy and manage the infrastructure.
B. Use Amazon CloudWatch metrics and alerts along with resource tagging to deploy and manage the infrastructure.
C. Use AWS Elastic Beanstalk and AWS CodeCommit to deploy and manage the infrastructure.
D. Use AWS CloudFormation and AWS CodeCommit to deploy and manage the infrastructure.
Correct Answer: D
A developer is working on an AWS Lambda function that accesses Amazon DynamoDB. The Lambda function must retrieve an item and update
some of its attributes, or create the item if it does not exist. The Lambda function has access to the primary key.
Which IAM permissions should the developer request for the Lambda function to achieve this functionality?
A. dynamodb:DeleleItem
dynamodb:GetItem
dynamodb:PutItem
B. dynamodb:UpdateItem
dynamodb:GetItem
dynamodb:DescribeTable
C. dynamodb:GetRecords
dynamodb:PutItem
dynamodb:UpdateTable
D. dynamodb:UpdateItem
dynamodb:GetItem
dynamodb:PutItem
Correct Answer: D
A developer has built a market application that stores pricing data in Amazon DynamoDB with Amazon ElastiCache in front. The prices of items in
the market change frequently. Sellers have begun complaining that, after they update the price of an item, the price does not actually change in
A. The cache is not being invalidated when the price of the item is changed.
B. The price of the item is being retrieved using a write-through ElastiCache cluster.
Correct Answer: A
A company requires that all applications running on Amazon EC2 use IAM roles to gain access to AWS services. A developer is modifying an
application that currently relies on IAM user access keys stored in environment variables to access Amazon DynamoDB tables using boto, the
The developer associated a role with the same permissions as the IAM user to the EC2 instance, then deleted the IAM user. When the application
was restarted, the AWS AccessDeniedException messages started appearing in the application logs. The developer was able to use their personal
account on the server to run DynamoDB API commands using the AWS CLI.
B. Disabled environment variable credentials are still being used by the application.
C. The AWS SDK does not support credentials obtained using an instance role.
Correct Answer: B
A company has an existing application that has hardcoded database credentials. A developer needs to modify the existing application. The
application is deployed in two AWS Regions with an active-passive failover configuration to meet company’s disaster recovery strategy.
The developer needs a solution to store the credentials outside the code. The solution must comply with the company’s disaster recovery strategy.
Which solution will meet these requirements in the MOST secure way?
A. Store the credentials in AWS Secrets Manager in the primary Region. Enable secret replication to the secondary Region. Update the
application to use the Amazon Resource Name (ARN) based on the Region.
B. Store credentials in AWS Systems Manager Parameter Store in the primary Region. Enable parameter replication to the secondary Region.
Update the application to use the Amazon Resource Name (ARN) based on the Region.
C. Store credentials in a config file. Upload the config file to an S3 bucket in the primary Region. Enable Cross-Region Replication (CRR) to an
S3 bucket in the secondary region. Update the application to access the config file from the S3 bucket, based on the Region.
D. Store credentials in a config file. Upload the config file to an Amazon Elastic File System (Amazon EFS) file system. Update the application
to use the Amazon EFS file system Regional endpoints to access the config file in the primary and secondary Regions.
Correct Answer: A
A developer is receiving HTTP 400: ThrottlingException errors intermittently when calling the Amazon CloudWatch API. When a call fails, no data
is retrieved.
Correct Answer: D
An application needs to use the IP address of the client in its processing. The application has been moved into AWS and has been placed behind
an Application Load Balancer (ALB). However, all the client IP addresses now appear to be the same. The application must maintain the ability to
scale horizontally.
Based on this scenario, what is the MOST cost-effective solution to this problem?
A. Remove the application from the ALB. Delete the ALB and change Amazon Route 53 to direct traffic to the instance running the application.
B. Remove the application from the ALCreate a Classic Load Balancer in its place. Direct traffic to the application using the HTTP protocol.
C. Alter the application code to inspect the X-Forwarded-For header. Ensure that the code can work properly if a list of IP addresses is passed
in the header.
D. Alter the application code to inspect a custom header. Alter the client code to pass the IP address in the custom header.
Correct Answer: C
A developer is designing a serverless application that customers use to select seats for a concert venue. Customers send the ticket requests to
an Amazon API Gateway API with an AWS Lambda function that acknowledges the order and generates an order ID. The application includes two
additional Lambda functions: one for inventory management and one for payment processing. These two Lambda functions run in parallel and
The application must provide seats to customers according to the following requirements. If a seat is accidently sold more than once, the first
order that the application received must get the seat. In these cases, the application must process the payment for only the first order. However, if
the first order is rejected during payment processing, the second order must get the seat. In these cases, the application must process the
A. Send the order ID to an Amazon Simple Notification Service (Amazon SNS) FIFO topic that fans out to one Amazon Simple Queue Service
(Amazon SQS) FIFO queue for inventory management and another SQS FIFO queue for payment processing.
B. Change the Lambda function that generates the order ID to initiate the Lambda function for inventory management. Then initiate the
C. Send the order ID to an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe the Lambda functions for inventory
D. Deliver the order ID to an Amazon Simple Queue Service (Amazon SQS) queue. Configure the Lambda functions for inventory management
Correct Answer: A
An application uses AWS X-Ray to generate a large amount of trace data on an hourly basis. A developer wants to use filter expressions to limit
How should the developer use filter expressions to filter the results in X-Ray?
Correct Answer: A
A web application is using Amazon Kinesis Data Streams for clickstream data that may not be consumed for up to 12 hours.
How can the developer implement encryption at rest for data within the Kinesis Data Streams?
Correct Answer: D
An application is real-time processing millions of events that are received through an API.
What service could be used to allow multiple consumers to process the data concurrently and MOST cost-effectively?
B. Amazon SNS with fanout to an SQS FIFO (first-in, first-out) queue for each application
Correct Answer: D
What is the MOST efficient way to reference the new Amazon S3 bucket from another AWS CloudFormation template?
A. Add an Export declaration to the Outputs section of the original template and use ImportValue in other templates.
B. Add Exported: true to the Content.Bucket in the original template and use ImportResource in other templates.
C. Create a custom AWS CloudFormation resource that gets the bucket name from the ContentBucket resource of the first stack.
D. Use Fn::Include to include the existing template in other templates and use the ContentBucket resource directly.
Correct Answer: A
A developer has built an application that inserts data into an Amazon DynamoDB table. The table is configured to use provisioned capacity. The
application is deployed on a burstable nano Amazon EC2 instance. The application logs show that the application has been failing because of a
ProvisionedThroughputExceededException error.
Which actions should the developer take to resolve this issue? (Choose two.)
B. Increase the number of read capacity units (RCUs) that are provisioned for the DynamoDB table.
E. Change the capacity mode of the DynamoDB table from provisioned to on-demand.
Correct Answer: CE
A company is hosting a workshop for external users and wants to share the reference documents with the external users for 7 days. The company
stores the reference documents in an Amazon S3 bucket that the company owns.
What is the MOST secure way to share the documents with the external users?
A. Use S3 presigned URLs to share the documents with the external users. Set an expiration time of 7 days.
B. Move the documents to an Amazon WorkDocs folder. Share the links of the WorkDocs folder with the external users.
C. Create temporary IAM users that have read-only access to the S3 bucket. Share the access keys with the external users. Expire the
D. Create a role that has read-only access to the S3 bucket. Share the Amazon Resource Name (ARN) of this role with the external users.
Correct Answer: A
A developer is planning to use an Amazon API Gateway and AWS Lambda to provide a REST API. The developer will have three distinct
How should the application be deployed while minimizing the number of resources to manage?
A. Create a separate API Gateway and separate Lambda function for each environment in the same Region.
B. Assign a Region for each environment and deploy API Gateway and Lambda to each Region.
C. Create one API Gateway with multiple stages with one Lambda function with multiple aliases.
D. Create one API Gateway and one Lambda function, and use a REST parameter to identify the environment.
Correct Answer: C
A developer registered an AWS Lambda function as a target for an Application Load Balancer (ALB) using a CLI command. However, the Lambda
function is not being invoked when the client sends requests through the ALB.
B. A Lambda function can be registered with an ALB using AWS Management Console only.
Correct Answer: C
A developer is creating an AWS Lambda function that will connect to an Amazon RDS for MySQL instance. The developer wants to store the
database credentials. The database credentials need to be encrypted and the database password needs to be automatically rotated.
A. Store the database credentials as environment variables for the Lambda function. Set the environment variables to rotate automatically.
B. Store the database credentials in AWS Secrets Manager. Set up managed rotation on the database credentials.
C. Store the database credentials in AWS Systems Manager Parameter Store as secure string parameters. Set up managed rotation on the
parameters.
D. Store the database credentials in the X-Amz-Security-Token parameter. Set up managed rotation on the parameter.
Correct Answer: B
A developer wants to reduce risk when deploying a new version of an existing AWS Lambda function. To test the Lambda function, the developer
needs to split the traffic between the existing version and the new version of the Lambda function.
A. Configure a weighted routing policy in Amazon Route 53. Associate the versions of the Lambda function with the weighted routing policy.
B. Create a function alias. Configure the alias to split the traffic between the two versions of the Lambda function.
C. Create an Application Load Balancer (ALB) that uses the Lambda function as a target. Configure the ALB to split the traffic between the two
D. Create the new version of the Lambda function as a Lambda layer on the existing version. Configure the function to split the traffic between
Correct Answer: B
A developer has created a large AWS Lambda function. Deployment of the function is failing because of an InvalidParameterValueException error.
The error message indicates that the unzipped size of the function exceeds the maximum supported value.
Which actions can the developer take to resolve this error? (Choose two.)
A. Submit a quota increase request to AWS Support to increase the function to the required size.
E. Move common libraries, function dependencies, and custom runtimes into Lambda layers.
Correct Answer: CE
A developer is troubleshooting an application in an integration environment. In the application, an Amazon Simple Queue Service (Amazon SQS)
queue consumes messages and then an AWS Lambda function processes the messages. The Lambda function transforms the messages and
There has been an increase in application usage. The third-party API frequently returns an HTTP 429 Too Many Requests error message. The error
B. Configure provisioned concurrency for the Lambda function based on the third-party API’s documented rate limits.
C. Increase the retry attempts and maximum event age in the Lambda function’s asynchronous configuration.
D. Configure maximum concurrency on the SQS event source based on the third-party service’s documented rate limits.
Correct Answer: A
A company has a three-tier application that is deployed in Amazon Elastic Container Service (Amazon ECS). The application is using an Amazon
RDS for MySQL DB instance. The application performs more database reads than writes.
During times of peak usage, the application’s performance degrades. When this performance degradation occurs, the DB instance’s ReadLatency
Correct Answer: A
A company has an online web application that includes a product catalog. The catalog is stored in an Amazon S3 bucket that is named DOC-
EXAMPLE-BUCKET. The application must be able to list the objects in the S3 bucket and must be able to download objects through an IAM policy.
A.
B.
C.
D.
Correct Answer: A
A developer is writing an application to encrypt files outside of AWS before uploading the files to an Amazon S3 bucket. The encryption must be
How can the developer implement the encryption in the application to meet these requirements?
A. Create a data key in AWS Key Management Service (AWS KMS). Use the AWS Encryption SDK to encrypt the files.
B. Create a Hash-Based Message Authentication Code (HMAC) key in AWS Key Management Service (AWS KMS). Use the AWS Encryption SDK
C. Create a data key pair in AWS Key Management Service (AWS KMS). Use the AWS CLI to encrypt the files.
D. Create a data key in AWS Key Management Service (AWS KMS). Use the AWS CLI to encrypt the files.
Correct Answer: A
A developer is working on an application that is deployed on an Amazon EC2 instance. The developer needs a solution that will securely transfer
What should the developer do to meet these requirements in the MOST secure way?
A. Create an IAM user. Create an access key for the IAM user. Store the access key in the application’s environment variables.
B. Create an IAM role. Create an access key for the IAM role. Store the access key in the application’s environment variables.
C. Create an IAM role. Configure the IAM role to access the specific Amazon S3 API calls the application requires. Associate the IAM role with
D. Configure an S3 bucket policy for the S3 bucket. Configure the S3 bucket policy to allow access for the EC2 instance ID.
Correct Answer: B
A developer created a web API that receives requests by using an internet-facing Application Load Balancer (ALB) with an HTTPS listener. The
developer configures an Amazon Cognito user pool and wants to ensure that every request to the API is authenticated through Amazon Cognito.
A. Add a listener rule to the listener to return a fixed response if the Authorization header is missing. Set the fixed response to 401
Unauthorized.
B. Create an authentication action for the listener rules of the ALSet the rule action type to authenticate-cognito. Set the
C. Create an Amazon API Gateway API. Configure all API methods to be forwarded to the ALB endpoint. Create an authorizer of the
D. Create a new target group that includes an AWS Lambda function target that validates the Authorization header by using Amazon Cognito.
Correct Answer: B
A company recently deployed an AWS Lambda function. A developer notices an increase in the function throttle metrics in Amazon CloudWatch.
What are the MOST operationally efficient solutions to reduce the function throttling? (Choose two.)
Correct Answer: CE
A company is creating a REST service using an Amazon API Gateway with AWS Lambda integration. The service must run different versions for
testing purposes.
A. Use an X-Version header to denote which version is being called and pass that header to the Lambda function(s).
B. Create an API Gateway Lambda authorizer to route API clients to the correct API version.
C. Create an API Gateway resource policy to isolate versions and provide context to the Lambda function(s).
D. Deploy the API versions as unique stages with unique endpoints and use stage variables to provide further context.
Correct Answer: D
A company is using AWS CodePipeline to deliver one of its applications. The delivery pipeline is triggered by changes to the main branch of an
AWS CodeCommit repository and uses AWS CodeBuild to implement the test and build stages of the process and AWS CodeDeploy to deploy the
application.
The pipeline has been operating successfully for several months and there have been no modifications. Following a recent change to the
application’s source code, AWS CodeDeploy has not deployed the updated application as expected.
A. The change was not made in the main branch of the AWS CodeCommit repository.
B. One of the earlier stages in the pipeline failed and the pipeline has terminated.
C. One of the Amazon EC2 instances in the company’s AWS CodePipeline cluster is inactive.
D. The AWS CodePipeline is incorrectly configured and is not invoking AWS CodeDeploy.
Correct Answer: AB
A developer is building a serverless application by using AWS Serverless Application Model (AWS SAM) on multiple AWS Lambda functions. When
the application is deployed, the developer wants to shift 10% of the traffic to the new deployment of the application for the first 10 minutes after
deployment. If there are no issues, all traffic must switch over to the new version.
Which change to the AWS SAM template will meet these requirements?
A. Set the Deployment Preference Type to Canary10Percent10Minutes. Set the AutoPublishAlias property to the Lambda alias.
B. Set the Deployment Preference Type to Linear10PercentEvery10Minutes. Set AutoPublishAlias property to the Lambda alias.
C. Set the Deployment Preference Type to Canary10Percent10Minutes. Set the PreTraffic and PostTraffic properties to the Lambda alias.
D. Set the Deployment Preference Type to Linear10PercentEvery10Minutes. Set PreTraffic and PostTraffic properties to the Lambda alias.
Correct Answer: B
An AWS Lambda function is running in a company’s shared AWS account. The function needs to perform an additional ec2:DescribeInstances
action that is directed at the company’s development accounts. A developer must configure the required permissions across the accounts.
How should the developer configure the permissions to adhere to the principle of least privilege?
A. Create an IAM role in the shared account. Add the ec2:DescribeInstances permission to the role. Establish a trust relationship between the
development accounts for this role. Update the Lambda function IAM role in the shared account by adding the ec2:DescribeInstances
B. Create an IAM role in the development accounts. Add the ec2:DescribeInstances permission to the role. Establish a trust relationship with
the shared account for this role. Update the Lambda function IAM role in the shared account by adding the iam:AssumeRole permissions.
C. Create an IAM role in the shared account. Add the ec2:DescribeInstances permission to the role. Establish a trust relationship between the
development accounts for this role. Update the Lambda function IAM role in the shared account by adding the iam:AssumeRole permissions.
D. Create an IAM role in the development accounts. Add the ec2:DescribeInstances permission to the role. Establish a trust relationship with
the shared account for this role. Update the Lambda function IAM role in the shared account by adding the ec2:DescribeInstances permission
to the role.
Correct Answer: B
A developer is building a new application that will be deployed on AWS. The developer has created an AWS CodeCommit repository for the
application. The developer has initialized a new project for the application by invoking the AWS Cloud Development Kit (AWS CDK) cdk init
command.
The developer must write unit tests for the infrastructure as code (IaC) templates that the AWS CDK generates. The developer also must run a
validation tool across all constructs in the CDK application to ensure that critical security configurations are activated.
Which combination of actions will meet these requirements with the LEAST development overhead? (Choose two.)
A. Use a unit testing framework to write custom unit tests against the cdk.out file that the AWS CDK generates. Run the unit tests in a
continuous integration and continuous delivery (CI/CD) pipeline that is invoked after any commit to the repository.
B. Use the CDK assertions module to integrate unit tests with the application. Run the unit tests in a continuous integration and continuous
delivery (CI/CD) pipeline that is invoked after any commit to the repository.
C. Use the CDK runtime context to set key-value pairs that must be present in the cdk.out file that the AWS CDK generates. Fail the stack
D. Write a script that searches the application for specific key configuration strings. Configure the script to produce a report of any security
violations.
E. Use the CDK Aspects class to create custom rules to apply to the CDK application. Fall the stack synthesis if any violations are present.
Correct Answer: BE
An online sales company is developing a serverless application that runs on AWS. The application uses an AWS Lambda function that calculates
order success rates and stores the data in an Amazon DynamoDB table. A developer wants an efficient way to invoke the Lambda function every
15 minutes.
Which solution will meet this requirement with the LEAST development effort?
A. Create an Amazon EventBridge rule that has a rate expression that will run the rule every 15 minutes. Add the Lambda function as the
B. Create an AWS Systems Manager document that has a script that will invoke the Lambda function on Amazon EC2. Use a Systems Manager
C. Create an AWS Step Functions state machine. Configure the state machine to invoke the Lambda function execution role at a specified
D. Provision a small Amazon EC2 instance. Set up a cron job that invokes the Lambda function every 15 minutes.
Correct Answer: B
A company deploys a photo-processing application to an Amazon EC2 instance. The application needs to process each photo in less than 5
seconds. If processing takes longer than 5 seconds, the company’s development team must receive a notification.
How can a developer implement the required time measurement and notification with the LEAST operational overhead?
A. Create an Amazon CloudWatch custom metric. Each time a photo is processed, publish the processing time as a metric value. Create a
CloudWatch alarm that is based on a static threshold of 5 seconds. Notify the development team by using an Amazon Simple Notification
B. Create an Amazon Simple Queue Service (Amazon SQS) queue. Each time a photo is processed, publish the processing time to the queue.
Create an application to consume from the queue and to determine whether any values are more than 5 seconds. Notify the development
C. Create an Amazon CloudWatch custom metric. Each time a photo is processed, publish the processing time as a metric value. Create a
CloudWatch alarm that enters ALARM state if the average of values is greater than 5 seconds. Notify the development team by sending an
D. Create an Amazon Kinesis data stream. Each time a photo is processed, publish the processing time to the data stream. Create an Amazon
CloudWatch alarm that enters ALARM state if any values are more than 5 seconds. Notify the development team by using an Amazon Simple
Correct Answer: A
A company is using AWS Elastic Beanstalk to manage web applications that are running on Amazon EC2 instances. A developer needs to make
configuration changes. The developer must deploy the changes to new instances only.
Which types of deployment can the developer use to meet this requirement? (Choose two.)
A. All at once
B. Immutable
C. Rolling
D. Blue/green
Correct Answer: BD
A developer needs to use Amazon DynamoDB to store customer orders. The developer’s company requires all customer data to be encrypted at
A. Create the DynamoDB table with encryption set to None. Code the application to use the key to decrypt the data when the application reads
from the table. Code the application to use the key to encrypt the data when the application writes to the table.
B. Store the key by using AWS Key Management Service (AWS KMS). Choose an AWS KMS customer managed key during creation of the
DynamoDB table. Provide the Amazon Resource Name (ARN) of the AWS KMS key.
C. Store the key by using AWS Key Management Service (AWS KMS). Create the DynamoDB table with default encryption. Include the
kms:Encrypt parameter with the Amazon Resource Name (ARN) of the AWS KMS key when using the DynamoDB software development kit
(SDK).
D. Store the key by using AWS Key Management Service (AWS KMS). Choose an AWS KMS AWS managed key during creation of the
DynamoDB table. Provide the Amazon Resource Name (ARN) of the AWS KMS key.
Correct Answer: B
A company uses AWS CloudFormation to deploy an application that uses an Amazon API Gateway REST API with AWS Lambda function
integration. The application uses Amazon DynamoDB for data persistence. The application has three stages: development, testing, and
The company has encountered unexpected issues when promoting changes to the production stage. The changes were successful in the
development and testing stages. A developer needs to route 20% of the traffic to the new production stage API with the next production release.
The developer needs to route the remaining 80% of the traffic to the existing production stage. The solution must minimize the number of errors
A. Update 20% of the planned changes to the production stage. Deploy the new production stage. Monitor the results. Repeat this process five
B. Update the Amazon Route 53 DNS record entry for the production stage API to use a weighted routing policy. Set the weight to a value of
80. Add a second record for the production domain name. Change the second routing policy to a weighted routing policy. Set the weight of the
second policy to a value of 20. Change the alias of the second policy to use the testing stage API.
C. Deploy an Application Load Balancer (ALB) in front of the REST API. Change the production API Amazon Route 53 record to point traffic to
the ALB. Register the production and testing stages as targets of the ALB with weights of 80% and 20%, respectively.
D. Configure canary settings for the production stage API. Change the percentage of traffic directed to canary deployment to 20%. Make the
Correct Answer: D
A developer has created a data collection application that uses Amazon API Gateway, AWS Lambda, and Amazon S3. The application’s users
periodically upload data files and wait for the validation status to be reflected on a processing dashboard. The validation process is complex and
Some users are uploading dozens of large files and have to wait and refresh the processing dashboard to see if the files have been validated. The
developer must refactor the application to immediately update the validation result on the user’s dashboard without reloading the full dashboard.
What is the MOST operationally efficient solution that meets these requirements?
A. Integrate the client with an API Gateway WebSocket API. Save the user-uploaded files with the WebSocket connection ID. Push the
validation status to the connection ID when the processing is complete to initiate an update of the user interface.
B. Launch an Amazon EC2 micro instance, and set up a WebSocket server. Send the user-uploaded file and user detail to the EC2 instance
after the user uploads the file. Use the WebSocket server to send updates to the user interface when the uploaded file is processed.
C. Save the user’s email address along with the user-uploaded file. When the validation process is complete, send an email notification
through Amazon Simple Notification Service (Amazon SNS) to the user who uploaded the file.
D. Save the user-uploaded file and user detail to Amazon DynamoDB. Use Amazon DynamoDB Streams with Amazon Simple Notification
Service (Amazon SNS) push notifications to send updates to the browser to update the user interface.
Correct Answer: A
A company’s developer is creating an application that uses Amazon API Gateway. The company wants to ensure that only users in the Sales
department can use the application. The users authenticate to the application by using federated credentials from a third-party identity provider
(IdP) through Amazon Cognito. The developer has set up an attribute mapping to map an attribute that is named Department and to pass the
To test the access limitation, the developer sets their department to Engineering in the IdP and attempts to log in to the application. The developer
is denied access. The developer then updates their department to Sales in the IdP and attempts to log in. Again, the developer is denied access.
The developer checks the logs and discovers that access is being denied because the developer’s access token has a department value of
Engineering.
Which of the following is a possible reason that the developer’s department is still being reported as Engineering instead of Sales?
C. The IAM role for the custom Lambda authorizer does not have a Department tag.
D. The IAM role for the Amazon Cognito user pool does not have a Department tag.
Correct Answer: A
A company has migrated an application to Amazon EC2 instances. Automatic scaling is working well for the application user interface. However,
the process to deliver shipping requests to the company’s warehouse staff is encountering issues. Duplicate shipping requests are arriving, and
The company must avoid duplicate shipping requests and must process the requests in the order that the requests arrive. Requests are never
more than 250 KB in size and take 5-10 minutes to process. A developer needs to rearchitect the application to improve the reliability of the
A. Create an Amazon Kinesis Data Firehose delivery stream to process the requests. Create an Amazon Kinesis data stream. Modify the
B. Create an AWS Lambda function to process the requests. Create an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe the
Lambda function to the SNS topic. Modify the application to write the requests to the SNS topic.
C. Create an AWS Lambda function to process the requests. Create an Amazon Simple Queue Service (Amazon SQS) standard queue. Set the
SQS queue as an event source for the Lambda function. Modify the application to write the requests to the SQS queue.
D. Create an AWS Lambda function to process the requests. Create an Amazon Simple Queue Service (Amazon SQS) FIFO queue. Set the SQS
queue as an event source for the Lambda function. Modify the application to write the requests to the SQS queue.
Correct Answer: D
A developer is creating a machine learning (ML) pipeline in AWS Step Functions that contains AWS Lambda functions. The developer has
configured an Amazon Simple Queue Service (Amazon SQS) queue to deliver ML model parameters to the ML pipeline to train ML models. The
The developer needs a solution that can locally test the ML pipeline without making service integration calls to Amazon SQS and Amazon S3.
A. Use the Amazon CodeGuru Profiler to analyze the Lambda functions used in the AWS Step Functions pipeline.
B. Use the AWS Step Functions Local Docker Image to run and locally test the Lambda functions.
C. Use the AWS Serverless Application Model (AWS SAM) CLI to run and locally test the Lambda functions.
Correct Answer: D
A company runs a batch processing application by using AWS Lambda functions and Amazon API Gateway APIs with deployment stages for
development, user acceptance testing, and production. A development team needs to configure the APIs in the deployment stages to connect to
A. Store the third-party service endpoints in Lambda layers that correspond to the stage.
B. Store the third-party service endpoints in API Gateway stage variables that correspond to the stage.
C. Encode the third-party service endpoints as query parameters in the API Gateway request URL.
D. Store the third-party service endpoint for each environment in AWS AppConfig.
Correct Answer: B
A developer is building a serverless application that runs on AWS. The developer wants to create an accelerated development workflow that
deploys incremental changes to AWS for testing. The developer wants to deploy the incremental changes but does not want to fully deploy the
A. Use the AWS Serverless Application Model (AWS SAM) to build the application. Use the sam sync command to deploy the incremental
changes.
B. Use the AWS Serverless Application Model (AWS SAM) to build the application. Use the sam init command to deploy the incremental
changes.
C. Use the AWS Cloud Development Kit (AWS CDK) to build the application. Use the cdk synth command to deploy the incremental changes.
D. Use the AWS Cloud Development Kit (AWS CDK) to build the application. Use the cdk bootstrap command to deploy the incremental
changes.
Correct Answer: A
A developer is building an application that will use an Amazon API Gateway API with an AWS Lambda backend. The team that will develop the
frontend requires immediate access to the API endpoints to build the UI. To prepare the backend application for integration, the developer needs
to set up endpoints. The endpoints need to return predefined HTTP status codes and JSON responses for the frontend team. The developer
A. Set the integration type to AWS_PROXY. Provision Lambda functions to return hardcoded JSON data.
B. Set the integration type to MOCK. Configure the method's integration request and integration response to associate a JSON responses with
C. Set the integration type to HTTP_PROXY. Configure API Gateway to pass all requests to an external placeholder API. which the team will
build.
D. Set the integration type to MOCK. Use a method request to define HTTP status codes. Use an integration request to define JSON responses.
Correct Answer: B
A developer is migrating an application to Amazon Elastic Kubernetes Service (Amazon EKS). The developer migrates the application to Amazon
Elastic Container Registry (Amazon ECR) with an EKS cluster. As part of the application migration to a new backend, the developer creates a new
AWS account. The developer makes configuration changes to the application to point the application to the new AWS account and to use new
backend resources. The developer successfully tests the changes within the application by deploying the pipeline.
The Docker image build and the pipeline deployment are successful, but the application is still connecting to the old backend. The developer finds
that the application's configuration is still referencing the original EKS cluster and not referencing the new backend resources.
Which reason can explain why the application is not connecting to the new resources?
A. The developer did not successfully create the new AWS account.
C. The developer did not update the Docker image tag to a new version.
Correct Answer: C
A developer is creating an application that reads and writes to multiple Amazon S3 buckets. The application will be deployed to an Amazon EC2
instance. The developer wants to make secure API requests from the EC2 instances without the need to manage the security credentials for the
A. Create an IAM user. Create access keys and secret keys for the user. Associate the user with an IAM policy that allows s3:* permissions.
B. Associate the EC2 instance with an IAM role that has an IAM policy that allows s3:ListBucket and s3:*Object permissions for specific S3
buckets.
C. Associate the EC2 instance with an IAM role that has an AmazonS3FullAccess AWS managed policy.
D. Create a bucket policy on the S3 bucket that allows s3:ListBucket and s3:*Object permissions to the EC2 instance.
Correct Answer: B
A developer is writing an application that will retrieve sensitive data from a third-party system. The application will format the data into a PDF file.
The PDF file could be more than 1 MB. The application will encrypt the data to disk by using AWS Key Management Service (AWS KMS). The
application will decrypt the file when a user requests to download it. The retrieval and formatting portions of the application are complete.
The developer needs to use the GenerateDataKey API to encrypt the PDF file so that the PDF file can be decrypted later. The developer needs to
A. Write the encrypted key from the GenerateDataKey API to disk for later use. Use the plaintext key from the GenerateDataKey API and a
B. Write the plain text key from the GenerateDataKey API to disk for later use. Use the encrypted key from the GenerateDataKey API and a
C. Write the encrypted key from the GenerateDataKey API to disk for later use. Use the plaintext key from the GenerateDataKey API to encrypt
D. Write the plain text key from the GenerateDataKey API to disk for later use. Use the encrypted key from the GenerateDataKey API to encrypt
Correct Answer: A
A company runs an application on Amazon EC2 instances. The EC2 instances open connections to an Amazon RDS for SQL Server database. A
developer needs to store and access the credentials and wants to automatically rotate the credentials. The developer does not want to store the
Which solution will meet these requirements in the MOST secure way?
A. Create an IAM role that has permissions to access the database. Attach the IAM role to the EC2 instances.
B. Store the credentials as secrets in AWS Secrets Manager. Create an AWS Lambda function to update the secrets and the database. Retrieve
C. Store the credentials in an encrypted text file in an Amazon S3 bucket. Configure the EC2 instance launch template to download the
credentials from Amazon S3 as the instance launches. Create an AWS Lambda function to update the secrets and the database.
D. Store the credentials in an Amazon DynamoDB table. Configure an Amazon CloudWatch Events rule to invoke an AWS Lambda function to
Correct Answer: B
A company wants to test its web application more frequently. The company deploys the application by using a separate AWS CloudFormation
stack for each environment. The company deploys the same CloudFormation template to each stack as the application progresses through the
development lifecycle.
A developer needs to build in notifications for the quality assurance (QA) team. The developer wants the notifications to occur for new
A. Create an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe the QA team to the Amazon SNS topic. Update the
CloudFormation stack options to point to the SNS topic in the pre-production environment.
B. Create an AWS Lambda function that notifies the QA team. Create an Amazon EventBridge rule to invoke the Lambda function on the
default event bus. Filter the events on the CloudFormation service and on the CloudFormation stack Amazon Resource Name (ARN).
C. Create an Amazon CloudWatch alarm that monitors the metrics from CloudFormation. Filter the metrics on the stack name and the stack
D. Create an AWS Lambda function that notifies the QA team. Configure the event source mapping to receive events from CloudFormation.
Specify the filtering values to limit invocations to the desired CloudFormation stack.
Correct Answer: A
A developer manages three AWS accounts. Each account contains an Amazon RDS DB instance in a private subnet. The developer needs to define
users in each database in a consistent way. The developer must ensure that the same users are created and updated later in all three accounts.
Which solution will meet these requirements with the MOST operational efficiency?
A. Create an AWS CloudFormation template. Declare the users in the template. Attach the users to the database. Deploy the template in each
account.
B. Create an AWS CloudFormation template that contains a custom resource to create the users in the database. Deploy the template in each
account.
C. Write a script that creates the users. Deploy an Amazon EC2 instance in each account to run the script on the databases. Run the script in
each account.
D. Implement an AWS Lambda function that creates the users in the database. Provide the function with the details of all three accounts.
Correct Answer: B
A company is building a new application that runs on AWS and uses Amazon API Gateway to expose APIs. Teams of developers are working on
separate components of the application in parallel. The company wants to publish an API without an integrated backend so that teams that
depend on the application backend can continue the development work before the API backend development is complete.
A. Create API Gateway resources and set the integration type value to MOCK. Configure the method integration request and integration
response to associate a response with an HTTP status code. Create an API Gateway stage and deploy the API.
B. Create an AWS Lambda function that returns mocked responses and various HTTP status codes. Create API Gateway resources and set the
C. Create an EC2 application that returns mocked HTTP responses. Create API Gateway resources and set the integration type value to AWS.
D. Create API Gateway resources and set the integration type value set to HTTP_PROXY. Add mapping templates and deploy the API. Create an
AWS Lambda layer that returns various HTTP status codes. Associate the Lambda layer with the API deployment.
Correct Answer: A
An application that runs on AWS receives messages from an Amazon Simple Queue Service (Amazon SQS) queue and processes the messages in
batches. The application sends the data to another SQS queue to be consumed by another legacy application. The legacy system can take up to 5
A developer wants to ensure that there are no out-of-order updates in the legacy system. The developer cannot alter the behavior of the legacy
system.
B. Use an SQS standard queue with a SendMessageBatchRequestEntry data type. Configure the DelaySeconds values.
C. Use an SQS standard queue with a SendMessageBatchRequestEntry data type. Configure the visibility timeout value.
Correct Answer: A
A company is building a compute-intensive application that will run on a fleet of Amazon EC2 instances. The application uses attached Amazon
Elastic Block Store (Amazon EBS) volumes for storing data. The Amazon EBS volumes will be created at time of initial deployment. The
application will process sensitive information. All of the data must be encrypted. The solution should not impact the application's performance.
A. Configure the fleet of EC2 instances to use encrypted EBS volumes to store data.
C. Configure a custom encryption algorithm for the application that will encrypt and decrypt all data.
D. Configure an Amazon Machine Image (AMI) that has an encrypted root volume and store the data to ephemeral disks.
Correct Answer: A
A developer is updating the production version of an AWS Lambda function to fix a defect. The developer has tested the updated code in a test
environment. The developer wants to slowly roll out the updates to a small subset of production users before rolling out the changes to all users.
Only 10% of the users should be initially exposed to the new code in production.
A. Update the Lambda code and create a new version of the Lambda function. Create a Lambda function trigger. Configure the traffic weights
in the trigger between the two Lambda function versions. Send 90% of the traffic to the production version, and send 10% of the traffic to the
new version.
B. Create a new Lambda function that uses the updated code. Create a Lambda alias for the production Lambda function. Configure the
Lambda alias to send 90% of the traffic to the production Lambda function, and send 10% of the traffic to the test Lambda function.
C. Update the Lambda code and create a new version of the Lambda function. Create a Lambda proxy integration. Configure the Lambda proxy
to split traffic between the two Lambda function versions. Send 90% of the traffic to the production version, and send 10% of the traffic to the
new version.
D. Update the Lambda code and create a new version of the Lambda function. Create a Lambda function alias. Configure the traffic weights in
the Lambda alias between the two Lambda function versions. Send 90% of the traffic to the production version, and send 10% of the traffic to
Correct Answer: D
A developer is creating an AWS Lambda function that consumes messages from an Amazon Simple Queue Service (Amazon SQS) standard
queue. The developer notices that the Lambda function processes some messages multiple times.
A. Change the Amazon SQS standard queue to an Amazon SQS FIFO queue by using the Amazon SQS message deduplication ID.
D. Change the message processing to use Amazon Kinesis Data Streams instead of Amazon SQS.
Correct Answer: A
A developer is optimizing an AWS Lambda function and wants to test the changes in production on a small percentage of all traffic. The Lambda
function serves requests to a RE ST API in Amazon API Gateway. The developer needs to deploy their changes and perform a test in production
A. Define a function version for the currently deployed production Lambda function. Update the API Gateway endpoint to reference the new
Lambda function version. Upload and publish the optimized Lambda function code. On the production API Gateway stage, define a canary
release and set the percentage of traffic to direct to the canary release. Update the API Gateway endpoint to use the $LATEST version of the
B. Define a function version for the currently deployed production Lambda function. Update the API Gateway endpoint to reference the new
Lambda function version. Upload and publish the optimized Lambda function code. Update the API Gateway endpoint to use the $LATEST
C. Define an alias on the $LATEST version of the Lambda function. Update the API Gateway endpoint to reference the new Lambda function
alias. Upload and publish the optimized Lambda function code. On the production API Gateway stage, define a canary release and set the
percentage of traffic to direct to the canary release. Update the API Gateway endpoint to use the $LATEST version of the Lambda function.
D. Define a function version for the currently deployed production Lambda function. Update the API Gateway endpoint to reference the new
Lambda function version. Upload and publish the optimized Lambda function code. Update the API Gateway endpoint to use the $LATEST
version of the Lambda function. Deploy the API to the production API Gateway stage.
Correct Answer: A
A company notices that credentials that the company uses to connect to an external software as a service (SaaS) vendor are stored in a
The developer needs to secure the API credentials and enforce automatic credentials rotation on a quarterly basis.
A. Use AWS Key Management Service (AWS KMS) to encrypt the configuration file. Decrypt the configuration file when users make API calls to
B. Retrieve temporary credentials from AWS Security Token Service (AWS STS) every 15 minutes. Use the temporary credentials when users
C. Store the credentials in AWS Secrets Manager and enable rotation. Configure the API to have Secrets Manager access.
D. Store the credentials in AWS Systems Manager Parameter Store and enable rotation. Retrieve the credentials when users make API calls to
Correct Answer: C
A company has an application that is hosted on Amazon EC2 instances. The application stores objects in an Amazon S3 bucket and allows users
to download objects from the S3 bucket. A developer turns on S3 Block Public Access for the S3 bucket. After this change, users report errors
when they attempt to download objects. The developer needs to implement a solution so that only users who are signed in to the application can
Which combination of steps will meet these requirements in the MOST secure way? (Choose two.)
A. Create an EC2 instance profile and role with an appropriate policy. Associate the role with the EC2 instances.
B. Create an IAM user with an appropriate policy. Store the access key ID and secret access key on the EC2 instances.
D. Modify the application to use the S3 GetObject API call and to return the object handle to the user.
Correct Answer: A E
An Amazon Simple Queue Service (Amazon SQS) queue serves as an event source for an AWS Lambda function. In the SQS queue, each item
corresponds to a video file that the Lambda function must convert to a smaller resolution. The Lambda function is timing out on longer video files,
but the Lambda function's timeout is already configured to its maximum value.
What should a developer do to avoid the timeouts without additional code changes?
C. Increase the instance size of the host that runs the Lambda function.
Correct Answer: D
A company is building an application on AWS. The application's backend includes an Amazon API Gateway REST API. The company's frontend
application developers cannot continue work until the backend API is ready for integration. The company needs a solution that will allow the
Which solution will meet these requirements in the MOST operationally efficient way?
B. Integrate a Lambda function with API Gateway and return a mocked response.
C. Add new API endpoints to the API Gateway stage and returns a mocked response.
Correct Answer: D
A company is preparing to migrate an application to the company's first AWS environment. Before this migration, a developer is creating a proof-
of-concept application to validate a model for building and deploying container-based applications on AWS.
Which combination of steps should the developer take to deploy the containerized proof-of-concept application with the LEAST operational effort?
(Choose two.)
A. Package the application into a .zip file by using a command line tool. Upload the package to Amazon S3.
B. Package the application into a container image by using the Docker CLI. Upload the image to Amazon Elastic Container Registry (Amazon
ECR).
D. Deploy the application to Amazon Elastic Kubernetes Service (Amazon EKS) on AWS Fargate.
E. Deploy the application to Amazon Elastic Container Service (Amazon ECS) on AWS Fargate.
Correct Answer: BD
A developer supports an application that accesses data in an Amazon DynamoDB table. One of the item attributes is expirationDate in the
timestamp format. The application uses this attribute to find items, archive them, and remove them from the table based on the timestamp value.
The application will be decommissioned soon, and the developer must find another way to implement this functionality. The developer needs a
A. Enable TTL on the expirationDate attribute in the table. Create a DynamoDB stream. Create an AWS Lambda function to process the deleted
B. Create two AWS Lambda functions: one to delete the items and one to process the items. Create a DynamoDB stream. Use the DeleteItem
API operation to delete the items based on the expirationDate attribute. Use the GetRecords API operation to get the items from the
C. Create two AWS Lambda functions: one to delete the items and one to process the items. Create an Amazon EventBridge scheduled rule to
invoke the Lambda functions. Use the DeleteItem API operation to delete the items based on the expirationDate attribute. Use the GetRecords
API operation to get the items from the DynamoDB table and process them.
D. Enable TTL on the expirationDate attribute in the table. Specify an Amazon Simple Queue Service (Amazon SQS) dead-letter queue as the
target to delete the items. Create an AWS Lambda function to process the items.
Correct Answer: C
A developer needs to implement a custom machine learning (ML) library in an application. The size of the library is 15 GB. The size of the library is
increasing. The application uses AWS Lambda functions. All the Lambda functions must have access to the library.
A. Save the library in Lambda layers. Attach the layers to all Lambda functions.
B. Save the library in Amazon S3. Download the library from Amazon S3 inside the Lambda function.
C. Save the library as a Lambda container image. Redeploy the Lambda functions with the new image.
D. Save the library in an Amazon Elastic File System (Amazon EFS) file system. Mount the EFS file system in all the Lambda functions.
Correct Answer: D
A developer is designing a serverless application for a game in which users register and log in through a web browser. The application makes
requests on behalf of users to a set of AWS Lambda functions that run behind an Amazon API Gateway HTTP API.
The developer needs to implement a solution to register and log in users on the application's sign-in page. The solution must minimize operational
A. Create Amazon Cognito user pools for external social identity providers. Configure IAM roles for the identity pools.
B. Program the sign-in page to create users' IAM groups with the IAM roles attached to the groups.
C. Create an Amazon RDS for SQL Server DB instance to store the users and manage the permissions to the backend resources in AWS.
D. Configure the sign-in page to register and store the users and their passwords in an Amazon DynamoDB table with an attached IAM policy.
Correct Answer: C
A company has a web application that is hosted on Amazon EC2 instances. The EC2 instances are configured to stream logs to Amazon
CloudWatch Logs. The company needs to receive an Amazon Simple Notification Service (Amazon SNS) notification when the number of
A. Rewrite the application code to stream application logs to Amazon SNS. Configure an SNS topic to send a notification when the number of
B. Configure a subscription filter on the CloudWatch Logs log group. Configure the filter to send an SNS notification when the number of errors
C. Install and configure the Amazon Inspector agent on the EC2 instances to monitor for errors. Configure Amazon Inspector to send an SNS
notification when the number of errors exceeds the defined threshold within a 5-minute period.
D. Create a CloudWatch metric filter to match the application error pattern in the log data. Set up a CloudWatch alarm based on the new
custom metric. Configure the alarm to send an SNS notification when the number of errors exceeds the defined threshold within a 5-minute
period.
Correct Answer: C
A photo sharing application uses Amazon S3 to store image files. All user images are manually audited for inappropriate content by a third-party
company. The audits are completed 1-24 hours after user upload and the results are written to an Amazon DynamoDB table, which uses the S3
object key as a primary key. The database items can be queried by using a REST API created by the third-party company.
An application developer needs to implement an automated process to tag all S3 objects with the results of the content audit.
What should the developer do to meet these requirements in the MOST operationally efficient way?
A. Create an AWS Lambda function to run in response to the s3:ObjectCreated event type. Write the S3 key to an Amazon Simple Queue
Service (Amazon SQS) queue with a visibility timeout of 24 hours. Create and configure a second Lambda function to read items from the
queue. Retrieve the results for each item from the DynamoDB table. Tag each S3 object accordingly.
B. Create an AWS Lambda function to run in response to the s3:ObjectCreated event type. Integrate the function into an AWS Step Functions
standard workflow. Define an AWS Step Functions Wait state and set the value to 24 hours. Create and configure a second Lambda function to
retrieve the audit results and tag the S3 objects accordingly after the Wait state is over.
C. Create an AWS Lambda function to load all untagged S3 objects. Retrieve the results for each item from the REST API and tag each S3
object accordingly. Create and configure an Amazon EventBridge rule to run at regular intervals. Set the Lambda function as a target for the
EventBridge rule.
D. Launch an Amazon EC2 instance. Deploy a script to the EC2 instance to use the external database results to tag the S3 objects accordingly.
Correct Answer: A
A company has built an AWS Lambda function to convert large image files into output files that can be used in a third-party viewer application. The
company recently added a new module to the function to improve the output of the generated files. However, the new module has increased the
bundle size and has increased the time that is needed to deploy changes to the function code.
How can a developer increase the speed of the Lambda function deployment?
Correct Answer: D
A developer creates a static website for their department. The developer deploys the static assets for the website to an Amazon S3 bucket and
serves the assets with Amazon CloudFront. The developer uses origin access control (OAC) on the CloudFront distribution to access the S3
bucket.
The developer notices users can access the root URL and specific pages but cannot access directories without specifying a file name. For
example, /products/index.html works, but /products/ returns an error. The developer needs to enable accessing directories without specifying a
A. Update the CloudFront distribution's settings to index.html as the default root object is set.
B. Update the Amazon S3 bucket settings and enable static website hosting. Specify index.html as the Index document. Update the S3 bucket
policy to enable access. Update the CloudFront distribution's origin to use the S3 website endpoint.
C. Create a CloudFront function that examines the request URL and appends index.html when directories are being accessed. Add the function
D. Create a custom error response on the CloudFront distribution with the HTTP error code set to the HTTP 404 Not Found response code and
the response page path to /index.html. Set the HTTP response code to the HTTP 200 OK response code.
Correct Answer: B
A developer is testing a RESTful application that is deployed by using Amazon API Gateway and AWS Lambda. When the developer tests the user
login by using credentials that are not valid, the developer receives an HTTP 405: METHOD_NOT_ALLOWED error. The developer has verified that
Which HTTP error should the application return in response to the request?
A. HTTP 401
B. HTTP 404
C. HTTP 503
D. HTTP 505
Correct Answer: A
A developer must use multi-factor authentication (MFA) to access data in an Amazon S3 bucket that is in another AWS account.
Which AWS Security Token Service (AWS STS) API operation should the developer use with the MFA information to meet this requirement?
A. AssumeRoleWithWebIdentity
B. GetFederationToken
C. AssumeRoleWithSAML
D. AssumeRole
Correct Answer: B
A developer designed an application on an Amazon EC2 instance. The application makes API requests to objects in an Amazon S3 bucket.
Which combination of steps will ensure that the application makes the API requests in the MOST secure manner? (Choose two.)
A. Create an IAM user that has permissions to the S3 bucket. Add the user to an IAM group.
C. Add the IAM role to an instance profile. Attach the instance profile to the EC2 instance.
D. Create an IAM role that has permissions to the S3 bucket. Assign the role to an IAM group.
E. Store the credentials of the IAM user in the environment variables on the EC2 instance.
Correct Answer: BC
An AWS Lambda function requires read access to an Amazon S3 bucket and requires read/write access to an Amazon DynamoDB table. The
What is the MOST secure way to grant the Lambda function access to the S3 bucket and the DynamoDB table?
B. Create an IAM role for the Lambda function. Attach the existing IAM policy to the role. Attach the role to the Lambda function.
C. Create an IAM user with programmatic access. Attach the existing IAM policy to the user. Add the user access key ID and secret access key
D. Add the AWS account root user access key ID and secret access key as encrypted environment variables in the Lambda function.
Correct Answer: B
A developer is using AWS Step Functions to automate a workflow. The workflow defines each step as an AWS Lambda function task. The
developer notices that runs of the Step Functions state machine fail in the GetResource task with either an IllegalArgumentException error or a
TooManyRequestsException error.
The developer wants the state machine to stop running when the state machine encounters an IllegalArgumentException error. The state machine
needs to retry the GetResource task one additional time after 10 seconds if the state machine encounters a TooManyRequestsException error. If
the second attempt fails, the developer wants the state machine to stop running.
How can the developer implement the Lambda retry functionality without adding unnecessary complexity to the state machine?
A. Add a Delay task after the GetResource task. Add a catcher to the GetResource task. Configure the catcher with an error type of
TooManyRequestsException. Configure the next step to be the Delay task. Configure the Delay task to wait for an interval of 10 seconds.
B. Add a catcher to the GetResource task. Configure the catcher with an error type of TooManyRequestsException, an interval of 10 seconds,
and a maximum attempts value of 1. Configure the next step to be the GetResource task.
C. Add a retrier to the GetResource task. Configure the retrier with an error type of TooManyRequestsException, an interval of 10 seconds, and
D. Duplicate the GetResource task. Rename the new GetResource task to TryAgain. Add a catcher to the original GetResource task. Configure
the catcher with an error type of TooManyRequestsException. Configure the next step to be TryAgain.
Correct Answer: A
A developer is creating a serverless application that uses an AWS Lambda function. The developer will use AWS CloudFormation to deploy the
application. The application will write logs to Amazon CloudWatch Logs. The developer has created a log group in a CloudFormation template for
the application to use. The developer needs to modify the CloudFormation template to make the name of the log group available to the application
at runtime.
A. Use the AWS::Include transform in CloudFormation to provide the log group's name to the application.
B. Pass the log group's name to the application in the user data section of the CloudFormation template.
C. Use the CloudFormation template's Mappings section to specify the log group's name for the application.
D. Pass the log group's Amazon Resource Name (ARN) as an environment variable to the Lambda function.
Correct Answer: C
A developer is creating an Amazon DynamoDB table by using the AWS CLI. The DynamoDB table must use server-side encryption with an AWS
How should the developer create the DynamoDB table to meet these requirements?
A. Create an AWS Key Management Service (AWS KMS) customer managed key. Provide the key's Amazon Resource Name (ARN) in the
B. Create an AWS Key Management Service (AWS KMS) AWS managed key. Provide the key's Amazon Resource Name (ARN) in the
C. Create an AWS owned key. Provide the key's Amazon Resource Name (ARN) in the KMSMasterKeyId parameter during creation of the
DynamoDB table.
Correct Answer: D
A company has an application that runs across multiple AWS Regions. The application is experiencing performance issues at irregular intervals. A
developer must use AWS X-Ray to implement distributed tracing for the application to troubleshoot the root cause of the performance issues.
A. Use the X-Ray console to add annotations for AWS services and user-defined services.
B. Use Region annotation that X-Ray adds automatically for AWS services. Add Region annotation for user-defined services.
C. Use the X-Ray daemon to add annotations for AWS services and user-defined services.
D. Use Region annotation that X-Ray adds automatically for user-defined services. Configure X-Ray to add Region annotation for AWS services.
Correct Answer: B
A company runs an application on AWS. The application uses an AWS Lambda function that is configured with an Amazon Simple Queue Service
(Amazon SQS) queue called high priority queue as the event source. A developer is updating the Lambda function with another SQS queue called
low priority queue as the event source. The Lambda function must always read up to 10 simultaneous messages from the high priority queue
before processing messages from low priority queue. The Lambda function must be limited to 100 simultaneous invocations.
A. Set the event source mapping batch size to 10 for the high priority queue and to 90 for the low priority queue.
B. Set the delivery delay to 0 seconds for the high priority queue and to 10 seconds for the low priority queue.
C. Set the event source mapping maximum concurrency to 10 for the high priority queue and to 90 for the low priority queue.
D. Set the event source mapping batch window to 10 for the high priority queue and to 90 for the low priority queue.
Correct Answer: A
A data visualization company wants to strengthen the security of its core applications. The applications are deployed on AWS across its
development, staging, pre-production, and production environments. The company needs to encrypt all of its stored sensitive credentials. The
sensitive credentials need to be automatically rotated. A version of the sensitive credentials need to be stored for each environment.
Which solution will meet these requirements in the MOST operationally efficient way?
A. Configure AWS Secrets Manager versions to store different copies of the same credentials across multiple environments.
B. Create a new parameter version in AWS Systems Manager Parameter Store for each environment. Store the environment-specific
C. Configure the environment variables in the application code. Use different names for each environment type.
D. Configure AWS Secrets Manager to create a new secret for each environment type. Store the environment-specific credentials in the secret.
Correct Answer: C
A developer is investigating an issue in part of a company's application. In the application, messages are sent to an Amazon Simple Queue
Service (Amazon SQS) queue. The AWS Lambda function polls messages from the SQS queue and sends email messages by using Amazon
Simple Email Service (Amazon SES). Users have been receiving duplicate email messages during periods of high traffic.
Which reasons could explain the duplicate email messages? (Choose two.)
B. Standard SQS queues support exactly-once processing, so the duplicate email messages are because of user error.
C. Amazon SES has the DomainKeys Identified Mail (DKIM) authentication incorrectly configured.
D. The SQS queue's visibility timeout is lower than or the same as the Lambda function's timeout.
Correct Answer: AD
A developer is deploying a company's application to Amazon EC2 instances. The application generates gigabytes of data files each day. The files
are rarely accessed, but the files must be available to the application's users within minutes of a request during the first year of storage. The
How can the developer implement the application to meet these requirements MOST cost-effectively?
A. Store the files in an Amazon S3 bucket. Use the S3 Glacier Instant Retrieval storage class. Create an S3 Lifecycle policy to transition the
B. Store the files in an Amazon S3 bucket. Use the S3 Standard storage class. Create an S3 Lifecycle policy to transition the files to the S3
C. Store the files on an Amazon Elastic Block Store (Amazon EBS) volume. Use Amazon Data Lifecycle Manager (Amazon DLM) to create
snapshots of the EBS volumes and to store those snapshots in Amazon S3.
D. Store the files on an Amazon Elastic File System (Amazon EFS) mount. Configure EFS lifecycle management to transition the files to the
Correct Answer: B
A company's developer has deployed an application in AWS by using AWS CloudFormation. The CloudFormation stack includes parameters in AWS
Systems Manager Parameter Store that the application uses as configuration settings. The application can modify the parameter values.
When the developer updated the stack to create additional resources with tags, the developer noted that the parameter values were reset and that
the values ignored the latest changes made by the application. The developer needs to change the way the company deploys the CloudFormation
stack. The developer also needs to avoid resetting the parameter values outside the stack.
Which solution will meet these requirements with the LEAST development effort?
A. Modify the CloudFormation stack to set the deletion policy to Retain for the Parameter Store parameters.
B. Create an Amazon DynamoDB table as a resource in the CloudFormation stack to hold configuration data for the application. Migrate the
parameters that the application is modifying from Parameter Store to the DynamoDB table.
C. Create an Amazon RDS DB instance as a resource in the CloudFormation stack. Create a table in the database for parameter configuration.
Migrate the parameters that the application is modifying from Parameter Store to the configuration table.
D. Modify the CloudFormation stack policy to deny updates on Parameter Store parameters.
Correct Answer: C
A company has a social media application that receives large amounts of traffic. User posts and interactions are continuously updated in an
Amazon RDS database. The data changes frequently, and the data types can be complex. The application must serve read requests with minimal
latency.
The application's current architecture struggles to deliver these rapid data updates efficiently. The company needs a solution to improve the
application's performance.
A. Use Amazon DynamoDB Accelerator (DAX) in front of the RDS database to provide a caching layer for the high volume of rapidly changing
data.
B. Set up Amazon S3 Transfer Acceleration on the RDS database to enhance the speed of data transfer from the databases to the application.
C. Add an Amazon CloudFront distribution in front of the RDS database to provide a caching layer for the high volume of rapidly changing
data.
D. Create an Amazon ElastiCache for Redis cluster. Update the application code to use a write-through caching strategy and read the data
from Redis.
Correct Answer: C
A developer created an AWS Lambda function that performs a series of operations that involve multiple AWS services. The function's duration
time is higher than normal. To determine the cause of the issue, the developer must investigate traffic between the services without changing the
function code.
A. Enable AWS X-Ray active tracing in the Lambda function. Review the logs in X-Ray.
B. Configure AWS CloudTrail. View the trail logs that are associated with the Lambda function.
D. Review the Amazon CloudWatch logs that are associated with the Lambda function.
Correct Answer: D
A company has on-premises data centers that run an image processing service. The service consists of containerized applications that run on
Kubernetes clusters. All the applications have access to the same NFS share for files and data storage.
The company is running out of NFS capacity in the data centers and needs to migrate to AWS as soon as possible. The Kubernetes clusters must
A. Transfer the information that is in the NFS share to an Amazon Elastic Block Store (Amazon EBS) volume. Upload the container images to
B. Transfer the information that is in the NFS share to an Amazon Elastic File System (Amazon EFS) volume. Upload the container images to
C. Create an Amazon Elastic Container Service (Amazon ECS) cluster to run the applications. Configure each node of the cluster to mount the
Amazon Elastic Block Store (Amazon EBS) volume at the required path for the container images.
D. Create an Amazon Elastic Kubernetes Service (Amazon EKS) cluster to run the applications. Configure each node of the cluster to mount
the Amazon Elastic Block Store (Amazon EBS) volume at the required path for the container images.
E. Create an Amazon Elastic Kubernetes Service (Amazon EKS) cluster to run the applications. Configure each node of the cluster to mount
the Amazon Elastic File System (Amazon EFS) volume at the required path for the container images.
Correct Answer: A E
A company has an analytics application that uses an AWS Lambda function to process transaction data asynchronously. A developer notices that
asynchronous invocations of the Lambda function sometimes fail. When failed Lambda function invocations occur, the developer wants to invoke
A. Configure a Lambda function destination with a failure condition. Specify Lambda function as the destination type. Specify the error-
B. Enable AWS X-Ray active tracing on the initial Lambda function. Configure X-Ray to capture stack traces of the failed invocations. Invoke
the error-handling Lambda function by including the stack traces in the event object.
C. Configure a Lambda function trigger with a failure condition. Specify Lambda function as the destination type. Specify the error-handling
D. Create a status check alarm on the initial Lambda function. Configure the alarm to invoke the error-handling Lambda function when the
alarm is initiated. Ensure that the alarm passes the stack trace in the event object.
Correct Answer: D
A company introduced a new feature that should be accessible to only a specific group of premium customers. A developer needs the ability to
turn the feature on and off in response to performance and feedback. The developer needs a solution to validate and deploy these configurations
A. Use AWS AppConfig to manage the feature configuration and to validate and deploy changes. Use feature flags to turn the feature on and
off.
B. Use AWS Secrets Manager to securely manage and validate the feature configurations. Enable lifecycle rules to turn the feature on and off.
C. Use AWS Config to manage the feature configuration and validation. Set up AWS Config rules to turn the feature on and off based on
predefined conditions.
D. Use AWS Systems Manager Parameter Store to store and validate the configuration settings for the feature. Enable lifecycle rules to turn
Correct Answer: A
A developer needs approval from a product owner before the developer can deploy code for an application to production. The developer uses AWS
CodePipeline to deploy the application. The developer configures an Amazon Simple Notification Service (Amazon SNS) topic to send notifications
Which solution is the MOST operationally efficient way for the developer to receive approval from the product owner?
A. Add a new stage to CodePipeline before the production deployment. Add a manual approval action to the new stage. Add a new notification
rule in the pipeline settings. Specify manual approval as the event that initiates the notification. Specify the SNS topic's Amazon Resource
B. Develop an AWS Step Functions state machine that sends a notification to the product owner and accepts an approval. Add a new stage to
CodePipeline before the production deployment. Add the state machine as a Step Functions action to the new stage.
C. Add a manual approval action to the existing production deployment stage in CodePipeline. Specify the SNS topic's Amazon Resource
D. Edit the settings in CodePipeline. Create a new notification rule. Specify manual approval as the event that initiates the notification. Create
a new notification target. Specify the SNS topic to notify the product owner. Save the notification rule.
Correct Answer: B
A developer is building a serverless application on AWS for a workflow that processes high volumes of data. In the workflow, an AWS Step
One of the Lambda functions occasionally fails because of timeout errors during periods of high demand. The developer must ensure that the
workflow automatically retries the failed function invocation if a timeout error occurs.
A. Add a Retry field in the Step Functions state machine definition. Configure the state machine with the maximum number of retry attempts
B. Add a Timeout field in the Step Functions state machine definition. Configure the state machine with the maximum number of retry
attempts.
C. Add a Fail state to the Step Functions state machine definition. Configure the state machine with the maximum number of retry attempts.
D. Update the Step Functions state machine to pass the invocation request to an Amazon Simple Notification Service (Amazon SNS) topic.
Subscribe a Lambda function to the SNS topic. Configure the Lambda function with the maximum number of retry attempts for a timeout error
type.
Correct Answer: A
A company runs a serverless application on AWS. The application includes an AWS Lambda function. The Lambda function processes data and
stores the data in an Amazon RDS for PostgreSQL database. A developer created a user credentials in the database for the application.
The developer needs to use AWS Secrets Manager to manage the user credentials. The password must to be rotated on a regular basis. The
solution needs to ensure that there is high availability and no downtime for the application during secret rotation.
Correct Answer: D
A company runs an application on AWS. The application consists of a static website that is hosted on Amazon S3. The application includes
Amazon API Gateway APIs that invoke AWS Lambda functions. During a period of high traffic on the application, application users reported that
the application was slow at irregular intervals. There were no failed requests.
A developer needs to find the slow executions across all the Lambda functions.
A. Perform a query across all the Lambda function log groups by using Amazon CloudWatch Logs Insights. Filter on type of report and sort
B. Enable AWS CloudTrail Insights on the account where the Lambda functions are running. After CloudTrail Insights has finished processing,
C. Enable AWS X-Ray for all the Lambda functions. Configure an X-Ray insight on a new group that includes all the Lambda functions. After the
D. Set up AWS Glue to crawl through the logs in Amazon CloudWatch Logs for the Lambda functions. Configure an AWS Glue job to transform
the logs into a structured format and to output the logs into Amazon S3. Use the Amazon CloudWatch dashboard to visualize the slowest
Correct Answer: B
A company is building a serverless application on AWS. The application uses Amazon API Gateway and AWS Lambda. The company wants to
Which solution will meet these requirements with the LEAST development effort?
A. Use API Gateway stage variables and create Lambda aliases to reference environment-specific resources.
B. Use Amazon Elastic Container Service (Amazon ECS) to deploy the application to the environments.
C. Duplicate the code for each environment. Deploy the code to a separate API Gateway stage.
Correct Answer: B
A developer uses AWS CloudFormation to deploy an Amazon API Gateway API and an AWS Step Functions state machine. The state machine must
reference the API Gateway API after the CloudFormation template is deployed. The developer needs a solution that uses the state machine to
A. Configure the CloudFormation template to reference the API endpoint in the DefinitionSubstitutions property for the
AWS::StepFunctions::StateMachine resource.
B. Configure the CloudFormation template to store the API endpoint in an environment variable for the AWS::StepFunctions::StateMachine
C. Configure the CloudFormation template to store the API endpoint in a standard AWS::SecretsManager::Secret resource. Configure the state
D. Configure the CloudFormation template to store the API endpoint in a standard AWS::AppConfig::ConfigurationProfile resource. Configure
Correct Answer: C
A developer is building an application on AWS. The application includes an AWS Lambda function that processes messages from an Amazon
The Lambda function sometimes fails or times out. The developer needs to figure out why the Lambda function fails to process some messages.
Which solution will meet these requirements with the LEAST operational overhead?
A. Increase the maximum timeout of the Lambda function to 15 minutes. Check the AWS CloudTrail event history for error details.
B. Increase the visibility timeout of the SQS queue. Check logs in Amazon CloudWatch Logs for error details.
C. Create a dead-letter queue. Configure the Lambda function to send the failed messages to the dead-letter queue.
D. Create an Amazon DynamoDB table. Update the Lambda function to send the failed messages to the DynamoDB table.
Correct Answer: B
A developer needs to deploy an application in three AWS Regions by using AWS CloudFormation. Each Region will use an AWS Elastic Beanstalk
environment with an Application Load Balancer (ALB). The developer wants to use AWS Certificate Manager (ACM) to deploy SSL certificates to
each ALB.
A. Create a certificate in ACM in any one of the Regions. Import the certificate into the ALB that is in each Region.
B. Create a global certificate in ACM. Update the CloudFormation template to deploy the global certificate to each ALB.
C. Create a certificate in ACM in each Region. Import the certificate into the ALB for each Region.
D. Create a certificate in ACM in the us-east-1 Region. Update the CloudFormation template to deploy the certificate to each ALB.
Correct Answer: C
A company needs to deploy all its cloud resources by using AWS CloudFormation templates. A developer must create an Amazon Simple
Notification Service (Amazon SNS) automatic notification to help enforce this rule. The developer creates an SNS topic and subscribes the email
The security team must receive a notification immediately if an IAM role is created without the use of CloudFormation.
A. Create an AWS Lambda function to filter events from CloudTrail if a role was created without CloudFormation. Configure the Lambda
function to publish to the SNS topic. Create an Amazon EventBridge schedule to invoke the Lambda function every 15 minutes.
B. Create an AWS Fargate task in Amazon Elastic Container Service (Amazon ECS) to filter events from CloudTrail if a role was created without
CloudFormation. Configure the Fargate task to publish to the SNS topic. Create an Amazon EventBridge schedule to run the Fargate task every
15 minutes.
C. Launch an Amazon EC2 instance that includes a script to filter events from CloudTrail if a role was created without CloudFormation.
Configure the script to publish to the SNS topic. Create a cron job to run the script on tile EC2 instance every 15 minutes.
D. Create an Amazon EventBridge rule to filter events from CloudTrail if a role was created without CloudFormation. Specify the SNS topic as
Correct Answer: D
A company is adopting serverless computing for some of its new services. A development team needs to create a serverless infrastructure by
using AWS Serverless Application Model (AWS SAM). All infrastructure must be deployed by using AWS CloudFormation templates.
A. Add a Resources section to the CloudFormation templates that contains AWS::Lambda::Function resources.
B. Add a Mappings section to the CloudFormation templates that contains AWS::Serverless::Function and AWS::Serverless::API.
C. Add a Transform section to the CloudFormation templates. Use the AWS SAM syntax to define the resources.
D. Add a Parameters section to the CloudFormation templates that specifies the relevant AWS SAM Globals section.
Correct Answer: D
A developer is building an application that invokes AWS Lambda functions asynchronously to process events. The developer notices that a
Lambda function fails to process some events at random times. The developer needs to investigate the failed events and capture the events that
A. Add an Amazon EventBridge rule for the Lambda function. Configure the EventBridge rule to react to failed events and to store the events in
B. Configure the Lambda function with a dead-letter queue based in Amazon Kinesis. Update the Lambda function's execution role with the
required permissions.
C. Configure the Lambda function with an Amazon Simple Queue Service (Amazon SQS) dead-letter queue. Update the Lambda function's
D. Configure the Lambda function with an Amazon Simple Queue Service (Amazon SQS) FIFO dead-letter queue. Update the Lambda function's
Correct Answer: B
A company has built a serverless application for its ecommerce website. The application includes a REST API in Amazon API Gateway that
invokes an AWS Lambda function. The Lambda function processes data and stores the data in Amazon DynamoDB table. The Lambda function
calls a third-party stock application API to process the order. After the ordered is processed, the Lambda function returns an HTTP 200 status
During peak usage when the API calls exceeds a certain threshold, the third-party stock application sometimes fails to process the data and
responds with error messages. The company needs a solution that will not overwhelm the third-party stock application.
A. Configure the REST API in API Gateway to write the requests directly into DynamoDB. Configure a DynamoDB intrinsic function to perform
the transformation. Set up a DynamoDB stream to call the third-party stock application API with each new row. Delete the Lambda function.
B. Configure the REST API in API Gateway to write the requests directly into an Amazon Simple Queue Service (Amazon SQS) queue. Configure
the Lambda function with a reserved concurrency equal to the third-party stock application's threshold. Set Lambda function to process the
C. Configure the REST API in API Gateway to write the requests directly into an Amazon Simple Notification Service (Amazon SNS) topic.
Configure the Lambda function with a provisioned concurrency equal to the third-party stock application's threshold. Set the Lambda function
D. Configure the REST API in API Gateway to write the requests directly into Amazon Athena. Configure the transformation of the data by using
SQL with multiple query result locations set up to point to the DynamoDB table and the third-party stock fulfilment application API. Delete the
Lambda function.
Correct Answer: B
A company hosts its application on AWS. The application runs on an Amazon Elastic Container Service (Amazon ECS) cluster that uses AWS
Fargate. The cluster runs behind an Application Load Balancer. The application stores data in an Amazon Aurora database. A developer encrypts
The company wants to use a more secure credential storage method and implement periodic credential rotation.
Which solution will meet these requirements with the LEAST operational overhead?
A. Migrate the secret credentials to Amazon RDS parameter groups. Encrypt the parameter by using an AWS Key Management Service (AWS
KMS) key. Turn on secret rotation. Use IAM policies and roles to grant AWS KMS permissions to access Amazon RDS.
B. Migrate the credentials to AWS Systems Manager Parameter Store. Encrypt the parameter by using an AWS Key Management Service (AWS
KMS) key. Turn on secret rotation. Use IAM policies and roles to grant Amazon ECS Fargate permissions to access to AWS Secrets Manager.
C. Migrate the credentials to ECS Fargate environment variables. Encrypt the credentials by using an AWS Key Management Service (AWS
KMS) key. Turn on secret rotation. Use IAM policies and roles to grant Amazon ECS Fargate permissions to access to AWS Secrets Manager.
D. Migrate the credentials to AWS Secrets Manager. Encrypt the credentials by using an AWS Key Management Service (AWS KMS) key. Turn
on secret rotation. Use IAM policies and roles to grant Amazon ECS Fargate permissions to access to AWS Secrets Manager by using keys.
Correct Answer: C
A company has a mobile app. The app includes an Amazon API Gateway REST API that invokes AWS Lambda functions. The Lambda functions
The company needs to test updated Lambda functions that have new features. The company must conduct these tests with a subset of users
before deployment. The tests must not affect other users of the app.
Which solution will meet these requirements with the LEAST amount of operational effort?
A. Create a new version of each Lambda function with a weighted alias. Configure a weight value for each version of the Lambda function.
Update the new weighted alias Amazon Resource Name (ARN) in the REST API.
B. Create a new REST API in API Gateway. Set up a Lambda proxy integration to connect to multiple Lambda functions. Enable canary settings
on the deployment stage. Specify a smaller percentage of API traffic to go to the new version of the Lambda function.
C. Create a new version of each Lambda function. Integrate a predefined canary deployment in AWS CodeDeploy to slowly shift the traffic to
D. Create a new REST API in API Gateway. Set up a Lambda non-proxy integration to connect to multiple Lambda functions. Specify the
necessary parameters and properties in API Gateway. Enable canary settings on the deployment stage. Specify a smaller percentage of API
Correct Answer: C
A developer works for a company that only has a single pre-production AWS account with an AWS CloudFormation AWS Serverless Application
Model (AWS SAM) stack. The developer made changes to an existing AWS Lambda function specified in the AWS SAM template and additional
The developer wants to do a one-time deploy of the changes to test if the changes are working. The developer does not want to impact the
existing pre-production application that is currently being used by other team members as part of the release pipeline.
A. Use the AWS SAM CLI to package and deploy the SAM application to the pre-production AWS account. Specify the debug parameter.
B. Use the AWS SAM CLI to package and create a change set against the pre-production AWS account. Execute the change set in a new AWS
C. Use the AWS SAM CLI to package and deploy the SAM application to a new AWS account designated for a development environment.
D. Update the CloudFormation stack in the pre-production account. Add a separate stage that points to a new AWS account designated for a
development environment.
Correct Answer: C
A company built an online event platform. For each event, the company organizes quizzes and generates leaderboards that are based on the quiz
scores. The company stores the leaderboard data in Amazon DynamoDB and retains the data for 30 days after an event is complete. The company
The DynamoDB table is configured with a fixed write capacity. During the months when many events occur, the DynamoDB write API requests are
A developer must create a long-term solution that deletes the old leaderboard data and optimizes write throughput.
C. Use AWS Step Functions to schedule and delete the leaderboard data.
D. Set a higher write capacity when the scheduled delete job runs.
Correct Answer: D
A company uses an AWS Lambda function that reads messages from an Amazon Simple Queue Service (Amazon SQS) standard queue. The
Lambda function makes an HTTP call to a third-party API for each message. The company wants to ensure that the Lambda function does not
overwhelm the third-party API with more than two concurrent requests.
B. Configure a batch size of two on the Amazon SQS event source mapping for the Lambda function.
C. Configure Lambda event filtering to process two messages from Amazon SQS at every invocations.
D. Configure a maximum concurrency of two on the Amazon SQS event source mapping for the Lambda function.
Correct Answer: B
A company is using Amazon API Gateway to develop an API for its application on AWS. A developer needs to test and generate API responses.
A. Set up a mock integration request in API Gateway. Configure the method's integration request and integration response to associate a
B. Set up the request validators in the API's OpenAPI definition file. Import the OpenAPI definitions into API Gateway to test the API.
C. Set up a gateway response for the API in API Gateway. Configure response headers with hardcoded HTTP status codes and responses.
D. Set up a request parameter-based Lambda authorizer to control access to the API. Configure the Lambda function with the necessary
mapping template.
Correct Answer: A
A company is releasing a new feature. Users can request early access to the new feature by using an application form. The company expects a
surge of requests when the application form becomes available. Each request will be stored as an item in an Amazon DynamoDB table.
Each item will contain the user's username, the submission date, and a validation status of UNVALIDATED. VALID, or NOT VALID. Each item also
Each user can submit one request. For the DynamoDB table, the developer must choose a partition key that will give the workload well-distributed
A. Username
B. Submission date
C. Validation status
Correct Answer: D
A developer is creating a publicly accessible enterprise website consisting of only static assets. The developer is hosting the website in Amazon
S3 and serving the website to users through an Amazon CloudFront distribution. The users of this application must not be able to access the
application content directly from an S3 bucket. All content must be served through the Amazon CloudFront distribution.
A. Create a new origin access control (OAC) in CloudFront. Configure the CloudFront distribution's origin to use the new OAC. Update the S3
bucket policy to allow CloudFront OAC with read and write access to access Amazon S3 as the origin.
B. Update the S3 bucket settings. Enable the block all public access setting in Amazon S3. Configure the CloudFront distribution's with
Amazon S3 as the origin. Update the S3 bucket policy to allow CloudFront write access.
C. Update the S3 bucket's static website settings. Enable static website hosting and specifying index and error documents. Update the
D. Update the CloudFront distribution's origin to send a custom header. Update the S3 bucket policy with a condition by using the
aws:RequestTag/tag-key key. Configure the tag-key as the custom header name, and the value being matched is the header's value.
Correct Answer: C
A developer built an application that calls an external API to obtain data, processes the data, and saves the result to Amazon S3. The developer
built a container image with all of the necessary dependencies to run the application as a container.
The application runs locally and requires minimal CPU and RAM resources. The developer has created an Amazon ECS cluster. The developer
needs to run the application hourly in Amazon Elastic Container Service (Amazon ECS).
Which solution will meet these requirements with the LEAST amount of infrastructure management overhead?
D. Create an Amazon ECS cluster and add the managed node groups feature to run the application.
Correct Answer: D
A company runs its website on AWS. The company posts daily polls on its website and publishes the poll results next day. The website stores user
responses in an Amazon DynamoDB table. After the poll results are published, the company does not need to keep the user responses.
A developer needs to implement a solution that will automatically remove old user responses from the DynamoDB table. The developer adds a
new expiration_date attribute to the DynamoDB table. The developer plans to use the expiration_date attribute for the automation.
Which solution will meet these requirements with the LEAST development effort?
A. Create an AWS Lambda function to delete old user responses based on the expiration_date attribute. Create an Amazon EventBridge
B. Create an AWS Fargate task in Amazon Elastic Container Service (Amazon ECS) to delete old user responses based on the expiration_date
attribute. Create an Amazon EventBridge schedule to run the Fargate task daily.
C. Create an AWS Glue job to delete old user responses based on the expiration_date attribute. Create an AWS Glue trigger schedule to run the
job daily.
D. Enable TTL on the DynamoDB table and specify the expiration_date attribute. Expire old user responses by using DynamoDB TTL.
Correct Answer: A
A developer is creating a simple proof-of-concept demo by using AWS CloudFormation and AWS Lambda functions. The demo will use a
CloudFormation template to deploy an existing Lambda function. The Lambda function uses deployment packages and dependencies stored in
Amazon S3. The developer defined an AWS::Lambda::Function resource in a CloudFormation template. The developer needs to add the S3 bucket
What should the developer do to meet these requirements with the LEAST development effort?
A. Add the function code in the CloudFormation template inline as the code property.
B. Add the function code in the CloudFormation template as the ZipFile property.
C. Find the S3 key for the Lambda function. Add the S3 key as the ZipFile property in the CloudFormation template.
D. Add the relevant key and bucket to the S3Bucket and S3Key properties in the CloudFormation template.
Correct Answer: C
A developer is building a microservices-based application by using Python on AWS and several AWS services. The developer must use AWS X-Ray.
The developer views the service map by using the console to view the service dependencies. During testing, the developer notices that some
What can the developer do to ensure that all services appear in the X-Ray service map?
A. Modify the X-Ray Python agent configuration in each service to increase the sampling rate.
B. Instrument the application by using the X-Ray SDK for Python. Install the X-Ray SDK for all the services that the application uses.
C. Enable X-Ray data aggregation in Amazon CloudWatch Logs for all the services that the application uses.
D. Increase the X-Ray service map timeout value in the X-Ray console.
Correct Answer: D
A developer is building a containerized application on AWS. The application communicates with a third-party service by using API keys. The
developer needs a secure way to store the API keys and pass the API keys to the containerized application.
A. Store the API keys as a SecureString parameter in AWS Systems Manager Parameter Store. Grant the application access to retrieve the
B. Store the API keys in AWS CloudFormation templates by using base64 encoding. Pass the API keys to the application through container
C. Add a new AWS CloudFormation parameter to the CloudFormation template. Pass the API keys to the application by using the container
D. Embed the API keys in the application. Build the container image on-premises. Upload the container image to Amazon Elastic Container
E. Store the API keys as a SecretString parameter in AWS Secrets Manager. Grant the application access to retrieve the value from Secrets
Manager.
Correct Answer: AC
A company runs an application on AWS. The application stores data in an Amazon DynamoDB table. Some queries are taking a long time to run.
These slow queries involve an attribute that is not the table's partition key or sort key.
The amount of data that the application stores in the DynamoDB table is expected to increase significantly. A developer must increase the
A. Increase the page size for each request by setting the Limit parameter to be higher than the default value. Configure the application to retry
B. Create a global secondary index (GSI). Set query attribute to be the partition key of the index.
C. Perform a parallel scan operation by issuing individual scan requests. In the parameters, specify the segment for the scan requests and the
D. Turn on read capacity auto scaling for the DynamoDB table. Increase the maximum read capacity units (RCUs).
Correct Answer: C
A company runs a payment application on Amazon EC2 instances behind an Application Load Balance. The EC2 instances run in an Auto Scaling
group across multiple Availability Zones. The application needs to retrieve application secrets during the application startup and export the
secrets as environment variables. These secrets must be encrypted at rest and need to be rotated every month.
Which solution will meet these requirements with the LEAST development effort?
A. Save the secrets in a text file and store the text file in Amazon S3. Provision a customer managed key. Use the key for secret encryption in
Amazon S3. Read the contents of the text file and read the export as environment variables. Configure S3 Object Lambda to rotate the text file
every month.
B. Save the secrets as strings in AWS Systems Manager Parameter Store and use the default AWS Key Management Service (AWS KMS) key.
Configure an Amazon EC2 user data script to retrieve the secrets during the startup and export as environment variables. Configure an AWS
C. Save the secrets as base64 encoded environment variables in the application properties. Retrieve the secrets during the application
startup. Reference the secrets in the application code. Write a script to rotate the secrets saved as environment variables.
D. Store the secrets in AWS Secrets Manager. Provision a new customer master key. Use the key to encrypt the secrets. Enable automatic
rotation. Configure an Amazon EC2 user data script to programmatically retrieve the secrets during the startup and export as environment
variables.
Correct Answer: D
A company is using Amazon API Gateway to invoke a new AWS Lambda function. The company has Lambda function versions in its PROD and
DEV environments. In each environment, there is a Lambda function alias pointing to the corresponding Lambda function version. API Gateway
The company wants to configure API Gateway to enable the PROD and DEV Lambda function versions to be simultaneously and distinctly
available.
A. Enable a Lambda authorizer for the Lambda function alias in API Gateway. Republish PROD and create a new stage for DEV. Create API
Gateway stage variables for the PROD and DEV stages. Point each stage variable to the PROD Lambda authorizer to the DEV Lambda
authorizer.
B. Set up a gateway response in API Gateway for the Lambda function alias. Republish PROD and create a new stage for DEV. Create gateway
C. Use an environment variable for the Lambda function alias in API Gateway. Republish PROD and create a new stage for development.
Create API gateway environment variables for PROD and DEV stages. Point each stage variable to the PROD Lambda function alias to the DEV
D. Use an API Gateway stage variable to configure the Lambda function alias. Republish PROD and create a new stage for development.
Create API Gateway stage variables for PROD and DEV stages. Point each stage variable to the PROD Lambda function alias and to the DEV
Correct Answer: A
A developer is working on an ecommerce platform that communicates with several third-party payment processing APIs. The third-party payment
The developer needs to validate the ecommerce platform's integration with the third-party payment processing APIs. The developer must test the
API integration code without invoking the third-party payment processing APIs.
A. Set up an Amazon API Gateway REST API with a gateway response configured for status code 200. Add response templates that contain
B. Set up an AWS AppSync GraphQL API with a data source configured for each third-party API. Specify an integration type of Mock. Configure
integration responses by using sample responses captured from the real third-party API.
C. Create an AWS Lambda function for each third-party API. Embed responses captured from the real third-party API. Configure Amazon Route
53 Resolver with an inbound endpoint for each Lambda function's Amazon Resource Name (ARN).
D. Set up an Amazon API Gateway REST API for each third-party API. Specify an integration request type of Mock. Configure integration
responses by using sample responses captured from the real third-party API.
Correct Answer: C