Independent exam-prep desk

CloudOps Study
Progress 0 of 65 reviewed

AWS Certified CloudOps Engineer

AWS CloudOps — 65-Question Study Guide

Sixty-five questions cleaned up and explained: what the right answer is, why the distractors fail, and the one-line cue worth remembering.

Items
65 questions
Answers
65 explained
Verified
21 October 2026

Questions

Open a question to reveal the answer, the reasoning behind it, and the memory cue to keep.

An application uses EC2 instances to process messages from an Amazon SQS queue. Auto Scaling currently reacts to CPU utilization, but the queue backlog is increasing significantly. What change best addresses the backlog?

  1. Increase the SQS message-retention period. (option A)
  2. Scale the group on EC2 memory utilization instead of CPU. (option B)
  3. Scale the group using an SQS-backlog metric (ideally backlog per in-service instance). (option C)
  4. Add an Elastic Load Balancer in front of the EC2 instances. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Workers are not consuming messages as quickly as producers add them. CPU alone may not represent the actual amount of queued work.

Answer

C

Reasoning

Scale on a metric that represents pending work. AWS guidance recommends backlog per instance: approximate visible queue messages divided by the number of InService workers. Target tracking can then add capacity as work per worker rises.

Rule of thumb

For queue workers, scale against queue backlog per worker and the acceptable processing latency—not a generic host metric alone.

Pitfall

Longer retention protects messages from expiring; it does not increase processing throughput. A raw queue-depth target can also over-scale because it ignores current fleet size.

Sketch

Producer → SQS queue → EC2 worker Auto Scaling (backlog-per-instance)

Memory cue

Remember: SQS backlog ÷ active workers = backlog per worker → compare with target → scale out/in.

AWS reference: AWS documentation

How did it go?

Sensitive workloads must not be able to send traffic to the public internet. How should the VPC be configured?

  1. Launch the instances in private subnets, with no route to an internet gateway or NAT gateway unless explicitly needed. (option A)
  2. Ensure the instances have no Elastic IP addresses. (option B)
  3. Create a 'blackhole NAT gateway' to block outbound connections. (option C)
  4. Use instance-store volumes instead of EBS. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The security requirement is network egress prevention, not merely hiding a public address.

Answer

A

with route-table caveat

Reasoning

A private subnet has no direct route to an internet gateway. To guarantee no internet egress, also ensure its route table has no NAT/egress path, and control alternate egress paths such as proxies or Transit Gateway routes. The other choices do not reliably block outbound traffic.

Rule of thumb

No public IP + no public route + no NAT/egress route = no ordinary internet egress.

Pitfall

A subnet called 'private' can still reach the internet through a NAT gateway. An instance without an Elastic IP may also have a public IPv4 address unless networking is deliberately configured.

Sketch

Private subnet instances → route table with no internet/NAT route → no internet egress

Memory cue

Remember: Private subnet? → inspect route table → remove IGW/NAT routes when internet egress is prohibited.

AWS reference: AWS documentation · AWS documentation

How did it go?

A CloudOps Engineer needs to verify that root-user security best practices are being followed. How should the Engineer check?

  1. Review AWS Trusted Advisor security checks for the root user. (option A)
  2. Use AWS Artifact compliance reports to inspect root-user configuration. (option B)
  3. Rotate root access keys periodically with the AWS CLI. (option C)
  4. Change the root password regularly with the AWS CLI. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The team needs a supported assessment of root-account security posture, not a home-grown rotation process.

Answer

A

Reasoning

Trusted Advisor provides security checks, including root-account security posture checks depending on support-plan/features. Independently verify MFA, root access keys, contact details, and recovery controls in the account's security credentials settings. Artifact provides compliance reports, not a live root-user configuration check.

Rule of thumb

Protect root with MFA, avoid root access keys, and use root only for tasks requiring root.

Pitfall

AWS does not provide a normal CLI workflow to routinely rotate root user's password/access keys the way IAM user keys are managed. In general, do not create root access keys.

Sketch

Root user → minimal use; MFA on; no root access keys → verify with security checks

Memory cue

Remember: Account root → MFA + no access keys + Trusted Advisor/security review.

AWS reference: AWS documentation

How did it go?

A production application currently runs its web interface and MySQL database on one EC2 instance. Production must be highly available. What architecture is best?

  1. Move MySQL to RDS for MySQL Multi-AZ; run app EC2 instances in an Auto Scaling group across multiple AZs behind a load balancer. (option A)
  2. Move the database to another EC2 instance and keep a stopped standby AMI in another AZ. (option B)
  3. Move MySQL to Multi-AZ RDS and refactor the application into Lambda by using Application Migration Service. (option C)
  4. Back up both EC2 instances to AMIs and create a Lambda health-check/relaunch process. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

A single instance is a single point of failure for both application and database tiers.

Answer

A

Reasoning

Separate the tiers and use managed multi-AZ database failover plus a horizontally redundant application tier. RDS Multi-AZ provides standby failover; an ALB and Auto Scaling group keep healthy application capacity across AZs. Option B's stopped EC2 copy is not a reliable HA database standby.

Rule of thumb

For web apps: multi-AZ load-balanced app tier + managed database HA where possible.

Pitfall

Multi-AZ RDS is primarily high availability, not automatically extra read capacity. Do not assume the standby serves application reads.

Sketch

Clients → ALB → EC2 ASG (AZ-a/AZ-b) → RDS Multi-AZ primary/standby

Memory cue

Remember: Client → ALB → EC2 Auto Scaling across AZs → RDS Multi-AZ.

AWS reference: AWS documentation · AWS documentation

How did it go?

Unauthorized attempts against several S3 buckets must be investigated: which buckets are targeted and who is making requests? (Select TWO.)

  1. Use Athena to query S3 Server Access Logs for HTTP 403 responses and requester details. (option A)
  2. Enable S3 Server Access Logging for the affected buckets and deliver logs to a separate dedicated bucket. (option B)
  3. Query Server Access Logs for HTTP 503 errors to identify unauthorized IAM principals. (option C)
  4. Use S3 Analytics reports to identify HTTP 403 errors and principals. (option D)
  5. Enable S3 Analytics and generate a report of unauthorized requests. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The security team needs request-level evidence: bucket, time, request, status, and requester when recorded.

Answer

AB

Reasoning

First enable S3 server access logging (or use CloudTrail S3 data events when stronger audit detail is required), storing logs separately. Then query the generated log data with Athena for 403/AccessDenied patterns. S3 Storage Class Analysis/Analytics does not provide an access-attempt audit trail.

Rule of thumb

Logging first; querying second. Use 403/AccessDenied for denied access, and know what identity fields each log source records.

Pitfall

Athena cannot query logs that were never collected. Server access logs are best-effort and may be delayed; CloudTrail data events can be a better security audit source but incur charges.

Sketch

S3 bucket access → server access logs/CloudTrail data events → Athena → 403 patterns

Memory cue

Remember: Enable logs → central/separate log bucket → Athena query → investigate requester and target bucket.

AWS reference: AWS documentation · AWS documentation

How did it go?

Company policy requires IAM access keys to be automatically disabled after 60 days. Which automation is most operationally effective?

  1. Run a custom key-age script from cron on an EC2 instance. (option A)
  2. Use Amazon Inspector to disable old keys automatically. (option B)
  3. Use CloudWatch to trigger a Lambda that disables old keys. (option C)
  4. Use AWS Config to identify noncompliant keys and a custom Systems Manager Automation remediation. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The company wants policy-driven detection and repeatable remediation, rather than a server-maintained script.

Answer

D

Reasoning

AWS Config's access-keys-rotated rule can evaluate a configured key-age threshold; a remediation action can run a controlled Automation document to disable noncompliant keys. Treat disabling keys as a potentially disruptive action: notify the owner and confirm the key is not a production dependency before remediation.

Rule of thumb

Detect compliance declaratively; remediate with a governed, auditable runbook.

Pitfall

The managed rule detects rotation age; it does not, by itself, guarantee keys are disabled. Root-account keys are excluded from this Config rule. Use least-privilege remediation and an exception process.

Sketch

IAM access key → AWS Config rule (60 days) → remediation runbook → disable/notify

Memory cue

Remember: Config evaluates key age → NON_COMPLIANT → reviewed Automation disables key.

AWS reference: AWS documentation · AWS documentation

How did it go?

A security vulnerability affects a Linux version running on EC2 instances. How can exposure be mitigated with the least disruption?

  1. Reboot the instances to move them to new hosts. (option A)
  2. Redeploy all instances from an updated AMI using CloudFormation. (option B)
  3. Use AWS Systems Manager Patch Manager to patch the operating system. (option C)
  4. Use Amazon Inspector to generate recommendations only. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The issue is an OS vulnerability and the goal is a low-disruption remedial change.

Answer

C

Reasoning

Patch Manager can scan and install supported patches on managed nodes under a controlled maintenance window. Plan for package-specific restarts/reboots and roll out gradually. Inspector helps identify vulnerabilities, but does not itself patch the OS.

Rule of thumb

Use the patch-management mechanism for OS patching; schedule disruptive reboots and deploy in batches.

Pitfall

A patch might require a reboot. 'Least disruption' does not mean never reboot—use maintenance windows, health checks, and staged rollout.

Sketch

EC2 Linux → SSM Patch Manager → maintenance window → patch + validate

Memory cue

Remember: Identify missing patch → maintenance window → patch a small batch → verify health → continue.

AWS reference: AWS documentation · AWS documentation

How did it go?

CloudFront serves www.sample.com. Traffic to CloudFront must use HTTPS, and an ACM certificate already exists. Which TWO actions are required?

  1. Set each relevant cache behavior's Viewer Protocol Policy to redirect HTTP to HTTPS (or HTTPS-only). (option A)
  2. Enable CloudFront Origin Shield. (option B)
  3. Allow both HTTP and HTTPS in each cache behavior. (option C)
  4. Associate AWS WAF with the distribution. (option D)
  5. Add www.sample.com as an alternate domain name and select the custom ACM certificate. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The website needs viewer-to-CloudFront HTTPS and a certificate valid for the custom hostname.

Answer

AE

Reasoning

The Viewer Protocol Policy controls viewer-side HTTP/HTTPS. A custom hostname also requires an alternate domain name and an ACM certificate in the US East (N. Virginia) Region for CloudFront. Origin Shield, WAF, and allowing HTTP do not satisfy the TLS requirement by themselves.

Rule of thumb

For CloudFront custom HTTPS: hostname alias + certificate + viewer HTTPS policy.

Pitfall

Viewer-to-CloudFront TLS and CloudFront-to-origin TLS are separate hops. If encryption is required end-to-end, configure the origin protocol policy too.

Sketch

Viewer → HTTPS policy → CloudFront distribution alias + ACM certificate → origin

Memory cue

Remember: Browser → HTTPS CloudFront (certificate for www.sample.com) → origin using configured origin protocol.

AWS reference: AWS documentation · AWS documentation

How did it go?

An RDS for MySQL database is slow during peak load. CloudWatch CPU utilization approaches 100%. What should be done first?

  1. Resize the RDS instance to a larger class. (option A)
  2. Enable Multi-AZ to add compute capacity. (option B)
  3. Add RDS MySQL nodes to distribute writes horizontally. (option C)
  4. Use CloudFront to cache database queries. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

A single RDS DB instance is CPU-bound and needs more compute resources.

Answer

A

Reasoning

Scaling the instance class vertically adds CPU and memory. Multi-AZ is an HA mechanism, not a general read/write scaling mechanism. For read-heavy workloads, read replicas or caching may help, but they do not transparently distribute normal writes across multiple RDS MySQL writers.

Rule of thumb

CPU pinned on a database → inspect query/connection patterns, then right-size; scale reads separately when appropriate.

Pitfall

Do not choose Multi-AZ just to get more CPU; a standby is not normally a read replica.

Sketch

Application → RDS MySQL (CPU saturated) → larger DB class / query optimization

Memory cue

Remember: CPU near 100% → verify workload/query bottlenecks → scale instance class or tune SQL.

AWS reference: AWS documentation · AWS documentation

How did it go?

Deploy a web application on EC2 behind an ALB, with a separate EC2 database tier. The design must be multi-AZ and minimize public exposure. Which subnet layout is best?

  1. Public ALB, public web servers, public database servers in each AZ. (option A)
  2. Public ALB subnets; private web-server subnets; private database subnets, across AZs. (option B)
  3. Public ALB; private web servers; public database servers. (option C)
  4. Public ALB and public web servers; private databases. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Only the entry point needs to accept public client connections; application and database tiers should not be directly public.

Answer

B

Reasoning

Place an internet-facing ALB in public subnets across AZs. Place target EC2 instances and database resources in private subnets and tightly scope security-group rules from ALB to web tier and web tier to database tier. Ensure private instances have only the egress paths they need.

Rule of thumb

Public edge, private compute, private data.

Pitfall

A private subnet may still require NAT or VPC endpoints for outbound dependencies. Do not put database servers in public subnets merely because they need updates.

Sketch

Internet → public ALB (AZ-a/b) → private web EC2 → private DB EC2

Memory cue

Remember: Internet → public ALB → private app tier → private database tier.

AWS reference: AWS documentation · AWS documentation

How did it go?

AWS notifies a CloudOps Engineer that an EBS-backed EC2 instance is on a degraded host scheduled for retirement during business-critical hours. What minimizes disruption?

  1. Restart it immediately to prevent retirement. (option A)
  2. Restart it outside business hours without stopping it. (option B)
  3. Write a Lambda function to migrate the running instance between hosts. (option C)
  4. Stop and start the instance outside business hours, before the retirement deadline. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

AWS has flagged the underlying physical host; the workload must be moved before that host is retired.

Answer

D

Reasoning

For eligible EBS-backed instances, a stop/start generally moves the instance to a new host. Plan the downtime, ensure data is on persistent EBS rather than instance store, and verify the replacement host's availability and startup automation.

Rule of thumb

Host retirement → planned stop/start (if supported) before the event, rather than relying on a reboot.

Pitfall

A simple reboot does not reliably relocate an instance. Stop/start changes the host, but public IPv4 addresses can change unless an Elastic IP is attached.

Sketch

EC2 degraded host → stop/start (EBS-backed) → new host → health check

Memory cue

Remember: Retirement notice → maintenance window → stop/start → verify instance and application health.

AWS reference: AWS documentation · AWS documentation

How did it go?

During migration, unnecessary objects were written to an S3 bucket using Object Lock governance mode. What TWO actions allow deletion before the retention date?

  1. Extend the retention date. (option A)
  2. Use a principal with s3:BypassGovernanceRetention permission. (option B)
  3. Change governance mode to compliance mode. (option C)
  4. Use a principal with s3:PutObjectRetention only. (option D)
  5. Explicitly send the bypass-governance-retention flag/header with the delete request. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Governance retention protects object versions but permits authorized, explicit bypass by principals granted the special permission.

Answer

BE

Reasoning

Both permission and explicit intent are required for a governance-mode bypass. With AWS CLI, use the relevant --bypass-governance-retention option for the supported delete operation. Compliance mode cannot be bypassed before expiry, and extending retention does the opposite of what's requested.

Rule of thumb

Governance bypass requires BOTH authorization and an explicit bypass flag.

Pitfall

Do not confuse governance mode with compliance mode. A legal hold can still prevent deletion even when governance bypass is authorized.

Sketch

Object Lock GOVERNANCE → `s3:BypassGovernanceRetention` + bypass flag → delete object version

Memory cue

Remember: Check Object Lock mode → confirm no legal hold → authorized bypass permission + explicit bypass request → delete version.

AWS reference: AWS documentation

How did it go?

An administrator cannot find a custom-Linux-AMI EC2 instance in Session Manager and needs to start an SSH session through Session Manager. Which TWO actions help?

  1. Install/ensure SSM Agent is installed and running. (option A)
  2. Add long-lived access keys to the instance. (option B)
  3. Attach an instance profile with the required Systems Manager permissions. (option C)
  4. Run Systems Manager Inventory to refresh the instance list. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Session Manager requires a managed node, a working SSM Agent, IAM permissions, and connectivity to Systems Manager endpoints.

Answer

AC

Reasoning

Ensure SSM Agent is installed, current, and running, and attach an instance profile with the standard managed-instance permissions (or a least-privilege equivalent). Also verify endpoint connectivity, tags/state where relevant, and the agent's logs. Inventory is not the mechanism that registers an instance for Session Manager.

Rule of thumb

SSM Agent + IAM instance role + network reachability are the core prerequisites.

Pitfall

Do not embed access keys in an instance. For private subnets without NAT, configure the required Systems Manager VPC endpoints.

Sketch

EC2 custom AMI → SSM Agent + IAM instance profile + SSM endpoint access → Session Manager

Memory cue

Remember: Instance → SSM Agent + instance role + endpoint reachability → managed node → Session Manager.

AWS reference: AWS documentation · AWS documentation

How did it go?

AWS Single Sign-On (now IAM Identity Center) has been enabled in the Organizations management account. What is the next step to configure user access?

  1. Create permission sets and assign them to directory users/groups and target AWS accounts. (option A)
  2. Create IAM users in the management account for everyone. (option B)
  3. Create IAM roles manually in each account and associate users directly with roles. (option C)
  4. Create SCPs and attach them to directory users or groups. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The organization wants centrally managed workforce identities and cross-account access.

Answer

A

Reasoning

IAM Identity Center permission sets define the permission policies and session settings that become IAM roles in assigned accounts. Assign a user/group to one or more AWS accounts and permission sets. SCPs are organization guardrails, not identity assignments.

Rule of thumb

Identity Center users/groups + permission sets + account assignments.

Pitfall

Do not confuse a permission set with an SCP. A permission set grants a user capabilities; an SCP places maximum-permission guardrails on accounts/OUs.

Sketch

IAM Identity Center → permission set → user/group assignment → AWS account

Memory cue

Remember: Identity source → users/groups → permission sets → account assignments → role-based console/CLI access.

AWS reference: AWS documentation

How did it go?

An ALB-backed website receives repeated 404 requests from one source IP and may be scraped by a bot. Which service should block the activity?

  1. AWS Shield Standard. (option A)
  2. AWS WAF. (option B)
  3. Amazon Inspector. (option C)
  4. AWS CloudTrail. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

This is application-layer request filtering or rate control, not primarily a volumetric DDoS event or vulnerability scan.

Answer

B

Reasoning

AWS WAF can use an IP set, rate-based rule, or request-matching conditions to block or challenge abusive requests at an ALB or CloudFront. CloudTrail audits API activity; Inspector finds software vulnerabilities; Shield focuses on DDoS protection.

Rule of thumb

L7 HTTP abuse → AWS WAF; volumetric/network DDoS → Shield; API auditing → CloudTrail.

Pitfall

A 404 alone is not proof of malicious behavior. Tune conditions/rate limits and monitor false positives before blocking broad IP ranges.

Sketch

Client requests → AWS WAF (rate/IP rules) → ALB → application

Memory cue

Remember: Repeated HTTP pattern from IP → WAF rate/IP rule → block/count and review logs.

AWS reference: AWS documentation

How did it go?

An EC2 instance transitions from pending to terminated immediately after launch. Which is a plausible cause?

  1. The requested instance type has been restricted in the account. (option A)
  2. AWS has no spare On-Demand capacity. (option B)
  3. The account exceeded the regional instance limit. (option C)
  4. The root EBS volume is encrypted with a KMS key the launching principal cannot use. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The instance is terminating during launch rather than simply remaining pending.

Answer

D

Reasoning

Failure to access the KMS key for an encrypted EBS volume can prevent launch and lead to termination. Inspect the instance state transition reason, system log, CloudTrail, and KMS permissions/key state before assuming capacity or quota. Those other causes typically surface as launch errors or failed requests.

Rule of thumb

For fast launch termination, inspect the state-transition reason and encrypted-volume/KMS authorization path.

Pitfall

Do not guess solely from the state name. Check the EC2 console reason codes and CloudTrail events to distinguish KMS, capacity, quota, and configuration causes.

Sketch

EC2 launch → encrypted root EBS → KMS authorization check → instance state

Memory cue

Remember: Launch → volume decrypt authorization fails → instance terminates; inspect KMS key policy/IAM grants.

AWS reference: AWS documentation

How did it go?

A fleet is steady most of the day but has a predictable two-hour surge daily. What is the most operationally efficient scaling strategy?

  1. Reduce desired capacity during non-peak periods. (option A)
  2. Create scheduled scaling to add EC2 capacity before the high-traffic window. (option B)
  3. Run larger instance types all day. (option C)
  4. Manually add instances before each traffic surge. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The workload's demand spike is predictable, so capacity can be provisioned ahead of time.

Answer

B

Reasoning

Scheduled scaling changes desired capacity based on a known schedule and avoids waiting for reactive metrics to cross thresholds. Combine with dynamic scaling for unexpected traffic and choose capacity using measured load/testing.

Rule of thumb

Predictable pattern → scheduled scaling; unpredictable variation → dynamic target tracking/step scaling.

Pitfall

Do not rely only on scheduled scaling if traffic is also variable; retain dynamic scaling and sensible minimum/maximum capacity.

Sketch

Known time-based surge → scheduled ASG scale-out → handle peak → scale down

Memory cue

Remember: Before peak start → scheduled scale out → peak window → scheduled scale in, subject to demand signals.

AWS reference: AWS documentation

How did it go?

EC2 instances must lose public IP addresses but still reach S3 and some internet services. Which TWO solutions preserve access?

  1. Add security-group outbound rules using S3 private IP addresses. (option A)
  2. Use a NAT gateway for general internet egress and configure route tables. (option B)
  3. Create an S3 VPC endpoint and associate it with the appropriate route tables. (option C)
  4. Configure the internet gateway to route S3 through private IP addresses. (option D)
  5. Use Direct Connect directly to S3 buckets. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Private instances need a private path to S3 and a controlled egress path for destinations outside the VPC.

Answer

BC

Reasoning

An S3 gateway endpoint routes S3 traffic over the AWS network without NAT or public IPs. A NAT gateway provides outbound IPv4 connectivity to general public services for private-subnet instances. Use endpoint policies, bucket policies, route tables, and security controls as appropriate.

Rule of thumb

S3 access → S3 gateway endpoint; general internet egress → NAT gateway.

Pitfall

Security groups do not support stable S3 service-private-IP targeting. A NAT gateway does not make arbitrary outbound access private; it gives outbound internet access with stateful return traffic.

Sketch

Private EC2 → S3 gateway endpoint → S3; private EC2 → NAT gateway → public internet

Memory cue

Remember: Private EC2 → (S3 route) gateway endpoint; (other internet destinations) NAT gateway.

AWS reference: AWS documentation · AWS documentation

How did it go?

A security policy says all EBS volumes must use a specific KMS customer-managed key. What is the most efficient verification mechanism?

  1. Create an SCP that only allows encryption API actions using that key. (option A)
  2. Use AWS Config's encrypted-volumes rule with the required KMS key ID parameter. (option B)
  3. Manually export a filtered volume list each day. (option C)
  4. Run a Lambda each day using describe-volumes --filters encrypted. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The need is continuous compliance evaluation of volume encryption settings and the exact key, not merely checking that encryption is enabled.

Answer

B

Reasoning

AWS Config's encrypted-volumes managed rule can assess EBS encryption and, when configured with the key ID parameter, checks whether the specified KMS key is used. SCPs can prevent some API actions but are not a retrospective compliance report. A simple encrypted filter does not prove the correct key is in use.

Rule of thumb

Use AWS Config for continuous detection; use preventive guardrails separately if required.

Pitfall

Encrypted=true is not enough when policy mandates a particular KMS key. Confirm the rule parameter and remediation approach in the Region/account scope.

Sketch

EBS volumes → AWS Config encrypted-volumes rule (required KMS key) → compliance report

Memory cue

Remember: Record EBS volume config → AWS Config rule checks encrypted + KMS key ID → compliance status.

AWS reference: AWS documentation

How did it go?

A hybrid application needs encryption at rest and encrypted traffic across shared networks. Which TWO actions best match the stated requirements?

  1. Use CloudHSM to encrypt all data with a CMK. (option A)
  2. Use AWS KMS to manage data-encryption keys. (option B)
  3. Use AWS Certificate Manager to issue TLS/SSL certificates. (option C)
  4. Use AWS KMS to create TLS/SSL certificates. (option D)
  5. Configure an AWS Site-to-Site VPN between on-premises and AWS. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The requirement combines stored-data encryption with protected application traffic in transit.

Answer

BC

application/data encryption pairing

Reasoning

AWS KMS manages keys used to encrypt data at rest; AWS Certificate Manager issues TLS certificates that applications/endpoints can use to encrypt data in transit. If the requirement specifically calls for an encrypted site-to-site network tunnel, AWS Site-to-Site VPN is also a valid network-layer control—but it does not replace application TLS where end-to-end encryption is required.

Rule of thumb

At rest → KMS/key management; application traffic in transit → TLS certificate; site-to-site tunnel → VPN where specifically required.

Pitfall

VPN encryption does not replace application-layer TLS where end-to-end application encryption is required. CloudHSM is a specialized HSM option, not the default for every application; KMS does not issue certificates.

Sketch

Application data at rest → KMS; client/app traffic → TLS with ACM-issued certificate

Memory cue

Remember: Stored data → KMS-managed key; network/application traffic → TLS certificate (and VPN if a site-to-site tunnel is required).

AWS reference: AWS documentation · AWS documentation · AWS documentation

How did it go?

Lambda functions access an RDS database, but credentials are hard-coded. They must not be plaintext and must rotate every 30 days. What is best?

  1. Store credentials as Parameter Store SecureString and build a custom rotation Lambda plus EventBridge schedule. (option A)
  2. Encrypt each hard-coded password with KMS and keep ciphertext in Lambda environment variables. (option B)
  3. Store credentials in AWS Secrets Manager, enable managed/automatic database-secret rotation every 30 days, and update Lambdas to retrieve the secret. (option C)
  4. Keep the password in Lambda environment variables and schedule a function to update them. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Several consumers need a centrally managed database secret with a controlled rotation lifecycle.

Answer

C

Reasoning

Secrets Manager is designed for secret storage, retrieval, versioning, and automatic rotation workflows for supported RDS engines. The rotation mechanism updates the secret and the database credentials; Lambda functions fetch the current value at runtime. Ensure the rotation function can network to the DB and that consumers tolerate rotation safely.

Rule of thumb

Database credentials + automatic rotation → Secrets Manager, not code or per-function environment variables.

Pitfall

KMS-encrypted ciphertext is still a secret-management burden; rotation must update both the database and the consumers' source of truth. Avoid caching credentials indefinitely.

Sketch

Lambda consumers → Secrets Manager → RDS; rotation Lambda changes DB + secret every 30 days

Memory cue

Remember: Lambda → Secrets Manager GetSecretValue → RDS; scheduled rotation updates both DB password and secret.

AWS reference: AWS documentation

How did it go?

A web app on one EC2 instance needs a stable public IP for a domain name, with minimal management effort. Which TWO actions meet the requirement?

  1. Create an Auto Scaling group with min 1 and max 2. (option A)
  2. Create a Route 53 A record for the EC2 public address. (option B)
  3. Create a CNAME record pointing directly to an IP address. (option C)
  4. Put an ALB in front of the single EC2 instance. (option D)
  5. Allocate an Elastic IP and associate it with the instance. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The key requirement is a fixed IPv4 address and domain mapping, not multi-instance scale-out.

Answer

BE

Reasoning

An Elastic IP is a static public IPv4 address that can be associated with an instance; Route 53 A records map the domain name to the IPv4 address. A CNAME target is a DNS name, not an IP. An ALB adds cost and provides a DNS name rather than a static single IP.

Rule of thumb

Static IPv4 on one EC2 instance → Elastic IP + Route 53 A record.

Pitfall

A single instance remains a single point of failure. If the requirement later changes to HA, consider an ALB and multi-AZ fleet rather than a fixed single-instance IP.

Sketch

example.com → Route 53 A record → Elastic IP → EC2

Memory cue

Remember: Domain → Route 53 A → Elastic IP → EC2.

AWS reference: AWS documentation

How did it go?

An administrator can SSH into an EC2 instance from the corporate network but receives a timeout when working from home. What is the most likely cause?

  1. The instance IAM role does not allow SSH from home. (option A)
  2. The home network's route table lacks a route to the VPC internet gateway. (option B)
  3. The instance security group does not allow inbound SSH from the home public IP/CIDR. (option C)
  4. The SSH key pair blocks connections from home networks. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The same service works from one source network but times out from another.

Answer

C

Reasoning

Security groups must permit inbound TCP port 22 from the client's actual public source IP/CIDR (unless using VPN/bastion/SSM). A timeout commonly indicates dropped network traffic; IAM roles do not ordinarily govern standard SSH ingress, and key problems usually produce authentication errors rather than a network timeout.

Rule of thumb

Timeout → route, NACL, security group, firewall; authentication failure → user/key/SSH configuration.

Pitfall

Do not open SSH to 0.0.0.0/0 as a quick fix. Use a narrow home IP rule, VPN, bastion, or Session Manager.

Sketch

Home client → internet/VPN → EC2 security group TCP 22 allowlist

Memory cue

Remember: Home IP → SG inbound TCP/22? → NACL/route checks → SSH auth.

AWS reference: AWS documentation

How did it go?

Each AWS WAF-protected request contains a header with the front-end server ID. What condition can match this header so requests can be counted per server?

  1. IP match statement. (option A)
  2. Size-constraint statement. (option B)
  3. ID match (as written in the video; not a standard AWS WAF statement type). (option C)
  4. String-match statement inspecting the specified request header. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The field to match is a textual identifier in an HTTP request header, not the client's IP address or body size.

Answer

D

Reasoning

AWS WAF can match strings in specified request components, including headers. Configure the header name and server-ID string, then use rule metrics/logs or labels to count requests. 'ID match' is not a standard AWS WAF rule-statement type, so among the listed choices the usable condition is String match.

Rule of thumb

Header content → string/byte match with the correct header field.

Pitfall

A rule matching one server ID counts only that ID; to distinguish many IDs, use labels, per-rule metrics, or logs. Ensure any forwarded client headers are trustworthy if they can be spoofed.

Sketch

Request header `X-Front-End-ID` → AWS WAF match statement → per-rule metrics/logs

Memory cue

Remember: HTTP request → inspect X-Front-End-ID → string match → count/metric/log.

AWS reference: AWS documentation

How did it go?

An S3 static website returns HTTP 403 Forbidden even though static website hosting is enabled and content uploaded. What fixes a public static website configuration?

  1. Remove any default bucket policy that denies reads, if safe and intended. (option A)
  2. Grant everyone broad read access to all bucket actions. (option B)
  3. Grant public s3:GetObject on the website objects (bucket/*), while correctly configuring Block Public Access for the intended public website model. (option C)
  4. Enable cross-Region replication. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The website endpoint can serve objects only if the object's read authorization allows it.

Answer

C

Reasoning

For a publicly hosted S3 website, the bucket policy should grant s3:GetObject on object ARNs, not broad bucket administration or upload permissions. Block Public Access settings must permit the intended design. AWS currently recommends using CloudFront with Origin Access Control for a more secure production static site where possible.

Rule of thumb

S3 website 403 → verify object key/index document + public-read policy + Block Public Access settings.

Pitfall

Granting s3:GetBucket* alone does not grant object reads. Never make a sensitive data bucket public just to fix an unexplained 403.

Sketch

Browser → S3 website hosting → object-level GetObject permission (or CloudFront/OAC design)

Memory cue

Remember: Browser → S3 website endpoint → bucket policy s3:GetObject on arn:aws:s3:::bucket/*.

AWS reference: AWS documentation · AWS documentation

How did it go?

A new member account is created through AWS Organizations. How are user-defined cost-allocation tags enabled for consolidated billing?

  1. Create the tag keys in the payer account's Billing console. (option A)
  2. Tag resources in the member account, then activate those tag keys as cost-allocation tags in the management/payer account's Billing and Cost Management console. (option B)
  3. Create user-defined tags only from the new account's Billing console. (option C)
  4. Create tags in Tag Editor and activate them only from the member account's Billing console. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Resource tags originate on resources in member accounts, but cost allocation is activated centrally for the consolidated bill.

Answer

B

Reasoning

Apply consistent user-defined tags to resources, then activate the relevant tag keys in Billing and Cost Management for the organization's consolidated billing view. Tags must be applied to supported resources and activated before they appear in cost reports; activation is not retroactive to all past data.

Rule of thumb

Tag resources where they live; activate cost-allocation tag keys centrally.

Pitfall

Creating a tag key does not automatically apply it to resources or make it active for billing. Standardize spelling/case and apply tags consistently.

Sketch

Member account resources tagged → payer/management account activates tags → consolidated cost reports

Memory cue

Remember: Member resource tag → billing management account activates key → usage/cost reports include tag dimension.

AWS reference: AWS documentation

How did it go?

The virtual machine running an AWS Storage Gateway Volume Gateway must be rebooted. What is the correct operational sequence?

  1. Stop the VM, restart the gateway, then turn on the VM. (option A)
  2. Reboot the logical gateway and then reboot the VM. (option B)
  3. Stop/deactivate the gateway through the supported procedure, reboot the VM, then restart the gateway service/appliance. (option C)
  4. Synchronize the gateway and reboot without checking status. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

A virtual appliance needs maintenance while preserving its connection to cloud storage.

Answer

C

gateway service stopped, VM rebooted, gateway restarted

Reasoning

Follow the supported Storage Gateway appliance maintenance procedure: stop gateway operations cleanly, reboot/maintain the host VM, then ensure the VM and gateway are running and healthy. Avoid abrupt hypervisor actions while active writes or cache synchronization are in progress.

Rule of thumb

Gracefully stop gateway functions before host maintenance; verify health and cache state afterward.

Pitfall

Exact console/CLI steps vary by gateway type and appliance version—follow the current Storage Gateway guide rather than blindly applying a generic server reboot procedure.

Sketch

Applications → Storage Gateway → stop safely → reboot VM → validate gateway online

Memory cue

Remember: Pause/stop gateway → reboot VM → wait for agent/network → confirm gateway ONLINE.

AWS reference: AWS documentation

How did it go?

An ALB has EC2 targets in an Auto Scaling group. Create a CloudWatch alarm for when every target is unhealthy. What metric and condition should be used?

  1. In AWS/ApplicationELB, alarm when HealthyHostCount is zero (equivalently, less than 1). (option A)
  2. In AWS/ApplicationELB, alarm when HealthyHostCount is 1 or more. (option B)
  3. In AWS/EC2, alarm when StatusCheckFailed_Instance is 1 or more. (option C)
  4. In AWS/EC2, alarm when StatusCheckFailed_System is zero or less. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The alert should represent target health at the load balancer, not EC2 system reachability in isolation.

Answer

A

Reasoning

Use the ApplicationELB namespace and the appropriate load-balancer/target-group dimensions for HealthyHostCount; alarm when the count is 0. EC2 status-check metrics don't indicate whether the ALB health checks consider targets healthy. The screenshot's intended first choice is the zero-host condition.

Rule of thumb

All targets unhealthy = HealthyHostCount = 0.

Pitfall

The literal condition HealthyHostCount < 0 is impossible; use <= 0 or < 1. Make sure the alarm dimensions point to the intended ALB and target group.

Sketch

ALB target group → `HealthyHostCount == 0` → CloudWatch alarm/SNS

Memory cue

Remember: ALB target health → HealthyHostCount → zero → alarm.

AWS reference: AWS documentation · AWS documentation

How did it go?

Data must be archived for at least seven years using Amazon S3 Glacier. Which control enforces a retention/compliance policy?

  1. A data retrieval policy. (option A)
  2. A Glacier Vault Lock policy (or the appropriate S3 Object Lock retention configuration for S3 Glacier storage). (option B)
  3. A vault notification. (option C)
  4. A vault access policy alone. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The requirement is immutable retention, not who receives notifications or how data is retrieved.

Answer

B

Reasoning

Vault Lock lets you lock a policy that enforces compliance controls such as minimum retention periods for archive vaults. For modern S3 Glacier storage classes in S3 buckets, use S3 Object Lock retention and legal holds as appropriate. Choose the product's actual storage model carefully because S3 Glacier Vault Lock and S3 Object Lock are different mechanisms.

Rule of thumb

Retention compliance → lock/retention policy, not an access policy or notification.

Pitfall

An access policy controls who can call APIs; it does not itself guarantee a seven-year retention period. Compliance-mode controls can be irreversible, so validate before locking.

Sketch

Archive → Vault Lock/S3 Object Lock retention policy → seven-year preservation

Memory cue

Remember: Archive written → retention rule applied → lock policy enforces period → audit retention.

AWS reference: AWS documentation · AWS documentation

How did it go?

EC2 instances have specific tags and only a group of users should be allowed to manage them. Which TWO IAM actions are needed?

  1. Attach an IAM role to the EC2 instances. (option A)
  2. Create an IAM policy with a Condition that matches the desired EC2 resource tags. (option B)
  3. Create an Auto Scaling group and tag it. (option C)
  4. Attach that IAM policy to the users or groups that need access. (option D)
  5. Create an IAM policy using only the Principal element to identify instances. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The requirement is to authorize human/role principals to act on tagged EC2 resources.

Answer

BD

Reasoning

Use resource-tag condition keys in the IAM policy to constrain the target instances, then attach the identity-based policy to the relevant users/groups/roles. An instance profile is for permissions the workload itself uses, not a substitute for authorizing administrators to manage instances.

Rule of thumb

Resource tag condition + policy attached to the requesting identity.

Pitfall

Tags are not access controls by themselves. All other applicable policy layers—explicit denies, SCPs, permission boundaries, session policies—still apply.

Sketch

User/group → tag-conditioned IAM policy → EC2 actions on matching instances

Memory cue

Remember: Caller identity policy → ec2:ResourceTag/Environment condition → only tagged instances are allowed.

AWS reference: AWS documentation

How did it go?

A company needs to see how Reserved Instance discounts are allocated in its consolidated bill. Which tool is most appropriate?

  1. AWS Organizations. (option A)
  2. Amazon Inspector. (option B)
  3. AWS Budgets. (option C)
  4. AWS Cost and Usage Report (CUR). (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The question asks for detailed billing allocation, not account membership, vulnerability analysis, or threshold alerts.

Answer

D

Reasoning

The Cost and Usage Report provides detailed line-item billing and usage data, including discount allocation information suitable for analysis by account, resource, and usage type when configured with the required detail. Use Cost Explorer for interactive high-level analysis and CUR/Athena for deeper reconciliation.

Rule of thumb

Need auditable line-item billing/discount allocation → CUR.

Pitfall

A budget alerts on amounts; it is not a ledger of which resources received Reserved Instance benefit.

Sketch

AWS billing → Cost and Usage Report → Athena/BI → RI discount allocation

Memory cue

Remember: Billing data line items → CUR export → query by account/resource/discount fields.

AWS reference: AWS documentation

How did it go?

CloudWatch Agent sends custom metrics to a custom namespace. How do you show the metrics on a CloudWatch dashboard?

  1. Select the custom namespace, choose the metric, and add it to the dashboard/widget. (option A)
  2. Use CloudWatch Events to add metrics automatically. (option B)
  3. Create CloudWatch Logs metric filters for existing custom metrics. (option C)
  4. Choose a dashboard widget and select the relevant metrics from the custom namespace. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Metrics have already been published; the task is visualization, not metric creation.

Answer

DA

A is the same workflow in compressed form

Reasoning

Create or edit a dashboard, select a widget type, then browse the namespace and metric dimensions that the agent publishes. Logs metric filters are for deriving metrics from log events, not for displaying metrics already emitted by the agent.

Rule of thumb

Published metric → dashboard widget → namespace + metric dimensions.

Pitfall

Custom metrics are often under CWAgent unless a custom namespace was configured. Dimensions must match the published metric series exactly.

Sketch

CloudWatch Agent → custom namespace → dashboard widget → selected metric

Memory cue

Remember: Choose widget → browse custom namespace → pick metric/dimensions → add to dashboard.

AWS reference: AWS documentation · AWS documentation

How did it go?

A global static S3 website begins receiving HTTP 503 Service Unavailable errors soon after launch. What is the most likely cause?

  1. A problem with S3 Transfer Acceleration. (option A)
  2. Expired pre-signed URLs. (option B)
  3. Incorrect user permissions. (option C)
  4. Request rate increased quickly and S3 is temporarily returning 503 Slow Down while scaling. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The launch causes a sudden increase in read traffic across a large user base.

Answer

D

Reasoning

S3 scales to high request rates, but a sharp change in workload can temporarily produce 503 Slow Down while S3 optimizes its internal scaling. Use exponential backoff, retries, and well-distributed object prefixes/traffic patterns. A persistent permissions problem typically gives 403, not a throughput-related 503.

Rule of thumb

S3 503 Slow Down → retry with exponential backoff; inspect request rate and prefix distribution.

Pitfall

Do not retry in a tight loop without backoff; it can increase pressure. Transfer Acceleration is unrelated unless the actual error pattern identifies it.

Sketch

Global clients → S3 → transient 503 → exponential backoff + well-distributed request load

Memory cue

Remember: 503 during ramp-up → backoff/jitter → retries → observe whether throttling subsides.

AWS reference: AWS documentation

How did it go?

Private EC2 instances use a NAT gateway to reach peers on the internet, and NAT charges have increased. How can the Engineer identify which instances generate the most traffic?

  1. Enable VPC Flow Logs on the NAT gateway's network interface and query source IPs with CloudWatch Logs Insights. (option A)
  2. Search CloudTrail API events for calls to the NAT gateway. (option B)
  3. Give every instance an Elastic IP and monitor CloudWatch by instance ID. (option C)
  4. Use Cost and Usage Report grouped by EC2 instance ID to determine NAT bytes. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The need is source-level network traffic attribution behind shared egress infrastructure.

Answer

A

Reasoning

VPC Flow Logs record traffic metadata at the relevant ENI/subnet/VPC; query source and destination addresses, bytes, ports, and actions to attribute flows to private instance IPs. CloudTrail records API calls, not each data packet. Cost reports may identify NAT gateway processing charges but not necessarily the top private source instances without network telemetry.

Rule of thumb

Network-volume attribution → Flow Logs + query; spend attribution → Cost Explorer/CUR.

Pitfall

Flow Logs are metadata rather than packet capture; they don't record payloads and are not instantaneous packet-by-packet telemetry. Choose sufficient aggregation and retention.

Sketch

Private EC2 IPs → NAT gateway ENI VPC Flow Logs → Logs Insights group by source

Memory cue

Remember: NAT ENI/subnet Flow Logs → Logs Insights group bytes by source IP → map IP to EC2 instance.

AWS reference: AWS documentation

How did it go?

A company must prevent all users, including administrators/root users of member accounts, from using Amazon Redshift, while leaving other services available. What should it do?

  1. Attach RedshiftFullAccess to deny users in every member account. (option A)
  2. Attach an SCP denying Redshift actions to the organization root (or the relevant OUs/accounts). (option B)
  3. Create IAM denies in each member account for every user and root user. (option C)
  4. Replace the default SCP with a policy that denies all actions. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The restriction must be centrally enforced even against member-account administrators.

Answer

B

Reasoning

An SCP can set the maximum permissions available to principals in member accounts, including member-account root users, so a deny for Redshift actions at the organization root/OU blocks the service across those accounts. Attach narrowly scoped deny statements and retain the normal allow policy behavior for other services.

Rule of thumb

Organization-wide service prohibition → SCP Deny at the appropriate organization level.

Pitfall

SCPs do not apply to the Organizations management account. Do not replace the default policy with a blanket deny-all unless a deny-all is genuinely intended; use a targeted Redshift deny.

Sketch

Organizations root/OU → SCP Deny Redshift actions → member accounts

Memory cue

Remember: SCP deny Redshift → member identities cannot use Redshift; other permissions remain governed by IAM and other guardrails.

AWS reference: AWS documentation

How did it go?

After an incident, TCP port 80 must be blocked in security groups and compliance must be reported near real time. What should be configured?

  1. AWS Config's restricted-common-ports rule with port 80 specified. (option A)
  2. An hourly Lambda that scans all security groups. (option B)
  3. Amazon Inspector scans security groups and emails reports. (option C)
  4. Trusted Advisor Red checks with a CloudWatch alarm for unrestricted ports. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The requirement is continuous configuration compliance on security group rules and quick visibility of deviations.

Answer

A

Reasoning

AWS Config managed rules evaluate supported resource configurations as they change or on their configured trigger. Configure restricted-common-ports for port 80 and use Config notifications/remediation if needed. Hourly custom scans are not near real time and Inspector is not the primary security-group configuration compliance engine for this use case.

Rule of thumb

Configuration compliance → AWS Config rule; correction → Config remediation/Automation or controlled event workflow.

Pitfall

Port 80 being open to an internal trusted source may be different from being public. Ensure rule scope and parameters match the actual policy (for example, prohibit all inbound HTTP or only public ingress).

Sketch

Security group configuration → AWS Config `restricted-common-ports` (port 80) → report/notification

Memory cue

Remember: Security-group change → Config evaluates port rule → compliant/noncompliant status → alert/remediate.

AWS reference: AWS documentation · AWS documentation

How did it go?

EC2 instances cannot access S3 through an already created S3 VPC endpoint whose endpoint policy is correct. What common configuration issue should be checked?

  1. The S3 bucket policy must allow all private IP addresses. (option A)
  2. The instances' subnet route table is not associated with the S3 gateway endpoint route. (option B)
  3. S3 Storage Class Analysis is disabled. (option C)
  4. The instances need Elastic IP addresses. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The endpoint exists, but route selection may not direct S3 traffic to it.

Answer

B

Reasoning

For an S3 gateway endpoint, associate the endpoint with the route tables used by the private subnets. AWS adds routes for the S3 managed prefix list. Also check endpoint policy, bucket policy, DNS, and IAM permissions, but route-table association is the most likely missing piece in this scenario.

Rule of thumb

S3 gateway endpoint works only for subnets using route tables associated with the endpoint.

Pitfall

Gateway endpoints do not use interface endpoint ENIs or private IP addresses assigned to S3. The private route is represented by a prefix-list route target.

Sketch

Private EC2 → associated route table → S3 gateway endpoint → S3

Memory cue

Remember: EC2 → subnet route table → S3 prefix-list route to gateway endpoint → S3.

AWS reference: AWS documentation

How did it go?

An Aurora cluster with a writer and reader experiences query latency during demand spikes, including increased memory utilization. What low-disruption change can improve read performance?

  1. Increase cluster disk capacity. (option A)
  2. Convert the cluster to multi-master. (option B)
  3. Add an Aurora Replica to the cluster. (option C)
  4. Snapshot the cluster and build an entirely new cluster with larger instances. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The described writer/reader arrangement suggests a need for more read-serving capacity with minimal downtime.

Answer

C

for read-heavy load

Reasoning

Adding an Aurora Replica increases reader capacity and lets read traffic be distributed across replicas or the reader endpoint. If the actual bottleneck is writer CPU/memory, a larger instance class or query tuning may be needed instead; replicas do not fix every writer-bound workload.

Rule of thumb

Read throughput bottleneck → add/read-scale replicas; writer-bound bottleneck → tune or scale the writer.

Pitfall

More replicas increase read capacity and cost, but don't automatically relieve write-heavy transactions or a single saturated writer. Confirm Performance Insights and workload type first.

Sketch

Application read requests → Aurora reader endpoint → writer + replica readers

Memory cue

Remember: Read query volume high → add Aurora Replica → distribute read traffic through reader endpoint.

AWS reference: AWS documentation

How did it go?

A CloudWatch alarm is repeatedly triggered and remains in ALARM state. What is a plausible explanation?

  1. The monitored metric remains beyond the configured threshold. (option A)
  2. Any EC2 instance in a stopped state forces every alarm to ALARM. (option B)
  3. An alarm requires an IAM role to change state. (option C)
  4. An unverified SNS topic locks the alarm state. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The alarm state tracks evaluated metrics, not whether a notification destination is verified.

Answer

A

Reasoning

CloudWatch compares metric datapoints with configured thresholds over the evaluation period. If breaching datapoints continue, ALARM is expected. Check the metric, statistic, threshold, missing-data treatment, period, and evaluation periods before assuming a service fault.

Rule of thumb

Persistent ALARM usually means persistent threshold breach or mis-specified metric/dimensions.

Pitfall

An alarm does not need an IAM role to change state. An instance stopping can cause certain metrics to become missing; the configured missing-data treatment determines behavior.

Sketch

CloudWatch metric → threshold/evaluation periods → ALARM or OK → optional SNS notification

Memory cue

Remember: Datapoints > threshold across evaluation window → ALARM; healthy datapoints for required period → OK.

AWS reference: AWS documentation

How did it go?

An application uses a KMS customer-managed key with imported key material, referenced through an alias. Policy requires rotation every six months. What process supports this?

  1. Replace it with an AWS managed key that rotates every six months and update the alias. (option A)
  2. Enable automatic rotation every six months on the imported-material key. (option B)
  3. Delete and re-import new material into the same key as a normal automatic rotation. (option C)
  4. Create a new KMS key, import new material, and move the alias to the new key. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The key uses imported key material, so the normal KMS automatic rotation feature is unavailable for that key type.

Answer

D

Reasoning

AWS KMS automatic rotation is not supported for keys with imported key material. Create a new key with the new imported material and move the application alias after a controlled migration. Existing ciphertext encrypted under the old key still needs the old key material/key for decryption, unless data is re-encrypted.

Rule of thumb

Imported key material → plan manual key replacement and alias move; retain old-key decrypt capability.

Pitfall

Moving an alias changes future alias resolution; it does not re-encrypt existing data or make old ciphertext decrypt with the new key.

Sketch

Application alias → new KMS key with imported material; old KMS key retained for old ciphertext

Memory cue

Remember: New imported material → new KMS key → update alias → verify encryption/decryption paths → retire old key only after migration.

AWS reference: AWS documentation · AWS documentation

How did it go?

An S3 bucket is in us-east-1; users in ap-south-1 need faster uploads and downloads for large files. What should be used?

  1. Reduce the number of prefixes in the bucket. (option A)
  2. Create another bucket with the same name in another Region. (option B)
  3. Enable S3 Transfer Acceleration and use the S3 accelerate endpoint. (option C)
  4. Change server-side encryption from AES to RSA. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Large files travel long distances between clients and the bucket's Region.

Answer

C

Reasoning

Transfer Acceleration routes uploads/downloads through AWS edge locations and the AWS backbone to the bucket's Region. Test performance with the intended client locations and object sizes. It does not replicate the bucket or change encryption algorithms.

Rule of thumb

Long-distance S3 transfer speed → evaluate Transfer Acceleration and benchmark it.

Pitfall

Transfer Acceleration adds request/data-transfer charges and may not improve every route/file size. It must be enabled and clients must use the accelerate endpoint.

Sketch

Remote client → S3 Transfer Acceleration endpoint → AWS edge/backbone → S3 region

Memory cue

Remember: Client → nearest AWS edge → AWS backbone → regional S3 bucket.

AWS reference: AWS documentation

How did it go?

Under the EC2 shared responsibility model, which TWO activities are AWS's responsibility?

  1. Patching the guest operating system. (option A)
  2. Maintaining the underlying network infrastructure. (option B)
  3. Monitoring EBS volume utilization. (option C)
  4. Configuring EC2 security groups. (option D)
  5. Patching the hypervisor. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The distinction is between AWS security 'of' the cloud and customer security 'in' the cloud.

Answer

BE

Reasoning

AWS operates data centers, physical networking, and the virtualization layer/hypervisor. Customers manage guest OS patching, security groups, application configuration, data, and most resource-level monitoring. Managed-service responsibility can differ from EC2's model.

Rule of thumb

For EC2: AWS protects physical infrastructure/hypervisor; customer protects guest OS and workload configuration.

Pitfall

Do not generalize EC2 responsibility boundaries to every managed service. As the abstraction level rises, AWS manages more of the stack.

Sketch

AWS data center/network/hypervisor | Customer OS/security groups/app/data

Memory cue

Remember: Physical/network/hypervisor → AWS; guest OS, security groups, data, apps → customer.

AWS reference: AWS documentation

How did it go?

A CloudFormation template creates an Auto Scaling group with user data initialization, but creation fails because the resource wait condition never receives enough signals. What should be changed?

  1. Set AssociatePublicIpAddress to true in the launch template. (option A)
  2. Call cfn-signal at the end of the user-data initialization after setup succeeds. (option B)
  3. Reduce the ASG desired capacity. (option C)
  4. Open outbound port 8080 in the instance security group. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

CloudFormation is waiting for proof that instance bootstrap finished successfully.

Answer

B

Reasoning

Use a CreationPolicy with ResourceSignal and run cfn-signal after the software is installed and healthy. This lets each instance report success/failure and avoids CloudFormation timing out without signals. Check that the instance can reach CloudFormation endpoints and that the signal command reports the intended exit status.

Rule of thumb

ResourceSignal wait → call cfn-signal after successful initialization.

Pitfall

Signal too early and CloudFormation may declare success before the application works; forget permissions/network connectivity and the signal may never arrive.

Sketch

CloudFormation CreationPolicy → EC2 user data/bootstrap → `cfn-signal` → stack proceeds

Memory cue

Remember: User data installs/configures → health check succeeds → cfn-signal → stack continues.

AWS reference: AWS documentation

How did it go?

Employees have separate standalone AWS accounts that must join the company's central AWS Organization. What should be done?

  1. Add the accounts using AWS IAM. (option A)
  2. Log in to each account and directly join the organization without an invitation. (option B)
  3. Create a new organization in each account and join them to the central organization. (option C)
  4. Send each standalone account an invitation from the central organization's management account; the account accepts it. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Existing accounts need to become member accounts in the central organization.

Answer

D

Reasoning

The organization's management account invites existing standalone AWS accounts using their account ID or email. An authorized administrator of each invited account must accept the invitation. Plan billing and governance changes because joining changes consolidated billing/policy relationships.

Rule of thumb

Existing account → central organization invitation → invited account accepts.

Pitfall

An account cannot be a member of two organizations simultaneously. Organizations membership is not established by creating IAM users or roles.

Sketch

Company Organizations → invite existing accounts → account owners accept

Memory cue

Remember: Management account sends invite → existing account administrator accepts → account becomes member.

AWS reference: AWS documentation

How did it go?

Across multiple Regions, EC2 security groups must never allow public SSH (0.0.0.0/0), and detected violations must be automatically removed. Which TWO steps are best?

  1. Use EventBridge to detect security-group changes and invoke a Lambda to modify the group. (option A)
  2. Create an AWS Config rule that detects security groups allowing SSH from 0.0.0.0/0. (option B)
  3. Use GuardDuty to detect any security group allowing public SSH. (option C)
  4. Create a Systems Manager Automation document to update/remediate the identified security group rules. (option D)
  5. Use CloudTrail only to send an SNS notification. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The company needs both configuration detection and automatic corrective action across accounts/Regions.

Answer

BD

recommended native remediation pattern

Reasoning

AWS Config evaluates the security-group configuration; configure remediation using an SSM Automation runbook to revoke the dangerous ingress permission. EventBridge+Lambda can also be engineered, but Config + automatic remediation is the direct, auditable compliance pattern among the options. Deploy regionally and aggregate compliance if needed.

Rule of thumb

Detect drift with Config; remediate with a tested, least-privilege runbook.

Pitfall

Do not rely only on GuardDuty, which is threat detection rather than a complete control for every open security-group rule. Test remediation to avoid removing approved administrative access unexpectedly.

Sketch

Security group rule → AWS Config SSH rule → SSM Automation remediation → corrected SG

Memory cue

Remember: Rule detects public SSH → NON_COMPLIANT → SSM Automation revokes ingress → Config re-evaluates.

AWS reference: AWS documentation · AWS documentation

How did it go?

A first CloudFormation stack creation ends in ROLLBACK_COMPLETE. Template problems are fixed. How should deployment continue?

  1. Update the rolled-back stack. (option A)
  2. Run validate-template and the existing stack will resume. (option B)
  3. Execute a change set against the failed stack. (option C)
  4. Delete the failed stack and create a new stack from the corrected template. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The initial stack creation failed and rolled back to a completed rollback state.

Answer

D

Reasoning

A stack in ROLLBACK_COMPLETE after a failed create generally cannot be updated. Delete it and create a new stack with the corrected template. Preserve diagnostic events/logs before deleting if you need root-cause evidence.

Rule of thumb

Create failure + ROLLBACK_COMPLETE → delete then recreate.

Pitfall

validate-template checks template syntax/structure, not whether every resource creation will succeed. Save events before deleting the stack if needed.

Sketch

Failed CREATE → ROLLBACK_COMPLETE → delete stack → create corrected stack

Memory cue

Remember: Inspect Events → fix template → delete rollback-complete stack → create new stack.

AWS reference: AWS documentation

How did it go?

An EC2 application writes log files to an S3 bucket. What is the most secure way to grant the instance access?

  1. Store long-lived access keys in the AMI. (option A)
  2. Create an IAM user and distribute its keys to the instance. (option B)
  3. Make the S3 bucket accessible to all EC2 instances. (option C)
  4. Create an IAM role with the required S3 permissions and attach it to the instance profile. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The application needs AWS credentials without embedding secrets into an image or application files.

Answer

D

Reasoning

An EC2 instance profile delivers temporary role credentials through instance metadata. Grant only the necessary S3 actions on the target bucket/prefix and optionally combine with a bucket policy. Credentials rotate automatically with the role session.

Rule of thumb

EC2 workload identity → instance role; least privilege for the exact bucket/prefix.

Pitfall

Never bake long-lived IAM user keys into AMIs or source code. The role should allow only the specific required operations and object paths.

Sketch

EC2 instance profile → least-privilege S3 role → bucket/prefix

Memory cue

Remember: EC2 → instance profile/role → temporary credentials → S3 PutObject to approved prefix.

AWS reference: AWS documentation · AWS documentation

How did it go?

A memory leak is suspected across both EC2 Linux instances and on-premises servers. What is the simplest way to track memory utilization over time for both?

  1. Install/configure the CloudWatch Agent on both EC2 and on-premises servers to publish memory metrics. (option A)
  2. Write a custom script or buy third-party software. (option B)
  3. Use CloudWatch Agent for EC2 and different monitoring software on premises. (option C)
  4. Put on-premises servers and EC2 instances in Auto Scaling groups. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The team needs a common time series view of an OS metric that EC2 basic monitoring does not report by default.

Answer

A

Reasoning

CloudWatch Agent can collect OS-level memory metrics from EC2 and on-premises/hybrid servers that are configured as managed hosts or agent targets. Publish into a consistent namespace and use the same dashboards/alarms to compare trends.

Rule of thumb

Memory utilization is an OS metric → CloudWatch Agent, not default EC2 hypervisor metrics alone.

Pitfall

EC2 basic monitoring commonly doesn't expose guest memory. Verify the agent config, IAM permissions, namespace, and network connectivity on on-premises nodes.

Sketch

EC2 + on-prem servers → CloudWatch Agent → CloudWatch custom memory metrics → dashboard

Memory cue

Remember: CloudWatch Agent on each host → common namespace → compare memory time series/alarms.

AWS reference: AWS documentation

How did it go?

EC2 instances behind a Network Load Balancer cannot be reached from an on-premises data center on port 8081. VPC Flow Logs show the return flow to an ephemeral client port is REJECT. What is the likely cause?

  1. The EC2 security group does not allow inbound traffic from the NLB. (option A)
  2. The NLB security group lacks an inbound rule from the data center. (option B)
  3. The on-premises firewall blocks traffic into the VPC. (option C)
  4. The subnet network ACL blocks outbound traffic to the client's ephemeral port range. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The flow-log evidence shows one direction accepted and the response direction rejected on the ephemeral port.

Answer

D

Reasoning

Network ACLs are stateless; they must allow both the request port and the return traffic's ephemeral port range. Security groups are stateful. If the REJECT record is the target's response toward the client ephemeral port, inspect NACL egress/return-path rules for that range.

Rule of thumb

Flow direction + destination port + ACCEPT/REJECT reveals which network layer/direction is blocked.

Pitfall

Validate the actual five-tuple and subnet direction from the complete flow-log schema before changing rules. Do not open all ports if a narrower ephemeral range will satisfy the return path.

Sketch

On-prem client → NLB:8081 → EC2 target; return flow → ephemeral port REJECT at NACL

Memory cue

Remember: Inbound request accepted → response to ephemeral port rejected → check stateless NACL egress/return range.

AWS reference: AWS documentation · AWS documentation

How did it go?

A Memcached ElastiCache cluster has more traffic and needs a larger node type with more memory. Which API operation applies the change to the existing cluster?

  1. CreateReplicationGroup with a new CacheNodeType. (option A)
  2. ModifyCacheParameterGroup with a new CacheNodeType. (option B)
  3. ModifyCacheCluster for the existing cache cluster. (option C)
  4. CreateCacheCluster with a new node type and leave the old cluster untouched. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The question asks to resize an existing Memcached cluster rather than change parameter values or create a new deployment.

Answer

C

Reasoning

Use the ElastiCache cluster modification API/console to change CacheNodeType where supported. Plan the impact: Memcached data is cached and generally can be repopulated, but changing node type can trigger replacement/reconfiguration and application cache misses. Redis replication-group procedures are not interchangeable with Memcached cluster operations.

Rule of thumb

Memcached cluster resize → ModifyCacheCluster/modify the existing cluster's node type.

Pitfall

A cache is not durable primary storage. Expect cold-cache effects and ensure the application handles cache misses during or after resizing.

Sketch

Application → Memcached cluster → ModifyCacheCluster(CacheNodeType) → cache repopulates

Memory cue

Remember: Select new node type → modify cluster → monitor node state/cache miss rate/application latency.

AWS reference: AWS documentation

How did it go?

Many EC2 instances upload logs to a third-party service that now allows only one source IP. What should be changed?

  1. Route private instances through a NAT gateway and give the service the NAT gateway's Elastic IP. (option A)
  2. Attach one Elastic Network Interface to all instances and whitelist its EIP. (option B)
  3. Move all instances into one subnet and whitelist the subnet CIDR. (option C)
  4. Route all instances through an internet gateway and whitelist the gateway IP. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Multiple private instances need a common, stable outbound public IPv4 address.

Answer

A

Reasoning

A NAT gateway in a public subnet can use an Elastic IP and provide a single egress address for instances in private subnets. The third party can whitelist that EIP. Route tables for private subnets must direct default-route internet traffic through the NAT gateway.

Rule of thumb

Single egress public IP for many private IPv4 workloads → NAT gateway + EIP.

Pitfall

An internet gateway does not itself have a single fixed egress address to whitelist for private instances. Avoid public IPs on every workload when a shared controlled egress IP is required.

Sketch

Private EC2 fleet → NAT gateway (EIP) → third-party service whitelist

Memory cue

Remember: Private instances → private route 0.0.0.0/0 to NAT → NAT EIP → third party allowlist.

AWS reference: AWS documentation

How did it go?

The security team requires server-side encryption for all new objects uploaded to an S3 bucket. What is the best choice among the listed options?

  1. Configure the bucket's default encryption for the desired server-side encryption mode. (option A)
  2. Generate a pre-signed PUT URL that includes an encryption flag and distribute one URL to users. (option B)
  3. Add the shown policy statement to the IAM user permissions policy to deny unencrypted uploads (the OCR'd policy is malformed and appears to misuse Principal). (option C)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The security requirement is encryption at rest for new uploads, not a particular user's upload workflow.

Answer

A

Reasoning

S3 now automatically applies SSE-S3 to all new object uploads. For a desired SSE-KMS or DSSE-KMS default, configure bucket default encryption. If policy requires a specific customer-managed key or forbids callers from overriding the encryption choice, use a correctly scoped bucket policy with the relevant condition. A Principal element does not belong in an IAM identity policy.

Rule of thumb

Default encryption covers new uploads automatically; use policy enforcement for a specific mandatory encryption configuration.

Pitfall

The source choices are from older S3 guidance. Do not copy the OCR'd JSON into production; it is syntactically and semantically malformed. Enabling default encryption provides encryption, while a separate bucket-policy guardrail may be needed if a specific key/algorithm is mandatory.

Sketch

Client PUT → S3 bucket default encryption → SSE-S3 (or chosen SSE-KMS/DSSE-KMS); optional policy enforcement

Memory cue

Remember: Upload → S3 default SSE-S3/SSE-KMS applied; if exact key mandated → bucket policy guardrail.

AWS reference: AWS documentation · AWS documentation

How did it go?

A CloudFormation template creating a new VPC for each customer application fails when creating a new customer environment. What is the most likely cause?

  1. The template is not the latest version. (option A)
  2. The AMI is unavailable in the selected Region. (option B)
  3. The account/Region has reached its VPC quota. (option C)
  4. Scheduled Region maintenance makes the Region temporarily unavailable. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

A repeatable template that has worked before fails when provisioning yet another VPC in the same account and Region.

Answer

C

Reasoning

VPC and related networking resources have service quotas. If the account has reached the VPC quota, another stack's VPC creation fails until resources are removed or the quota increased. Confirm the failed resource and CloudFormation event before concluding that quota is the cause.

Rule of thumb

Repeated per-customer VPC deployment → check VPC/service quotas first.

Pitfall

A generic stack failure is not proof of a quota issue; use CloudFormation Events and Service Quotas to verify. Templates can also fail due to CIDR overlap, permissions, or unavailable AMIs.

Sketch

CloudFormation VPC resource → Service Quotas check → free capacity or request quota increase

Memory cue

Remember: Stack fails at VPC create → inspect event/error → compare current usage with quota → request/clean up.

AWS reference: AWS documentation

How did it go?

A CloudOps Engineer needs to identify cost savings by downsizing underutilized EC2 instances with minimal effort. What should be used?

  1. AWS Cost Explorer rightsizing recommendations (and current Cost Optimization Hub where appropriate). (option A)
  2. A custom Lambda that calculates CPU utilization. (option B)
  3. Manually inspect all CloudWatch EC2 metrics. (option C)
  4. AWS Budgets alerts for underutilized instances. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

This is a rightsizing analysis task across EC2 usage, not simply a budget threshold alert.

Answer

A

Reasoning

Cost Explorer's rightsizing recommendations analyze EC2 usage and identify downsizing/termination opportunities. Current AWS guidance also points to Cost Optimization Hub for broader optimization opportunities. Validate memory, network, disk, seasonality, and performance needs before applying recommendations.

Rule of thumb

Rightsizing with low effort → Cost Explorer/Cost Optimization Hub.

Pitfall

Low average CPU alone does not prove an instance is safe to downsize. Check peak demand, memory, I/O, workload schedule, and business SLAs.

Sketch

EC2 usage data → Cost Explorer/Cost Optimization Hub → savings candidate → validate then resize

Memory cue

Remember: Usage history → rightsizing recommendation → engineer validates → resize with rollback plan.

AWS reference: AWS documentation

How did it go?

A CloudFormation-deployed app uses EC2 in an Auto Scaling group behind an ALB. A new version must be deployed without DNS changes and with rollback support. Which listed option is best?

  1. Use lifecycle hooks to deploy the new version on new instances and mark them healthy when ready. (option A)
  2. Build a new AMI and swap the launch configuration without a managed rollout policy. (option B)
  3. Use CloudFormation's AutoScalingReplacingUpdate strategy so the ASG is replaced and rollback can retain the old group until the new one succeeds. (option C)
  4. Deploy a second stack with a different ALB and change DNS to cut over. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The public traffic entry point should remain stable while application capacity is updated and failed deployments can be rolled back.

Answer

C

closest listed choice; in practice choose a suitable rolling/instance-refresh strategy where appropriate

Reasoning

CloudFormation supports replacing the Auto Scaling group while retaining the old group until the new one succeeds, when configured with AutoScalingReplacingUpdate/creation signals. For a normal in-place fleet rollout, a rolling update or Auto Scaling instance refresh may be safer and more efficient. Keep the ALB/DNS name stable and validate new instances before shifting traffic.

Rule of thumb

Stable ALB/DNS + health-checked capacity replacement + rollback guardrails.

Pitfall

The option wording is not the only modern deployment pattern. Use AutoScalingRollingUpdate or instance refresh for a rolling deployment where appropriate; full ASG replacement can temporarily double capacity/cost and requires correct target-group wiring.

Sketch

Stable DNS → ALB → current ASG; CloudFormation safely replaces/updates the ASG with health checks and rollback

Memory cue

Remember: Provision replacement capacity → wait for success signals/healthy targets → shift/remove old capacity; on failure retain/restore old capacity.

AWS reference: AWS documentation · AWS documentation

How did it go?

A malicious IP must be explicitly denied for both inbound and outbound traffic across the VPC's subnet resources immediately. What is the quickest fit among the choices?

  1. Install host-based firewalls on every EC2 instance. (option A)
  2. Remove the internet gateway and replace it with NAT. (option B)
  3. Add deny rules to the network ACLs associated with all relevant subnets. (option C)
  4. Add deny rules to EC2 security groups. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The rule must deny a specific IP in both directions across subnet traffic.

Answer

C

Reasoning

Network ACLs are stateless and support explicit DENY entries, so the IP can be blocked at subnet boundaries for inbound and outbound traffic. Security groups are stateful allow-only filters and cannot create explicit deny rules. Ensure rule numbers precede broader allow rules and apply the ACL to every relevant subnet.

Rule of thumb

Explicit IP deny at subnet boundary → network ACL, not security group.

Pitfall

NACLs are stateless, so permitted return traffic must also be allowed; a higher-priority rule can shadow the deny if rule numbering is wrong. This only covers traffic through subnets where the ACL is applied.

Sketch

Subnet boundary → NACL inbound DENY + outbound DENY for the malicious IP

Memory cue

Remember: Threat IP → NACL deny rule in each direction → verify Flow Logs show REJECT.

AWS reference: AWS documentation

How did it go?

CloudFront fronts an ALB, but mobile users sometimes receive desktop pages. The origin varies content by User-Agent. What should change?

  1. Forward/include the User-Agent header in CloudFront's origin request/cache configuration and include it in the cache key when responses vary by User-Agent. (option A)
  2. Add a fixed custom User-Agent header to all origin requests. (option B)
  3. Enable IPv6 on CloudFront and use a dualstack hostname. (option C)
  4. Enable IPv6 on the ALB and set CloudFront's origin to dualstack. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

CloudFront may reuse a cached desktop response for a mobile request because the relevant variation isn't represented in caching behavior.

Answer

A

Reasoning

If the origin returns different content by User-Agent, configure the cache/origin request policy so the needed header reaches the origin and responses are cached separately where required. Modern best practice is to vary only on necessary headers, cookies, and query strings to avoid fragmenting the cache unnecessarily.

Rule of thumb

If origin response varies by a request property, forward it and account for it in the cache key.

Pitfall

Forwarding a header without adding it to the cache key can still allow the wrong cached variant to be returned. Don't forward every header by default; it reduces cache efficiency.

Sketch

Mobile/desktop viewer → CloudFront cache policy (required device/header variation) → ALB origin

Memory cue

Remember: Mobile/Desktop request → cache key varies on required device signal → correct origin response/cache variant.

AWS reference: AWS documentation

How did it go?

Systems Manager Patch Manager runs scheduled patches, but users report poor response times while patching. What minimizes impact?

  1. Create a patched AMI and deploy it to exactly 10% of the fleet through a maintenance-window option. (option A)
  2. Configure the maintenance-window task's concurrency to patch 10% of instances at a time. (option B)
  3. Update all instances one by one using an AMI snapshot without automation. (option C)
  4. Create separate patch groups and update them at different times only. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The fleet is being patched simultaneously, consuming CPU/I/O or causing reboots that degrade the service.

Answer

B

Reasoning

Systems Manager maintenance windows support rate controls, including maximum concurrency as a count or percentage. Limit concurrency (for example, 10%), set an error threshold, and make sure load balancers and Auto Scaling capacity can absorb instances temporarily out of service. The exact percentage depends on fleet size and redundancy.

Rule of thumb

Reduce patch concurrency and use maintenance windows so healthy capacity remains available.

Pitfall

A 10% concurrency setting is not universally safe; use service SLOs, AZ balance, batch size, and error threshold. An immutable AMI/instance refresh can be better for some fleets.

Sketch

Fleet → SSM maintenance window (`MaxConcurrency: 10%`) → staged patch batches

Memory cue

Remember: Maintenance window → patch 10% batch → verify service health → continue until complete.

AWS reference: AWS documentation

How did it go?

A website serves dynamic content through an ALB/EC2 and static content from S3. Users report slow loading. Which TWO actions improve performance?

  1. Enable Route 53 latency-based routing. (option A)
  2. Move dynamic content from web servers to S3. (option B)
  3. Implement EC2 Auto Scaling for the web tier. (option C)
  4. Add CloudFront caching for static S3 content. (option D)
  5. Move static content from S3 onto the EC2 web servers. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The architecture needs both capacity elasticity for the dynamic tier and edge caching for static assets.

Answer

CD

Reasoning

Auto Scaling adds/removes EC2 application capacity as demand changes. CloudFront caches static objects at edge locations close to users, reducing round trips to S3 and improving latency. Route 53 latency routing is most relevant when multiple regional endpoints are available; it does not cache static content itself.

Rule of thumb

Dynamic throughput → scale the application tier; static global latency → CDN caching.

Pitfall

Do not move static files onto EC2 and thereby compete with dynamic compute. Ensure caching headers/TTLs and invalidation strategy fit content update frequency.

Sketch

Dynamic: Route53/ALB → EC2 ASG; Static: users → CloudFront → S3

Memory cue

Remember: Dynamic requests → ALB → ASG; static requests → CloudFront edge cache → S3 origin.

AWS reference: AWS documentation · AWS documentation

How did it go?

SSM Agent and IAM permissions are configured, but Systems Manager does not manage all EC2 instances in one subnet. What should be checked/fixed?

  1. Verify that instances have the right tags to grant Systems Manager access. (option A)
  2. Provide private-subnet connectivity to Systems Manager using the required interface VPC endpoints when no NAT/internet path exists. (option B)
  3. Use IAM Access Analyzer to identify and automatically repair the issue. (option C)
  4. Reinstall Inventory and wait for the next inventory run. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

Agent and role are already valid, and failures are correlated to instances in one subnet, pointing toward network path differences.

Answer

B

assuming private subnet lacks SSM endpoint connectivity

Reasoning

SSM Agent must reach Systems Manager service endpoints. In private subnets without a NAT route, configure the required VPC interface endpoints, endpoint security groups, DNS, and routes. Validate connectivity to the SSM, SSM Messages, and EC2 Messages endpoints appropriate for the Region/agent features.

Rule of thumb

Subnet-specific SSM failures after IAM/agent checks → investigate endpoint/DNS/network reachability.

Pitfall

Tags can be used to target managed nodes but do not create connectivity. Inventory collects instance metadata; it does not make a disconnected instance become managed.

Sketch

Private subnet EC2 → interface endpoints for Systems Manager → SSM control channel

Memory cue

Remember: Agent + role present → endpoint/DNS/SG connectivity check → SSM managed node online.

AWS reference: AWS documentation · AWS documentation

How did it go?

Two VPCs in different Regions must replicate data. All traffic must remain off the public internet and be encrypted in transit. What is a simple solution?

  1. Use NAT gateways in both VPCs. (option A)
  2. Create inter-Region VPC peering and update both VPC route tables. (option B)
  3. Create a managed VPN between the VPCs and configure routes. (option C)
  4. Use internet gateways as route targets. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The VPCs need private IP connectivity across Regions with encryption on the inter-Region path.

Answer

B

Reasoning

Inter-Region VPC peering provides private routing between VPCs without traversing the public internet, and AWS documents AES-256 encryption at the virtual network layer for inter-Region traffic. Update both route tables and security controls. If policy requires application-controlled encryption or complex transitive routing, add TLS or evaluate Transit Gateway/other architectures.

Rule of thumb

Two VPCs, different Regions, direct private connectivity → inter-Region VPC peering + routes.

Pitfall

VPC peering is non-transitive and CIDR ranges must not overlap. NAT and IGWs are not the private inter-VPC connection mechanism.

Sketch

VPC A route table ↔ inter-Region VPC peering ↔ VPC B route table

Memory cue

Remember: VPC-A private CIDR → inter-Region peering link → VPC-B private CIDR.

AWS reference: AWS documentation · AWS documentation

How did it go?

An Auto Scaling group has not reached maximum capacity but fails to launch instances during busy periods. Which TWO checks can identify the cause?

  1. Check AWS Health Dashboard for service/outage events. (option A)
  2. Monitor limits in Systems Manager. (option B)
  3. Inspect CloudTrail for the result/error of RunInstances requests. (option C)
  4. Use Trusted Advisor to check EC2 service limits. (option D)
  5. Use Amazon Inspector for instance performance reports. (option E)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The desired scaling event may be running but instance launch calls can fail because of quota, configuration, IAM, capacity, or subnet constraints.

Answer

CD

best direct diagnostic pair

Reasoning

CloudTrail helps reveal the API request and error code for RunInstances; Trusted Advisor service-limit checks can highlight limit problems. Also inspect Auto Scaling activity history, EC2 launch-template configuration, subnet IP capacity, instance-type capacity, and AWS Health when evidence points to a service event.

Rule of thumb

ASG does not launch → activity history + CloudTrail error + service-quota check.

Pitfall

The maximum capacity not being reached does not prove enough launch capacity exists. A service limit, subnet exhaustion, invalid AMI, KMS permission, or launch-template error can still block launches.

Sketch

ASG activity history → CloudTrail RunInstances error + Trusted Advisor quota check

Memory cue

Remember: Scaling event fails → inspect ASG activity → examine RunInstances error → check quotas/health/capacity.

AWS reference: AWS documentation · AWS documentation

How did it go?

A Route 53 hosted zone and an ALB are in different AWS accounts. What is the most cost-effective and efficient way to point the domain to the ALB?

  1. Create an A/AAAA alias record pointing directly to the ALB's DNS name and canonical hosted-zone ID. (option A)
  2. Create another ALB in the hosted-zone account and forward traffic cross-account. (option B)
  3. Make a replicated hosted zone in the ALB account. (option C)
  4. Create a CNAME pointing to an alias record for the ALB. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

DNS is centrally managed in one account while the application load balancer belongs to another account.

Answer

A

Reasoning

Route 53 supports alias records targeting an ELB load balancer in another account. Obtain the load balancer DNS name and canonical hosted-zone ID; the console may not list cross-account targets, so enter the target details manually. Alias records work at the zone apex and avoid an extra CNAME hop.

Rule of thumb

Cross-account ALB DNS → Route 53 alias record; manually enter target DNS and load-balancer hosted-zone ID if not listed.

Pitfall

Do not use the domain's hosted-zone ID where the alias requires the load balancer's canonical hosted-zone ID. The ALB must be accessible to the intended clients.

Sketch

Route 53 hosted zone (account A) → alias record → ALB (account B)

Memory cue

Remember: Hosted zone account → alias A/AAAA → ALB DNS in application account.

AWS reference: AWS documentation

How did it go?

An S3 bucket is currently accessible to users in other AWS accounts. It must be accessible only to users in the owning account. What is the best control?

  1. Move the bucket to S3 One Zone-IA and disable versioning. (option A)
  2. Use a bucket policy that restricts principals to the owning account. (option B)
  3. Change the ACL to restrict access to the bucket owner. (option C)
  4. Create pre-signed URLs for objects. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The access boundary must be enforced at the bucket resource policy level for cross-account access.

Answer

B

Reasoning

Write a bucket policy that grants/permits the intended same-account principals and excludes or denies cross-account principals, taking other policy mechanisms into account. S3 Object Ownership settings can disable ACLs and simplify authorization. Pre-signed URLs can grant temporary access to other parties, the opposite of the goal.

Rule of thumb

Cross-account access restriction → bucket policy and S3 Object Ownership/ACL review.

Pitfall

A policy 'allowing same-account principals' is not always enough if existing resource grants allow other principals; explicit Deny conditions may be required. Review access points and ACLs too.

Sketch

Caller principal → bucket policy account boundary → same-account only

Memory cue

Remember: Incoming request principal account ID → bucket policy condition → allow/deny.

AWS reference: AWS documentation

How did it go?

A computer on premises pings EC2 172.31.10.10 across a Site-to-Site VPN but gets no reply. Flow Logs show the inbound request ACCEPT and the return packet REJECT. What is the most likely fix?

  1. Allow inbound traffic from the on-premises host in the EC2 security group. (option A)
  2. Modify the network ACL to allow outbound traffic to the on-premises host. (option B)
  3. Modify the network ACL to allow inbound traffic from the on-premises host. (option C)
  4. Modify the EC2 security group to allow outbound traffic to the on-premises host. (option D)
Reveal answer & reasoning Answer, rationale, pitfall & memory cue

Situation

The echo request reaches the instance, but the return flow is rejected by a stateless subnet control.

Answer

B

Reasoning

Network ACLs are stateless, so the return ICMP traffic must be permitted by the outbound NACL rules. Security groups are stateful and automatically allow reply traffic for permitted inbound ICMP, subject to other network controls. The Flow Logs' ACCEPT/REJECT direction points to outbound NACL policy as the issue.

Rule of thumb

Inbound accepted + reply rejected → examine outbound NACL rules and flow direction.

Pitfall

Do not add broad security-group rules without evidence. ICMP needs to be allowed in the correct direction, and NACL rule numbering can override later allows.

Sketch

On-prem ICMP request → EC2 inbound ACCEPT → reply → subnet NACL outbound REJECT

Memory cue

Remember: ICMP echo request ACCEPT → reply REJECT → add appropriate outbound NACL allow for the on-prem CIDR/ICMP.

AWS reference: AWS documentation · AWS documentation

How did it go?

Cross-question durable memory sheet

Situation / clueFirst service/control to considerRemember
SQS backlog growsEC2 Auto Scaling on backlog per instanceQueue depth is work waiting; CPU alone can mislead.
No internet egress allowedPrivate subnet route table + egress controls“Private” is a route configuration, not just no public IP.
Root-account hygieneMFA, no root keys, Trusted Advisor/security reviewRoot is for tasks that require root.
Production HAMulti-AZ application tier + managed DB HAHA differs from read scaling.
S3 unauthorized attemptsCloudTrail data events and/or server access logs + AthenaEnable the evidence source before querying it.
Key rotation policyAWS Config for detection + controlled remediationDetecting noncompliance is not the same as changing a key.
OS vulnerabilitiesSystems Manager Patch ManagerStage changes and plan for reboots.
CloudFront HTTPSViewer Protocol Policy + custom hostname/certificateViewer-to-edge and edge-to-origin are separate TLS hops.
EC2-to-S3 credentialsInstance profile roleNo long-lived keys embedded in AMIs.
S3 private pathGateway endpoint + subnet route-table associationEndpoint policy, bucket policy, IAM, and routes all matter.
KMS imported key materialNew key + alias migration for key replacementAlias movement does not re-encrypt old ciphertext.
Explicit IP deny at subnet edgeNetwork ACLNACLs are stateless and support DENY; security groups are stateful allow-only.
Config complianceAWS Config rule + tested remediationDetection, alerting, and remediation are distinct steps.
ASG launch failureActivity history + CloudTrail API errors + quotasMaximum capacity not reached does not prove launches can succeed.
Slow global static assetsCloudFront cachingCDN for static; Auto Scaling for dynamic throughput.

Official documentation references

The per-question citations link directly to AWS service documentation. For exam preparation, favor current AWS documentation over memorized third-party answer keys, especially for areas where service defaults and naming have changed (S3 default encryption, AWS IAM Identity Center, KMS key rotation, S3 Glacier storage models, and Auto Scaling deployment mechanisms).

High-yield map

QuestionMain topicAnswer(s)
01An application uses EC2 instances to process messages from an AmC
02Sensitive workloads must not be able to send traffic to the publAwith route-table caveat
03A CloudOps Engineer needs to verify that root-user security bestA
04A production application currently runs its web interface and MyA
05Unauthorized attempts against several S3 buckets must be investiAB
06Company policy requires IAM access keys to be automatically disaD
07A security vulnerability affects a Linux version running on EC2C
08CloudFront serves www.sample.com. Traffic to CloudFront must uAE
09An RDS for MySQL database is slow during peak load. CloudWatch CA
10Deploy a web application on EC2 behind an ALB, with a separate EB
11AWS notifies a CloudOps Engineer that an EBS-backed EC2 instanceD
12During migration, unnecessary objects were written to an S3 buckBE
13An administrator cannot find a custom-Linux-AMI EC2 instance inAC
14AWS Single Sign-On (now IAM Identity Center) has been enabled inA
15An ALB-backed website receives repeated 404 requests from one soB
16An EC2 instance transitions from pending to terminated immedD
17A fleet is steady most of the day but has a predictable two-hourB
18EC2 instances must lose public IP addresses but still reach S3 aBC
19A security policy says all EBS volumes must use a specific KMS cB
20A hybrid application needs encryption at rest and encrypted trafBCapplication/data encryption pairing
21Lambda functions access an RDS database, but credentials are harC
22A web app on one EC2 instance needs a stable public IP for a domBE
23An administrator can SSH into an EC2 instance from the corporateC
24Each AWS WAF-protected request contains a header with the front-D
25An S3 static website returns HTTP 403 Forbidden even though statC
26A new member account is created through AWS Organizations. How aB
27The virtual machine running an AWS Storage Gateway Volume GatewaCgateway service stopped, VM rebooted, gateway restarted
28An ALB has EC2 targets in an Auto Scaling group. Create a CloudWA
29Data must be archived for at least seven years using Amazon S3 GB
30EC2 instances have specific tags and only a group of users shoulBD
31A company needs to see how Reserved Instance discounts are allocD
32CloudWatch Agent sends custom metrics to a custom namespace. HowDAA is the same workflow in compressed form
33A global static S3 website begins receiving HTTP 503 Service UnaD
34Private EC2 instances use a NAT gateway to reach peers on the inA
35A company must prevent all users, including administrators/rootB
36After an incident, TCP port 80 must be blocked in security groupA
37EC2 instances cannot access S3 through an already created S3 VPCB
38An Aurora cluster with a writer and reader experiences query latCfor read-heavy load
39A CloudWatch alarm is repeatedly triggered and remains in ALARMA
40An application uses a KMS customer-managed key with imported keyD
41An S3 bucket is in us-east-1; users in ap-south-1 need fasteC
42Under the EC2 shared responsibility model, which TWO activitiesBE
43A CloudFormation template creates an Auto Scaling group with useB
44Employees have separate standalone AWS accounts that must join tD
45Across multiple Regions, EC2 security groups must never allow puBDrecommended native remediation pattern
46A first CloudFormation stack creation ends in `ROLLBACK_COMPLETED
47An EC2 application writes log files to an S3 bucket. What is theD
48A memory leak is suspected across both EC2 Linux instances and oA
49EC2 instances behind a Network Load Balancer cannot be reached fD
50A Memcached ElastiCache cluster has more traffic and needs a larC
51Many EC2 instances upload logs to a third-party service that nowA
52The security team requires server-side encryption for all new obA
53A CloudFormation template creating a new VPC for each customer aC
54A CloudOps Engineer needs to identify cost savings by downsizingA
55A CloudFormation-deployed app uses EC2 in an Auto Scaling groupCclosest listed choice; in practice choose a suitable rolling/instance-refresh strategy where appropriate
56A malicious IP must be explicitly denied for both inbound and ouC
57CloudFront fronts an ALB, but mobile users sometimes receive desA
58Systems Manager Patch Manager runs scheduled patches, but usersB
59A website serves dynamic content through an ALB/EC2 and static cCD
60SSM Agent and IAM permissions are configured, but Systems ManageBassuming private subnet lacks SSM endpoint connectivity
61Two VPCs in different Regions must replicate data. All traffic mB
62An Auto Scaling group has not reached maximum capacity but failsCDbest direct diagnostic pair
63A Route 53 hosted zone and an ALB are in different AWS accounts.A
64An S3 bucket is currently accessible to users in other AWS accouB
65A computer on premises pings EC2 172.31.10.10 across a Site-toB