SAA-C03 Cheat Sheet
Design Secure Architectures
Secure Access to AWS Resources
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Workload identity: roles, never static keys
EC2 → instance profile, Lambda → execution role, ECS → task role, EKS → IRSA, GitHub Actions → OIDC
AssumeRoleWithWebIdentity. Static access keys are last resort only (legacy SaaS without OIDC). Roles deliver short-lived auto-rotating credentials; keys are permanent secrets that leak once and stay compromised.4 questions test this
- A solutions architect needs to grant an application running on Amazon EC2 instances in Account A access to an Amazon S3 bucket in Account…
- A solutions architect is designing an application that runs on Amazon EC2 instances and needs to access objects in an Amazon S3 bucket…
- A company has two AWS accounts: Account A for development and Account B for production. A solutions architect needs to allow an application…
- A company has an S3 bucket in Account A that stores sensitive financial data. The company needs to allow an application running in Account…
- Workforce identity: federate via IAM Identity Center
For 5+ humans, centralize in your IdP (AD, Okta, Entra, Google) and bind via Identity Center permission sets to
(group × account × permission set). Local IAM users are a 2-3-person startup pattern at most; Cognito User Pools are for end-customers, not workforce. AWS rebranded AWS SSO to IAM Identity Center[7] in 2022. On the exam, treat 'AWS SSO' and 'IAM Identity Center' as synonymous — same service. Identity Center replaces federated IAM for workforce access in any new design.- Permission boundaries cap, they don't grant
A permission boundary is the ceiling on what an IAM principal can do — never a grant. Effective permissions =
identity Allow ∩ boundary Allow ∩ no Deny ∩ no SCP Deny. Use boundaries to delegate role creation to developers withoutiam:*escalation.6 questions test this
- A solutions architect is reviewing the IAM configuration for an AWS account. The account has an IAM user with an identity-based policy that…
- A company wants to allow its application developers to create and manage IAM roles for their workloads. However, the security team must…
- A company wants to allow developers to create IAM roles for their applications while ensuring that the developers cannot grant permissions…
- A company wants to allow developers in its AWS account to create and manage IAM roles for their applications. However, the security team…
- A company is implementing a delegated administration model where different teams can create IAM roles for their applications. The security…
- A company wants to allow its development team to create IAM roles for their applications while preventing privilege escalation. The…
- Cross-account = trust policy + AssumeRole
Never share access keys across accounts. Account B creates a role whose trust policy permits principals in account A; A calls
sts:AssumeRole. For third-party SaaS addsts:ExternalIdto defeat confused-deputy; for human-assumed roles addaws:MultiFactorAuthPresent.10 questions test this
- A company has a production AWS account and a security audit account. The security team in the audit account needs to assume a role in the…
- A company in AWS account A needs to allow an application running in AWS account B to write objects to an Amazon S3 bucket in account A. The…
- A security engineer needs to enable an application running in AWS account A to access an Amazon S3 bucket in AWS account B. The application…
- A company has two AWS accounts: Account A (111111111111) for production workloads and Account B (222222222222) for its security team. The…
- A company has two AWS accounts: Account A for development and Account B for production. A solutions architect needs to allow an application…
- A company wants to allow developers in a development AWS account to assume roles in a production AWS account to access Amazon S3 buckets.…
- A company manages multiple AWS accounts using AWS Organizations. Administrators in a central security account need to assume roles in…
- A third-party SaaS provider needs to access resources in a company's AWS account to perform automated cost analysis. The company's security…
- A company has an S3 bucket in Account A that stores sensitive financial data. The company needs to allow an application running in Account…
- A company has hired a third-party vendor to manage some of its AWS resources. The vendor requires access to specific Amazon EC2 instances…
- Cross-account confused-deputy needs
sts:ExternalId When a third-party SaaS assumes a role in your account, ONLY pinning the vendor's principal ARN in the trust policy is unsafe — a different customer of the same vendor can be tricked into using your role ARN. Pin
sts:ExternalId[12] in the trust policy'sCondition. The vendor supplies a unique ID per customer; your account validates it on every AssumeRole.5 questions test this
- A company is setting up cross-account access for a third-party application. The application runs in an external AWS account (444444444444)…
- A company grants a third-party vendor access to its AWS account by creating an IAM role that the vendor can assume. The vendor provides the…
- A company is onboarding a third-party SaaS vendor to monitor its AWS infrastructure. The vendor requires cross-account access to assume an…
- A third-party SaaS provider needs to access resources in a company's AWS account to perform automated cost analysis. The company's security…
- A company has hired a third-party vendor to manage some of its AWS resources. The vendor requires access to specific Amazon EC2 instances…
- SCPs are guardrails, not grants
Service Control Policies[10] attached at the AWS Organizations root or OU level can only RESTRICT what member accounts can do. They never grant permission. Common trap: 'How do I let account B access a bucket in account A?' — SCP is wrong; the answer is a bucket policy in A + a role in A assumed by a principal in B.
- Service-linked roles are AWS-managed, hands-off
When you enable Auto Scaling, Organizations, ECS, Lambda@Edge, etc., AWS auto-creates a service-linked role[11] in your account. You can't author or scope it. Exam tip: if the question asks 'how do I grant Service X permission to act on my behalf', the answer is usually 'service-linked role already exists' — not a new role you create.
- Enforce IMDSv2 on every EC2 instance
Instance Metadata Service v1 is SSRF-vulnerable — a flaw in a webapp can trick the server into requesting credentials from
169.254.169.254and leaking them. IMDSv2[2] requires a session token (PUT) before any GET, breaking SSRF chains. Enforce via launch templateHttpTokens=required, or org-wide via SCP denying instance launches without it.- Policy evaluation: explicit Deny always wins
Across all four layers (SCP, permission boundary, identity policy, resource policy), an explicit
Denyanywhere short-circuits the entire evaluation[13]. NoAllowcan override it. Common debug pattern: 'Admin user can't access bucket' → check resource policy for an explicitDenyon their principal.- STS session duration: 1h default, 12h max via MaxSessionDuration
Roles default to a 1-hour session; raise via the role's
MaxSessionDuration[14] (1-12 hours). IAM Identity Center permission sets have their own session duration (1-12h). Federation sessions are capped by BOTH the IdP token life AND the role's MaxSessionDuration — the shorter wins.- AWS Organizations:
OrganizationAccountAccessRoleis the auto-trust role When a new account joins (or is created in) AWS Organizations[15], an
OrganizationAccountAccessRoleis auto-provisioned with full admin in the new account, trusted by the management account. Pattern: central security account assumes this from management account → no per-account setup.- Access Analyzer surfaces unintended cross-account / public exposure
IAM Access Analyzer[16] scans resource policies (S3 buckets, IAM roles, KMS keys, Lambda functions, SQS queues, Secrets Manager) and flags grants to principals outside your account / org. Free to enable per region; finds the "this bucket policy accidentally allows the internet" problem.
aws:PrincipalOrgIDrestricts access to AWS Organization membersThe
aws:PrincipalOrgIDglobal condition key in bucket policies (or other resource policies) ensures that only principals whose accounts are members of the specified AWS Organization can access the resource. It automatically includes any new accounts added to the organization without requiring policy updates. This is the recommended alternative to listing every account ID in the Principal element, and it scales automatically as the organization grows.5 questions test this
- A company has a centralized data lake in an S3 bucket that needs to be accessed by applications in over 100 AWS accounts within the same…
- A company hosts a data lake in Amazon S3 and needs to restrict bucket access to only members of its AWS organization. The security team…
- A company is consolidating multiple AWS accounts into a single AWS Organization. The security team wants to ensure that all S3 buckets…
- A company is using AWS Organizations with multiple AWS accounts. The company has an S3 bucket in one account that should only be accessible…
- A company has multiple AWS accounts within an AWS Organizations structure. The security team wants to configure an Amazon S3 bucket policy…
- Cross-account S3 access requires both a bucket policy and an IAM policy
When the requesting identity and the S3 bucket are in different AWS accounts, access requires permissions in both accounts: a bucket policy in the resource account granting the specific action to the cross-account principal, and an IAM identity-based policy in the requesting account granting access to the bucket ARN. Neither policy alone is sufficient for cross-account access.
9 questions test this
- A solutions architect needs to grant an application running on Amazon EC2 instances in Account A access to an Amazon S3 bucket in Account…
- A security engineer needs to enable an application running in AWS account A to access an Amazon S3 bucket in AWS account B. The application…
- A solutions architect is designing cross-account access for an application in Account A (account ID 111111111111) that needs to write…
- A company has two AWS accounts: Account A (production) and Account B (analytics). The analytics team in Account B needs read access to…
- A company has two AWS accounts: Account A (111122223333) for production workloads and Account B (444455556666) for analytics. The analytics…
- A company in AWS Account A needs to share files in an S3 bucket with an application running in AWS Account B. A solutions architect must…
- A solutions architect needs to grant users in a different AWS account (Account B) the ability to read objects from an S3 bucket owned by…
- A company has an S3 bucket in Account A that contains application logs. Users in Account B need read access to objects in this bucket. The…
- A company in Account A needs to allow an application running on EC2 instances in Account B to access objects in an S3 bucket. The company…
Secure Workloads and Applications
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Data Security Controls
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Encrypt by default — at rest AND in transit
Compliance (HIPAA, PCI, GDPR) requires both: SSE or KMS at rest, TLS in transit. S3 default encryption is SSE-S3 since Jan 2023; enable bucket policy that requires
aws:SecureTransport=trueto enforce TLS for clients.- KMS four-tier hierarchy: AWS-owned → AWS-managed → customer-managed → CloudHSM
AWS-owned: free, no visibility. AWS-managed: free, audit trail. Customer-managed: ~$1/key/month + per-request, full control + cross-account share + rotation. CloudHSM: dedicated FIPS 140-2 Level 3, highest cost.
4 questions test this
- A healthcare organization must comply with strict regulatory requirements that mandate full control over encryption key generation and…
- A financial services company requires that all encryption keys used for customer data be stored in dedicated hardware security modules that…
- A company needs to share an encrypted Amazon RDS snapshot with a partner organization in a different AWS account. The RDS database is…
- A healthcare company requires that encryption keys used for patient data be stored in single-tenant hardware security modules (HSMs) to…
- Bucket-level controls before object-level
Block Public Access at account + bucket level kills ACL footguns. Default encryption applies to all objects. Object-level ACLs and per-object policies should be the exception, not the pattern — they're hard to audit at scale.
3 questions test this
- A security team discovers that developers have inadvertently made several S3 buckets publicly accessible through bucket policies and ACLs.…
- A company recently migrated to AWS and created several new S3 buckets. The security team wants to ensure that all buckets in the account…
- A company recently experienced a security incident where an S3 bucket was accidentally made public by a developer. The company wants to…
- Macie discovers + classifies S3 PII / PHI
Macie scans S3 buckets for PII, PHI, financial data, and credentials using managed identifiers + custom regex. Findings route via EventBridge for auto-remediation. Cost is ~$1/GB scanned — scope by bucket selectively, not org-wide blind.
10 questions test this
- A company wants to implement automated remediation when Amazon Macie detects high-severity sensitive data findings in S3 buckets. The…
- A financial services company stores customer records containing personally identifiable information (PII) in multiple Amazon S3 buckets…
- A healthcare company stores patient records in Amazon S3 buckets across multiple AWS accounts managed by AWS Organizations. The security…
- A company uses Amazon Macie to discover sensitive data in their S3 buckets. The security team needs to detect employee ID numbers that…
- A healthcare organization needs to detect proprietary patient record identifiers stored in Amazon S3 buckets. These identifiers follow a…
- A company stores customer data in Amazon S3 buckets across multiple AWS accounts. The security team must discover and classify sensitive…
- A healthcare company needs to ensure compliance with HIPAA regulations by identifying protected health information (PHI) stored in Amazon…
- A company enables Amazon Macie to perform automated sensitive data discovery and wants to implement an automated workflow that responds to…
- A healthcare organization is using Amazon Macie to scan S3 buckets for sensitive patient data. The organization has specific internal…
- A healthcare organization needs to configure Amazon Macie to detect custom patient identifier formats that are specific to their internal…
- S3 default encryption is SSE-S3, on by default since Jan 2023
Every new S3 bucket gets SSE-S3 enabled automatically[1]. You can upgrade to SSE-KMS at any time. Pre-2023 buckets may still be unencrypted — audit with AWS Config rule
s3-bucket-server-side-encryption-enabled.- KMS automatic rotation: yearly (CMKs only)
Customer-managed KMS keys support automatic yearly rotation[18] — opt-in via
EnableKeyRotationAPI. AWS-managed keys rotate every year automatically with no opt-in. Imported key material doesn't auto-rotate; you must re-import.- KMS deletion has a 7–30 day pending window
ScheduleKeyDeletion[19] requires a 7–30 day waiting period — there's no instant delete. Within that window, you canCancelKeyDeletion. Use for accidental-deletion protection. CloudHSM, by contrast, allows immediate key destruction.- Macie cost: ~$1/GB scanned + per-object analysis
Initial discovery scan can be expensive on petabyte-scale buckets. Common pattern: full scan once after migration, then scheduled monthly scans on critical buckets only. Use
excludes[15] filters to skip large non-sensitive prefixes.- KMS grants vs key policies — use grants for ephemeral access
Key policies are static — edit them and you change permanent permissions. Grants[20] are temporary, programmatic permissions issued via
kms:CreateGrant— perfect for short-lived workloads that need temporary access to a key. AWS services (e.g. RDS encryption) create grants automatically.4 questions test this
- A company uses Amazon S3 to store sensitive financial data. The security team requires that all data be encrypted using AWS KMS customer…
- A company uses AWS KMS customer managed keys to encrypt data for a critical application. The application runs on Amazon EC2 instances and…
- A company is deploying an application that uses Amazon RDS with encryption enabled using an AWS KMS customer managed key. The application…
- A company is implementing a new data processing application on AWS. Multiple AWS services including Amazon RDS, Amazon S3, and AWS Lambda…
- KMS ViaService condition restricts a key to one service
Add
Condition: { StringEquals: { kms:ViaService: "s3.us-east-1.amazonaws.com" } }[21] to a key policy → that key can only be used via S3 in us-east-1. Defense against credentials being misused to decrypt the key elsewhere.6 questions test this
- A company uses AWS KMS customer managed keys to encrypt Amazon EBS volumes. The security team wants to ensure that only the Amazon EC2…
- A company uses AWS KMS customer managed keys to encrypt data across multiple AWS services including Amazon S3, Amazon EBS, and Amazon RDS.…
- A company uses a customer managed AWS KMS key to encrypt Amazon EBS volumes. The company wants to implement the principle of least…
- A company is deploying an application that uses Amazon RDS with encryption enabled using an AWS KMS customer managed key. The application…
- A financial services company stores sensitive customer data in Amazon S3 and uses AWS KMS customer managed keys for encryption. The…
- A financial services company is implementing encryption at rest for sensitive data stored in Amazon S3. The security team requires that a…
- S3 Object Lock: write-once compliance retention
Two modes: Governance (admin can override) vs Compliance (no one, not even root, can shorten retention or delete during the window). Required for SEC 17a-4(f) / FINRA / CFTC compliance[22]. Set per-object or via default retention policy on the bucket. Versioning must be on.
- ACM certificate for CloudFront must be in us-east-1
AWS Certificate Manager certificates used with Amazon CloudFront must be requested or imported in the US East (N. Virginia) Region (us-east-1), regardless of where the origin or end users are located. CloudFront is a global service, and certificates in us-east-1 are automatically distributed to all edge locations configured for the distribution. A certificate in any other region will not appear in the CloudFront console.
11 questions test this
- A company is deploying a new web application that will use Amazon CloudFront with a custom domain name. The company requires HTTPS…
- A company is deploying a new web application that uses Amazon CloudFront as the content delivery network. The application requires HTTPS…
- A company wants to use a custom domain name with HTTPS for their Amazon CloudFront distribution. A solutions architect needs to use AWS…
- A company is deploying a new Amazon CloudFront distribution to serve content using a custom domain name (www.example.com) over HTTPS. The…
- A solutions architect is configuring an Amazon CloudFront distribution to serve content for a web application using a custom domain name.…
- A company is migrating its e-commerce application to AWS. The application will use Amazon CloudFront with a custom domain name…
- A company is deploying a web application that uses Amazon CloudFront with a custom domain name. The company has requested an SSL/TLS…
- A company wants to use a custom domain name with HTTPS for an Amazon CloudFront distribution. The company's infrastructure is deployed in…
- A company is deploying a new application using Amazon CloudFront with a custom domain name (app.example.com). The solutions architect needs…
- A company hosts a website using Amazon CloudFront with an Application Load Balancer as the origin. The company wants to use a custom domain…
- A company is configuring a new Amazon CloudFront distribution to serve content for their custom domain www.example.com. The solutions…
- S3 Object Ownership — Bucket owner enforced disables ACLs
Setting S3 Object Ownership to Bucket owner enforced disables all ACLs on the bucket and makes the bucket owner the automatic owner of every object, including objects uploaded by other AWS accounts. Access is then controlled exclusively through bucket policies and IAM policies. This is the AWS-recommended default for new buckets and resolves cross-account upload scenarios where the uploader would otherwise retain object ownership.
11 questions test this
- A company has an S3 bucket that receives objects uploaded by an external partner from a different AWS account. The company wants to ensure…
- A company allows a partner organization in a different AWS account to upload files to an S3 bucket. The company has noticed that after…
- A company has an S3 bucket that receives data uploads from multiple AWS accounts within its organization. The company wants to simplify…
- A company has an S3 bucket that receives uploads from multiple AWS accounts within the same organization. The company requires that the…
- A company recently migrated to AWS and is using Amazon S3 to store application data. The company's legacy application uploads objects to S3…
- A company has an existing S3 bucket that was created before April 2023 and uses ACLs to grant read access to several external AWS accounts.…
- A company has an S3 bucket that receives objects uploaded by multiple AWS accounts belonging to partner organizations. The company wants to…
- A company recently migrated to AWS and has multiple teams uploading objects to a shared S3 bucket from different AWS accounts within the…
- A company in Account A wants to share an Amazon S3 bucket with users in Account B. The company uses the default S3 Object Ownership setting…
- A company has an S3 bucket where multiple AWS accounts within the same AWS Organization upload data files. The bucket owner wants to ensure…
- A company has enabled S3 Object Ownership with the Bucket owner enforced setting on a bucket used for storing application logs. Partner…
- S3 Block Public Access at org level overrides account and bucket settings
S3 Block Public Access can be enforced at the AWS Organizations level by attaching the policy at the root or OU. This setting propagates to all member accounts, including newly joined accounts, and overrides account-level and bucket-level Block Public Access settings. Individual account administrators cannot remove it. To allow a specific account to host a public bucket, the org administrator must exclude that account from the policy.
6 questions test this
- A solutions architect is configuring security controls for S3 buckets across multiple AWS accounts within an AWS Organization. The…
- A company has enabled S3 Block Public Access at the organization level through AWS Organizations. A developer in one of the member accounts…
- A company has multiple AWS accounts within an AWS Organization. The security team wants to ensure that no S3 bucket in any member account…
- A company wants to ensure that no S3 buckets across all AWS accounts in its organization can be made publicly accessible. The security team…
- A company uses Amazon S3 to store sensitive data. The company's security policy requires that all S3 buckets must never allow public access…
- A company wants to ensure that all S3 buckets across their organization cannot be made publicly accessible, even if individual bucket…
- S3 Bucket Keys reduce SSE-KMS request costs by up to 99%
When S3 Bucket Keys are enabled on a bucket configured with SSE-KMS, AWS KMS generates a bucket-level key that S3 uses to create data keys for individual objects, dramatically reducing the number of direct calls to AWS KMS. This can cut KMS request costs by up to 99% on high-traffic buckets while keeping all objects encrypted with the customer managed key.
6 questions test this
- A company stores sensitive data in an S3 bucket encrypted with SSE-KMS using a customer managed key. The bucket receives millions of PUT…
- A solutions architect needs to reduce AWS KMS costs for an Amazon S3 bucket that stores millions of objects encrypted with SSE-KMS. The…
- A company stores large datasets in an Amazon S3 bucket encrypted using SSE-KMS with a customer managed key. The company has noticed high…
- A company is experiencing high AWS KMS costs due to a large volume of S3 GET and PUT requests on buckets encrypted with SSE-KMS using…
- A company uses Amazon S3 with SSE-KMS encryption for its data lake. The data lake contains billions of objects that are frequently accessed…
- A company is migrating workloads to AWS and plans to store data in Amazon S3 using server-side encryption with AWS KMS customer managed…
- Cross-account KMS access requires both a key policy and an IAM policy
Granting cross-account access to a customer managed KMS key requires two configurations: the key policy in the key-owning account must grant permissions to the external account (or specific principal), and an IAM policy in the external account must explicitly allow the principals to use that specific key ARN. The key policy determines who can have access; the IAM policy determines who does have access. Neither alone is sufficient.
8 questions test this
- A company manages secrets in a centralized AWS account and needs to share database credentials with applications running in multiple…
- A company has two AWS accounts: Account A (111122223333) for production workloads and Account B (444455556666) for analytics. The analytics…
- A company has multiple AWS accounts managed by AWS Organizations. The security team manages database credentials centrally in a dedicated…
- A company uses AWS KMS customer managed keys to encrypt data stored in Amazon S3 buckets. A development team in a different AWS account…
- A company needs to allow an application running in Account B to decrypt data that was encrypted using a customer managed key stored in…
- A company is configuring cross-account access to an AWS KMS customer managed key. The key exists in Account A and must be used by an…
- A solutions architect is configuring cross-account access to an AWS KMS customer managed key. Account A (111111111111) owns the KMS key and…
- A company has multiple AWS accounts managed through AWS Organizations. A central security account contains customer managed AWS KMS keys…
- S3 Batch Operations re-encrypts existing objects in place
Changing a bucket's default encryption configuration only affects newly uploaded objects; existing objects retain their original encryption. To re-encrypt billions of existing objects with a new SSE-KMS customer managed key, use S3 Batch Operations with the Copy operation, which copies objects back to the same bucket while applying the new encryption settings.
4 questions test this
- A company is migrating an existing S3 bucket from SSE-S3 to SSE-KMS encryption with a customer managed key to meet new compliance…
- A company recently configured an S3 bucket to use SSE-KMS with a customer managed key as the default encryption. The bucket already…
- A company has an existing S3 bucket containing millions of objects encrypted with SSE-S3. Due to new compliance requirements, the company…
- A company changed its S3 bucket default encryption from SSE-S3 to SSE-KMS with a customer managed key for compliance requirements. The…
- KMS keys are Region-specific — cross-Region replicas need a key in the target Region
AWS KMS keys are Regional resources and cannot be used across AWS Regions. When creating an encrypted cross-Region RDS read replica, you must specify a customer managed key (or AWS managed key) that exists in the destination Region. Similarly, an S3 bucket can only use a KMS key from the same Region for SSE-KMS encryption.
5 questions test this
- A company has configured an Amazon S3 bucket in the us-east-1 Region with SSE-KMS using a customer managed key. A solutions architect…
- A company operates an Amazon RDS for MySQL database in the us-east-1 Region encrypted with a customer managed AWS KMS key. The company…
- A solutions architect is implementing encryption at rest for Amazon RDS databases in a multi-Region disaster recovery architecture. The…
- A company is setting up an Amazon RDS for MySQL database with a read replica in a different AWS Region for disaster recovery. The primary…
- A company operates an encrypted Amazon RDS for MySQL database in the us-east-1 Region. The database is encrypted using a customer managed…
- Macie delegated admin manages org-wide discovery without using the management account
In an AWS Organizations environment, the management account designates a dedicated security account as the Macie delegated administrator. The delegated administrator can enable Macie in member accounts, run sensitive data discovery jobs across the organization, and aggregate findings centrally. AWS best practice is to use a separate security account rather than the management account for day-to-day Macie operations. Automated sensitive data discovery uses sampling to assign sensitivity scores to every S3 bucket, providing broad visibility cost-efficiently.
6 questions test this
- A media company has enabled Amazon Macie to monitor sensitive data across their Amazon S3 environment. They want to continuously evaluate…
- A solutions architect is setting up Amazon Macie for a large enterprise with over 200 AWS accounts managed through AWS Organizations. The…
- A company is deploying Amazon Macie across an AWS Organizations structure with 50 member accounts. The security operations team in the…
- A large enterprise manages 200 AWS accounts using AWS Organizations. The security team wants to centrally discover and monitor sensitive…
- A company stores customer data in Amazon S3 buckets across multiple AWS accounts. The security team must discover and classify sensitive…
- A company stores customer data across hundreds of Amazon S3 buckets in multiple AWS accounts managed by AWS Organizations. The security…
- CloudFront SNI-only SSL is cost-free and supports all modern browsers
Server Name Indication (SNI) allows CloudFront to serve HTTPS requests with custom SSL certificates without requiring a dedicated IP address per certificate, incurring no additional monthly charge. All modern browsers released after 2010 support SNI. The alternative, Dedicated IP SSL, incurs an additional monthly fee per distribution and is only needed for legacy clients that do not support SNI.
6 questions test this
- A solutions architect is configuring an Amazon CloudFront distribution with a custom SSL/TLS certificate from AWS Certificate Manager…
- A company is configuring Amazon CloudFront to use a custom domain name with HTTPS. The solutions architect needs to choose between SNI…
- A company is configuring a CloudFront distribution with a custom domain name and needs to enable HTTPS using an ACM certificate. The…
- A media company operates a CloudFront distribution serving video content over HTTPS. The company wants to enforce TLS 1.2 as the minimum…
- A company is configuring Amazon CloudFront with a custom SSL/TLS certificate for alternate domain names. The company wants to minimize…
- A company has an Amazon CloudFront distribution with a custom domain name and an ACM certificate. The company wants to enforce HTTPS…
- Set Origin Protocol Policy to HTTPS Only and minimum TLS 1.2 for encrypted CloudFront-to-origin traffic
To enforce HTTPS between CloudFront and a custom origin, set the Origin Protocol Policy to HTTPS Only and configure the minimum origin SSL protocol to TLSv1.2. CloudFront returns HTTP 502 (Bad Gateway) if the origin presents a self-signed certificate or an untrusted certificate chain when HTTPS Only is active — the origin certificate must be signed by a trusted CA.
3 questions test this
- A company wants to ensure encrypted communication between Amazon CloudFront and its custom origin server running on Amazon EC2 instances…
- A company is deploying an Amazon CloudFront distribution with a custom origin server running on Amazon EC2. The company needs to enforce…
- A company uses Amazon CloudFront to deliver content from an Application Load Balancer origin. The security team requires that all…
- SSE-KMS upload requires
kms:GenerateDataKey; download requireskms:Decrypt When uploading objects to an S3 bucket configured with SSE-KMS, Amazon S3 calls AWS KMS to generate a data key, requiring
kms:GenerateDataKeyon the key. When downloading, S3 must decrypt the data key, requiringkms:Decrypt. Both permissions are needed for an application that both uploads and downloads. An IAM policy missing either permission will cause the corresponding S3 operation to fail with an AccessDenied error.6 questions test this
- A company's application uploads large files to an Amazon S3 bucket using multipart upload. The bucket is configured with default encryption…
- A company stores sensitive financial data in Amazon S3 buckets. A security architect needs to configure server-side encryption using AWS…
- A company needs to implement server-side encryption for sensitive data stored in Amazon S3 using AWS KMS customer managed keys. Application…
- A solutions architect is configuring an IAM role that will be used by an application to read and write objects to an S3 bucket encrypted…
- A company stores sensitive customer data in an Amazon S3 bucket and uses server-side encryption with AWS KMS customer managed keys…
- A company stores sensitive financial data in Amazon S3 and requires strict control over encryption keys. The security team wants to use…
- Cross-account Secrets Manager access requires a resource policy on the secret AND KMS key policy
Accessing a Secrets Manager secret from a different AWS account requires both a resource-based policy on the secret (granting
secretsmanager:GetSecretValue) and a key policy on the encrypting KMS key (grantingkms:Decrypt). The AWS managed keyaws/secretsmanagercannot be used for cross-account access because its key policy cannot be modified; a customer managed key is required.8 questions test this
- A company manages secrets in a centralized AWS account and needs to share database credentials with applications running in multiple…
- A solutions architect is designing a multi-account architecture where applications in multiple production AWS accounts need to access…
- A company has multiple AWS accounts managed by AWS Organizations. The security team manages database credentials centrally in a dedicated…
- A company uses AWS Organizations to manage multiple AWS accounts. The central security account stores database credentials in AWS Secrets…
- A company stores database credentials for production workloads in AWS Secrets Manager in a central security account. Application teams in…
- A company is implementing a centralized secrets management strategy. The security team stores database credentials in AWS Secrets Manager…
- A company stores sensitive application secrets in AWS Secrets Manager in a central security account. Applications running in separate…
- A financial services company has a central security account that stores database credentials for Amazon RDS instances running in multiple…
- Use
kms:EncryptionContext:SecretARNto scope Lambda rotation function's KMS decrypt to one secret When a Secrets Manager secret is encrypted with a customer managed KMS key, the Lambda rotation function's execution role needs
kms:Decrypton that key. Adding a condition using thekms:EncryptionContext:SecretARNkey restricts the function to decrypt only the specific secret it is authorized to rotate, following least-privilege. Without this condition, a single KMS permission would allow decryption of any secret encrypted with the same key.5 questions test this
- A solutions architect is configuring automatic rotation for an Amazon Aurora MySQL database secret in AWS Secrets Manager. The secret is…
- A company stores Amazon RDS for Oracle database credentials in AWS Secrets Manager. The security team requires that the Lambda rotation…
- A company is configuring AWS Secrets Manager to rotate credentials for an Amazon DocumentDB cluster. The secret is encrypted with a…
- A company stores API keys and database credentials in AWS Secrets Manager. The security team requires that all secrets encrypted with…
- A company has configured automatic rotation for an Amazon RDS MySQL database secret in AWS Secrets Manager. The secret is encrypted with a…
- VPC endpoints can use endpoint policies to scope allowed actions
An Interface or Gateway endpoint can carry its own endpoint policy[23] restricting which API actions and resources are allowed through it. Common pattern: S3 Gateway endpoint allows
s3:GetObjecton your specific buckets only — anything else through the endpoint is denied.
Design Resilient Architectures
Scalable and Loosely Coupled Architectures
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Highly Available and Fault-Tolerant Architectures
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Multi-AZ for in-region HA; Multi-Region for DR
Spread stateless tiers across ≥2 AZs behind a load balancer. RDS Multi-AZ: synchronous standby, 60-120 s failover. Multi-Region only when single-region failure is in your threat model — adds latency, cost, replication complexity.
3 questions test this
- A company operates a stateless web application on an Auto Scaling group with instances in a single Availability Zone. The company wants to…
- A company is designing a highly available architecture for a web application using an Application Load Balancer (ALB). The ALB must be…
- A company is designing a highly available web application that will run on Amazon EC2 instances behind an Application Load Balancer. The…
- Pick DR strategy by RTO and RPO
Four canonical strategies in increasing cost / decreasing RTO/RPO: backup-and-restore (hours), pilot-light (minutes-hours), warm-standby (minutes), multi-site active-active (near-zero). The exam picks the cheapest one that meets the stated RTO/RPO.
- ASG + ELB + health checks is the default stateless tier
Auto Scaling Group across ≥2 AZs + ALB/NLB with health checks at the target group. Unhealthy instances drain + replace automatically. ASG min/max/desired control capacity; target-tracking or step scaling policies handle demand changes.
10 questions test this
- A company runs an application on EC2 instances in an Auto Scaling group that is attached to an Application Load Balancer target group. The…
- A company runs an application on EC2 instances in an Auto Scaling group behind an Application Load Balancer. The Auto Scaling group uses…
- A company runs a web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB). The Auto…
- A company has an Auto Scaling group with EC2 instances distributed across two Availability Zones behind an Application Load Balancer. The…
- A company runs a mission-critical web application on Amazon EC2 instances managed by an Auto Scaling group. An Application Load Balancer…
- A company operates a critical application using Amazon EC2 instances in an Auto Scaling group. The Auto Scaling group spans three…
- A company runs a web application on an Auto Scaling group of EC2 instances behind an Application Load Balancer (ALB). The group spans three…
- A company operates an e-commerce platform on Amazon EC2 instances in an Auto Scaling group that spans three Availability Zones. The…
- A financial services company runs a critical web application on Amazon EC2 instances in an Auto Scaling group across three Availability…
- A solutions architect is designing a fault-tolerant architecture for a stateless application running on EC2 instances in an Auto Scaling…
- Route 53 has 7 routing policies, each for a specific intent
Simple (one answer), Weighted (split traffic), Latency (route to closest region), Failover (active/passive via health check), Geolocation (by user country), Geoproximity (by lat/lon + bias), Multi-value (DNS-level load balancing).
3 questions test this
- A company operates a globally distributed application with resources in us-east-1 us-west-2 and eu-west-1. The company wants to implement…
- A company operates a global application with resources in four AWS Regions. The company uses Route 53 with latency-based routing to direct…
- A company operates a multi-region application with resources in us-east-1 and eu-west-1. During a recent outage, both the primary and…
- RDS Multi-AZ failover: 60-120 seconds typical
Automatic failover[1] updates the DNS endpoint to the standby; clients with cached DNS will see ~60-120 s of errors. App needs to reconnect on connection failure. Standby is NOT readable — for read scaling, use Read Replicas[13] (separate feature).
- Aurora Global Database: typically sub-second cross-region RPO
Replicates Aurora across regions[2] via dedicated network. RPO typically <1 s; failover RTO ~1 min (managed promotion). Secondary regions support read-only and can be promoted to writer. Big advantage over manual cross-region replicas.
- Route 53 health checks: 30 s default interval, 3 failures = unhealthy
Default check interval 30 s[14], healthy threshold 3, unhealthy threshold 3. Fast failover requires faster checks (10 s interval supported, paid). Use 'calculated' health checks to combine multiple endpoint checks for AND/OR logic.
5 questions test this
- A healthcare company operates a patient portal that consists of a web application, an API layer, and a database. The company uses Amazon…
- A financial services company runs trading applications across two AWS Regions with Application Load Balancers in each Region. The company's…
- A company operates a microservices application with five backend services distributed across multiple EC2 instances. The company wants to…
- A company uses Amazon Route 53 to manage DNS for a multi-tier application deployed across three Availability Zones. Each tier has multiple…
- A company has a multi-tier web application with web servers distributed across three Availability Zones. The company uses Route 53 to route…
- ELB health check type EC2 vs ELB
ASG
HealthCheckType=EC2[15] only replaces instances that the EC2 instance itself reports as unhealthy (hardware fail).HealthCheckType=ELBreplaces instances that the load balancer's health check fails — catches app-layer failures too. Use ELB for production.9 questions test this
- A company runs an application on EC2 instances in an Auto Scaling group that is attached to an Application Load Balancer target group. The…
- A company runs a web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer (ALB). The Auto…
- A company has an Auto Scaling group with EC2 instances distributed across two Availability Zones behind an Application Load Balancer. The…
- A company runs a mission-critical web application on Amazon EC2 instances managed by an Auto Scaling group. An Application Load Balancer…
- A company operates a critical application using Amazon EC2 instances in an Auto Scaling group. The Auto Scaling group spans three…
- A company runs a web application on an Auto Scaling group of EC2 instances behind an Application Load Balancer (ALB). The group spans three…
- A company operates an e-commerce platform on Amazon EC2 instances in an Auto Scaling group that spans three Availability Zones. The…
- A financial services company runs a critical web application on Amazon EC2 instances in an Auto Scaling group across three Availability…
- A solutions architect is designing a fault-tolerant architecture for a stateless application running on EC2 instances in an Auto Scaling…
- S3 Cross-Region Replication: async, prefix/tag-filtered
CRR replicates new objects[4] from source to destination bucket asynchronously (typically seconds). Existing objects need a one-time batch operation. Can filter by prefix or tag. Versioning must be on for both buckets.
8 questions test this
- A company stores critical application data in an Amazon S3 bucket in the us-east-1 Region. The company needs to implement a disaster…
- A company has configured S3 Cross-Region Replication from a source bucket in eu-west-1 to a destination bucket in us-west-2. After…
- A financial services company wants to implement a disaster recovery solution for critical data stored in Amazon S3. The company needs to…
- A company has been using Amazon S3 for several years and recently enabled S3 Cross-Region Replication on an existing bucket containing 5 TB…
- A company stores critical financial data in an Amazon S3 bucket in the us-east-1 Region. The company must replicate this data to a bucket…
- A company has been using Amazon S3 Cross-Region Replication to replicate data from us-west-2 to eu-central-1 for several months. The…
- A healthcare company stores patient records in an Amazon S3 bucket in us-east-1. The company's compliance team requires that a copy of all…
- A multinational company uses Amazon S3 Multi-Region Access Points to serve content from buckets in us-east-1 and eu-west-1. The company…
- AWS Backup centralizes backups across services + accounts
Backup plans + selections[8] cover RDS, DynamoDB, EFS, EBS, FSx, Storage Gateway, etc. Cross-region, cross-account copy supported. Audit Manager + Backup Vault Lock for compliance scenarios.
- Route 53 failover record requires a health check on PRIMARY
Active/passive failover routing[16] needs the primary record to have an associated health check. If the check fails, the secondary record is served. Without the health check, Route 53 always serves the primary.
8 questions test this
- A company hosts a web application on Amazon EC2 instances behind an Application Load Balancer (ALB) in us-east-1. For disaster recovery,…
- A company runs a web application on Amazon EC2 instances behind an Application Load Balancer in the us-east-1 Region. The company wants to…
- A company hosts a web application on Amazon EC2 instances behind an Application Load Balancer in us-east-1 as the primary environment. The…
- A company runs a web application with the primary deployment in us-east-1 and a standby deployment in us-west-2 for disaster recovery. The…
- A company runs a mission-critical web application on Amazon EC2 instances behind an Application Load Balancer in the us-east-1 Region. To…
- A company runs a web application in the us-east-1 Region and has deployed a disaster recovery environment in us-west-2. The company wants…
- A company runs a web application with an Application Load Balancer in the us-east-1 Region as the primary site and another Application Load…
- A media streaming company has deployed its application in the us-west-2 Region with an Application Load Balancer. The company is…
- ASG health check grace period protects initializing instances
The health check grace period tells Auto Scaling how long to wait before evaluating the health of a newly launched instance after it enters InService state. Set it to at least as long as the application startup time; otherwise ELB health check failures during initialization cause continuous termination and replacement loops.
15 questions test this
- A company is deploying a new application on EC2 instances in an Auto Scaling group behind an Application Load Balancer. The application…
- A company is deploying a new web application using Amazon EC2 instances in an Auto Scaling group with an Application Load Balancer. The…
- A company is deploying an application with an Auto Scaling group behind an Application Load Balancer. The application requires a warm-up…
- A company runs an application on EC2 instances in an Auto Scaling group that is attached to an Application Load Balancer target group. The…
- A company deploys a web application on Amazon EC2 instances in an Auto Scaling group with an Application Load Balancer. The instances…
- A company deployed a new application version to EC2 instances in an Auto Scaling group. After deployment, instances are immediately being…
- A company deploys a web application on EC2 instances in an Auto Scaling group across multiple Availability Zones. After deployment, new…
- A company hosts an e-commerce application on Amazon EC2 instances in an Auto Scaling group attached to an Application Load Balancer.…
- A company runs a three-tier web application with an Auto Scaling group of EC2 instances behind an Application Load Balancer. The Auto…
- A company runs a mission-critical web application on Amazon EC2 instances managed by an Auto Scaling group. An Application Load Balancer…
- A company runs a web application behind an Application Load Balancer with Amazon EC2 instances in an Auto Scaling group spread across two…
- A company runs a web application on an Auto Scaling group of EC2 instances behind an Application Load Balancer (ALB). The group spans three…
- A solutions architect is configuring an Auto Scaling group for a web application that runs behind an Application Load Balancer. The…
- A company deploys a web application on Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones. An Application…
- A company runs a web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The application…
- ALB deregistration delay (connection draining) for long requests
When a target is removed from an ALB target group, the load balancer stops sending new requests but waits for the deregistration delay (default 300 s, range 0-3600 s) before completing deregistration. Set this value to at least the maximum expected request processing time to prevent HTTP 5xx errors during scale-in events.
8 questions test this
- An e-commerce company operates a web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The…
- A company runs a web application on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. During scale-in…
- A company operates a web application with variable traffic patterns. The application runs on EC2 instances in an Auto Scaling group across…
- A company runs a web application with an Auto Scaling group behind an Application Load Balancer. The application processes long-running…
- A company has an e-commerce application running on Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer.…
- A company runs an e-commerce application on Amazon EC2 instances in an Auto Scaling group attached to an Application Load Balancer. During…
- A company runs an e-commerce application on EC2 instances in an Auto Scaling group behind an Application Load Balancer. During scale-in…
- A solutions architect is designing an application that runs on Amazon EC2 instances in an Auto Scaling group behind an Application Load…
- ALB slow start mode ramps traffic to new targets
Slow start mode causes the ALB to linearly increase the share of requests sent to a newly registered target over a configurable duration of 30–900 seconds. Use it when instances need a warm-up period (e.g., JIT cache warming, dataset loading) before they can handle their full share of traffic.
7 questions test this
- A company deploys a new version of its web application that requires a warm-up period of 60 seconds to populate local caches before it can…
- A company is deploying an application with an Auto Scaling group behind an Application Load Balancer. The application requires a warm-up…
- A solutions architect is optimizing an Auto Scaling configuration for an e-commerce application. The application runs on EC2 instances…
- A company has a web application that requires time to warm up its caches before handling production traffic at full capacity. The…
- A company deploys a web application that requires caching of application data before it can respond to requests with optimal performance.…
- A company runs an e-commerce application on Amazon EC2 instances behind an Application Load Balancer. The instances are in an Auto Scaling…
- A company operates a Java-based application on Amazon EC2 instances behind an Application Load Balancer. The application performs JIT…
- ALB cross-zone load balancing always on at LB level, configurable per target group
For Application Load Balancers, cross-zone load balancing is always enabled at the load balancer level and cannot be turned off. However, it can be explicitly disabled at the target group level, overriding the load balancer default. When enabled, each LB node distributes traffic evenly across all registered targets in all enabled Availability Zones.
4 questions test this
- A company runs a web application on Amazon EC2 instances in an Auto Scaling group across three Availability Zones. The instances are…
- A company runs a web application on Amazon EC2 instances behind an Application Load Balancer (ALB). The instances are distributed across…
- A company hosts a critical application on Amazon EC2 instances in an Auto Scaling group that is attached to an Application Load Balancer…
- A company runs a mission-critical web application behind an Application Load Balancer (ALB) deployed across three Availability Zones in a…
- NLB provides static IP per AZ; assign Elastic IPs for fixed addresses
Network Load Balancers automatically provide one static IP address per enabled Availability Zone. For internet-facing NLBs you can also assign your own Elastic IP per AZ, giving external clients fixed addresses to allowlist in firewalls. NLB operates at Layer 4, supports ultra-low latency, and preserves the client source IP address by default.
7 questions test this
- A financial services company requires a load balancing solution for a TCP-based application that must have static IP addresses for firewall…
- A company is deploying a new application that requires static IP addresses for client whitelisting purposes. The application must be highly…
- A financial services company requires a load balancing solution for their trading application that needs static IP addresses for client…
- A financial services company requires a highly available architecture for a trading application that needs extremely low latency and must…
- A financial services company is deploying a TCP-based trading application that requires static IP addresses for firewall allowlisting by…
- A financial services company requires static IP addresses for its trading application to allow clients to whitelist specific IP addresses…
- A company is migrating a legacy TCP-based application to AWS. The application requires that the client source IP address be preserved for…
- Route 53 latency routing + Evaluate Target Health = active-active multi-region failover
Latency-based routing records with Evaluate Target Health set to Yes implement active-active failover: all healthy regions serve traffic based on lowest latency, and Route 53 automatically stops routing to a region when its resources become unhealthy. For hierarchical configurations (latency over weighted), ETH on the top-level alias causes Route 53 to traverse the tree and consider the region unhealthy only when all underlying weighted records fail.
12 questions test this
- A company has deployed identical applications on Amazon EC2 instances behind Application Load Balancers in both the us-west-2 and eu-west-1…
- A company operates a global e-commerce platform with Application Load Balancers deployed in three AWS Regions: us-east-1, eu-west-1, and…
- A company has an e-commerce application running on Amazon EC2 instances behind Application Load Balancers in two AWS Regions. The company…
- A company deploys its application across three AWS Regions to provide global availability. The company wants Route 53 to route users to the…
- A company operates an e-commerce application across two AWS Regions with Application Load Balancers in both us-west-2 and us-east-1. The…
- A solutions architect is designing a multi-Region active-active architecture for a global application. The application is deployed in…
- A company operates a global e-commerce platform deployed across three AWS Regions: us-east-1, eu-west-1, and ap-southeast-1. The company…
- A company hosts an e-commerce application across two AWS Regions in an active-active configuration. The application uses Application Load…
- A solutions architect is designing a multi-region architecture for a critical application. The primary region has weighted routing records…
- A global e-commerce company hosts its application across three AWS Regions: us-east-1, eu-west-1, and ap-southeast-1. The company wants to…
- A company has deployed Application Load Balancers in three AWS Regions to serve global customers. The company wants Route 53 to distribute…
- A company has deployed its application in two AWS Regions with an Application Load Balancer in each region. The company wants to implement…
- Route 53 calculated health checks aggregate child health check results
A calculated health check monitors other health checks (child health checks) and reports healthy when the number of healthy children meets a configurable threshold. This lets you trigger DNS failover only when a minimum number of endpoints are down (e.g., healthy if at least 2 of 6 servers are up), rather than reacting to individual endpoint failures.
8 questions test this
- A company has deployed a web application across six EC2 instances in two Availability Zones, with three instances in each zone. A solutions…
- A healthcare company operates a patient portal that consists of a web application, an API layer, and a database. The company uses Amazon…
- A company runs a microservices application with five independent web servers. The application requires at least three healthy servers to…
- A solutions architect is designing a multi-tier application that spans three AWS Regions. The application has web servers in each region,…
- A company runs an application with five web servers behind an Application Load Balancer. The company wants to be notified and trigger DNS…
- A company operates a microservices application with five backend services distributed across multiple EC2 instances. The company wants to…
- A company uses Amazon Route 53 to manage DNS for a multi-tier application deployed across three Availability Zones. Each tier has multiple…
- A company has a multi-tier web application with web servers distributed across three Availability Zones. The company uses Route 53 to route…
- Route 53 weighted records + health checks implement active-active failover
Any routing policy other than Failover combined with health checks creates an active-active configuration. With weighted records, Route 53 distributes traffic according to weights while all records are healthy; when a record's health check fails, Route 53 excludes it from responses and redistributes remaining traffic to healthy records. A zero-weight record acts as a standby, receiving traffic only when all nonzero-weight records are unhealthy.
7 questions test this
- A solutions architect is designing a multi-region architecture with Amazon Route 53 health checks. The application runs on EC2 instances in…
- A solutions architect is designing an active-active multi-region architecture for a global web application. The application runs on Amazon…
- A company wants to implement a standby architecture using Amazon Route 53 weighted records. The primary resources should receive all…
- A solutions architect needs to design a highly available architecture for a global application. The application runs in two AWS Regions…
- A company operates a global e-commerce platform with deployments in us-east-1 and eu-west-1. The solutions architect needs to implement a…
- A company is designing an active-active architecture for its web application across us-east-1 and us-west-2 Regions. Both Regions should…
- A global media company wants to implement a multi-tier DNS failover architecture. The company has two data centers in each of three Regions…
- Route 53 hierarchical routing: latency alias over per-region weighted records
A common multi-tier DNS pattern uses latency alias records at the top level (for region selection) pointing to weighted records within each region (for intra-region distribution). Enabling Evaluate Target Health on the latency alias causes Route 53 to consider a region healthy only if at least one of its weighted child records is healthy, enabling cascading health propagation.
4 questions test this
- A company operates a global e-commerce platform with deployments in us-east-1 and eu-west-1. The solutions architect needs to implement a…
- A global media company wants to implement a multi-tier DNS failover architecture. The company has two data centers in each of three Regions…
- A solutions architect is designing a multi-region architecture for a critical application. The primary region has weighted routing records…
- A company has a multi-Region application architecture with resources in us-east-1 (primary) and eu-west-1 (secondary). The company uses…
- Aurora replica failover priority tiers 0 (highest) to 15 (lowest)
Each Aurora Replica can be assigned a promotion priority tier from 0 (promoted first) to 15 (promoted last). When the primary instance fails, Aurora promotes the replica with the lowest tier number. Assign tier 0 to the preferred standby (e.g., same instance class as the primary) and higher tiers to replicas used for analytics or reporting.
4 questions test this
- A company has an Amazon Aurora MySQL cluster with one primary instance and three Aurora Replicas across three Availability Zones. The…
- A company uses an Amazon Aurora PostgreSQL DB cluster with one writer instance and three Aurora Replicas across three Availability Zones.…
- A company operates an Amazon Aurora MySQL cluster with one primary instance and three Aurora Replicas distributed across three Availability…
- A company operates an Amazon Aurora MySQL cluster with one writer instance and three reader instances distributed across three Availability…
- RDS Snapshot copies cross-region + cross-account for DR
RDS automatic snapshots are tied to the source region. Manual or copied snapshots[17] can move cross-region (encrypted with a regional KMS key) or cross-account (share with target account). Used in pilot light / warm standby DR strategies.
Design High-Performing Architectures
High-Performing and Scalable Storage
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
High-Performing and Elastic Compute
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
High-Performing Databases
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Match the database to the access pattern, not the data model
Relational (RDS, Aurora) for transactions + joins + ad-hoc queries. Key-value (DynamoDB) for predictable single-item ops at any scale. Document (DocumentDB) for JSON-shaped data. Search (OpenSearch) for full-text. Time-series (Timestream). Graph (Neptune).
- Scale reads with replicas; writes with sharding
RDS Read Replicas: async, up to 15 per source. Aurora Replicas: <100 ms typical lag, up to 15. For write scale, DynamoDB partition design + adaptive capacity, or shard across multiple Aurora clusters by tenant/key.
- Aurora is the default RDS-compatible choice
MySQL/PostgreSQL wire-compatible + distributed storage (6 copies across 3 AZs) + auto-scaling storage (up to 256 TiB) + faster failover (<30 s) + Aurora Serverless v2. Pick Aurora unless you specifically need stock RDS Oracle/SQL Server. Aurora storage grows automatically[11] up to 256 TiB on current Aurora engine versions (128 TiB on older versions). No manual resize, no downtime, no provisioning. Charged for what you use — drop a table, storage shrinks.
- DAX = microsecond reads in front of DynamoDB
DAX[15] is a write-through, write-around, and read-through cache for DynamoDB. Reads through DAX = microseconds (vs single-digit ms direct). Writes go through DAX and to DynamoDB. Eventual consistency by default. Sits in your VPC; uses DynamoDB API.
8 questions test this
- A financial services company is building a real-time trading application that reads frequently accessed market data from Amazon DynamoDB.…
- A financial services company is deploying a customer-facing application that requires high availability. The application uses Amazon…
- A company uses Amazon DynamoDB for an e-commerce application that displays product information. The application requires microsecond…
- A company is building a real-time gaming leaderboard application using Amazon DynamoDB. The application needs microsecond read latency to…
- A gaming company runs a social gaming application that uses Amazon DynamoDB to store player profiles. The application experiences heavy…
- A company operates a real-time bidding platform that uses Amazon DynamoDB to store product information. The platform receives millions of…
- A solutions architect is designing a product catalog application that uses Amazon DynamoDB. The application has a read-heavy workload where…
- A social media company has a DynamoDB table that stores user posts. The application writes approximately 50,000 new posts per second and…
- Aurora Read Replicas: < 100 ms typical lag (often < 10 ms)
Shared storage layer[11] (not log shipping) means much lower replica lag than RDS async replicas. 15 read replicas max. Reader endpoint load-balances across replicas. Failover promotes a replica → typically ~1 minute.
4 questions test this
- A financial services company runs a customer-facing application that performs frequent read operations against an Amazon Aurora MySQL…
- A solutions architect is designing a high-throughput database solution using Amazon Aurora MySQL. The application requires that read…
- A company runs a high-traffic e-commerce application that uses Amazon Aurora MySQL as its database. The application experiences…
- A company is migrating a read-heavy e-commerce application to AWS. The application must scale to handle sudden traffic spikes during…
- DynamoDB hot partitions: BASE key matters most
Adaptive capacity[16] helps, but a low-cardinality partition key still hurts. Use high-cardinality keys (UUIDs, hashes) or composite keys (
tenant#item). GSI helps query different attributes but doesn't fix hot-key writes on the base table.- ElastiCache Redis vs Memcached: pick by feature set
Redis[17]: data structures (lists, sets, sorted sets, streams, geo, hyperloglog), pub/sub, persistence, replication, cluster mode for sharding, transactions. Memcached: simple key-value, no persistence, multi-threaded per node, auto-discovery. Use Redis unless you specifically need simple multi-threaded caching.
13 questions test this
- A company is migrating a web application to AWS. The application stores user session data that must persist across application restarts.…
- A company has a gaming application that maintains real-time leaderboards showing player rankings. The application needs to sort and…
- A company has a legacy application that performs extensive database queries to retrieve product catalog data. The application uses a…
- A solutions architect is designing a caching layer to reduce database load for a high-traffic e-commerce application. The application runs…
- A company operates a multi-tier web application that experiences variable traffic patterns throughout the day. The application caches…
- A company runs a high-traffic content management system that caches rendered HTML pages. The application requires a simple, multithreaded…
- A company runs a high-traffic web application that caches database query results using Amazon ElastiCache for Redis. The application…
- A solutions architect is designing a caching layer for a web application that uses Amazon RDS for MySQL. The application requires session…
- A gaming company needs to implement a real-time leaderboard that tracks player scores for millions of concurrent users. The leaderboard…
- A company is deploying a new web application on Amazon EC2 instances behind an Application Load Balancer. The application requires session…
- A global e-commerce company has web applications deployed in the us-east-1 and eu-west-1 Regions. The company uses Amazon ElastiCache for…
- A company is building a real-time gaming leaderboard application that needs to store and sort player scores. The application must support…
- A company runs a large-scale web application that caches frequently accessed database query results. The application generates simple…
- DynamoDB Streams: every change item, 24h retention
Capture every insert/update/delete[18] as a stream record (4 view types: KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES). 24h retention. Common consumer: Lambda for change-data-capture (CDC) → other services. Enable for Global Tables under the hood.
- Redshift: KEY distribution co-locates large join partners; ALL replicates small dimension tables
For large fact-to-large-dimension joins, set DISTSTYLE KEY on the same join column in both tables so matching rows land on the same slice, eliminating redistribution. For small, slowly changing dimension tables (typically under a few million rows), use DISTSTYLE ALL to place a full copy on every node, making any join column work without data movement. EVEN distribution is the default but rarely optimal once join patterns are known.
5 questions test this
- A company uses Amazon Redshift for its data warehouse. The analytics team reports that queries joining a large fact table (500 million…
- A solutions architect is designing an Amazon Redshift data warehouse for a retail analytics application. The EXPLAIN plan shows that…
- A company is designing an Amazon Redshift data warehouse with a 500 million row sales fact table and multiple dimension tables including a…
- A company is migrating a data warehouse to Amazon Redshift. The solutions architect is designing the table for a dimension table with…
- A company is designing an Amazon Redshift data warehouse with a star schema that includes a large sales fact table and several dimension…
- Aurora reader endpoint automatically includes Auto Scaling-created replicas
Applications must connect to the Aurora reader endpoint (not individual instance endpoints) to benefit from Aurora Auto Scaling. The reader endpoint uses DNS round-robin and automatically adds newly provisioned replicas once they pass health checks, distributing connections across all available replicas. Using instance-specific endpoints causes new Auto Scaling replicas to receive no traffic.
11 questions test this
- A company runs a high-traffic e-commerce application that uses Amazon Aurora MySQL as its database. The application experiences…
- A company runs a customer-facing application that uses an Amazon Aurora MySQL database. The application experiences unpredictable…
- A media streaming company has an Amazon Aurora MySQL cluster with Aurora Auto Scaling enabled. The scaling policy is configured with a…
- A company runs a read-heavy e-commerce application that uses an Amazon Aurora MySQL DB cluster. The application experiences unpredictable…
- A company uses an Amazon Aurora PostgreSQL cluster with Aurora Auto Scaling enabled. The Auto Scaling policy is configured with a target…
- A SaaS company is deploying a multi-tenant application backed by an Amazon Aurora MySQL cluster. The application has distinct read-heavy…
- A media streaming company operates an Amazon Aurora MySQL cluster with multiple Aurora Replicas to handle high read traffic. The company…
- A solutions architect is designing a high-throughput web application that uses an Amazon Aurora PostgreSQL DB cluster. The application has…
- A retail company has configured Aurora Auto Scaling for its Amazon Aurora PostgreSQL cluster with a target tracking policy based on average…
- A company is migrating a read-heavy e-commerce application to AWS. The application must scale to handle sudden traffic spikes during…
- A financial services company operates an Amazon Aurora MySQL DB cluster with Aurora Auto Scaling configured. The cluster experiences daily…
- Aurora Backtrack: rewind to a previous time in seconds
Aurora MySQL supports rewinding the cluster[12] up to 72 hours back without a restore (no downtime; cluster reverts in-place). For "oops, dropped a table" recovery. Different from PITR (which restores to a new cluster).
High-Performing and Scalable Networks
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
High-Performing Data Ingestion and Transformation
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Design Cost-Optimized Architectures
Cost-Optimized Compute
Read full chapterCheat sheet
Sharp facts the exam loves — scan these before test day.
- Capacity commitment for predictable usage
Steady-state EC2/Fargate/Lambda running >70% of any 1- or 3-year window fits a capacity commitment. Reserved Instances are workload-specific; Savings Plans are usage-based across families. RIs apply BEFORE Savings Plans — buy order matters.
15 questions test this
- A company has both Reserved Instances and Savings Plans covering its Amazon EC2 workloads. A solutions architect needs to understand how…
- A company is planning a 3-year commitment for Amazon EC2 capacity. The finance team wants to minimize the total cost over the 3-year period…
- A company runs a suite of applications across multiple AWS Regions using various EC2 instance families including m5, c5, and r5 instances.…
- A company purchased Standard Reserved Instances for its production workloads running c5.xlarge instances. Due to application changes, the…
- A company runs a stable production workload on Amazon EC2 instances using the m5.xlarge instance type in the us-east-1 Region. The workload…
- A company runs a large fleet of Amazon EC2 instances across multiple instance families including m5, c5, and r5 in the us-east-1 Region.…
- A company runs a stable production workload using m5.xlarge instances in the us-east-1 Region. The workload is expected to run for at least…
- A company runs steady-state production workloads on Amazon EC2 instances using the C5 instance family in a single AWS Region. The company…
- A company has multiple AWS accounts under AWS Organizations with consolidated billing enabled. The company runs steady-state Amazon EC2…
- A solutions architect is reviewing the AWS Cost Explorer recommendations for a company that has significant EC2 usage across multiple…
- A company uses multiple AWS accounts within AWS Organizations. The company has unpredictable workloads across accounts that use various EC2…
- A company runs a large fleet of Amazon EC2 instances across multiple instance families (m5, c5, r5) in several AWS Regions. The company…
- A company has active Standard Reserved Instances for m5.large Linux instances in us-east-1. The company recently purchased a Compute…
- A company is planning to migrate workloads to AWS. The company expects its compute requirements to evolve significantly as it modernizes…
- A company has purchased both Reserved Instances and Savings Plans to reduce EC2 costs. The company uses multiple AWS accounts under AWS…
- Spot for interruption-tolerant work
Spot Instances use AWS spare capacity at up to 90% off On-Demand. 2-minute interruption notice; allocation strategy
price-capacity-optimizedis the modern default. Use for stateless workers, batch, big-data, CI fleets. Never for stateful workloads without checkpointing.- Right-sizing for everyone (Compute Optimizer)
Compute Optimizer analyzes utilization and recommends smaller instances or different families for EC2, EBS, Lambda, ECS-on-Fargate. Lambda recommendations need ≥50 invocations in 14 days. Trusted Advisor surfaces RI / SP recommendations separately.
5 questions test this
- EC2 Auto Scaling mixed instances policy — OnDemandBaseCapacity setting
- A company wants to automate the identification of over-provisioned Amazon EBS volumes and receive recommendations for volume type…
- A company has enabled AWS Compute Optimizer for an AWS account with many Amazon EC2 instances. The solutions architect reviews the Compute…
- A solutions architect is reviewing AWS Compute Optimizer recommendations for EC2 instances. Several instances show a finding classification…
- A solutions architect is reviewing AWS Compute Optimizer findings for a fleet of EC2 instances. Several instances are classified as…
- RIs apply BEFORE Savings Plans — buying order matters
Each billing hour AWS applies discounts in a fixed order: RIs first (to matching family/region/AZ/OS usage), then Savings Plans (to any remaining eligible usage, highest-discount-first), then on-demand. If you already own RIs covering your baseline, a fresh Compute SP overlapping that usage sits idle — the RIs consume the hours first. Buy SPs to cover un-RI-covered usage, then add RIs only for instance types with reliably steady utilization.
5 questions test this
- A media company stores 500 TB of video archive footage in S3 Glacier Deep Archive. A production team urgently needs to retrieve 50 TB of…
- A company uses both Reserved Instances and Savings Plans for cost optimization across multiple AWS accounts in an organization. The company…
- A solutions architect is reviewing the AWS Cost Explorer recommendations for a company that has significant EC2 usage across multiple…
- A company has active Standard Reserved Instances for m5.large Linux instances in us-east-1. The company recently purchased a Compute…
- A company has purchased both Reserved Instances and Savings Plans to reduce EC2 costs. The company uses multiple AWS accounts under AWS…
- Exchangeability ladder: Standard RI < Convertible RI < Compute SP
Standard RI: family-locked, can sell on RI Marketplace if no longer needed. Convertible RI: can exchange for a different family/OS/tenancy without selling. Compute SP: cover EC2 + Fargate + Lambda across any family and any region; the most flexible commitment but slightly lower max discount.
11 questions test this
- A company purchased 1-year Standard Reserved Instances for Amazon EC2 c5.2xlarge instances. After 6 months, the company migrated the…
- A company runs a suite of applications across multiple AWS Regions using various EC2 instance families including m5, c5, and r5 instances.…
- A company purchased Standard Reserved Instances for its production workloads running c5.xlarge instances. Due to application changes, the…
- A company runs a large fleet of Amazon EC2 instances across multiple instance families including m5, c5, and r5 in the us-east-1 Region.…
- A company runs a stable production workload using m5.xlarge instances in the us-east-1 Region. The workload is expected to run for at least…
- A company wants to reduce costs for its containerized workloads running on Amazon ECS with AWS Fargate. The workloads include both…
- A company runs steady-state production workloads on Amazon EC2 instances using the C5 instance family in a single AWS Region. The company…
- A company has multiple AWS accounts under AWS Organizations with consolidated billing enabled. The company runs steady-state Amazon EC2…
- A company uses multiple AWS accounts within AWS Organizations. The company has unpredictable workloads across accounts that use various EC2…
- A company runs a large fleet of Amazon EC2 instances across multiple instance families (m5, c5, r5) in several AWS Regions. The company…
- A company is planning to migrate workloads to AWS. The company expects its compute requirements to evolve significantly as it modernizes…
- Spot allocation:
price-capacity-optimizedis the modern default lowest-price[10] minimizes hourly cost but maximizes interruption risk (cheapest pools are reclaimed first).capacity-optimizedlaunches from the pool with lowest predicted interruption — best for long-running workloads.price-capacity-optimized(current AWS default for Fleet/ASG) balances both. For HPC/ML with instance-type preferences,capacity-optimized-prioritizedrespects your priority list.4 questions test this
- A company uses Amazon EC2 Auto Scaling with a mixed instances policy for a containerized microservices application. The application is…
- A solutions architect is designing a cost-optimized architecture for a stateless web application that runs on Amazon EC2 instances behind…
- A company is running a stateless web application on Amazon EC2 instances behind an Application Load Balancer. The application can tolerate…
- A company runs a fault-tolerant image processing application on Amazon EC2 instances in an Auto Scaling group. The application can tolerate…
- Lambda Compute Optimizer needs ≥50 invocations in 14 days
Below 50 invocations / 14 days[9], Lambda functions get NO Compute Optimizer recommendation. Exam pattern: 'Compute Optimizer cannot generate a recommendation' for a low-traffic Lambda → root cause is this threshold, not a configuration issue.
- Graviton is the answer when 'reduce cost' meets x86-agnostic
AWS Graviton (ARM64) instances[11] deliver up to 40% better price-performance vs comparable x86. Most managed services support Graviton (RDS, Aurora, ElastiCache, Lambda, Fargate). When the question says 'reduce cost' and doesn't restrict architecture, Graviton is usually a correct answer.
- Fargate Spot: deep discount vs Fargate on-demand; same 2-min notice
Fargate Spot[12] uses spare ECS Fargate capacity at deep discount. Same 2-minute interruption notice as EC2 Spot. Good for: CI builds, fault-tolerant containerized batch, dev/test. Mixed capacity provider:
FARGATEfor baseline +FARGATE_SPOTfor burst.5 questions test this
- A company is running batch processing workloads on Amazon ECS with Fargate Spot to reduce costs. The processing jobs take up to 90 seconds…
- A company runs a containerized batch processing application on Amazon ECS. The application processes non-critical data and can tolerate…
- A company wants to reduce costs for its containerized workloads running on Amazon ECS with AWS Fargate. The workloads include both…
- A company runs a customer-facing web application on Amazon ECS with AWS Fargate. The application must maintain high availability while…
- A company is migrating a containerized data analytics application from on-premises to AWS. The application processes large datasets…
- Trusted Advisor surfaces RI / SP recommendations
Free Trusted Advisor[13] checks include "underutilized EC2 instances" (right-sizing), "RI optimization", and "Savings Plans recommendations" — once you have ~30 days of usage. Business / Enterprise support tier unlocks the full check set.
- Capacity Rebalancing: proactively replaces at-risk Spot Instances before the 2-minute notice
When Capacity Rebalancing is enabled on an Auto Scaling group, it responds to EC2 instance rebalance recommendation signals — which arrive before the 2-minute interruption notice — by launching a replacement instance proactively. Pair it with lifecycle hooks to allow in-flight requests to drain gracefully before the old instance terminates.
4 questions test this
- A company uses Amazon EC2 Auto Scaling with a mixed instances policy for a containerized microservices application. The application is…
- A company runs a containerized application on Amazon EC2 instances using an Auto Scaling group with a mixed instances policy. The Auto…
- A company runs a containerized web application on Amazon EC2 instances in an Auto Scaling group using a mixed instances policy with Spot…
- A company operates a web application behind an Application Load Balancer with an Auto Scaling group using a mixed instances policy. The…
- Compute Optimizer: paid Enhanced Infrastructure Metrics extends lookback to 93 days for cyclical workloads
By default Compute Optimizer analyses 14 days of CloudWatch metrics, which misses monthly or quarterly utilization spikes. The Enhanced Infrastructure Metrics paid add-on extends the lookback period to up to 93 days, enabling accurate recommendations for workloads with cyclical billing or processing patterns.
4 questions test this
- A company is using AWS Compute Optimizer to analyze its EC2 instances for rightsizing opportunities. The company has workloads that…
- A company runs hundreds of Amazon EC2 instances that host applications with monthly billing cycles. The company has opted in to AWS Compute…
- A company has hundreds of Amazon EC2 instances running across multiple AWS Regions. The operations team notices that many instances appear…
- A company operates 200 EC2 instances running a financial application with monthly billing cycles. The instances experience significant…
- Compute Optimizer: org-level preferences, no Spot recommendations, RDS MySQL supported
Recommendation preferences (approved instance families, CPU headroom, lookback period) configured from the management account automatically propagate to all member accounts in an AWS Organization, minimizing per-account overhead. Compute Optimizer does NOT generate rightsizing recommendations for Spot Instances. It does support RDS MySQL and PostgreSQL (with Performance Insights) alongside EC2, Lambda, EBS, and ECS.
4 questions test this
- A company is evaluating AWS tools to identify rightsizing opportunities for their Amazon RDS for MySQL databases that are running on…
- A company manages EC2 instances across multiple AWS accounts in an AWS Organization. The operations team wants to configure AWS Compute…
- A company operates hundreds of Amazon EC2 instances across multiple AWS accounts within an AWS Organization. The company's cloud operations…
- A company uses Amazon EC2 Spot Instances for its batch processing workloads and On-Demand Instances for its production web applications.…
- Zonal RIs provide a billing discount AND a capacity reservation in that specific AZ
A Regional Reserved Instance applies a billing discount across all AZs in a Region but does NOT reserve capacity. A Zonal Reserved Instance scoped to a specific Availability Zone provides both the billing discount and a guaranteed capacity reservation matching the instance attributes, ensuring instances can launch even during peak demand in that AZ.
4 questions test this
- A company runs a mission-critical application on Amazon EC2 instances in a specific Availability Zone. The company requires guaranteed…
- A company operates mission-critical applications on Amazon EC2 in a single Availability Zone. The company requires guaranteed compute…
- A company requires guaranteed EC2 capacity in a specific Availability Zone for a mission-critical application that processes time-sensitive…
- A company runs mission-critical Amazon EC2 instances in us-east-1. The company requires guaranteed capacity in a specific Availability Zone…
- Graviton (ARM) for 20-40% better price-performance
AWS-designed ARM64 processors deliver up to 40% better price-performance vs x86 equivalents. Requires ARM-compatible runtime (most modern languages OK; some Windows AMIs + legacy binaries don't). When the question says "reduce cost" + workload is portable: Graviton.
Cost-Optimized Storage
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Cost-Optimized Databases
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.
Cost-Optimized Network
Read full chapterUnlock with Premium — includes all practice exams and the complete study guide.