Skip to main content

AWS · SOA-C03

SOA-C03 practice questions with answers

15 free practice questions for the AWS Certified CloudOps Engineer – Associate (SOA-C03) exam, spread across the exam's domains. Try each one, then open the answer to see why every option is right or wrong.

  1. Question 1 · Monitoring, Logging, Analysis, Remediation, and Performance Optimization

    A team often runs a CloudWatch Logs Insights query that lists the 10 slowest requests in an application log group. They want the current results of this query on their operational CloudWatch dashboard, next to existing metric widgets, without anyone rerunning the query by hand. What should a CloudOps engineer do?

    • ARun the query in Logs Insights and use Add to dashboard to place the results in a widget
    • BCreate a metric filter on the log group that publishes the 10 slowest requests as a metric
    • CExport the query results to an Amazon S3 bucket and point a dashboard widget at the exported file
    • DSave the query in Logs Insights so it appears in the dashboard's saved-queries panel
    Show answer and explanation

    Answer: A) Run the query in Logs Insights and use Add to dashboard to place the results in a widget

    Using Add to dashboard from Logs Insights places a query widget on a CloudWatch dashboard. The query reruns whenever the dashboard loads or refreshes. Metric filters, exported results and saved queries don't give a self-refreshing ranked list on the dashboard.

    • ACorrect. You can add a Logs Insights query to a CloudWatch dashboard as a widget. The query reruns each time the dashboard loads and each time it refreshes. These runs count toward the limit on concurrent Logs Insights queries.
    • BIncorrect. A metric filter turns matching log events into numeric metric data points. It cannot produce a ranked list of individual requests like the Logs Insights query does.
    • CIncorrect. Exported results are a one-time snapshot that someone would have to refresh by hand. CloudWatch dashboard widgets also don't display files stored in S3.
    • DIncorrect. A saved query is only kept in Logs Insights so it can be run again later. Saving it doesn't put it on a dashboard, so someone would still need to run it by hand.
  2. Question 2 · Monitoring, Logging, Analysis, Remediation, and Performance Optimization

    A company policy requires every Amazon S3 bucket in an account to use default encryption with AWS KMS keys (SSE-KMS), not the default SSE-S3. The compliance team wants buckets evaluated automatically whenever their configuration changes, with any bucket that breaks the policy flagged as noncompliant. Which solution meets these requirements?

    • ADeploy the AWS Config managed rule s3-default-encryption-kms in the account
    • BCreate an AWS CloudTrail trail that logs S3 data events for all buckets
    • CReview the AWS Trusted Advisor security checks for Amazon S3 buckets
    • DEnable IAM Access Analyzer for the account to analyze each bucket's policy
    Show answer and explanation

    Answer: A) Deploy the AWS Config managed rule s3-default-encryption-kms in the account

    AWS Config managed rules evaluate resource configurations continuously and flag noncompliant resources. The s3-default-encryption-kms rule checks specifically that S3 buckets are encrypted with AWS KMS keys.

    • ACorrect. This managed AWS Config rule checks whether S3 buckets are encrypted with AWS KMS and marks a bucket NON_COMPLIANT if it is not encrypted with a KMS key. It runs when configurations change, and it can be limited to specific key ARNs.
    • BIncorrect. CloudTrail data events record object-level API activity for auditing. They do not compare bucket configurations with a policy or produce a compliance status.
    • CIncorrect. Trusted Advisor's S3 check looks at bucket permissions such as open access. It does not evaluate whether default encryption uses AWS KMS keys against a custom policy.
    • DIncorrect. IAM Access Analyzer finds buckets that are shared publicly or with external principals. It does not evaluate encryption settings.
  3. Question 3 · Monitoring, Logging, Analysis, Remediation, and Performance Optimization

    A company runs a .NET web tier on Microsoft IIS with a SQL Server backend database on Amazon EC2 instances. The operations team wants CloudWatch to scan the application's resources, recommend and configure the relevant metrics and logs for each component, and create dashboards that point out likely problems. The team does not want to decide on and build each monitor by hand. Which solution meets these requirements?

    • AAdd the application's resources to Amazon CloudWatch Application Insights
    • BTurn on Amazon CloudWatch Container Insights for the EC2 instances
    • CCreate CloudWatch anomaly detection alarms on the instances' CPUUtilization metric
    • DInstall the CloudWatch agent on each instance using the default configuration
    Show answer and explanation

    Answer: A) Add the application's resources to Amazon CloudWatch Application Insights

    CloudWatch Application Insights detects application components such as IIS and SQL Server and recommends and configures the right metrics, logs, and dashboards for them. The other options need manual monitor design or apply to other workload types.

    • ACorrect. Application Insights scans the application's resources and recommends and configures CloudWatch metrics and logs for components such as SQL Server databases and IIS web tiers. It also creates dashboards that show detected problems and how severe they are.
    • BIncorrect. Container Insights collects metrics and logs from containerized workloads on Amazon ECS, Amazon EKS, ROSA, and Kubernetes. It does not detect an IIS or SQL Server stack running directly on EC2 or recommend monitors for one.
    • CIncorrect. With anomaly detection, the team still has to choose each metric and build each alarm. It does not discover application components or recommend a monitoring set for the stack.
    • DIncorrect. The agent collects system-level metrics and logs that someone has to configure. On its own, it does not analyze the application stack or recommend and set up stack-specific alarms and dashboards.
  4. Question 4 · Reliability and Business Continuity

    A company runs a production Amazon RDS for PostgreSQL DB instance (Single-AZ or Multi-AZ DB instance deployment). Its disaster recovery plan requires that, if the primary AWS Region becomes unavailable, the database can be restored in a second Region to any point in time within the backup retention period. The company wants to avoid custom scripting. Which solution meets these requirements?

    • AEnable cross-Region automated backups so RDS copies the instance's snapshots and transaction logs to the second Region
    • BConvert the DB instance to a Multi-AZ DB instance deployment with a synchronous standby replica
    • CIncrease the automated backup retention period of the DB instance to the maximum of 35 days
    • DTake a manual DB snapshot every night and copy each snapshot to the second Region
    Show answer and explanation

    Answer: A) Enable cross-Region automated backups so RDS copies the instance's snapshots and transaction logs to the second Region

    RDS cross-Region automated backup replication copies snapshots and transaction logs to another Region, which enables point-in-time recovery there. Multi-AZ, a longer retention period, and nightly snapshot copies don't meet the cross-Region point-in-time requirement.

    • ACorrect. With backup replication turned on, RDS starts a cross-Region copy of each snapshot and transaction log as soon as it is ready. This supports point-in-time restore of the instance in the destination Region.
    • BIncorrect. Multi-AZ keeps the standby in another Availability Zone in the same Region. It doesn't protect against the loss of the whole Region.
    • CIncorrect. A longer retention period keeps more backups, but they stay in the primary Region. They won't be available if that Region goes down.
    • DIncorrect. A copied snapshot can be restored only to the moment it was taken. Without the transaction logs, it can't restore to any point in time, and it also needs scheduling or scripting.
  5. Question 5 · Reliability and Business Continuity

    An Amazon ElastiCache (Redis OSS) cluster with cluster mode enabled has 2 shards. Write traffic has grown, and the primary nodes of both shards are near their CPU and memory limits, while the replicas are lightly loaded. The application must keep running during the change. What should a CloudOps engineer do?

    • AAdd more replicas to each shard
    • BUse online resharding to add shards to the cluster
    • CCreate a new cluster from a backup with a larger node type during a maintenance window
    • DSwitch the application to read from the reader endpoint
    Show answer and explanation

    Answer: B) Use online resharding to add shards to the cluster

    In ElastiCache with cluster mode enabled, write and memory capacity scale out by adding shards with online resharding. Replicas only scale reads.

    • AIncorrect. Replicas add read capacity and availability, but all writes still go to each shard's primary, so the write bottleneck stays.
    • BCorrect. With cluster mode enabled, ElastiCache supports online resharding. Adding shards spreads the key space, and therefore the writes and memory, across more primaries while the cluster keeps serving requests.
    • CIncorrect. Restoring to a new cluster interrupts the application and needs an endpoint change, which the requirement rules out. Online scaling is available.
    • DIncorrect. Reading from replicas offloads reads, but the primaries are saturated by writes, which can't go to replicas.
  6. Question 6 · Reliability and Business Continuity

    A company has used AWS Backup since 2020 to back up Amazon DynamoDB tables and has never changed the account's DynamoDB settings in AWS Backup. A new rule requires copying DynamoDB backups to a vault in another Region. The CloudOps engineer adds a copy action to the backup plan, but DynamoDB recovery points are not copied. What should the engineer do?

    • AEnable point-in-time recovery on every DynamoDB table
    • BConvert the tables to global tables with a replica in the destination Region
    • CEnable AWS Backup's advanced features for DynamoDB in the AWS Backup settings
    • DCreate the destination vault with the same name as the source vault
    Show answer and explanation

    Answer: C) Enable AWS Backup's advanced features for DynamoDB in the AWS Backup settings

    Copying DynamoDB backups across Regions or accounts requires AWS Backup's advanced DynamoDB features, which older accounts must enable in AWS Backup settings.

    • AIncorrect. PITR gives continuous backups inside DynamoDB, but it isn't what controls whether AWS Backup can copy DynamoDB backups to another Region.
    • BIncorrect. Global tables replicate live data, so mistakes and corruption replicate too. They aren't backup copies and don't enable the copy action.
    • CCorrect. Cross-Region and cross-account copies of DynamoDB backups are part of AWS Backup's advanced DynamoDB backup features, along with cold storage and cost allocation tags. Accounts that started using AWS Backup before these features launched must turn them on.
    • DIncorrect. Vault names don't have to match between Regions. A copy action just names the destination vault's ARN.
  7. Question 7 · Deployment, Provisioning, and Automation

    Several application teams copy the same standard VPC definition into their own CloudFormation templates. A CloudOps engineer wants to keep the VPC definition in one separate template. Each application stack should deploy its own copy of that template as a child stack, create, update and delete it as part of the application stack, and read its subnet IDs from the child's outputs. Which approach meets these requirements?

    • AReference the VPC template from each template by using an AWS::CloudFormation::Stack resource
    • BDeploy one shared VPC stack that exports subnet IDs, and use Fn::ImportValue in each template
    • CDeploy the VPC template as a StackSet to every account and Region that the applications use
    • DCreate a change set for each application stack that adds the VPC resources from the shared file
    Show answer and explanation

    Answer: A) Reference the VPC template from each template by using an AWS::CloudFormation::Stack resource

    Nested stacks, declared with AWS::CloudFormation::Stack, let a dedicated template be reused as a child stack whose lifecycle and outputs belong to the parent. Cross-stack references share one separately managed stack, and StackSets and change sets solve different problems.

    • ACorrect. This creates a nested stack. The parent template points to the dedicated template through TemplateURL, and CloudFormation deploys it as a child stack that is managed through the parent or root stack. The parent can read the child's outputs with Fn::GetAtt NestedStack.Outputs.<name>.
    • BIncorrect. Cross-stack references let several stacks share one independently managed VPC through exported outputs. They don't give each application stack its own copy of the VPC that is created and deleted along with that application stack.
    • CIncorrect. StackSets deploy stack instances of one template across accounts and Regions. Those instances are managed through the StackSet, not as child resources inside each application stack, and the application templates still can't read their outputs.
    • DIncorrect. A change set only previews proposed changes to a stack before they are run. It isn't a way to reference a separate reusable template, so the VPC resources would still be duplicated in each template.
  8. Question 8 · Deployment, Provisioning, and Automation

    A team runs version 1 of a web application behind an Application Load Balancer (ALB) in target group TG-v1. They registered version 2 in a new target group, TG-v2. They want about 5% of all production requests on the existing listener to go to TG-v2 while they watch error rates, and then raise that share in steps. They want to do this entirely in the ALB configuration. What should they configure?

    • AA forward action on the listener rule that includes both target groups, with a weight of 95 for TG-v1 and 5 for TG-v2
    • BSlow start mode on TG-v2, with a long slow start duration so its targets get traffic gradually
    • CA new listener rule with a path-pattern condition that forwards requests for /v2/* to TG-v2
    • DTarget group stickiness on the existing rule so returning clients stay on the target group they first used
    Show answer and explanation

    Answer: A) A forward action on the listener rule that includes both target groups, with a weight of 95 for TG-v1 and 5 for TG-v2

    Use a forward action with weighted target groups on the ALB listener rule to send a set percentage of requests to the new version's target group, then adjust the weights to shift more traffic. Slow start, path-based rules and stickiness don't give a weighted split between target groups.

    • ACorrect. A forward action can list several target groups, each with a weight from 0 to 999. The ALB splits matching requests in proportion to the weights. The team can change the weights later to move more traffic to TG-v2.
    • BIncorrect. Slow start gradually ramps up the requests sent to newly healthy targets within one target group. After the duration ends, the targets get a full share. It doesn't control what percentage of listener traffic goes to one target group versus another.
    • CIncorrect. A path-pattern condition routes requests based on the URL path, not as a percentage of all traffic. Only clients that request /v2/* would reach the new version, so this isn't a random 5% sample of production traffic.
    • DIncorrect. Target group stickiness only keeps a client on the target group it was first routed to. It needs weighted target groups to decide the split, so on its own it doesn't send any share of traffic to TG-v2.
  9. Question 9 · Deployment, Provisioning, and Automation

    A CloudOps team manages a large mixed fleet of EC2 instances and on-premises servers, all registered as Systems Manager managed nodes. They want one console where they can see node status, browse files on a node, connect to Windows nodes with Remote Desktop, and manage local OS user accounts, without opening any inbound ports. Which AWS capability meets these requirements?

    • AAWS Systems Manager Fleet Manager
    • BAWS Systems Manager Inventory
    • CAmazon EC2 Instance Connect
    • DAWS Systems Manager Explorer
    Show answer and explanation

    Answer: A) AWS Systems Manager Fleet Manager

    Systems Manager Fleet Manager gives one console to view and manage nodes on AWS and on premises. It covers node status, file browsing, RDP to Windows and OS user management, all without opening inbound ports.

    • ACorrect. Fleet Manager is a unified console for remotely managing nodes on AWS or on premises. It shows node status and performance, lets you view folder and file contents and logs, supports RDP connections to Windows instances, and manages OS user accounts and the Windows registry. Connections go through Systems Manager, so no inbound ports are needed.
    • BIncorrect. Inventory collects metadata from managed nodes, such as installed applications, network settings and files. It does not let you connect to nodes, start RDP sessions or manage OS user accounts.
    • CIncorrect. EC2 Instance Connect pushes temporary SSH keys so you can open SSH connections to EC2 instances. It does not manage on-premises servers and does not offer fleet-wide file browsing, RDP or user management.
    • DIncorrect. Explorer is a dashboard that summarizes operational data such as OpsItems, patch compliance and inventory across accounts and Regions. It does not let you connect to nodes or manage their files and users.
  10. Question 10 · Security and Compliance

    A CloudOps engineer manages a cluster of EC2 instances in one VPC. The instances share a single security group, and Auto Scaling adds and removes members often. Only cluster members should be able to reach each other on TCP port 7000, and the engineer wants to avoid updating rules whenever membership changes. How should the inbound rule be configured?

    • AAdd an inbound rule for TCP 7000 whose source is the cluster's own security group ID
    • BAdd an inbound rule for TCP 7000 whose source is a customer-managed prefix list of member IPs
    • CAdd an inbound rule for TCP 7000 whose source is the VPC's entire IPv4 CIDR block
    • DAdd a network ACL inbound rule for TCP 7000 on the subnets that host the cluster
    Show answer and explanation

    Answer: A) Add an inbound rule for TCP 7000 whose source is the cluster's own security group ID

    A security group rule that names its own group as the source lets all current members talk to each other over private IPs. Membership changes are picked up automatically, so no IP list needs maintaining.

    • ACorrect. When a security group is the source of a rule, the rule applies to all instances associated with that group, using their private IP addresses. Because the group references itself, instances are covered when they join and stop being covered when they leave, with no IP upkeep.
    • BIncorrect. A customer-managed prefix list holds CIDR entries that someone must keep current, so the list would need updating every time Auto Scaling changes the cluster. It also counts against the rule quota at the prefix list's maximum size.
    • CIncorrect. This avoids maintenance, but it lets every resource in the VPC reach port 7000. That breaks the requirement that only cluster members can connect.
    • DIncorrect. Network ACLs apply to whole subnets, are stateless, and cannot reference security groups. Any resource in the subnet could connect, and return traffic would need its own rules.
  11. Question 11 · Security and Compliance

    A CloudOps engineer creates an AWS Config aggregator in a central account and adds source accounts by entering their account IDs one by one, not through AWS Organizations. AWS Config is recording in every source account, but data from one account never shows up in the aggregated view. What is the most likely cause?

    • AThe source account has not created an authorization that grants the aggregator account and Region permission to collect its AWS Config data
    • BThe aggregator does not have an IAM role attached that grants it read access to AWS Organizations account and organizational unit information
    • CTrusted access for AWS Config has not been enabled in AWS Organizations from the organization's management account
    • DThe source account's AWS Config delivery channel is not delivering configuration snapshots to an S3 bucket in the central account
    Show answer and explanation

    Answer: A) The source account has not created an authorization that grants the aggregator account and Region permission to collect its AWS Config data

    When source accounts are added to an AWS Config aggregator individually, each source account must authorize the aggregator account and Region. Authorization isn't needed when source accounts come from AWS Organizations.

    • ACorrect. When source accounts are added individually, each one must authorize the aggregator account and Region before its configuration and compliance data is copied into the aggregator. Authorization is only skipped when the source accounts come from AWS Organizations.
    • BIncorrect. An IAM role with Organizations permissions is used by organization-based aggregators. This aggregator lists accounts individually, so it relies on per-account authorization instead.
    • CIncorrect. Trusted access is part of setting up an organization-based aggregator. It plays no role when source accounts are entered individually, and the other accounts' data is already showing up.
    • DIncorrect. A delivery channel sends snapshots and history files to an S3 bucket. An aggregator copies data from the source account through authorization, not by reading another account's delivery channel bucket.
  12. Question 12 · Security and Compliance

    A partner's application runs under an IAM role in the partner's own AWS account. For a one-week data migration, it needs to call Decrypt with one of the company's customer managed KMS keys. The security team wants access limited to that operation on that key, and wants to be able to remove it cleanly afterward without editing the key policy. What should the team do?

    • ACreate a KMS grant for the partner's role that allows only the Decrypt operation, then revoke the grant when the migration ends
    • BShare the KMS key with the partner's account by using AWS Resource Access Manager, then remove the share when the migration ends
    • CCreate a new alias for the key, give the alias name to the partner, then delete the alias when the migration ends
    • DAttach a permissions boundary to the partner's role that allows kms:Decrypt on the key, then detach it when the migration ends
    Show answer and explanation

    Answer: A) Create a KMS grant for the partner's role that allows only the Decrypt operation, then revoke the grant when the migration ends

    A KMS grant gives a specific principal, including one in another account, permission to use one key for only the operations listed. You can revoke or retire it later without editing the key policy or IAM policies.

    • ACorrect. A grant gives one grantee principal (which can be in another account) permission to use exactly one KMS key for the operations you list. It can be retired or revoked later without changing key policies or IAM policies, which is why grants are often used for temporary access.
    • BIncorrect. Cross-account use of a KMS key is authorized through the key policy or through grants. Sharing the key through AWS RAM is not how KMS key access is given to another account.
    • CIncorrect. An alias is only a friendly name that points to a key. It gives no permission to use the key, so the partner still could not call Decrypt.
    • DIncorrect. A permissions boundary only caps the most permissions an identity can have; it never grants any. It also does nothing to authorize the partner's role on the key's side.
  13. Question 13 · Networking and Content Delivery

    A security team wants to stop EC2 instances in a VPC from resolving domain names on a list of known malicious domains. The instances use the default Route 53 VPC Resolver. Queries for those domains must be blocked when the name is looked up, so that the instances never get an IP address to connect to. Which solution meets this requirement?

    • ACreate a Route 53 Resolver DNS Firewall rule group that blocks a managed domain list, and associate the rule group with the VPC
    • BDeploy AWS Network Firewall with a stateful domain list rule group that denies the malicious domains, and route the VPC's traffic through it
    • CAssociate an AWS WAF web ACL that uses the Amazon IP reputation list managed rule group with the instances' traffic
    • DEnable Route 53 Resolver query logging to CloudWatch Logs, with a metric filter and alarm for the malicious domain names
    Show answer and explanation

    Answer: A) Create a Route 53 Resolver DNS Firewall rule group that blocks a managed domain list, and associate the rule group with the VPC

    Route 53 Resolver DNS Firewall blocks or allows outbound DNS queries that go through the VPC Resolver, so known-bad domains are never resolved. Network Firewall filters traffic after resolution, WAF inspects incoming HTTP requests, and query logging only records queries.

    • ACorrect. DNS Firewall filters outbound DNS queries that pass through the Route 53 VPC Resolver. It can deny queries for known-bad domains and can send custom responses for blocked domains, so the name is never resolved.
    • BIncorrect. Network Firewall can filter traffic by domain, but AWS documents that it has no visibility into queries made by the Route 53 VPC Resolver. It filters the traffic that flows after a name is resolved, not the DNS lookup itself.
    • CIncorrect. AWS WAF inspects HTTP(S) requests coming into supported resources such as CloudFront, Application Load Balancers and API Gateway. It does not filter DNS queries that instances send to the VPC Resolver.
    • DIncorrect. Query logging records DNS queries, and an alarm can alert on them, but neither blocks resolution. The instances would still get IP addresses for the malicious domains.
  14. Question 14 · Networking and Content Delivery

    A company hosts example.com in a Route 53 public hosted zone. A CloudOps engineer must create a record at the zone apex (example.com) that routes traffic to the company's web tier. The record should follow IP address changes automatically, and Route 53 should not charge for its queries. Which target can the engineer use with an alias record for this purpose?

    • AThe DNS name of an Application Load Balancer that fronts the web tier's Auto Scaling group
    • BThe public IPv4 DNS name of a single EC2 instance that runs the company's web server
    • CThe hostname web.example.org, which is hosted by a third-party DNS provider
    • DA CNAME record named www.example.com that exists in the same hosted zone
    Show answer and explanation

    Answer: A) The DNS name of an Application Load Balancer that fronts the web tier's Auto Scaling group

    Route 53 alias records can be created at the zone apex. They point to selected AWS resources such as ELB load balancers, CloudFront, S3 website endpoints, API Gateway, Global Accelerator, and same-zone records of the same type. Queries to AWS resources are free. Alias records can't point to EC2 DNS names or external domains.

    • ACorrect. Elastic Load Balancing load balancers (Application, Network, and Classic) are supported alias targets. You can create alias records at the zone apex, Route 53 tracks IP address changes in the resource, and Route 53 doesn't charge for alias queries to AWS resources.
    • BIncorrect. An EC2 instance's public DNS name isn't a supported alias target. Alias records can only point to selected AWS resources, such as load balancers, CloudFront distributions, and S3 website endpoints.
    • CIncorrect. Only a CNAME record can point to an arbitrary DNS name, such as one hosted by another DNS provider. A CNAME also can't be created at the zone apex.
    • DIncorrect. An alias record must have the same type as the record it routes to, and a CNAME at the zone apex isn't supported, even as an alias. So an apex alias can't point to a CNAME record.
  15. Question 15 · Networking and Content Delivery

    An Auto Scaling group sits behind an Application Load Balancer. During scale-in events, some clients get HTTP 5xx errors because long-running requests are cut off when instances are removed. The target group's settings were customized at launch. Which target group change best addresses this?

    • ARaise the deregistration_delay.timeout_seconds attribute so draining targets can finish in-flight requests
    • BEnable slow start mode with a longer duration so targets receive traffic gradually
    • CTurn on duration-based sticky sessions so clients stay bound to the same target
    • DRaise the health check unhealthy threshold count so targets stay in service longer
    Show answer and explanation

    Answer: A) Raise the deregistration_delay.timeout_seconds attribute so draining targets can finish in-flight requests

    The deregistration delay controls how long an ALB keeps a deregistering target in the draining state so in-flight requests can complete. Raising it stops requests from being cut off during scale-in.

    • ACorrect. A deregistering target enters the draining state. The load balancer stops sending it new requests and waits for the deregistration delay before completing deregistration, which lets in-flight requests finish before the Auto Scaling group terminates the instance.
    • BIncorrect. Slow start only ramps up traffic to newly registered healthy targets so they can warm up. It has no effect on requests in flight on targets that are being deregistered.
    • CIncorrect. Stickiness controls which target receives a client's later requests. When a target is draining, new requests are routed to a healthy target anyway, and stickiness does not give in-flight requests more time to finish.
    • DIncorrect. The unhealthy threshold only changes how many failed health checks it takes to mark a target unhealthy. Scale-in deregistration is not triggered by health checks, so this does not protect in-flight requests.

Ready for a full SOA-C03 practice exam?

These are a sample from the CertRidge question bank. Full practice exams match the real exam's length, time limit and domain weights, with every answer explained.

Original questions written from the official exam guide. Not affiliated with AWS; never copied from the real exam.