Amazon SOA-C02 Practice Exams
Last updated on Oct 22,2026- Exam Code: SOA-C02
- Exam Name: AWS Certified SysOps Administrator - Associate
- Certification Provider: Amazon
- Latest update: Oct 22,2026
An organization is running multiple applications for their customers. Each application is deployed by running a base AWS CloudFormation template that configures a new VPC. All applications are run in the same AWS account and AWS Region. A SysOps administrator has noticed that when trying to deploy the same AWS CloudFormation stack, it fails to deploy.
What is likely to be the problem?
- A . The Amazon Machine image used is not available in that region.
- B . The AWS CloudFormation template needs to be updated to the latest version.
- C . The VPC configuration parameters have changed and must be updated in the template.
- D . The account has reached the default limit for VPCs allowed.
D
Explanation:
In AWS, there are default limits (also known as quotas) for the number of various resources that can be created in an account. One of these limits is the number of Virtual Private Clouds (VPCs) that can be created in a single AWS account within a Region. The default limit for the number of VPCs per account per Region is typically 5.
If an organization is running multiple applications, each requiring a new VPC, it is possible to reach this limit, causing subsequent CloudFormation stack deployments that attempt to create additional VPCs to fail.
Check VPC Limits:
To verify the current limit and usage of VPCs in your account, you can use the AWS Service Quotas console.
Open the Service Quotas console at Service Quotas Console.
Navigate to AWS services and select Amazon VPC.
Check the VPCs per Region quota to see the limit and how many VPCs are currently in use.
Requesting a Quota Increase:
If the default limit is reached, you can request a quota increase.
In the Service Quotas console, select the quota and choose Request quota increase.
Fill in the required information and submit the request. AWS typically reviews and approves these requests, but it may take some time.
CloudFormation Stack Failure:
When a CloudFormation stack fails due to reaching the VPC limit, the error message will indicate the issue related to the quota being exceeded.
You can view the specific error in the CloudFormation console under the Events tab of the stack.
Preventative Measures:
To avoid this issue, monitor resource usage and limits regularly.
Consolidate applications within fewer VPCs if possible, using subnets and security groups to isolate resources.
Reference: Amazon VPC Quotas
Service Quotas for VPC
Requesting a Quota Increase
A company runs a high performance computing (HPC) application on an Amazon EC2 instance The company needs to scale this architecture to two or more EC2 instances. The EC2 instances wilt need to communicate with each other at high speeds with low latency to support the application.
The company wants to ensure that the network performance can support the required communication between the EC2 instances.
What should a SysOps administrator do to meet these requirements?
- A . Create a cluster placement group. Back up the existing EC2 instance to an Amazon Machine Image (AMI). Restore the EC2 instance from the AMI into the placement group Launch the additional EC2 instances into the placement group
- B . Back up the existing EC2 instance to an Amazon Machine Image (AMI). Create a launch template from the existing EC2 instance by specifying the AMI. Create an Auto Scaling group and configure the desired instance count.
- C . Create a Network Load Balancer (NLB) and a target group. Launch the new EC2 instances and register them with the target group Register the existing EC2 instance with the target group. Pass all application traffic through the NLB.
- D . Back up the existing EC2 Instance to an Amazon Machine Image (AMI). Create additional clones of the EC2 instance from the AMI in the same Availability Zone where the existing EC2 instance is located.
A
Explanation:
Cluster Placement Group:
Cluster placement groups are used to ensure low-latency networking between EC2 instances. They place instances physically close to each other within the same Availability Zone.
Steps:
Go to the AWS Management Console.
Navigate to EC2 and select "Placement Groups."
Create a new cluster placement group.
Back up the existing EC2 instance to an AMI.
Launch new EC2 instances from the AMI into the cluster placement group.
Ensure all instances are in the same Availability Zone.
Reference: Placement Groups
A company decides to stop non-production Amazon EC2 instances during the EC2 instances. The company’s IT manager must receive notification in near real time whenever an EC2 instance that has an environment type tag value of non-production is started during the night.
Which solution will meet this requirement with the MOST operational efficiency?
- A . Configure an AWS Lambda function with an SMTP client library. Subscribe the Lambda function to the AWS Health Dashboard to receive notification whenever an EC2 instance is in the running state. Configure the Lambda function to use Amazon Pinpoint to send email notifications to the IT manager. Deploy a second Lambda function to throttle calls from the first Lambda function during the daytime.
- B . Deploy an AWS Lambda function that queries the Amazon EC2 API to determine the state of each EC2 instance. Use the EC2 instance scheduler to configure the Lambda function to run every minute during the night and to send an email notification to the IT manager for each non-production EC2 instance that is in the running state.
- C . Create an Amazon EventBridge rule that includes the EC2 Instance State-change Notification event type. Filter the event to capture only the running state. Create an AWS Lambda function as a target of the rule. Configure the Lambda function to check the current time and the EC2 instances’ tags to determine the environment type. Create an Amazon Simple Notification Service (Amazon SNS) topic as a target of the Lambda function for notifications. Subscribe the IT manager’s email address to the
SNS topic. - D . Store the EC2 instance metadata, including the environment type, in an Amazon DynamoDB table. Deploy a custom application to an EC2 instance. Configure the custom application to poll the DynamoDB data every minute during the night and to query the Amazon EC2 API to determine the state of each instance. Additionally, configure the custom application to send an email notification to the IT manager for each non-production EC2 instance that is in the running state.
C
Explanation:
The requirement is to monitor and notify whenever a non-production EC2 instance is started during the night. Amazon EventBridge offers a robust solution by triggering workflows in response to events.
Setting up Amazon EventBridge: Create an EventBridge rule that listens for the "EC2 Instance State-change Notification" event. Configure the rule to trigger only when instances transition to the "running" state.
Lambda Function: Attach a Lambda function as the target of the EventBridge rule. This function will execute when an EC2 instance starts. Inside the Lambda function, implement logic to check the current time and confirm it is during the night hours. Additionally, the function will check the instance’s tags to verify if it’s labeled as "non-production".
Notification via Amazon SNS: If the conditions are met (non-production and nighttime), the Lambda function publishes a message to an Amazon SNS topic specifically set up for this alert. The IT manager is subscribed to this topic, enabling them to receive an email notification almost instantaneously when the event occurs.
This solution is operationally efficient as it leverages serverless components that are inherently scalable and cost-effective, providing real-time monitoring and notifications without the need for continuous polling or complex infrastructure.
A company is releasing a new static website hosted on Amazon S3. The static website hosting feature was enabled on the bucket and content was uploaded: however, upon navigating to the site, the following error message is received:
403 Forbidden – Access Denied
What change should be made to fix this error?
- A . Add a bucket policy that grants everyone read access to the bucket.
- B . Add a bucket policy that grants everyone read access to the bucket objects.
- C . Remove the default bucket policy that denies read access to the bucket.
- D . Configure cross-origin resource sharing (CORS) on the bucket.
B
Explanation:
To fix the "403 Forbidden – Access Denied" error when accessing a static website hosted on Amazon S3, you need to ensure that the objects in the bucket have the appropriate permissions for public access. Here’s how to do it:
Login to AWS Management Console:
Open the Amazon S3 console at Amazon S3 Console.
Navigate to the Bucket:
In the S3 console, select the bucket hosting the static website.
Add a Bucket Policy:
Go to the Permissions tab.
Choose Bucket Policy and add the following policy to grant public read access to all objects in the bucket:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
Save the Policy:
After adding the policy, save the changes.
This policy ensures that all objects in the bucket are publicly accessible, resolving the 403 Forbidden error.
Reference: Hosting a Static Website on Amazon S3
Bucket Policy Examples
A SysOps administrator is responsible for a legacy. CPU-heavy application. The application can only be scaled vertically Currently, the application is deployed on a single t2 large Amazon EC2 instance The system is showing 90% CPU usage and significant performance latency after a few minutes
What change should be made to alleviate the performance problem?
- A . Change the Amazon EBS volume to Provisioned lOPs
- B . Upgrade to a compute-optimized instance
- C . Add additional t3. large instances to the application
- D . Purchase Reserved Instances
B
Explanation:
To address the performance issues of a CPU-heavy application running on a t2.large EC2 instance, the best course of action is to upgrade to a compute-optimized instance. Compute-optimized instances provide a higher ratio of CPU resources compared to memory, making them ideal for applications that require high CPU performance.
Upgrade to a Compute-Optimized Instance:
Identify a suitable compute-optimized instance type, such as the c5.large, which offers better CPU performance compared to the t2.large.
Stop the current EC2 instance and change the instance type to the chosen compute-optimized instance.
Reference: Amazon EC2 Instance Types
Considerations:
Ensure that the new instance type is compatible with the existing AMI and EBS volume configuration.
Monitor the application performance after the upgrade to ensure that the new instance type meets the application’s requirements.
This approach directly addresses the high CPU utilization and performance latency issues.
The company needs a solution to provide failover for a Single-AZ RDS for MySQL DB instance to minimize application downtime.
- A . Modify the DB instance to be a Multi-AZ DB instance deployment.
- B . Add a read replica in the same Availability Zone where the DB instance is deployed.
- C . Add the DB instance to an Auto Scaling group that has a minimum capacity of 2 and a desired capacity of 2.
- D . Use RDS Proxy to configure a proxy in front of the DB instance.
A
Explanation:
Modifying the DB instance to a Multi-AZ deployment is the recommended solution for failover and high availability in RDS. Multi-AZ RDS automatically provisions and maintains a synchronous standby replica in a different Availability Zone, allowing automatic failover in case of an instance or Availability Zone failure.
Multi-AZ Deployment: Provides resilience with automatic failover and minimizes application downtime.
No Application Changes Needed: Multi-AZ is managed by AWS, so the failover is transparent to the application.
Read replicas and Auto Scaling groups do not provide automatic failover for write operations, and RDS Proxy only improves connection management rather than high availability.
A company needs to ensure strict adherence to a budget for 25 applications deployed on AWS Separate teams are responsible for storage compute, and database costs. A SysOps administrator must implement an automated solution to alert each team when their projected spend will exceed a quarterly amount mat has been set by the finance department. The solution cannot additional compute, storage, or database costs.
- A . Configure AWS Cost and Usage Reports to send a daily report to an Amazon S3 bucket. Create an AWS Lambda function that will evaluate Spend by service and nobly each team by using Amazon Simple Notification Service (Amazon SNS) notifications. Invoke the Lambda function when a report is placed in the S3 bucket
- B . Configure AWS Cost and Usage Reports to send a dairy report to an Amazon S3 bucket. Create a rule In Amazon EventBridge (Amazon CloudWatch Events) to evaluate the spend by service and notify each team by using Amazon Simple Queue Service (Amazon SOS) when the cost threshold i6 exceeded.
- C . Use AWS Budgets 😮 create one cost budget and select each of the services in use Specify the budget amount defined by the finance department along with the forecasted cost threshold Enter the appropriate email recipients for the budget.
- D . Use AWS Budgets to create a cost budget for each team, filtering by the services they own. Specify the budget amount defined by the finance department along with a forecasted cost threshold Enter the appropriate email recipients for each budget.
D
Explanation:
AWS Budgets allows you to set custom cost and usage budgets that alert you when you exceed your thresholds. This feature helps teams to monitor their spending and ensure it aligns with the set budget.
Steps:
Open AWS Budgets:
Sign in to the AWS Management Console.
Open the AWS Budgets dashboard.
Create a New Budget:
Click on "Create a budget".
Select "Cost budget" and click "Next".
Set Budget Details:
Enter a unique name for the budget.
Define the period (e.g., quarterly) and start date.
Set the budgeted amount as specified by the finance department.
Define Filters:
Use the filters to select the specific services each team is responsible for (e.g., storage, compute, database).
Set Alerts:
Specify the threshold for forecasted cost that will trigger an alert (e.g., 80% of the budget). Enter the email addresses of the recipients (the respective teams). Review and Create:
Review the configuration and click "Create budget".
By setting up individual budgets for each team and filtering by services, you can ensure that each team is alerted when their projected spend approaches the threshold. This method does not incur additional compute, storage, or database costs.
Reference: AWS Budgets
Creating an AWS Budget
A company needs to ensure strict adherence to a budget for 25 applications deployed on AWS Separate teams are responsible for storage compute, and database costs. A SysOps administrator must implement an automated solution to alert each team when their projected spend will exceed a quarterly amount mat has been set by the finance department. The solution cannot additional compute, storage, or database costs.
- A . Configure AWS Cost and Usage Reports to send a daily report to an Amazon S3 bucket. Create an AWS Lambda function that will evaluate Spend by service and nobly each team by using Amazon Simple Notification Service (Amazon SNS) notifications. Invoke the Lambda function when a report is placed in the S3 bucket
- B . Configure AWS Cost and Usage Reports to send a dairy report to an Amazon S3 bucket. Create a rule In Amazon EventBridge (Amazon CloudWatch Events) to evaluate the spend by service and notify each team by using Amazon Simple Queue Service (Amazon SOS) when the cost threshold i6 exceeded.
- C . Use AWS Budgets 😮 create one cost budget and select each of the services in use Specify the budget amount defined by the finance department along with the forecasted cost threshold Enter the appropriate email recipients for the budget.
- D . Use AWS Budgets to create a cost budget for each team, filtering by the services they own. Specify the budget amount defined by the finance department along with a forecasted cost threshold Enter the appropriate email recipients for each budget.
D
Explanation:
AWS Budgets allows you to set custom cost and usage budgets that alert you when you exceed your thresholds. This feature helps teams to monitor their spending and ensure it aligns with the set budget.
Steps:
Open AWS Budgets:
Sign in to the AWS Management Console.
Open the AWS Budgets dashboard.
Create a New Budget:
Click on "Create a budget".
Select "Cost budget" and click "Next".
Set Budget Details:
Enter a unique name for the budget.
Define the period (e.g., quarterly) and start date.
Set the budgeted amount as specified by the finance department.
Define Filters:
Use the filters to select the specific services each team is responsible for (e.g., storage, compute, database).
Set Alerts:
Specify the threshold for forecasted cost that will trigger an alert (e.g., 80% of the budget). Enter the email addresses of the recipients (the respective teams). Review and Create:
Review the configuration and click "Create budget".
By setting up individual budgets for each team and filtering by services, you can ensure that each team is alerted when their projected spend approaches the threshold. This method does not incur additional compute, storage, or database costs.
Reference: AWS Budgets
Creating an AWS Budget
A company is expanding its fleet of Amazon EC2 instances before an expected increase of traffic. When a SysOps administrator attempts to add more instances, an InstanceLimitExceeded error is returned.
What should the SysOps administrator do to resolve this error?
- A . Add an additional CIDR block to the VPC.
- B . Launch the EC2 instances in a different Availability Zone.
- C . Launch new EC2 instances in another VPC.
- D . Use Service Quotas to request an EC2 quota increase.
D
Explanation:
When encountering an InstanceLimitExceeded error, this indicates that you have reached your account limit for the number of EC2 instances.
Use Service Quotas:
Open the Service Quotas console.
In the navigation pane, choose "AWS services" and then "Amazon EC2."
Select the quota you want to increase, such as "Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances."
Click on "Request quota increase."
Fill in the required information, specifying the new quota value.
Submit the request.
Launch Instances After Approval: Once the quota increase is approved, you will be able to launch additional instances.
Reference: EC2 Service Quotas
Service Quotas Console
A SysOps administrator needs to delete an AWS CloudFormation stack that is no longer in use. The CloudFormation stack is in the DELETE_FAILED state. The SysOps administrator has validated the permissions that are required to delete the Cloud Formation stack.
- A . The configured timeout to delete the stack was too low for the delete operation to complete.
- B . The stack contains nested stacks that must be manually deleted fast.
- C . The stack was deployed with the -disable rollback option.
- D . There are additional resources associated with a security group in the stack
- E . There are Amazon S3 buckets that still contain objects in the stack.
E
Explanation:
A CloudFormation stack in the DELETE_FAILED state typically indicates that some resources could not be deleted. One common reason is that S3 buckets in the stack still contain objects.
Steps:
Identify the Failed Resources:
Open the AWS CloudFormation console.
Select the stack in the DELETE_FAILED state.
Check the "Events" tab to identify the resource(s) that caused the failure.
Delete S3 Objects:
Open the Amazon S3 console.
Navigate to the bucket(s) listed in the CloudFormation events.
Delete all objects in the bucket. You can use the S3 console, AWS CLI, or an S3 batch operation to delete the objects.
Retry Stack Deletion:
After clearing the S3 bucket(s), go back to the CloudFormation console. Select the stack and choose "Delete" to retry the deletion process.
Reference: Deleting a Stack
Troubleshooting AWS CloudFormation