Official Exam Details: (SAP-C02)
SAP-C02
70%
902 Verified Questions
120 Minutes
Exam Format & Question Types
This certification exam features multiple-choice questions (single and multi-select), interactive Hotspots, Hot Areas, and Drag-and-Drop scenario configurations designed to test real-world technical competency.
SAP-C02: AWS Certified SAP on AWS – Architectural Master Blueprint
Welcome, aspiring Cloud Architects! This comprehensive study guide and architectural master blueprint is meticulously crafted for the SAP-C02 certification exam, positioning you as an expert in designing, implementing, and maintaining SAP workloads on AWS. This certification validates your advanced technical skills and experience in migrating, operating, and optimizing SAP applications in the AWS Cloud environment. Prepare to demonstrate your proficiency in building highly available, secure, performant, and cost-efficient SAP solutions.
1. Exam Overview & Profile
The SAP-C02 certification targets experienced SAP professionals and AWS architects who possess deep understanding of both SAP systems and AWS services. Candidates are expected to have several years of hands-on experience in SAP architecture, deployment, and operational management, coupled with significant practical experience in AWS cloud infrastructure. The exam is structured to test your ability to make complex architectural decisions under various business and technical constraints.
- Target Audience: Experienced SAP Basis Administrators, SAP Technical Architects, AWS Solution Architects with SAP specialization, Cloud Engineers focused on enterprise workloads.
- Question Count: Typically 60-65 multiple-choice, multiple-response questions.
- Duration: 180 minutes.
- Passing Score Context: Generally, a scaled score of 750 out of 1000 is required to pass, though this can vary slightly based on exam psychometrics.
2. Deep-Dive Domain Breakdown
The SAP-C02 exam extensively covers critical architectural facets for SAP on AWS. A strong understanding of the following areas is paramount:
- Migration & Deployment Strategies:
- Lift-and-Shift: Understanding re-host scenarios for SAP ECC, SCM, BW. Leveraging AWS Migration Hub, AWS SMS, DMS.
- Re-platform: Migrating to S/4HANA on AWS. Utilizing AWS Launch Wizard for SAP for automated deployments.
- New Deployments: Architecting greenfield SAP environments, including S/4HANA, BW/4HANA, and other SAP NetWeaver-based applications.
- Database Migration: Heterogeneous (e.g., Oracle to HANA) and Homogeneous migrations. Tools like AWS DMS and R3load.
- High Availability & Disaster Recovery (HA/DR):
- Compute HA: Multi-AZ deployments, EC2 instance auto-recovery, placement groups for SAP HANA scale-out.
- Database HA/DR: SAP HANA System Replication (HSR) with pacemaker clustering (e.g., SLES HAE). Oracle Data Guard, SQL Server Always On.
- Storage HA: FSx for NetApp ONTAP for shared storage, Amazon EFS for shared file systems, EBS Multi-Attach for clustered environments.
- Backup & Restore: AWS Backup, S3 for long-term archiving, snapshotting EBS volumes.
- DR Strategies: Pilot Light, Warm Standby, Multi-Region active-passive/active-active for critical SAP systems.
- Performance Optimization:
- EC2 Instances: Right-sizing with SAPS requirements. Specific instance families for SAP (e.g., X1, R5, M5, High Memory instances for HANA). Enhanced Networking (ENA) and SR-IOV.
- EBS Volumes: io2 Block Express for high-performance HANA workloads, gp3 for general purpose, sc1/st1 for backups/non-prod. Understanding IOPs, throughput, and latency.
- Network: Direct Connect for stable, high-bandwidth connectivity. VPC peering, Transit Gateway for complex network topologies.
- Storage Solutions: Optimizing FSx for NetApp ONTAP or EFS performance modes.
- Security & Compliance:
- IAM: Least privilege access for SAP administrators and applications. Roles and policies.
- Network Security: VPC design, Security Groups, Network ACLs, Bastion Hosts. AWS WAF, AWS Shield for web-facing components.
- Data Encryption: KMS for EBS, S3, RDS, EFS. Transparent Data Encryption (TDE) for databases.
- Monitoring & Auditing: AWS CloudTrail, Amazon CloudWatch, AWS Config, GuardDuty. Integration with SAP Solution Manager.
- Compliance: Understanding certifications relevant to SAP on AWS (e.g., ISO 27001, SOC, GDPR).
- Cost Optimization:
- EC2: Reserved Instances (RIs), Savings Plans for predictable workloads. Spot Instances for development/test environments.
- Storage: Lifecycle policies for S3. EBS tiering (gp3, sc1, st1). Right-sizing EBS volumes.
- Network: Optimizing data transfer costs.
- Monitoring: Leveraging AWS Cost Explorer, AWS Budgets.
3. High-Yield Exam Tips & Scenario Traps
- Prioritize HA/DR: For any production SAP workload, always select solutions that provide robust high availability and disaster recovery, often involving Multi-AZ deployments, HSR, and shared storage like FSx for NetApp ONTAP.
- Storage Matters: Differentiate carefully between EBS types (io2 for HANA, gp3 for general), EFS (shared POSIX), and FSx for NetApp ONTAP (SMB/NFS for SAP application/shared filesystems). Do not use general-purpose storage for performance-critical SAP database volumes.
- Network Connectivity: For production SAP systems, Direct Connect is preferred over VPN for consistent performance, security, and lower latency. Understand Transit Gateway for complex, hub-and-spoke enterprise networks.
- Security First: Always apply the principle of least privilege. Implement encryption at rest and in transit. VPC design, Security Groups, and NACLs are fundamental.
- Cost vs. Performance: Be able to justify architectural choices based on performance requirements vs. cost implications. For example, using Spot Instances for non-production but not for critical production systems.
- Automation: Recognize scenarios where AWS Launch Wizard for SAP or CloudFormation can automate deployment and reduce human error.
- Trap: Over-engineering vs. Simplicity: The exam often presents scenarios where a complex solution might be technically possible, but a simpler, equally effective, and cost-efficient AWS-native solution is preferred.
4. Frequently Asked Questions (FAQ)
Q1: What is the best way to prepare for the SAP-C02 exam?
A1: A multi-faceted approach is most effective. Start by thoroughly reviewing the official AWS documentation for SAP on AWS, including whitepapers, reference architectures, and case studies. Gain hands-on experience deploying and managing SAP systems on AWS. Utilize practice exams to identify knowledge gaps and familiarize yourself with the question format. Deep dive into topics like HANA System Replication, FSx for NetApp ONTAP, and various migration strategies. Leverage AWS Solution Architect Professional study materials for core AWS knowledge and then specialize with SAP-specific content.
Q2: How much hands-on experience is recommended before attempting this exam?
A2: While there’s no strict number, candidates should ideally have 3-5 years of experience working with SAP systems and at least 1-2 years of hands-on experience designing, implementing, and operating SAP workloads on AWS. The exam focuses heavily on practical architectural decisions and troubleshooting, so theoretical knowledge alone will not suffice. Experience with migrations, HA/DR setup, and performance tuning for SAP on AWS is critical.
Q3: What type of questions can I expect, and how should I approach scenario-based questions?
A3: The exam consists of both multiple-choice and multiple-response questions. Scenario-based questions are prevalent, presenting a business problem or technical requirement, and asking you to choose the best AWS architectural solution. For these, carefully read the entire scenario, identify key constraints (cost, performance, availability, security, compliance), and eliminate distractors. Often, multiple options seem plausible, but only one is “most optimal” given all stated requirements. Look for keywords like “most cost-effective,” “highest availability,” or “least operational overhead.”
Q4: Are there specific AWS services I should focus on more than others?
A4: Yes, while a broad understanding is helpful, specific services are central to SAP on AWS. Focus heavily on EC2 (especially X1, R5, M5, High Memory instances), EBS (io2 Block Express, gp3), S3, EFS, FSx for NetApp ONTAP, Direct Connect, Transit Gateway, AWS Backup, CloudWatch, CloudTrail, IAM, KMS, and AWS Launch Wizard for SAP. Understand how these services interact and are configured to meet SAP’s stringent requirements for performance, HA, and DR. Also, be familiar with SAP-specific technologies like HANA System Replication (HSR) and pacemaker clustering within the AWS context.
Free SAP-C02 Sample Practice Questions
Test your knowledge with these sample scenario questions complete with verified explanations:
General Practice Questions
QUESTION 1
A solutions architect needs to implement a client-side encryption mechanism for objects that will be stored in a new Amazon S3 bucket. The solutions architect created an AWS Key Management Service (AWS KMS) key for this purpose.
The solutions architect created the following IAM policy and attached it to an IAM role:
During tests, the solutions architect was able to successfully get existing test objects in the S3 bucket. However, attempts to upload a new object resulted in an error message. The error
message stated that the action was forbidden.
Which action must the solutions architect add to the IAM policy to meet all the requirements?

- A. kms:GenerateDataKey
- B. kms:GetKeyPolicy
- C. kms:GetPublicKey
- D. Activate Windows
- E. kms:Sign
Click to View Verified Solution & Explanation
Correct Option: A
Description: The
kms:GenerateDataKey action in AWS Key Management Service (KMS) allows a principal to request KMS to generate a data key. KMS generates a unique symmetric data key, encrypts it under a specified KMS customer master key (CMK), and returns both the plaintext data key and the ciphertext (encrypted) data key. This action is fundamental for implementing envelope encryption, a common practice for encrypting large amounts of data where the CMK protects the data key, and the data key protects the actual data.
Why this fits: The provided IAM policy includes permissions for s3:PutObject and s3:GetObject, indicating that the principal is intended to interact with S3 objects. It also includes kms:Encrypt and kms:Decrypt actions on a KMS key. While kms:Encrypt can encrypt small data directly (up to 4KB), for encrypting large objects (e.g., files uploaded to S3), the most secure and scalable approach is envelope encryption. This process typically starts with calling kms:GenerateDataKey to obtain a data key that will encrypt the actual S3 object. The kms:Encrypt permission allows direct encryption with the CMK but not the generation of a data key for envelope encryption, which is a distinct and crucial operation for comprehensive data-at-rest encryption workflows involving large data sets like those in S3. Therefore, kms:GenerateDataKey is essential for enabling a complete KMS-based encryption strategy for S3 objects, complementing the existing kms:Encrypt and kms:Decrypt permissions by allowing the initial generation of data keys for content encryption.
Example: An application needs to upload a large file to an S3 bucket and ensure it is encrypted using a KMS CMK. To implement client-side envelope encryption, the application would first call kms:GenerateDataKey to get a plaintext data key and its encrypted version. It would then use the plaintext data key to encrypt the file’s contents before uploading the encrypted file and the encrypted data key to S3. When retrieving the file, it would use kms:Decrypt to decrypt the data key, and then use the plaintext data key to decrypt the file contents.
QUESTION 2
A company consists of two separate business units. Each business unit has its own AWS account within a single organization in AWS Organizations. The business units regularly share sensitive documents with each other. To facilitate sharing, the company created an Amazon S3 bucket in each account and configured two-way replication between the S3 buckets. The S3 buckets have millions of objects.
Recently, a security audit identified that neither S3 bucket has encryption at rest enabled. Company policy requires that all documents must be stored with encryption at rest. The company wants to implement server-side encryption with Amazon S3 managed encryption keys (SSE-S3).
What is the MOST operationally efficient solution that meets these requirements?
- A. Turn on SSE-S3 on both S3 buckets. Use S3 Batch Operations to copy and encrypt the objects in the same location.
- B. Create an AWS Key Management Service (AWS KMS) key in each account. Turn on server-side encryption with AWS KMS keys (SSE-KMS) on each S3 bucket by using the corresponding KMS key in that AWS account. Encrypt the existing objects by using an S3 copy command in the AWS CLI.
- C. Turn on SSE-S3 on both S3 buckets. Encrypt the existing objects by using an S3 copy command in the AWS CLI.
- D. Create an AWS Key Management Service (AWS KMS) key in each account. Turn on server-side encryption with AWS KMS keys (SSE-KMS) on each S3 bucket by using the corresponding KMS key in that AWS account. Use S3 Batch Operations to copy the objects into the same location.
Click to View Verified Solution & Explanation
Correct Option: A
Description: Server-Side Encryption with Amazon S3-Managed Keys (SSE-S3) automatically encrypts your data before saving it to S3 and decrypts it when you retrieve it. Amazon S3 manages both the encryption keys and the encryption process. S3 Batch Operations is an S3 feature that allows you to perform large-scale operations on hundreds, thousands, or even millions of Amazon S3 objects with a single request. This includes copying objects, which can be used to re-encrypt existing objects in place.
Why this fits: For encrypting a large number of existing unencrypted objects in an S3 bucket, S3 Batch Operations is the most efficient and scalable solution. When an S3 Batch Operations job is configured to perform a "Copy" operation where the destination is the same as the source bucket, and server-side encryption (like SSE-S3) is specified for the destination objects, S3 effectively re-encrypts the objects in place. This avoids the need to manually download, encrypt, and re-upload each object, which would be impractical and time-consuming for large datasets. SSE-S3 provides a robust, fully managed encryption solution with minimal overhead.
Example: A company discovers that a large archive of historical data, comprising millions of objects, was uploaded to S3 without server-side encryption enabled. To meet a new compliance requirement, all existing objects must be encrypted with SSE-S3. They can configure an S3 Batch Operations job to copy all objects within the bucket back to their original locations in the same bucket, specifying SSE-S3 for the destination objects. This operation will efficiently encrypt all existing objects without manual intervention for each item.
QUESTION 3
A retail company has an on-premises data center in Europe. The company also has a multi-Region AWS presence that includes the eu-west-1 and us-east-1 Regions. The company wants to be able to route network traffic from its on-premises infrastructure into VPCs in either of those Regions. The company also needs to support traffic that is routed directly between VPCs in those Regions. No single points of failure can exist on the network.
The company already has created two 1 Gbps AWS Direct Connect connections from its on-premises data center. Each connection goes into a separate Direct Connect location in Europe for high availability. These two locations are named DX-A and DX-B, respectively. Each Region has a single AWS Transit Gateway that is configured to route all inter-VPC traffic within that Region.
Which solution will meet these requirements?
- A. Create a private VIF from the DX-A connection into a Direct Connect gateway. Create a private VIF from the DX-B connection into the same Direct Connect gateway for high availability. Associate both the eu-west-1 and us-east-1 transit gateways with the Direct Connect gateway. Peer the transit gateways with each other to support cross-Region routing.
- B. Create a transit VIF from the DX-A connection into a Direct Connect gateway. Associate the eu-west-1 transit gateway with this Direct Connect gateway. Create a transit VIF from the DX-B connection into a separate Direct Connect gateway. Associate the us-east-1 transit gateway with this separate Direct Connect gateway. Peer the Direct Connect gateways with each other to support high availability and cross-Region routing.
- C. Create a transit VIF from the DX-A connection into a Direct Connect gateway. Create a transit VIF from the DX-B connection into the same Direct Connect gateway for high availability. Associate both the eu-west-1 and us-east-1 transit gateways with this Direct Connect gateway. Configure the Direct Connect gateway to route traffic between the transit gateways.
- D. Create a transit VIF from the DX-A connection into a Direct Connect gateway. Create a transit VIF from the DX-B connection into the same Direct Connect gateway for high availability. Associate both the eu-west-1 and us-east-1 transit gateways with this Direct Connect gateway. Peer the transit gateways with each other to support cross-Region routing.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution describes the standard and recommended architectural pattern for establishing highly available, cross-Region connectivity between an on-premises network and multiple AWS Transit Gateways using AWS Direct Connect. It leverages a single Direct Connect gateway to centralize on-premises connections and extend them to Transit Gateways in distinct AWS Regions.
Why this fits:
- Transit VIFs: A Transit VIF (Virtual Interface) is the correct type of VIF for connecting a Direct Connect connection to a Direct Connect gateway when the gateway will be associated with Transit Gateways. This enables routing to multiple VPCs and VPNs attached to the Transit Gateway.
- Single Direct Connect Gateway for High Availability: A Direct Connect gateway is a global resource that allows you to connect multiple Direct Connect connections (Transit VIFs from DX-A and DX-B in this case) for redundancy and high availability. This single gateway then serves as the termination point for on-premises connectivity to multiple AWS Regions.
- Cross-Region Transit Gateway Association: A key feature of Direct Connect gateways is the ability to associate Transit Gateways located in different AWS Regions (e.g., eu-west-1 and us-east-1) with the same Direct Connect gateway. This enables the on-premises network to communicate with resources in VPCs attached to any of the associated Transit Gateways.
- Transit Gateway Peering: While the Direct Connect gateway facilitates on-premises to AWS Region communication, if resources within one AWS Region (e.g., a VPC attached to eu-west-1 TGW) need to communicate directly with resources in another AWS Region (e.g., a VPC attached to us-east-1 TGW) over the AWS global network, Transit Gateway peering is required. This establishes a direct routing path between the Transit Gateways, separate from the on-premises connection.
Example: An organization with an on-premises data center in Frankfurt, Germany, wants to connect to its production environment in AWS eu-west-1 and its disaster recovery environment in AWS us-east-1. By deploying two Direct Connect connections (DX-A and DX-B) into a single Direct Connect gateway, associating both the eu-west-1 and us-east-1 Transit Gateways with that Direct Connect gateway, and peering the two Transit Gateways, they achieve a resilient connection from on-premises to both regions, and also enable direct intra-AWS cross-region communication between their cloud environments.
QUESTION 4
A company is running applications on AWS in a multi-account environment. The company’s sales team and marketing team use separate AWS accounts in AWS Organizations.
The sales team stores petabytes of data in an Amazon S3 bucket. The marketing team uses Amazon QuickSight for data visualizations. The marketing team needs access to data that the sales team stores in the S3 bucket. The company has encrypted the S3 bucket with an AWS Key Management Service (AWS KMS) key. The marketing team has already created the IAM service role for QuickSight to provide QuickSight access in the marketing AWS account. The company needs a solution that will provide secure access to the data in the S3 bucket across AWS accounts.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create a new S3 bucket in the marketing account. Create an S3 replication rule in the sales account to copy the objects to the new S3 bucket in the marketing account. Update the QuickSight permissions in the marketing account to grant access to the new S3 bucket.
- B. Create an SCP to grant access to the S3 bucket to the marketing account. Use AWS Resource Access Manager (AWS RAM) to share the KMS key from the sales account with the marketing account. Update the QuickSight permissions in the marketing account to grant access to the S3 bucket.
- C. Update the S3 bucket policy in the marketing account to grant access to the QuickSight role. Create a KMS grant for the encryption key that is used in the S3 bucket. Grant decrypt access to the QuickSight role. Update the QuickSight permissions in the marketing account to grant access to the S3 bucket.
- D. Create an IAM role in the sales account and grant access to the S3 bucket. From the marketing account, assume the IAM role in the sales account to access the S3 bucket. Update the QuickSight role to create a trust relationship with the new IAM role in the sales account.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This approach leverages AWS IAM roles for secure cross-account access. An IAM role is created in the resource-owning account (sales account) with permissions to the S3 bucket. A trust policy is defined on this role to allow the QuickSight service role in the requesting account (marketing account) to assume it. The QuickSight role in the marketing account is then configured with a trust policy that permits it to assume the role in the sales account, enabling QuickSight to access the S3 data securely without requiring replication or complex SCPs for data access.
Why this fits: This is the standard and most secure method for granting cross-account access to S3 buckets, especially when the data owner wants to retain control and the data consumer needs read-only access for analytics.
- Security: It avoids data replication (Choice A), which can increase cost and management overhead, and avoids overly broad permissions that might arise from SCPs (Choice B) or direct bucket policy grants to external services that lack the necessary trust relationship (Choice C).
- Principle of Least Privilege: The IAM role in the sales account can be scoped to grant only the necessary permissions (e.g.,
s3:GetObject,s3:ListBucket) to the specific S3 bucket. - Auditability: All access via role assumption is logged in AWS CloudTrail, providing a clear audit trail of who accessed what and from which account.
- QuickSight Integration: QuickSight can be configured to use an IAM role to access data sources. By allowing the QuickSight service role (or a role assumed by QuickSight) in the marketing account to assume a role in the sales account, it gains the necessary permissions to read the S3 data.
Example: The sales account creates an IAM role named
SalesS3AccessRolewith a policy allowings3:GetObjectands3:ListBucketonarn:aws:s3:::sales-data-bucket/*. The trust policy ofSalesS3AccessRoleallows the QuickSight service role (arn:aws:iam::[MarketingAccountID]:role/aws-quicksight-service-role-*) from the marketing account to assume it. In the QuickSight data source configuration in the marketing account, you specify the ARN ofSalesS3AccessRoleto access the sales S3 bucket.
QUESTION 5
A company is running a traditional web application on Amazon EC2 instances. The company needs to refactor the application as microservices that run on containers. Separate versions of the application exist in two distinct environments: production and testing. Load for the application is variable, but the minimum load and the maximum load are known. A solutions architect needs to design the updated application with a serverless architecture that minimizes operational complexity.
Which solution will meet these requirements MOST cost-effectively?
- A. Upload the container images to AWS Lambda as functions. Configure a concurrency limit for the associated Lambda functions to handle the expected peak load. Configure two separate Lambda integrations within Amazon API Gateway: one for production and one for testing.
- B. Upload the container images to Amazon Elastic Container Registry (Amazon ECR). Configure two auto scaled Amazon Elastic Container Service (Amazon ECS) clusters with the Fargate launch type to handle the expected load. Deploy tasks from the ECR images. Configure two separate Application Load Balancers to direct traffic to the ECS clusters.
- C. Upload the container images to Amazon Elastic Container Registry (Amazon ECR). Configure two auto scaled Amazon Elastic Kubernetes Service (Amazon EKS) clusters with the Fargate launch type to handle the expected load. Deploy tasks from the ECR images. Configure two separate Application Load Balancers to direct traffic to the EKS clusters.
- D. Upload the container images to AWS Elastic Beanstalk. In Elastic Beanstalk, create separate environments and deployments for production and testing. Configure two separate Application Load Balancers to direct traffic to the Elastic Beanstalk deployments.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution leverages Amazon Elastic Container Registry (ECR) for secure, managed storage of container images and Amazon Elastic Container Service (ECS) with the Fargate launch type for serverless container orchestration. Fargate eliminates the operational overhead of provisioning and managing EC2 instances, allowing resources to be focused on the application logic. The use of auto-scaled ECS clusters ensures elastic scalability to handle fluctuating loads, including "expected peak load," while separate Application Load Balancers (ALBs) provide efficient traffic distribution and enable isolation between different environments (e.g., production and testing).
Why this fits: This approach is a highly scalable, cost-effective, and operationally efficient solution for deploying containerized applications at a professional level.
- Amazon ECR is the official, fully managed, and secure Docker container registry service for AWS, providing high availability and integration with ECS/EKS.
- Amazon ECS with the Fargate launch type offers a serverless compute engine for containers, which automatically provisions, manages, and scales the underlying infrastructure. This significantly reduces operational burden. Configuring two auto-scaled clusters allows for robust environment separation (e.g., production and testing) and ensures that each environment can scale independently to meet its specific demands.
- Application Load Balancers (ALBs) are ideal for routing HTTP/HTTPS traffic to containerized applications running on ECS. Utilizing two separate ALBs provides distinct entry points for the different environments, enhancing security, isolation, and simplifying management of traffic for production and testing.
This combination provides a robust, scalable, and manageable solution for modern containerized applications, fulfilling the requirements of a Solutions Architect Professional by prioritizing operational excellence and cost efficiency without compromising scalability.
QUESTION 6 (Multi-Select)
A financial company is planning to migrate its web application from on premises to AWS. The company uses a third-party security tool to monitor the inbound traffic to the application. The company has used the security tool for the last 15 years, and the tool has no cloud solutions available from its vendor. The company’s security team is concerned about how to integrate the security tool with AWS technology.
The company plans to deploy the application migration to AWS on Amazon EC2 instances. The EC2 instances will run in an Auto Scaling group in a dedicated VPC. The company needs to use the security tool to inspect all packets that come in and out of the VPC. This inspection must occur in real time and must not affect the application’s performance. A solutions architect must design a target architecture on AWS that is highly available within an AWS Region.
Which combination of steps should the solutions architect take to meet these requirements? (Select TWO.)
- A. Deploy the security tool on EC2 instances in a new Auto Scaling group in the existing VPC.
- B. Deploy the web application behind a Network Load Balancer.
- C. Deploy an Application Load Balancer in front of the security tool instances.
- D. Provision a Gateway Load Balancer for each Availability Zone to redirect the traffic to the security tool.
- E. Provision a transit gateway to facilitate communication between VPCs.
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: This involves deploying the security tool as an application on Amazon EC2 instances. An Auto Scaling group automatically manages the number of these instances, scaling them up or down based on demand or predefined schedules, and replaces unhealthy instances. The deployment is within the existing Virtual Private Cloud (VPC) where the applications requiring security inspection reside.
Why this fits: Deploying the security tool on EC2 instances within an Auto Scaling group ensures high availability, fault tolerance, and scalability. If one instance fails, the Auto Scaling group replaces it, maintaining the security posture. It also allows the security tool to handle varying traffic loads dynamically, crucial for a shared security service, without over-provisioning resources.
Example: An organization wants to deploy a third-party Intrusion Prevention System (IPS) that runs on Linux. They would create an Amazon Machine Image (AMI) with the IPS software, then define a launch template and an Auto Scaling group to deploy and manage a fleet of EC2 instances running the IPS across multiple Availability Zones in their existing VPC.
✅ Provision a Gateway Load Balancer for each Availability Zone to redirect the traffic to the security tool.
Description: A Gateway Load Balancer (GWLB) is a fully managed service that allows you to deploy, scale, and manage third-party virtual network appliances, such as firewalls, intrusion detection systems, and deep packet inspection systems, transparently in your network path. It operates at Layer 3 (network layer) and uses the Gateway Load Balancer endpoint (GWLBe) to integrate with VPC route tables.
Why this fits: The GWLB is specifically designed for transparently inserting security tools into the network traffic flow. It ensures that all traffic needing inspection is routed to the security tool instances, and then returned to its original destination, without altering source or destination IP addresses. Deploying a GWLB per Availability Zone provides redundancy and ensures that the security inspection service remains highly available even during an AZ outage. It also maintains flow stickiness to a particular appliance instance for stateful inspection.
Example: To ensure all inbound internet traffic and outbound internal traffic to the internet passes through a virtual firewall (the security tool) for deep packet inspection, a GWLB is provisioned. VPC route tables are updated to redirect relevant traffic to a GWLBe, which then directs it to the fleet of firewall instances managed by an Auto Scaling group behind the GWLB. The GWLB ensures traffic is returned to its original path after inspection.
QUESTION 7
A company plans to migrate a three-tiered web application from an on-premises data center to AWS. The company developed the IJI by using server-side JavaScript libraries. The business logic and API tier uses a Python-based web framework. The data tier runs on a MySQL database.
The company custom built the application to meet business requirements. The company does not want to re-architect the application. The company needs a solution to re-platform the application to AWS with the least possible amount of development. The solution needs to be highly available and must reduce operational overhead.
Which solution will meet these requirements?
- A. Deploy the Ul to a static website on Amazon $3. Use Amazon CloudFront to deliver the website. Build the business logic in a Docker image. Store the image in Amazon Elastic Container Registry (Amazon ECR). Use Amazon Elastic Container Service (Amazon ECS) with the Fargate launch type to host the website with an Application Load Balancer in front. Deploy the data layer to an Amazon Aurora MySQL DB cluster.
- B. Build the UI and business logic in Docker images. Store the images in Amazon Elastic Container Registry (Amazon ECR). Use Amazon Elastic Container Service (Amazon ECS) with the Fargate launch type to host the Ul and business logic applications with an Application Load Balancer in front. Migrate the database to an Amazon RDS for MySQL Multi-AZ DB instance.
- C. Deploy the Ul to a static website on Amazon S3. Use Amazon CloudFront to deliver the website. Convert the business logic to AWS Lambda functions. Integrate the functions with Amazon API Gateway. Deploy the data layer to an Amazon Aurora MySQL DB cluster.
- D. Build the UI and business logic in Docker images. Store the images in Amazon Elastic Container Registry (Amazon ECR). Use Amazon Elastic Kubernetes Service (Amazon EKS) with Fargate profiles to host the Ul and business logic. Use AWS Database Migration Service (AWS DMS) to migrate the data layer to Amazon DynamoDB.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution outlines a modern, containerized architecture using AWS managed services. Amazon ECR serves as a fully managed Docker container registry for storing application images. Amazon ECS, utilizing the Fargate launch type, provides a serverless compute engine for running these containers, eliminating the need to manage EC2 instances. An Application Load Balancer (ALB) is deployed to distribute incoming traffic efficiently across the ECS tasks, providing load balancing, SSL termination, and advanced routing. The data layer is migrated to an Amazon RDS for MySQL Multi-AZ DB instance, a fully managed relational database service that ensures high availability and automatic failover by maintaining a synchronous standby replica in a separate Availability Zone.
Why this fits: This approach represents a robust, scalable, and highly available architecture appropriate for professional-level solutions. Containerizing both the UI and business logic simplifies development, deployment, and scaling, while ECS Fargate further reduces operational overhead by abstracting server management. The ALB ensures that the application is fault-tolerant and performs optimally under varying loads. The use of Amazon RDS for MySQL Multi-AZ is critical for achieving high availability and durability for the database layer, with AWS handling operational tasks such as backups, patching, and replication, which are essential for production-grade applications.
Example: A company developing a SaaS application, such as a project management tool or a customer relationship management (CRM) system, can implement this architecture. The various microservices comprising the UI and backend logic are containerized and deployed on ECS Fargate, accessible via an ALB. All application data, including user accounts, project details, and task lists, resides in an Amazon RDS for MySQL Multi-AZ instance, ensuring continuous data availability and protection against single-point-of-failure scenarios within an Availability Zone.
QUESTION 8
A company has an application that runs as a Replica Set of multiple pods in an Amazon Elastic Kubernetes Service (Amazon EKS) cluster. The EKS cluster has nodes in multiple Availability Zones. The application generates many small files that must be accessible across all running instances of the application. The company needs to back up the files and retain the backups for 1 year.
Which solution will meet these requirements while providing the FASTEST storage performance?
- A. Create an Amazon Elastic File System (Amazon EFS) file system and a mount target for each subnet that contains nodes in the EKS cluster. Configure the ReplicaSet to mount the file system. Direct the application to store files in the file system. Configure AWS Backup to back up and retain copies of the data for 1 year.
- B. Create an Amazon Elastic Block Store (Amazon EBS) volume. Enable the EBS Multi-Attach feature. Configure the ReplicaSet to mount the EBS volume. Direct the application to store files in the EBS volume. Configure AWS Backup to back up and retain copies of the data for 1 year.
- C. Create an Amazon S3 bucket. Configure the ReplicaSet to mount the S3 bucket. Direct the application to store files in the S3 bucket. Configure S3 Versioning to retain copies of the data. Configure an S3 Lifecycle policy to delete objects after 1 year.
- D. Configure the ReplicaSet to use the storage available on each of the running application pods to store the files locally. Use a third-party tool to back up the EKS cluster for 1 year.
Click to View Verified Solution & Explanation
Correct Option: A
Description: Amazon Elastic File System (EFS) provides scalable, elastic, shared file storage that is accessible from multiple Amazon EC2 instances or Amazon Elastic Kubernetes Service (EKS) pods concurrently. EFS supports standard file system interfaces (NFSv4.1 and NFSv4.0), making it compatible with applications expecting POSIX file system semantics. EFS is designed for high availability and durability, spanning multiple Availability Zones within a region. AWS Backup is a fully managed backup service that centralizes and automates data protection across AWS services, including EFS, offering policy-based retention.
Why this fits: This solution directly addresses the need for persistent, shared storage for an application running in an EKS cluster, where multiple pods (managed by a ReplicaSet) require concurrent read/write access to the same data. EFS is the native AWS service designed for this exact use case in Kubernetes environments via the Amazon EFS CSI driver. Creating mount targets in each relevant subnet ensures that EKS nodes and pods across different Availability Zones can access the EFS file system with low latency and high availability. AWS Backup is the appropriate service to meet the 1-year data retention requirement for EFS file systems.
Example: An EKS cluster hosts a web application where users upload profile pictures. A ReplicaSet manages multiple pods serving the application. These pods need to store and retrieve the uploaded images from a common, persistent location. By configuring a PersistentVolumeClaim in EKS that references an EFS file system, all pods in the ReplicaSet can mount the EFS volume and access the same set of images, ensuring data persistence even if pods are rescheduled. AWS Backup is then used to create daily backups of the EFS file system, retaining them for 1 year.
QUESTION 9
A company has an organization that has many AWS accounts in AWS Organizations. A solutions architect must improve how the company manages common security group rules for the AWS accounts in the organization.
The company has a common set of IP CIDR ranges in an allow list in each AWS account to allow access to and from the company’s on-premises network. Developers within each account are responsible for adding new IP CIDR ranges to their security groups. The security team has its own AWS account. Currently, the security team notifies the owners of the other AWS accounts when changes are made to the allow list.
The solutions architect must design a solution that distributes the common set of CIDR ranges across all accounts.
Which solution meets these requirements with the LEAST amount of operational overhead?
- A. Set up an Amazon Simple Notification Service (Amazon SNS) topic in the security team's AWS account. Deploy an AWS Lambda function in each AWS account. Configure the Lambda function to run every time an SNS topic receives a message. Configure the Lambda function to take an IP address as input and add it to a list of security groups in the account. Instruct the security team to distribute changes by publishing messages to its SNS topic.
- B. Create new customer-managed prefix lists in each AWS account within the organization. Populate the prefix lists in each account with all internal CIDR ranges. Notify the owner of each AWS account to allow the new customer-managed prefix list IDs in their accounts in their security groups. Instruct the security team to share updates with each AWS account owner.
- C. Create a new customer-managed prefix list in the security team's AWS account. Populate the customer-managed prefix list with all internal CIDR ranges. Share the customer-managed prefix list with the organization by using AWS Resource Access Manager. Notify the owner of each AWS account to allow the new customer-managed prefix list ID in their security groups.
- D. Create an IAM role in each account in the organization. Grant permissions to update security groups. Deploy an AWS Lambda function in the security team's AWS account. Configure the Lambda function to take a list of internal IP addresses as input, assume a role in each organization account, and add the list of IP addresses to the security groups in each account.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS customer-managed prefix lists allow you to group multiple CIDR blocks into a single object. This object can then be referenced by AWS resources such as security groups or network ACLs. AWS Resource Access Manager (RAM) is a service that enables you to share your AWS resources with any AWS account or within your AWS Organization.
Why this fits: This approach centralizes the management of internal IP addresses. The security team maintains a single source of truth—the customer-managed prefix list—in their account. By using AWS RAM, this prefix list can be shared automatically across all accounts in the AWS Organization. Account owners simply need to reference this shared prefix list ID in their security group rules. When the security team updates the central prefix list, these changes are automatically reflected in all security groups that reference it, ensuring consistent and up-to-date access control without requiring manual intervention in each account. This significantly reduces operational overhead and enhances security by minimizing configuration drift.
Example: A company wants to ensure that all development servers across different AWS accounts can only be accessed from the corporate office’s internal network. The security team creates a customer-managed prefix list called corp-internal-ips with all corporate CIDRs (e.g., 192.168.1.0/24, 10.0.0.0/8). They then share corp-internal-ips via AWS RAM with the entire AWS Organization. Developers in each account configure their EC2 security groups to allow inbound SSH (port 22) from the vpce-xxxxxx (the ID of the shared prefix list). If the corporate office adds a new CIDR, the security team updates corp-internal-ips once, and all dependent security groups automatically inherit the change.
QUESTION 10 (Multi-Select)
A company wants to migrate to AWS. The company wants to use a multi-account structure with centrally managed access to all accounts and applications. The company also wants to keep the traffic on a private network. Multi-factor authentication (MFA) is required at login, and specific roles are assigned to user groups.
The company must create separate accounts for development, staging, production, and shared network. The production account and the shared network account must have connectivity to all accounts. The development account and the staging account must have access only to each other.
Which combination of steps should a solutions architect take to meet these requirements? (Select THREE.)
- A. Deploy a landing zone environment by using AWS Control Tower. Enroll accounts and invite existing accounts into the resulting organization in AWS Organizations.
- B. Enable AWS Security Hub in all accounts to manage cross-account access. Collect findings through AWS CloudTrail to force MFA login.
- C. Create transit gateways and transit gateway VPC attachments in each account. Configure appropriate route tables.
- D. Set up and enable AWS IAM Identity Center (AWS Single Sign-On). Create appropriate permission sets with required MFA for existing accounts.
- E. Enable AWS Control Tower in all accounts to manage routing between accounts. Collect findings through AWS CloudTrail to force MFA login.
- F. Create IAM users and groups. Configure MFA for all users. Set up Amazon Cognito user pools and identity pools to manage access to accounts and between accounts.
Click to View Verified Solution & Explanation
Correct Option: A,C,D
Description: AWS Control Tower automates the setup of a secure, multi-account AWS environment (a landing zone) following AWS best practices. It establishes an AWS Organizations structure, configures preventive and detective guardrails, and simplifies the process of provisioning new accounts and integrating existing ones.
Why this fits: For professional-level solutions, establishing a governed, scalable, and secure multi-account environment from the outset is fundamental. Control Tower provides this automation, ensuring a consistent baseline for security, compliance, and operational best practices across the entire organization, which is critical for managing complex architectures.
Example: A large enterprise wants to onboard multiple business units into AWS, each with its own set of accounts. Control Tower creates the foundational structure, applies mandatory guardrails, and allows for centralized management and governance across all these accounts.
✅ Create transit gateways and transit gateway VPC attachments in each account. Configure appropriate route tables.
Description: AWS Transit Gateway acts as a central network hub, connecting multiple Amazon Virtual Private Clouds (VPCs) and on-premises networks. It simplifies network topology by centralizing routing, thereby eliminating the need for complex full-mesh VPC peering connections.
Why this fits: In a multi-account environment with numerous VPCs, direct VPC peering becomes unmanageable and unscalable. Transit Gateway provides a highly scalable and simplified network architecture for inter-VPC communication and hybrid cloud connectivity, which is essential for designing robust and interconnected systems at a professional level.
Example: An organization has several VPCs across different accounts (e.g., development, testing, production, shared services) that need to communicate with each other and with an on-premises data center. A Transit Gateway centralizes routing, reducing operational overhead and improving network visibility.
✅ Set up and enable AWS IAM Identity Center (AWS Single Sign-On). Create appropriate permission sets with required MFA for existing accounts.
Description: AWS IAM Identity Center (formerly AWS Single Sign-On) provides centralized access management to multiple AWS accounts and integrated cloud applications. It allows users to sign in once with their corporate credentials to access all their assigned resources, using permission sets to define specific access levels and required authentication methods like MFA.
Why this fits: Centralized identity and access management is crucial for security, auditability, and operational efficiency in a multi-account AWS environment. IAM Identity Center, integrated with AWS Organizations, simplifies the management of user access across all accounts. Requiring MFA significantly enhances security, aligning with professional best practices for identity management.
Example: An organization with a large user base needs to grant varying levels of access (e.g., read-only, developer, security auditor) to specific AWS accounts within their organization. IAM Identity Center enables the creation of permission sets that can be assigned to users or groups, enforcing MFA for all sign-ins to enhance security.
QUESTION 11
A company runs an application on a fleet of Amazon EC2 instances that are in private subnets behind an internet-facing Application Load Balancer (ALB). The ALB is the origin for an Amazon CloudFront distribution. An AWS WAF web ACL that contains various AWS managed rules is associated with the CloudFront distribution.
The company needs a solution that will prevent internet traffic from directly accessing the ALB.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create a new web ACL that contains the same rules that the existing web ACL contains. Associate the new web ACL with the ALB.
- B. Associate the existing web ACL with the ALB.
- C. Add a security group rule to the ALB to allow traffic from the AWS managed prefix list for CloudFront only.
- D. Add a security group rule to the ALB to allow only the various CloudFront IP address ranges.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Managed Prefix Lists are collections of IP address ranges (CIDRs) that AWS maintains and updates on your behalf for specific services. For CloudFront, the prefix list
com.amazonaws.global.cloudfront.origins contains all the IP addresses that CloudFront uses to forward requests to origin servers. By referencing this prefix list in an ALB’s security group inbound rule, you ensure that the ALB only accepts traffic originating from CloudFront edge locations.
Why this fits: When an Application Load Balancer (ALB) serves as an origin for an Amazon CloudFront distribution, it is crucial to restrict direct access to the ALB from the internet. All traffic should flow through CloudFront for caching, security, and performance benefits. Using an AWS managed prefix list for CloudFront in the ALB’s security group is the recommended best practice. It automatically keeps the allowed IP ranges up to date, eliminating the operational overhead and potential for errors associated with manually updating security group rules as CloudFront’s IP ranges change. This configuration ensures that only CloudFront can reach the ALB, enhancing security.
Example: To secure an ALB that acts as an origin for a CloudFront distribution, you would modify the ALB’s security group. You would add an inbound rule for the necessary port (e.g., HTTPS on port 443), set the source to pl-xxxxxxxx (where xxxxxxxx is the identifier for com.amazonaws.global.cloudfront.origins), and allow the traffic. This prevents direct access to the ALB from any IP address not part of the CloudFront network.
QUESTION 12
A company runs a proprietary stateless ETL application on an Amazon EC2 Linux instance. The application is a Linux binary, and the source code cannot be modified. The application is single-threaded, uses 2 GB of RAM, and is highly CPU intensive. The application is scheduled to run every 4 hours and runs for up to 20 minutes. A solutions architect wants to revise the architecture for the solution.
Which strategy should the solutions architect use?
- A. Use AWS Lambda to run the application. Use Amazon CloudWatch Logs to invoke the Lambda function every 4 hours.
- B. Use AWS Batch to run the application. Use an AWS Step Functions state machine to invoke the AWS Batch job every 4 hours.
- C. Use AWS Fargate to run the application. Use Amazon EventBridge to invoke the Fargate task every 4 hours.
- D. Use Amazon EC2 Spot Instances to run the application. Use AWS CodeDeploy to deploy and run the application every 4 hours.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Fargate is a serverless compute engine for Amazon ECS and EKS that allows you to run containers without having to manage servers or clusters. Amazon EventBridge (formerly Amazon CloudWatch Events) is a serverless event bus service that makes it easier to connect applications together using data from your own applications, integrated SaaS applications, and AWS services. It supports scheduled events using cron or rate expressions.
Why this fits: This solution leverages Fargate for its serverless nature, eliminating the operational overhead of managing EC2 instances. Fargate is ideal for running containerized applications, including those that need to run periodically. EventBridge is the appropriate and most robust AWS service for scheduling recurring, time-based events, such as invoking a Fargate task every 4 hours. It provides reliable scheduling and direct integration with ECS tasks (which Fargate runs).
Example: An organization needs to run a data processing job container every 4 hours to aggregate logs. They can define an ECS task definition for their container, then create an EventBridge rule with a schedule expression (e.g., rate(4 hours)) that targets this ECS task (running on Fargate launch type). EventBridge will automatically start a new Fargate task instance at the specified interval.
QUESTION 13
A company is running a web application in a VPC. The web application runs on a group of Amazon EC2 instances behind an Application Load Balancer (ALB). The ALB is using AWS WAF.
An external customer needs to connect to the web application. The company must provide IP addresses to all external customers.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Replace the ALB with a Network Load Balancer (NLB). Assign an Elastic IP address to the NLB.
- B. Allocate an Elastic IP address. Assign the Elastic IP address to the ALB. Provide the Elastic IP address to the customer.
- C. Create an AWS Global Accelerator standard accelerator Specify the ALB as the accelerator's endpoint. Provide the accelerator's IP addresses to the customer.
- D. Configure an Amazon CloudFront distribution. Set the ALB as the origin. Ping the distribution's DNS name to determine the distribution's public IP address. Provide the IP address to the customer.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Global Accelerator provides a solution for applications that require static, public, anycast IP addresses. It delivers two static IP addresses that act as a fixed entry point to your application, routing traffic to the optimal regional endpoint (such as an Application Load Balancer, Network Load Balancer, or EC2 instance) based on performance, health, and location. It utilizes the AWS global network to improve application availability and performance for global users.
Why this fits: This is the most appropriate and recommended AWS service for providing a static, public IP address for an application served by an Application Load Balancer (ALB). ALBs themselves do not support assigning Elastic IP addresses directly, and their public IP addresses are dynamic. Global Accelerator sits in front of the ALB, providing two static anycast IP addresses that clients can use. This preserves the advanced routing and load balancing features of the ALB while satisfying the requirement for fixed IP addresses, often needed for client whitelisting.
Example: A customer has a web application deployed in AWS, fronted by an ALB. They have external partners who need to whitelist a fixed IP address in their firewalls to access the application. By creating an AWS Global Accelerator and specifying the ALB as an endpoint, the customer can provide the two static IP addresses from the accelerator to their partners, ensuring consistent access without exposing the dynamic IPs of the ALB.
QUESTION 14
A financial services company receives a regular data feed from its credit card servicing partner. Approximately 5,000 records are sent every 15 minutes in plaintext, delivered over HTTPS directly into an Amazon S3 bucket with server-side encryption. This feed contains sensitive credit card primary account number (PAN) data. The company needs to automatically mask the PAN before sending the data to another S3 bucket for additional internal processing. The company also needs to remove and merge specific fields, and then transform the record into JSON format. Additionally, extra feeds are likely to be added in the future, so any design needs to be easily expandable.
Which solutions will meet these requirements?
- A. Invoke an AWS Lambda function on file delivery that extracts each record and writes it to an Amazon SQS queue. Invoke another Lambda function when new messages arrive in the SQS queue to process the records, writing the results to a temporary location in Amazon S3. Invoke a final Lambda function once the SQS queue is empty to transform the records into JSON format and send the results to another S3 bucket for internal processing.
- B. Invoke an AWS Lambda function on file delivery that extracts each record and writes it to an Amazon SQS queue. Configure an AWS Fargate container application to automatically scale to a single instance when the SQS queue contains messages. Have the application process each record, and transform the record into JSON format. When the queue is empty, send the results to another S3 bucket for internal processing and scale down the AWS Fargate instance.
- C. Create an AWS Glue crawler and custom classifier based on the data feed formats and build a table definition to match. Invoke an AWS Lambda function on file delivery to start an AWS Glue ETL job to transform the entire record according to the processing and transformation requirements. Define the output format as JSON. Once complete, have the ETL job send the results to another S3 bucket for internal processing.
- D. Create an AWS Glue crawler and custom classifier based upon the data feed formats and build a table definition to match. Perform an Amazon Athena query on file delivery to start an Amazon EMR ETL job to transform the entire record according to the processing and transformation requirements. Define the output format as JSON. Once complete, send the results to another S3 bucket for internal processing and scale down the EMR cluster.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Glue is a fully managed, serverless data integration service that makes it easy to discover, prepare, and combine data for analytics, machine learning, and application development. It includes features like Glue Crawlers for schema discovery, a Data Catalog for metadata storage, and serverless ETL jobs (Spark or Python shell) for data transformation.
Why this fits: This choice leverages AWS Glue, which is specifically designed for schema discovery, cataloging, and ETL operations on large datasets with varying formats.
- AWS Glue Crawler and Custom Classifier: This is the ideal solution for identifying schemas from diverse data feed formats, especially when custom logic is needed for complex or proprietary formats. The crawler populates the AWS Glue Data Catalog, providing a unified metadata repository.
- AWS Lambda function on file delivery: Lambda is an excellent event-driven service to trigger the ETL process immediately upon file arrival (e.g., from S3 PUT events).
- AWS Glue ETL job: This is a robust, serverless solution for transforming entire records according to specific business rules. It scales automatically, eliminating the need for infrastructure management. It can handle complex transformations and output the data in the required JSON format directly to an S3 bucket. This aligns perfectly with professional-level requirements for automated, scalable, and managed data processing.
Example: A financial institution receives daily transaction files in various proprietary and standard formats (CSV, fixed-width, XML). An S3 bucket receives these files. A Lambda function triggers a Glue ETL job when a file arrives. The Glue crawler, using a custom classifier, identifies the schema for each file type. The ETL job reads the data, transforms it (e.g., standardizing date formats, masking sensitive data, enriching records), converts it to a unified JSON format, and stores the processed data in another S3 bucket for downstream analytics and reporting.
QUESTION 15
A company is running an application in the AWS Cloud. The application collects and stores a large amount of unstructured data in an Amazon S3 bucket. The S3 bucket contains several terabytes of data and uses the S3 Standard storage class. The data increases in size by several gigabytes every day.
The company needs to query and analyze the data. The company does not access data that is more than 1 year old. However, the company must retain all the data indefinitely for compliance reasons.
Which solution will meet these requirements MOST cost-effectively?
- A. Use S3 Select to query the data. Create an S3 Lifecycle policy to transition data that is more than 1 year old to S3 Glacier Deep Archive.
- B. Use Amazon Redshift Spectrum to query the data. Create an S3 Lifecycle policy to transition data that is more than 1 year old to S3 Glacier Deep Archive.
- C. Use an AWS Glue Data Catalog and Amazon Athena to query the data. Create an S3 Lifecycle policy to transition data that is more than 1 year old to S3 Glacier Deep Archive.
- D. Use Amazon Redshift Spectrum to query the data. Create an S3 Lifecycle policy to transition data that is more than 1 year old to S3 Intelligent-Tiering.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution leverages AWS’s serverless data lake querying capabilities and cost-optimized archival storage. AWS Glue Data Catalog acts as a central metadata repository, storing schemas and table definitions for data residing in Amazon S3. Amazon Athena is a serverless interactive query service that uses standard SQL to analyze data directly in S3, relying on the Glue Data Catalog for schema information. An S3 Lifecycle policy automates the movement of objects to different storage classes or their deletion. S3 Glacier Deep Archive is Amazon S3’s lowest-cost storage class, designed for long-term retention of data that is accessed rarely, typically once or twice a year, making it ideal for data older than 1 year.
Why this fits: This approach provides a highly scalable, serverless, and cost-effective solution for both data querying and long-term archiving. Amazon Athena, combined with the AWS Glue Data Catalog, allows for ad-hoc and interactive SQL queries directly against data stored in S3 without managing any servers or infrastructure. For data older than one year, transitioning it to S3 Glacier Deep Archive significantly reduces storage costs while maintaining durability, perfectly aligning with a strategy for infrequently accessed, historical data. Other options like S3 Select are limited to single object queries, and while Redshift Spectrum can query S3 data, it requires an active Redshift cluster, which may not be the most cost-effective or serverless solution for ad-hoc queries. S3 Intelligent-Tiering, while useful, is not designed for deep archival of data known to be rarely accessed for long periods; S3 Glacier Deep Archive offers superior cost savings for such use cases.
Example: An organization stores application logs, IoT sensor data, and other operational metrics in Amazon S3. They need to occasionally run analytical queries on this data for auditing and reporting purposes. By using AWS Glue to catalog the schema of their log files (e.g., CSV, JSON, Parquet) in S3, they can then use Amazon Athena to run SQL queries on this vast dataset without having to load it into a database. To manage costs, they configure an S3 Lifecycle policy to automatically move log files older than 365 days from S3 Standard to S3 Glacier Deep Archive, ensuring long-term retention at the lowest possible cost while still allowing retrieval when necessary.
QUESTION 16 (Multi-Select)
A company is running an application in the AWS Cloud. The company’s security team must approve the creation of all new IAM users. When a new IAM user is created, all access for the user must be removed automatically. The security team must then receive a notification to approve the user. The company has a multi-Region AWS CloudTrail trail in the AWS account.
Which combination of steps will meet these requirements? (Select THREE.)
- A. Create an Amazon EventBridge rule. Define a pattern with the detail-type value set to AWS API Call via CloudTrail and an eventName of CreateUser.
- B. Configure CloudTrail to send a notification for the CreateUser event to an Amazon Simple Notification Service (Amazon SNS) topic.
- C. Invoke a container that runs in Amazon Elastic Container Service (Amazon ECS) with AWS Fargate technology to remove access.
- D. Invoke an AWS Step Functions state machine to remove access.
- E. Use Amazon Simple Notification Service (Amazon SNS) to notify the security team.
- F. Use Amazon Pinpoint to notify the security team.
Click to View Verified Solution & Explanation
Correct Option: A,D,E
Description: Amazon EventBridge is a serverless event bus service that ingests data from your applications, AWS services, and SaaS applications. It allows you to define rules with specific patterns to match incoming events and route them to targets for processing.
Why this fits: To detect an AWS API call like CreateUser in near real-time, EventBridge is the most suitable service. CloudTrail publishes API call events to EventBridge, and an EventBridge rule can be configured to specifically filter for detail-type: AWS API Call via CloudTrail and eventName: CreateUser, enabling immediate action upon detection.
Example: An EventBridge rule is set up with a pattern {"detail-type": ["AWS API Call via CloudTrail"], "detail": {"eventName": ["CreateUser"]}}. When a user creation event occurs, this rule is triggered and can then invoke a target like a Lambda function or an AWS Step Functions state machine.
✅ Choice D: Invoke an AWS Step Functions state machine to remove access.
Description: AWS Step Functions is a serverless workflow service that allows you to orchestrate complex, multi-step business processes and workflows using visual state machines. It enables reliable execution, error handling, and retries across various AWS services.
Why this fits: After detecting the CreateUser event, a robust and automated process is needed to "remove access." This often involves multiple steps (e.g., deleting the user, detaching policies, revoking sessions). Step Functions is ideal for orchestrating such a remediation workflow, ensuring all necessary steps are completed in order and handling potential failures.
Example: An EventBridge rule (triggered by CreateUser) invokes an AWS Step Functions state machine. The state machine could have steps that use AWS Lambda functions to first identify the user, then delete the IAM user, remove associated policies, and finally log the remediation action, providing a comprehensive automated response.
✅ Choice E: Use Amazon Simple Notification Service (Amazon SNS) to notify the security team.
Description: Amazon Simple Notification Service (SNS) is a highly available, durable, secure, and fully managed pub/sub messaging service that enables you to send messages to a large number of subscribers via various protocols (e.g., email, SMS, HTTP/S, Lambda).
Why this fits: In a security incident response scenario, immediate and reliable notification to the security team is paramount. SNS is the standard AWS service for sending operational alerts and notifications. It can be integrated directly with EventBridge or within a Step Functions workflow to alert security personnel (e.g., via email or SMS) about the detected CreateUser event and any subsequent automated actions.
Example: An EventBridge rule detecting CreateUser can have an SNS topic as a target to immediately publish a message to security team subscribers. Alternatively, a step within an AWS Step Functions state machine could publish a detailed message to an SNS topic after a user has been detected and potentially remediated, ensuring the security team is informed of the incident.
QUESTION 17
A company has migrated its forms-processing application to AWS. When users interact with the application, they upload scanned forms as files through a web application. A database stores user metadata and references to files that are stored in Amazon S3. The web application runs on Amazon EC2 instances and an Amazon RDS for PostgreSQL database.
When forms are uploaded, the application sends notifications to a team through Amazon Simple Notification Service (Amazon SNS). A team member then logs in and processes each form. The team member performs data validation on the form and extracts relevant data before entering the information into another system that uses an API.
A solutions architect needs to automate the manual processing of the forms. The solution must provide accurate form extraction, minimize time to market, and minimize long-term operational overhead.
Which solution will meet these requirements?
- A. Develop custom libraries to perform optical character recognition (OCR) on the forms. Deploy the libraries to an Amazon Elastic Kubernetes Service (Amazon EKS) cluster as an application tier. Use this tier to process the forms when forms are uploaded. Store the output in Amazon S3. Parse this output by extracting the data into an Amazon DynamoDB table. Submit the data to the target system's API. Host the new application tier on EC2 instances.
- B. Extend the system with an application tier that uses AWS Step Functions and AWS Lambda. Configure this tier to use artificial intelligence and machine learning (AI/ML) models that are trained and hosted on an EC2 instance to perform optical character recognition (OCR) on the forms when forms are uploaded. Store the output in Amazon S3. Parse this output by extracting the data that is required within the application tier. Submit the data to the target system's API.
- C. Host a new application tier on EC2 instances. Use this tier to call endpoints that host artificial intelligence and machine learning (AIIML) models that are trained and hosted in Amazon SageMaker to perform optical character recognition (OCR) on the forms. Store the output in Amazon ElastiCache. Parse this output by extracting the data that is required within the application tier. Submit the data to the target system's API.
- D. Extend the system with an application tier that uses AWS Step Functions and AWS Lambda. Configure this tier to use Amazon Textract and Amazon Comprehend to perform optical character recognition (OCR) on the forms when forms are uploaded. Store the output in Amazon S3. Parse this output by extracting the data that is required within the application tier. Submit the data to the target system's API.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This choice proposes a robust, serverless architecture for automated document processing. AWS Step Functions orchestrates a workflow, while AWS Lambda handles event-driven execution. Amazon Textract is a fully managed machine learning service that automatically extracts text, handwriting, and data from scanned documents. Amazon Comprehend is a natural language processing (NLP) service that uses machine learning to find insights and relationships in text, which can be used to extract specific entities or sentiment from the Textract output. Amazon S3 serves as a highly durable and scalable storage solution for the processed output.
Why this fits: This approach leverages AWS managed services for OCR and NLP, which are purpose-built for these tasks, offering high accuracy and scalability without requiring customers to build, train, and maintain their own machine learning models. Using Step Functions and Lambda creates a highly scalable, fault-tolerant, and cost-effective serverless workflow. Step Functions provides state management and retries, making the workflow resilient. Storing the output in S3 is a standard best practice for data lakes and transient/permanent storage of processed documents. Parsing the data within the Lambda function before submitting to an API is an efficient way to integrate with existing systems. This aligns with the AWS Well-Architected Framework principles of operational excellence and cost optimization by using managed, serverless, and purpose-built services.
Example: A company receives thousands of customer application forms daily. When a form is uploaded to an S3 bucket, it triggers an AWS Step Functions workflow. The first step uses a Lambda function to call Amazon Textract, which extracts all text and structured data from the form. The output from Textract is then passed to another Lambda function. This function uses Amazon Comprehend to identify key entities (e.g., names, addresses, product numbers) from the extracted text. The parsed data is then stored in a designated S3 bucket and simultaneously submitted via an API call to the company’s internal customer relationship management (CRM) system.
QUESTION 18 (Multi-Select)
A company has hundreds of AWS accounts. The company recently implemented a centralized internal process for purchasing new Reserved Instances and modifying existing Reserved Instances. This process requires all business units that want to purchase or modify Reserved Instances to submit requests to a dedicated team for procurement. Previously, business units directly purchased or modified Reserved Instances in their own respective AWS accounts autonomously.
A solutions architect needs to enforce the new process in the most secure way possible.
Which combination of steps should the solutions architect take to meet these requirements? (Select TWO.)
- A. Ensure that all AWS accounts are part of an organization in AWS Organizations with all features enabled.
- B. Use AWS Config to report on the attachment of an IAM policy that denies access to the ec2:PurchaseReservedlnstancesOffering action and the ec2:ModifyReservedlnstances action.
- C. In each AWS account, create an IAM policy that denies the ec2:PurchaseReservedlnstancesOffering action and the ec2:ModifyReservedlnstances action.
- D. Create an SCP that denies the ec2:PurchaseReservedlnstancesOffering action and the ec2:ModifyReservedlnstances action. Attach the SCP to each OU of the organization.
- E. Ensure that all AWS accounts are part of an organization in AWS Organizations that uses the consolidated billing feature.
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: AWS Organizations is a service that helps you centrally manage and govern your environment as you grow and scale your AWS resources. Enabling "all features" in AWS Organizations grants you access to advanced management capabilities, including consolidated billing, but critically, also Service Control Policies (SCPs), which are essential for implementing preventative guardrails.
Why this fits: To use Service Control Policies (SCPs) effectively, which are the primary mechanism for centrally controlling permissions across all accounts in your organization, the organization must be configured with "all features enabled." Without this setting, SCPs cannot be created, attached, or enforced, making it impossible to implement the desired preventative control at the organizational level.
Example: A new multi-account AWS environment is being set up for a large enterprise. The first step in establishing central governance and security controls, such as preventing unauthorized purchases of EC2 Reserved Instances across all accounts, is to create an organization and ensure it has "all features enabled."
✅ Create an SCP that denies the ec2:PurchaseReservedlnstancesOffering action and the ec2:ModifyReservedlnstances action. Attach the SCP to each OU of the organization.
Description: A Service Control Policy (SCP) is a type of organization policy that provides central control over the maximum available permissions for all accounts in an organizational unit (OU) or an entire organization. SCPs do not grant permissions; they filter and restrict them, serving as a "guardrail" on what actions can be performed by users and roles within affected accounts.
Why this fits: SCPs are the most effective and scalable way to prevent specific AWS actions, such as ec2:PurchaseReservedInstancesOffering and ec2:ModifyReservedInstances, across multiple accounts in an AWS Organization. By defining an explicit deny SCP and attaching it to the relevant OUs (or the root of the organization), you ensure that no IAM user or role in any account under those OUs can perform these actions, even if an IAM policy within that account attempts to grant them. This provides a strong, centralized, and preventative security control.
Example: A company’s finance department is solely responsible for purchasing and managing Reserved Instances. To prevent any other team or automated process from purchasing or modifying Reserved Instances, an SCP denying ec2:PurchaseReservedInstancesOffering and ec2:ModifyReservedInstances is created and attached to the root of the organization or specific OUs that contain development and operations accounts.
QUESTION 19
A company has its cloud infrastructure on AWS. A solutions architect needs to define the infrastructure as code. The infrastructure is currently deployed in one AWS Region. The company’s business expansion plan includes deployments in multiple Regions across multiple AWS accounts.
What should the solutions architect do to meet these requirements?
- A. Use AWS CloudFormation templates. Add IAM policies to control the various accounts. Deploy the templates across the multiple Regions.
- B. Use AWS Organizations. Deploy AWS CloudFormation templates from the management account. Use AWS Control Tower to manage deployments across accounts.
- C. Use AWS Organizations and AWS CloudFormation StackSets. Deploy a CloudFormation template from an account that has the necessary IAM permissions.
- D. Use nested stacks with AWS CloudFormation templates. Change the Region by using nested stacks.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Organizations is a service that helps you centrally manage and govern your environment as you grow and scale your AWS resources. AWS CloudFormation StackSets extends the functionality of CloudFormation by enabling you to deploy a common CloudFormation template across multiple AWS accounts and AWS Regions simultaneously with a single operation. This allows for consistent infrastructure deployment across your entire organization.
Why this fits: This approach directly addresses the challenge of deploying standardized infrastructure across multiple accounts and multiple Regions efficiently and consistently. AWS Organizations provides the foundational structure for managing the accounts, while CloudFormation StackSets provides the automation and scalability for deployment. The requirement for necessary IAM permissions ensures that the deployment action is authorized to create and manage resources in the target accounts and Regions.
Example: An organization wants to deploy a standard set of security logging configurations (e.g., S3 buckets for logs, CloudWatch Alarms, IAM roles) into every new AWS account provisioned within its organization, across its primary operating regions (e.g., us-east-1, eu-west-1). Using AWS Organizations, all accounts are centrally managed. A CloudFormation StackSet is created from the management account (or a delegated administrator account) with a template defining these security resources. This StackSet is then configured to deploy instances across all target accounts and specified regions, ensuring consistent security posture throughout the enterprise.
QUESTION 20
A company has an asynchronous HTTP application that is hosted as an AWS Lambda function. A public Amazon API Gateway endpoint invokes the Lambda function. The Lambda function and the API Gateway endpoint reside in the us-east-1 Region. A solutions architect needs to redesign the application to support failover to another AWS Region.
Which solution will meet these requirements?
- A. Create an API Gateway endpoint in the us-west-2 Region to direct traffic to the Lambda function in us-east-1. Configure Amazon Route 53 to use a failover routing policy to route traffic for the two API Gateway endpoints.
- B. Create an Amazon Simple Queue Service (Amazon SQS) queue. Configure API Gateway to direct traffic to the SQS queue instead of to the Lambda function. Configure the Lambda function to pull messages from the queue for processing.
- C. Deploy the Lambda function to the us-west-2 Region. Create an API Gateway endpoint in us-west-2 to direct traffic to the Lambda function in us-west-2. Configure AWS Global Accelerator and an Application Load Balancer to manage traffic across the two API Gateway endpoints.
- D. Deploy the Lambda function and an API Gateway endpoint to the us-west-2 Region. Configure Amazon Route 53 to use a failover routing policy to route traffic for the two API Gateway endpoints.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This choice describes a robust multi-Region active/passive disaster recovery strategy for a serverless application. It involves deploying identical copies of the application components (Lambda function and its API Gateway endpoint) in two distinct AWS Regions, such as us-east-1 (primary) and us-west-2 (secondary). Amazon Route 53 is then used to manage traffic routing between these two regional deployments. A failover routing policy, coupled with health checks, ensures that if the primary Region becomes unavailable, Route 53 automatically redirects client requests to the secondary Region.
Why this fits: This approach effectively addresses the requirements for high availability and disaster recovery for serverless applications.
- Multi-Region Resilience: By deploying the Lambda function and API Gateway endpoint in a second, geographically separate Region (us-west-2), the application gains resilience against an entire AWS Region outage. If the primary Region fails, the application can continue operating from the secondary Region.
- API Gateway as Regional Endpoint: Each Region has its own API Gateway endpoint, which serves as the entry point for the Lambda function. This ensures that the entire stack, from the API gateway to the compute, is regionalized.
- Amazon Route 53 Failover Routing Policy: Route 53’s failover routing policy is specifically designed for disaster recovery. It continuously monitors the health of the primary endpoint (via health checks) and, upon detecting a failure, automatically updates DNS records to direct traffic to the healthy secondary endpoint. This provides automatic recovery with a low Recovery Time Objective (RTO).
Example: An online banking application uses an API Gateway and a Lambda function in
us-east-1to process customer login requests. To ensure continuous availability, an identical API Gateway and Lambda function are deployed inus-west-2. Route 53 is configured with a domain namelogin.bank.com. A primary Route 53 record points to theus-east-1API Gateway with an associated health check. A secondary record points to theus-west-2API Gateway. Ifus-east-1becomes unreachable, Route 53’s health check will fail for the primary endpoint, and it will automatically direct all subsequentlogin.bank.comtraffic to the API Gateway inus-west-2, ensuring that customers can still log in without manual intervention.
QUESTION 21 (Multi-Select)
A company has an on-premises monitoring solution using a PostgreSQL database for persistence of events. The database is unable to scale due to heavy ingestion and it frequently runs out of storage.
The company wants to create a hybrid solution and has already set up a VPN connection between its network and AWS. The solution should include the following attributes:
- Managed AWS services to minimize operational complexity.
- A buffer that automatically scales to match the throughput of data and requires no ongoing administration.
- A visualization tool to create dashboards to observe events in near-real time.
- Support for semi-structured JSON data and dynamic schemas.
Which combination of components will enable the company to create a monitoring solution that will satisfy these requirements? (Select TWO.)
- A. Use Amazon Kinesis Data Firehose to buffer events. Create an AWS Lambda function to process and transform events.
- B. Create an Amazon Kinesis data stream to buffer events. Create an AWS Lambda function to process and transform events.
- C. Configure an Amazon Aurora PostgreSQL DB cluster to receive events. Use Amazon QuickSight to read from the database and create near-real-time visualizations and dashboards.
- D. Configure Amazon Elasticsearch Service (Amazon ES) to receive events. Use the Kibana endpoint deployed with Amazon ES to create near-real-time visualizations and dashboards.
- E. Configure an Amazon Neptune DB instance to receive events. Use Amazon QuickSight to read from the database and create near-real-time visualizations and dashboards.<h1>
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: Amazon Kinesis Data Firehose is a fully managed service that automatically scales to deliver real-time streaming data to destinations such as Amazon S3, Amazon Redshift, Amazon OpenSearch Service, and Splunk. It can buffer, compress, encrypt, and transform data before delivery. AWS Lambda is a serverless compute service that executes code in response to events, including those from Kinesis Data Firehose, enabling custom data processing and transformation logic.
Why this fits: Kinesis Data Firehose provides an efficient, scalable, and fully managed way to buffer incoming events. Its direct integration with AWS Lambda allows for real-time processing and transformation of these events according to specific business logic (e.g., parsing, enriching, filtering) before they are delivered to a final destination for storage or analytics. This combination is highly effective for building event-driven architectures requiring data preparation.
Example: An IoT application sends sensor readings to Kinesis Data Firehose. A Lambda function is configured to receive batches of these events from Firehose, extract specific metrics like temperature and humidity, convert units, and enrich the data with device metadata before returning the transformed data to Firehose for delivery to an S3 bucket or an OpenSearch cluster.
QUESTION 22
A solutions architect must analyze a company’s Amazon EC2 instances and Amazon Elastic Block Store (Amazon EBS) volumes to determine whether the company is using resources efficiently. The company is running several large, high-memory EC2 instances to host database clusters that are deployed in active/passive configurations. The utilization of these EC2 instances varies by the applications that use the databases and the company has not identified a pattern.
The solution architect must analyze the environment and take action based on the findings.
Which solution meets these requirements MOST cost-effectively?
- A. Create a dashboard by using AWS Systems Manager OpsCenter. Configure visualizations for Amazon CloudWatch metrics that are associated with the EC2 instances and their EBS volumes. Review the dashboard periodically, and identify usage patterns. Right size the EC2 instances based on the peaks in the metrics.
- B. Turn on Amazon CloudWatch detailed monitoring for the EC2 instances and their EBS volumes. Create and review a dashboard that is based on the metrics. Identify usage patterns. Right size the EC2 instances based on the peaks in the metrics.
- C. Install the Amazon CloudWatch agent on each of the EC2 instances. Turn on AWS Compute Optimizer, and let it run for at least 12 hours. Review the recommendations from Compute Optimizer, and Right size the EC2 instances as directed.
- D. Sign up for the AWS Enterprise Support plan. Turn on AWS Trusted Advisor. Wait 12 hours. Review the recommendations from Trusted Advisor, and right size the EC2 instances as directed.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Compute Optimizer is an AWS service that analyzes the configuration and utilization metrics of your AWS resources, such as EC2 instances, EBS volumes, and Lambda functions. It uses machine learning to recommend optimal AWS resources to improve performance and reduce costs. The CloudWatch agent is a software package that collects additional system-level metrics (e.g., memory utilization, disk space, process list) from within EC2 instances that are not collected by default CloudWatch monitoring.
Why this fits: This approach combines comprehensive metric collection with an intelligent, automated recommendation engine. Installing the CloudWatch agent is crucial for gathering detailed OS-level metrics, particularly memory utilization, which is often a key factor in right-sizing decisions but isn’t available from standard EC2 metrics. AWS Compute Optimizer then leverages this granular data to provide precise, data-driven recommendations for optimal EC2 instance types, ensuring both cost efficiency and performance. Allowing Compute Optimizer to run for at least 12 hours ensures it has sufficient historical data for accurate analysis.
Example: An organization needs to optimize its fleet of EC2 instances. By installing the CloudWatch agent, they collect memory and process utilization data. Compute Optimizer then analyzes this along with CPU and network metrics over several days. It might recommend downgrading certain m5.large instances to t3.medium instances for development environments that show consistently low CPU and memory usage, or upgrading a c5.xlarge to a c5.2xlarge if its CPU utilization is frequently maxed out, preventing performance bottlenecks while also suggesting cost savings where applicable.
QUESTION 23
A company has developed APIs that use Amazon API Gateway with Regional endpoints. The APIs call AWS Lambda functions that use API Gateway authentication mechanisms. After a design review, a solutions architect identifies a set of APIs that do not require public access.
The solutions architect must design a solution to make the set of APIs accessible only from a VPC. All APIs need to be called with an authenticated user.
Which solution will meet these requirements with the LEAST amount of effort?
- A. Create an internal Application Load Balancer (ALB). Create a target group. Select the Lambda function to call. Use the ALB DNS name to call the API from the VPC.
- B. Remove the DNS entry that is associated with the API in API Gateway. Create a hosted zone in Amazon Route 53. Create a CNAME record in the hosted zone. Update the API in API Gateway with the CNAME record. Use the CNAME record to call the API from the VPC.
- C. Update the API endpoint from Regional to private in API Gateway. Create an interface VPC endpoint in the VPC. Create a resource policy, and attach it to the API. Use the VPC endpoint to call the API from the VPC.
- D. Deploy the Lambda functions inside the VPC. Provision an EC2 instance, and install an Apache server. From the Apache server, call the Lambda functions. Use the internal CNAME record of the EC2 instance to call the API from the VPC.
Click to View Verified Solution & Explanation
Correct Option: A
Description: An Application Load Balancer (ALB) can be configured to use AWS Lambda functions as targets for its target groups. When an internal ALB is deployed within a VPC, it provides a private endpoint accessible only from resources within that VPC. Requests arriving at the ALB are then routed to the specified Lambda function(s), which process the request and return a response through the ALB.
Why this fits: This approach allows applications or services running within a VPC (e.g., on EC2 instances) to invoke a Lambda function directly through an internal, private endpoint provided by the ALB. It eliminates the need for traffic to traverse the public internet or rely on API Gateway if API Gateway’s specific features (like advanced throttling, API keys, custom authorizers, or caching) are not required for this internal communication. The internal ALB provides a simple, scalable, and private HTTP endpoint for Lambda invocation, keeping traffic entirely within the AWS network and the VPC.
Example: An EC2 instance hosting a microservice needs to trigger a backend Lambda function. Instead of making an HTTP call to a public API Gateway endpoint, the EC2 instance sends an HTTP request to the internal DNS name of an ALB. This ALB has a target group configured to invoke the specific Lambda function. The ALB then asynchronously or synchronously invokes the Lambda, and the response is returned to the EC2 instance through the ALB, all within the private network.
QUESTION 24
A company manufactures smart vehicles. The company uses a custom application to collect vehicle data. The vehicles use the MQTT protocol to connect to the application. The company processes the data in 5-minute intervals. The company then copies vehicle telematics data to on-premises storage. Custom applications analyze this data to detect anomalies.
The number of vehicles that send data grows constantly. Newer vehicles generate high volumes of data. The on-premises storage solution is not able to scale for peak traffic, which results in data loss. The company must modernize the solution and migrate the solution to AWS to resolve the scaling challenges.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Use AWS IoT Greengrass to send the vehicle data to Amazon Managed Streaming for Apache Kafka (Amazon MSK). Create an Apache Kafka application to store the data in Amazon S3. Use a pretrained model in Amazon SageMaker to detect anomalies.
- B. Use AWS IoT Core to receive the vehicle data. Configure rules to route data to an Amazon Kinesis Data Firehose delivery stream that stores the data in Amazon S3. Create an Amazon Kinesis Data Analytics application that reads from the delivery stream to detect anomalies.
- C. Use AWS IoT FleetWise to collect the vehicle data. Send the data to an Amazon Kinesis data stream. Use an Amazon Kinesis Data Firehose delivery stream to store the data in Amazon S3. Use the built-in machine learning transforms in AWS Glue to detect anomalies.
- D. Use Amazon MQ for RabbitMQ to collect the vehicle data. Send the data to an Amazon Kinesis Data Firehose delivery stream to store the data in Amazon S3. Use Amazon Lookout for Metrics to detect anomalies.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution leverages AWS IoT Core for secure and scalable ingestion of data from a large number of connected vehicles. IoT Core’s rules engine enables flexible routing of this data to downstream services. Amazon Kinesis Data Firehose provides a fully managed, serverless solution for reliably loading streaming data into Amazon S3 for durable storage, handling batching, compression, and encryption. Finally, Amazon Kinesis Data Analytics is a purpose-built service for performing real-time analytics on streaming data, including anomaly detection, using SQL or Apache Flink.
Why this fits: This approach provides a fully managed, scalable, and real-time solution for ingesting vehicle data, storing it reliably, and performing immediate anomaly detection. AWS IoT Core is ideal for device connectivity and data ingestion. Kinesis Data Firehose simplifies the process of storing streaming data in S3 without managing servers. Amazon Kinesis Data Analytics is specifically designed for continuous, real-time processing and analysis of streaming data, making it suitable for detecting anomalies as soon as they occur. Other options either involve less suitable services for real-time anomaly detection (e.g., AWS Glue for batch processing) or require more custom development.
Example: A fleet of delivery vehicles sends sensor data (speed, engine temperature, GPS location) to AWS IoT Core every few seconds. An IoT rule forwards this data to a Kinesis Data Firehose stream, which then writes the data to an S3 bucket. Simultaneously, an Amazon Kinesis Data Analytics application monitors the Firehose stream for unusual patterns in engine temperature or sudden deviations in speed, immediately flagging potential mechanical issues or unsafe driving behavior.
QUESTION 25
A video processing company wants to build a machine learning (ML) model by using 600 TB of compressed data that is stored as thousands of files in the company’s on-premises network attached storage system. The company does not have the necessary compute resources on premises for ML experiments and wants to use AWS.
The company needs to complete the data transfer to AWS within 3 weeks. The data transfer will be a one-time transfer. The data must be encrypted in transit. The measured upload speed of the company’s internet connection is 100 Mbps, and multiple departments share the connection.
Which solution will meet these requirements MOST cost-effectively?
- A. Order several AWS Snowball Edge Storage Optimized devices by using the AWS Management Console. Configure the devices with a destination S3 bucket. Copy the data to the devices. Ship the devices back to AWS.
- B. Set up a 10 Gbps AWS Direct Connect connection between the company location and the nearest AWSRegion. Transfer the data over a VPN connection into the Region to store the data in Amazon S3.
- C. Create a VPN connection between the on-premises network storage and the nearest AWS Region. Transfer the data over the VPN connection.
- D. Deploy an AWS Storage Gateway file gateway on premises. Configure the file gateway with a destination S3 bucket. Copy the data to the file gateway.<h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Snowball Edge Storage Optimized is a data migration and edge computing device specifically designed for transferring petabytes of data into and out of AWS. It offers significant compute and storage capabilities, making it suitable for large-scale data transfers where network bandwidth limitations exist or time is a critical factor. The process involves requesting physical devices, copying the data on-premises, and then shipping them back to AWS for direct ingest into Amazon S3.
Why this fits: For transferring very large datasets (e.g., hundreds of terabytes to petabytes) from on-premises to Amazon S3, physical data transfer services like AWS Snowball Edge are often the most cost-effective and time-efficient solution. Network-based transfers, even with high-bandwidth connections like AWS Direct Connect, can take an excessively long time and incur significant data transfer costs for such massive volumes. Snowball Edge bypasses internet bottlenecks, accelerates the transfer process, and offers robust security for data in transit. The Storage Optimized variant is specifically designed for this high-capacity data transfer use case.
Example: A media company needs to migrate 500 TB of archival video footage from its on-premises data center to Amazon S3 for long-term storage and future processing. Instead of spending weeks or months transferring the data over a standard internet connection or even a dedicated 1 Gbps Direct Connect link, they order several AWS Snowball Edge Storage Optimized devices. They copy the video files to these devices on-premises and then ship them back to AWS, drastically reducing the migration time and cost.
QUESTION 26 (Multi-Select)
A publishing company’s design team updates the icons and other static assets that an ecommerce web application uses. The company serves the icons and assets from an Amazon S3 bucket that is hosted in the company’s production account. The company also uses a development account that members of the design team can access.
After the design team tests the static assets in the development account, the design team needs to load the assets into the S3 bucket in the production account. A solutions architect must provide the design team with access to the production account without exposing other parts of the web application to the risk of unwanted changes.
Which combination of steps will meet these requirements? (Select THREE.)
- A. In the production account, create a new IAM policy that allows read and write access to the S3 bucket.
- B. In the development account, create a new IAM policy that allows read and write access to the S3 bucket.
- C. In the production account, create a role. Attach the new policy to the role. Define the development account as a trusted entity.
- D. In the development account, create a role. Attach the new policy to the role. Define the production account as a trusted entity.
- E. In the development account, create a group that contains all the IAM users of the design team. Attach a different IAM policy to the group to allow the sts:AssumeRole action on the role in the production account.
- F. In the development account, create a group that contains all the IAM users of the design team. Attach a different IAM policy to the group to allow the sts:AssumeRole action on the role in the development account.
Click to View Verified Solution & Explanation
Correct Option: A,C,E
Description: An IAM policy is a foundational document that explicitly defines permissions for AWS resources. To allow any identity to interact with an S3 bucket, a policy specifying the permitted S3 actions (e.g.,
s3:GetObject, s3:PutObject, s3:DeleteObject, s3:ListBucket) must exist. This policy resides in the same account as the resource it’s protecting.
Why this fits: This is the critical first step in granting access to the S3 bucket. Without an explicit policy defining what actions are allowed on the bucket, no entity, regardless of its origin, can perform those actions. This policy will be attached to a role that entities from other accounts can assume.
Example: A policy named ProdS3ReadWritePolicy created in the production account might grant s3:* actions on a specific production S3 bucket and its objects.
✅ Choice C: In the production account, create a role. Attach the new policy to the role. Define the development account as a trusted entity.
Description: An IAM role is an identity that does not have long-term credentials and is designed to be assumed by trusted entities. For cross-account access, a role is created in the resource-owning account (production account in this case). This role has a trust policy that specifies which entities (like another AWS account or an IAM user/role in another account) are allowed to assume it. The permissions policy (created in Choice A) is then attached to this role, granting the assumed role the defined permissions.
Why this fits: This step establishes the mechanism for cross-account access. The production account creates an explicit access point (the role) for the development account. By attaching the S3 access policy to this role and configuring the trust policy to allow the development account to assume it, the production account securely delegates temporary access.
Example: A role named CrossAccountS3AccessRole is created in the production account. Its trust policy allows sts:AssumeRole from the development account ID, and the ProdS3ReadWritePolicy from Choice A is attached to it as a permissions policy.
✅ Choice E: In the development account, create a group that contains all the IAM users of the design team. Attach a different IAM policy to the group to allow the sts:AssumeRole action on the role in the production account.
Description: In the requesting account (development account), the IAM principals (users or roles) need to be explicitly granted permission to assume the role created in the resource-owning account (production account). An IAM group is an effective way to manage permissions for multiple users with similar access requirements. The policy attached to this group grants permission for the
sts:AssumeRole action, targeting the specific role ARN in the production account.
Why this fits: This is the final authorization step on the requesting side. Users in the development account need to be able to perform the sts:AssumeRole action to obtain temporary credentials associated with the production role. By granting this permission to a group, the design team users can then assume the CrossAccountS3AccessRole in the production account and gain the S3 read/write permissions.
Example: An IAM group named DesignTeam is created in the development account, and a policy named AssumeProdS3RolePolicy is attached to it. This policy explicitly allows sts:AssumeRole on the ARN of the CrossAccountS3AccessRole in the production account.
QUESTION 27
A company is planning to store a large number of archived documents and make the documents available to employees through the corporate intranet. Employees will access the system by connecting through a client VPN service that is attached to a VPC. The data must not be accessible to the public.
The documents that the company is storing are copies of data that is held on physical media elsewhere. The number of requests will be low. Availability and speed of retrieval are not concerns of the company.
Which solutions will meet these requirements at the LOWEST cost?
- A. Create an Amazon S3 bucket. Configure the S3 bucket to use the S3 One Zone-Infrequent Access (S3 One Zone-IA) storage class as default. Configure the S3 bucket for website hosting. Create an S3 interface endpoint. Configure the S3 bucket to allow access only through that endpoint.
- B. Launch an Amazon EC2 instance that runs a web server. Attach an Amazon Elastic File System (Amazon EFS) file system to store the archived data in the EFS One Zone-Infrequent Access (EFS One Zone-IA) Storage class. Configure the instance security groups to allow access only from private networks.
- C. Launch an Amazon EC2 instance that runs a web server. Attach an Amazon Elastic Block Store (Amazon EBS) volume to store the archived data. Use the Cold HDD (sc1) volume type. Configure the instance security groups to allow access only from private networks.
- D. Create an Amazon S3 bucket. Configure the S3 bucket to use the S3 Glacier Deep Archive storage class as default. Configure the S3 bucket for website hosting. Create an S3 interface endpoint. Configure the S3 bucket to allow access only through that endpoint.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution leverages Amazon S3, a highly scalable, durable, and cost-effective object storage service. S3 One Zone-IA is a storage class optimized for infrequently accessed data that requires rapid access, storing data in a single Availability Zone at a lower cost than S3 Standard-IA. S3 Static Website Hosting allows S3 buckets to serve static web content directly. An S3 interface endpoint (powered by AWS PrivateLink) enables private connectivity to S3 from within a VPC without using the public internet, thereby enhancing security and ensuring access only from private networks.
Why this fits: This approach directly addresses all implied requirements.
- Archived data: S3 One Zone-IA is suitable for archived data that is accessed infrequently but still requires immediate retrieval, balancing cost with accessibility.
- Web-based access: S3 Static Website Hosting provides a simple, scalable, and cost-effective way to serve static web content.
- Access only from private networks: Creating an S3 interface endpoint and configuring the bucket policy to restrict access only through this endpoint ensures that the archived website can only be accessed from within your private VPC network, meeting strict security requirements.
Example: A company needs to host an archive of legacy product documentation, internal policies, or past project reports that are static HTML, CSS, JavaScript, and image files. These files are accessed occasionally by employees within the corporate network. By using S3 One Zone-IA for cost optimization, S3 website hosting for easy web access, and an S3 interface endpoint for private and secure access, the company achieves its goal efficiently.
QUESTION 28
A company is processing videos in the AWS Cloud by using Amazon EC2 instances in an Auto Scaling group. It takes 30 minutes to process a video. Several EC2 instances scale in and out depending on the number of videos in an Amazon Simple Queue Service (Amazon SQS) queue.
The company has configured the SQS queue with a redrive policy that specifies a target dead-letter queue and a maxReceiveCount of 1. The company has set the visibility timeout for the SQS queue to 1 hour. The company has set up an Amazon CloudWatch alarm to notify the development team when there are messages in the dead-letter queue.
Several times during the day, the development team receives notification that messages are in the dead-letter queue and that videos have not been processed properly. An investigation finds no errors in the application logs.
How can the company solve this problem?
- A. Turn on termination protection for the EC2 instances.
- B. Update the visibility timeout for the SQS queue to 3 hours.
- C. Configure scale-in protection for the instances during processing.
- D. Update the redrive policy and set maxReceiveCount to 0.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Scale-in protection, also known as instance protection, is a feature of Amazon EC2 Auto Scaling. When enabled for an instance, it prevents Amazon EC2 Auto Scaling from terminating that specific instance during a scale-in event (when the Auto Scaling group decides to reduce the number of instances). It ensures that critical instances continue their work without interruption from the Auto Scaling mechanism.
Why this fits: In scenarios where instances are processing critical or long-running tasks, such as consuming messages from an SQS queue, it is crucial to prevent them from being terminated prematurely by an Auto Scaling scale-in event. If an instance is terminated while actively processing a message, that message might not be completely processed, requiring visibility timeout settings on the SQS queue to be adjusted to ensure the message is returned to the queue, or leading to lost work if not handled correctly. By configuring scale-in protection, the instance can finish its current processing before the Auto Scaling group considers it for termination, ensuring message integrity and efficient processing. This allows for controlled termination, often coupled with a lifecycle hook to drain existing connections or finish tasks gracefully.
Example: An EC2 instance is pulling and processing large video files from an SQS queue. Each file takes 30 minutes to process. If the Auto Scaling group scales in, and the instance processing a file is terminated prematurely, the video processing will fail, and the message might need to be re-processed from scratch, leading to wasted compute cycles and delays. Enabling scale-in protection ensures that the instance completes its current video processing task before it can be scaled in by the Auto Scaling group.
QUESTION 29
A company is running a two-tier web-based application in an on-premises data center. The application user consists of a single server running a stateful application. The application connects to a PostgreSQL database running on a separate server. The application’s user base is expected to grow significantly, so the company is migrating the application and database to AWS. The solution will use Amazon Aurora PostgreSQL, Amazon EC2 Auto Scaling, and Elastic Load Balancing.
Which solution will provide a consistent user experience that will allow the application and database tiers to scale?
- A. Enable Aurora Auto Scaling for Aurora Replicas. Use a Network LoadBalancer with the least outstanding requests routing algorithm and sticky sessions enabled.
- B. Enable Aurora Auto Scaling for Aurora writes. Use an Application Load Balancer with the round robin routing algorithm and sticky sessions enabled.
- C. Enable Aurora Auto Scaling for Aurora Replicas. Use an Application Load Balancer with the robin routing and sickly sessions enabled.
- D. Enable Aurora Scaling for Aurora writers. Use a Network Load Balancer with the least outstanding requests routing algorithm and sticky sessions enabled.<h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: Amazon Aurora Auto Scaling enables automatic adjustment of the number of Aurora Replicas within a DB cluster to handle fluctuating read workloads. Aurora Replicas are specifically designed to scale read capacity. An Application Load Balancer (ALB) operates at Layer 7 (application layer) and is suitable for distributing HTTP and HTTPS traffic to multiple targets, such as web servers or application servers. Routing algorithms like round robin distribute client requests sequentially among the available targets. Sticky sessions (or session affinity) ensure that all requests from a particular client are consistently sent to the same target instance, which is crucial for applications that maintain session-specific data on the backend.
Why this fits: This option correctly identifies the mechanism for scaling read-heavy database workloads by utilizing Aurora Auto Scaling for Aurora Replicas. Aurora Replicas are the appropriate component for horizontally scaling read operations in an Aurora cluster. The use of an Application Load Balancer is well-suited for typical web application architectures, providing advanced routing capabilities and supporting sticky sessions. Sticky sessions are often a requirement for stateful applications to maintain user experience. The terms "robin routing" and "sickly sessions" are clearly typos for "round robin routing" and "sticky sessions," respectively, both of which are valid and common configurations for an Application Load Balancer in such a scenario. Other options incorrectly propose scaling Aurora writers with Aurora Auto Scaling, which is not its intended use (it primarily scales replicas for reads).
Example: An online news portal experiences a surge in readership following a major breaking story. Aurora Auto Scaling automatically provisions additional Aurora Replicas to handle the increased load of users reading articles. An Application Load Balancer distributes the incoming HTTP/S requests to the fleet of application servers. With sticky sessions enabled, a user viewing a specific article will consistently be routed to the same application server instance, ensuring a smooth and personalized experience if session state is maintained on the server.
QUESTION 30
A life Sciences company is using a combination of open-source tools to manage data analysis workflows and Docker containers running on servers in its on-premises data to process genomics data. Sequencing data is generated and stored on a local storage area network (SAN) and then the data is processed. The research and development teams are running into capacity issues and have decided to re-architect their genomics analysis platform on AWS to scale based on workload demands and reduce the turn around time from weeks to days.
The company has a high-speed AWS Direct Connect connection Sequencers will generate around 200 GB of data for each genome, and individual hours to process the data with ideal compute capacity. The end result will be stored in Amazon S3. The company is expecting 10-15 job requests each day.
Which solution meets these requirements?
- A. Use regularly scheduled AWS snowball Edge devices to transfer the sequencing data into AWS. When AWS receives the Snowball Edge device and the data is loaded into Amazon S3, use events to trigger an AWS Lambada function to process the data.
- B. Use AWS Data Pipeline to transfer the sequencing data to Amazon S3. Use S3 events to trigger an Amazon EC2 Auto group to launch custom-AMI EC2 instances running he Docker containers to process the data.
- C. Use AWS DataSync to transfer the sequencing data to Amazon S3. Use S3 events to trigger an AWS Lambada function that starts an AWS Step Functions workflow. Store the Dicker images in Amazon Elastic Container Registry (Amazon ECR) and trigger AWS Batch to run the container and process the sequencing data.
- D. Use an AWS Storage Gateway file gateway to transfer the sequencing data to Amazon S3. Use S3 events to trigger an AWS job that executes on Amazon EC2 instances running the Docker containers to process the data.<h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution outlines a modern, scalable, and fully managed architecture for transferring large datasets from on-premises to AWS and processing them using containerized applications. It leverages several AWS services designed for high throughput, serverless orchestration, and managed batch computing.
Why this fits:
- AWS DataSync: This service is ideal for efficiently transferring large amounts of data from on-premises file systems (NFS, SMB) or object storage to Amazon S3. It handles network interruptions, data validation, and encryption, making it suitable for large sequencing datasets.
- Amazon S3 as a landing zone: S3 is a highly durable, scalable, and cost-effective object storage service, perfect for storing raw sequencing data and acting as the trigger point for downstream processing.
- S3 events triggering AWS Lambda and AWS Step Functions: This provides a robust, event-driven, and serverless orchestration layer.
- AWS Lambda: Can quickly respond to S3 object creation events, executing lightweight code to initiate the workflow.
- AWS Step Functions: Is crucial for orchestrating complex, multi-step workflows. It provides state management, error handling, retries, and sequential or parallel execution, which is essential for managing the potentially long-running and intricate steps of bioinformatics processing.
- Amazon Elastic Container Registry (ECR): ECR is a fully managed Docker container registry that makes it easy to store, manage, and deploy Docker container images. This is the standard best practice for container image management in AWS.
- AWS Batch: This fully managed service enables developers, scientists, and engineers to easily and efficiently run hundreds of thousands of batch computing jobs on AWS. It dynamically provisions and scales compute resources (EC2 instances or Fargate) based on job requirements, manages job queues, and executes containerized workloads defined in ECR. This makes it an excellent choice for processing large, parallelizable sequencing datasets with Docker containers without managing the underlying infrastructure.
This combination provides a highly available, scalable, serverless-orchestrated, and cost-effective solution for the specified requirements, minimizing operational overhead.
Example: A genomics lab regularly generates large sequencing data files (e.g., FASTQ, BAM) on an on-premises NAS. AWS DataSync is configured to transfer these files to a specific S3 bucket. As new files land in S3, an S3 event triggers a Lambda function. This Lambda function initiates an AWS Step Functions workflow. The Step Functions workflow defines a series of steps, including triggering AWS Batch jobs to run custom Docker containers (stored in ECR) for tasks like alignment, variant calling, and annotation. AWS Batch automatically scales up EC2 instances to process these jobs in parallel, then scales down once complete.
QUESTION 31
A company is using AWS CloudFormation to deploy its infrastructure. The company is concerned that, if a production CloudFormation stack is deleted, important data stored in Amazon RDS databases or Amazon EBS volumes might also be deleted.
How can the company prevent users from accidentally deleting data in this way?
- A. Modify the CloudFormation templates to add a DeletionPolicy attribute to RDS and EBS resources.
- B. Configure a stack policy that disallows the deletion of RDS and EBS resources.
- C. Modify IAM policies to deny deleting RDS and EBS resources that are tagged with an“aws:cloudformation:stack-name”tag.
- D. Use AWS Config rules to prevent deleting RDS and EBS resources.<h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: The
DeletionPolicy attribute in an AWS CloudFormation template allows you to control what happens to a resource when the stack, or the resource itself, is deleted. By default, CloudFormation deletes the resource. However, you can specify Retain to keep the resource after the stack is deleted, or Snapshot for resources like RDS instances and EBS volumes to create a snapshot before deletion.
Why this fits: When an AWS CloudFormation stack is deleted, all resources created within that stack are typically deleted by default. To prevent the accidental deletion of critical data stores like RDS databases and EBS volumes, you need to explicitly instruct CloudFormation to either retain these resources or create a snapshot of them before deleting the stack. Adding DeletionPolicy: Retain to the resource properties in the CloudFormation template will ensure that the RDS instance and EBS volumes remain after the stack is deleted. For RDS and EBS, DeletionPolicy: Snapshot is also a valid and often preferred option to retain a backup. This directly addresses the requirement of preventing accidental deletion by controlling CloudFormation’s behavior during stack deletion.
Example: For an RDS DBInstance resource within a CloudFormation template, you would add DeletionPolicy: Retain like this:
MyRDSInstance:
Type: AWS::RDS::DBInstance
DeletionPolicy: Retain
Properties:
DBInstanceClass: db.t3.micro
AllocatedStorage: 20
Engine: postgres
MasterUsername: admin
MasterUserPassword: "{{resolve:secretsmanager:MyRDSSecret:SecretString:::password}}"
QUESTION 32
A finance company is running its business-critical application on current-generation Linux EC2 instances. The application includes a self-managed MySQL database performing heavy I/O operations. The application is working fine to handle a moderate amount of traffic during the month. However, it slows down during the final three days of each month due to month-end reporting, even though the company is using Elastic Load Balancers and Auto Scaling within its infrastructure to meet the increased demand.
Which of the following actions would allow the database to handle the month-end load with the LEAST impact on performance?
- A. Pre-warming Elastic Load Balancers, using a bigger instance type, changing all Amazon EBS volumes to GP2 volumes.
- B. Performing a one-time migration of the database cluster to Amazon RDS, and creating several additional read replicas to handle the load during end of month.
- C. Using Amazon CloudWatch with AWS Lambda to change the type, size, or IOPS of Amazon EBS volumes in the cluster based on a specific CloudWatch metric.
- D. Replacing all existing Amazon EBS volumes with new PIOPS volumes that have the maximum available storage size and I/O per second by taking snapshots before the end of the month and reverting back afterwards.<h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon Relational Database Service (RDS) is a managed service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching, and backups. Read replicas are physical copies of your primary database that help to offload read traffic from the primary instance, thus improving read performance for read-heavy application workloads.
Why this fits: Migrating the database cluster to Amazon RDS offloads the operational burden of database management, allowing for better focus on application logic. The critical aspect for handling end-of-month read-heavy loads is the ability to scale read capacity. RDS read replicas are specifically designed for this purpose. They allow you to distribute read traffic across multiple instances, significantly increasing the database’s read throughput and responsiveness without impacting the primary database’s write performance. This strategy provides a robust, scalable, and operationally efficient solution for predictable peak read loads.
Example: A financial reporting application generates extensive reports at the end of each month, requiring millions of read operations from the database. By migrating to Amazon RDS with several read replicas, the reporting application can direct its read queries to the replicas, ensuring that the primary database remains available and performant for transactional writes and other core operations, while the replicas handle the reporting load.
QUESTION 33
A large company is running a popular web application. The application runs on several Amazon EC2 Linux Instances in an Auto Scaling group in a private subnet. An Application Load Balancer is targeting the Instances in the Auto Scaling group in the private subnet. AWS Systems Manager Session Manager Is configured, and AWS Systems Manager Agent is running on all the EC2 instances.
The company recently released a new version of the application Some EC2 instances are now being marked as unhealthy and are being terminated. As a result, the application is running at reduced capacity A solutions architect tries to determine the root cause by analyzing Amazon CloudWatch logs that are collected from the application, but the logs are inconclusive How should the solutions architect gain access to an EC2 instance to troubleshoot the issue1?
- A. Enable EC2 instance termination protection Use Session Manager to log in to an instance that is marked as unhealthy.
- B. Suspend the Auto Scaling group's HealthCheck scaling process. Use Session Manager to log in to an instance that is marked as unhealthy.
- C. Set the termination policy to oldest instance on the Auto Scaling group. Use Session Manager to log in to an instance that is marked as unhealthy.
- D. Suspend the Auto Scaling group's Terminate process. Use Session Manager to log in to an instance that is marked as unhealthy.
Click to View Verified Solution & Explanation
Correct Option: D
Description: When an Amazon EC2 Auto Scaling group detects an unhealthy instance, its default behavior is to terminate that instance and launch a replacement to maintain application availability. To troubleshoot an unhealthy instance without it being automatically terminated, you must temporarily halt the Auto Scaling group’s ability to terminate instances. Suspending the
Terminate process specifically prevents the Auto Scaling group from taking termination actions on instances. AWS Systems Manager Session Manager provides secure and auditable access to EC2 instances without the need to open inbound ports, manage SSH keys, or use bastion hosts, making it an ideal tool for troubleshooting.
Why this fits: This approach directly addresses the problem of an instance being terminated by the Auto Scaling group before it can be investigated. Suspending the Terminate process stops the Auto Scaling group from removing the unhealthy instance. Subsequently, using Session Manager allows for secure, direct access to the instance to diagnose the root cause of its unhealthiness. Other options like EC2 termination protection are overridden by Auto Scaling group actions, and modifying health check processes or termination policies do not prevent an already identified unhealthy instance from being targeted for termination by the group’s default behavior.
Example: An application running on an Auto Scaling group experiences intermittent issues, and one instance is consistently failing health checks. To investigate why this specific instance is unhealthy before it’s replaced, an engineer would first suspend the Terminate process for the Auto Scaling group. Then, they would use AWS Systems Manager Session Manager to establish a shell session on the unhealthy EC2 instance to inspect logs, processes, and configurations without fear of the instance being terminated mid-investigation. Once troubleshooting is complete, the Terminate process can be resumed, allowing the Auto Scaling group to handle the instance as per its configuration.
QUESTION 34
A solutions architect is investigating an issue in which a company cannot establish new sessions in Amazon WorkSpaces. An initial analysis indicates that the issue involves user profiles. The Amazon WorkSpaces environment is configured to use Amazon FSx for Windows File Server as the profile share storage. The FSx for Windows File Server file system is configured with 10 TB of storage.
The solutions architect discovers that the file system has reached its maximum capacity. The solutions architect must ensure that users can regain access. The solution also must prevent the problem from occurring again.
Which solution will meet these requirements?
- A. Remove old user profiles to create space. Migrate the user profiles to an Amazon FSx for Lustre file system.
- B. Increase capacity by using the update-file-system command. Implement an Amazon CloudWatch metric that monitors free space. Use Amazon EventBridge to invoke an AWS Lambda function to increase capacity as required.
- C. Monitor the file system by using the FreeStorageCapacity metric in Amazon CloudWatch. Use AWS Step Functions to increase the capacity as required.
- D. Remove old user profiles to create space. Create an additional FSx for Windows File Server file system. Update the user profile redirection for 50% of the users to use the new file system.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon FSx for Windows File Server allows administrators to increase the storage capacity of an existing file system after it has been created. This is performed using the
UpdateFileSystem API operation. To automate this process, AWS provides services for monitoring and orchestration. Amazon CloudWatch can collect metrics related to the file system’s performance and utilization, such as FreeStorageCapacity. Amazon EventBridge can then be used to trigger actions based on CloudWatch alarms (which are configured based on these metrics), and an AWS Lambda function can execute the necessary API calls to increase capacity.
Why this fits: This choice accurately describes the recommended and most efficient way to scale an FSx for Windows File Server file system proactively and automatically. It leverages native AWS services:
update-file-systemcommand: The correct API/CLI action to modify storage capacity.- Amazon CloudWatch metric:
FreeStorageCapacityis the relevant metric for monitoring available space. - Amazon EventBridge and AWS Lambda: This combination provides a robust serverless automation pattern. CloudWatch can send events (via alarms) to EventBridge, which then triggers a Lambda function. The Lambda function contains the logic to call
UpdateFileSystemwith the desired new capacity. This approach minimizes manual intervention and scales the existing file system rather than creating new ones.Example: An organization running an FSx for Windows File Server for user profiles notices that
FreeStorageCapacityfrequently drops below 15%. They configure a CloudWatch alarm for this metric. When the alarm state changes toALARM, it triggers an EventBridge rule. This rule invokes an AWS Lambda function, which then executesaws fsx update-file-system --file-system-id fs-xxxxxxxxxxxxxxxxx --storage-capacity 2000(assuming the current capacity is 1TB and it needs to be increased to 2TB), effectively expanding the file system’s storage without downtime.
QUESTION 35
A company is planning to migrate its business-critical applications from an on-premises data center to AWS. The company has an on-premises installation of a Microsoft SQL Server Always On cluster. The company wants to migrate to an AWS managed database service. A solutions architect must design a heterogeneous database migration on AWS.
Which solution will meet these requirements?
- A. Migrate the SQL Server databases to Amazon RDS for MySQL by using backup and restore utilities.
- B. Use an AWS Snowball Edge Storage Optimized device to transfer data to Amazon S3. Set up Amazon RDS for MySQL. Use S3 integration with SQL Server features, such as BULK INSERT.
- C. Use the AWS Schema Conversion Tool to translate the database schema to Amazon RDS for MySQL. Then use AWS Database Migration Service (AWS DMS) to migrate the data from on-premises databases to Amazon RDS.
- D. Use AWS Data-Sync to migrate data over the network between on-premises storage and Amazon S3. Set up Amazon RDS for MySQL. Use S3 integration with SQL Server features, such as BULK INSERT.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This choice describes a robust and AWS-recommended approach for heterogeneous database migrations, specifically moving from one database engine (SQL Server) to another (MySQL). AWS Schema Conversion Tool (SCT) automates the conversion of the source database schema and code objects (tables, views, stored procedures, functions, triggers, etc.) to a format compatible with the target database. AWS Database Migration Service (DMS) then handles the actual data transfer, supporting both one-time migrations and continuous data replication (CDC) to minimize downtime.
Why this fits: Migrating from SQL Server to MySQL is a heterogeneous migration, requiring a tool that can translate the database schema, data types, and potentially application code.
- AWS SCT is designed precisely for this purpose, assessing and converting schema and code objects. It helps identify and address any incompatibilities between the source and target engines.
- AWS DMS is the service built for migrating data between various database platforms, including heterogeneous scenarios, while maintaining data integrity and offering various migration strategies (full load, CDC).
This combination addresses both the schema incompatibility and the data migration challenges effectively.Example: An organization wants to move its customer relationship management (CRM) application, currently running on an on-premises SQL Server database, to a more cost-effective Amazon RDS for MySQL instance. They would first use AWS SCT to convert the SQL Server schema, stored procedures, and functions to their MySQL equivalents. Once the target schema is created in RDS for MySQL, they would then use AWS DMS to transfer the historical and ongoing data from the on-premises SQL Server database to the new RDS for MySQL instance.
QUESTION 36 (Multi-Select)
A software company hosts an application on AWS with resources in multiple AWS accounts and Regions. The application runs on a group of Amazon EC2 instances in an application VPC located in the us- east-1 Region with an IPv4 CIDR block of 10.10.0.0/16. In a different AWS account, a shared services VPC is located in the us-east-2 Region with an IPv4 CIDR block of 10.10.10.0/24. When a cloud engineer uses AWS CloudFormation to attempt to peer the application VPC with the shared services VPC, an error message indicates a peering failure.
Which factors could cause this error? (Select TWO.)
- A. The IPv4 CIDR ranges of the two VPC overlap.
- B. The VPCs are not in the same Region.
- C. One or both accounts do not have access to an internet gateway.
- D. One of the VPCs was not shared through AWS Resource Access Manager.
- E. The IAM role in the peer accepter account does not have the correct permissions.
Click to View Verified Solution & Explanation
Correct Option: A,E
Description: A VPC peering connection allows you to route traffic directly between two VPCs using private IP addresses. A strict requirement for establishing such a connection is that the IPv4 CIDR blocks of the two VPCs must not overlap. If they do, the peering connection cannot be successfully created or accepted.
Why this fits: Overlapping CIDR ranges lead to routing ambiguities. If two peered VPCs have resources with the same or overlapping IP address ranges, the network would not know which destination to route traffic to, causing conflicts and communication failures. AWS enforces this rule at the time of connection creation to prevent such issues.
Example: If VPC A has 10.0.0.0/16 and VPC B has 10.0.1.0/24, these CIDR blocks overlap because 10.0.1.0/24 is a subnet within 10.0.0.0/16. An attempt to create a peering connection between them would fail with an error indicating CIDR overlap.
✅ The IAM role in the peer accepter account does not have the correct permissions.
Description: When a VPC peering connection request is initiated from one AWS account to another, the receiving account (the accepter) must explicitly accept the peering request for the connection to become active. This acceptance action requires specific IAM permissions in the accepter account.
Why this fits: To accept a VPC peering connection, the IAM principal (user or role) performing the acceptance in the accepter account must have the ec2:AcceptVpcPeeringConnection permission in its attached IAM policy. Without this specific permission, the operation will be denied due to insufficient privileges, and the peering connection will remain in a "pending-acceptance" state indefinitely or until it expires.
Example: If Account A requests a peering connection with Account B, and the user in Account B trying to accept it does not have ec2:AcceptVpcPeeringConnection allowed in their IAM policy, the acceptance will fail, and an "Access Denied" error will be reported.
QUESTION 37
A company is building a software-as-a-service (SaaS) solution on AWS. The company has deployed an Amazon API Gateway REST API with AWS Lambda integration in multiple AWS Regions and in the same production account.
The company offers tiered pricing that gives customers the ability to pay for the capacity to make a certain number of API calls per second. The premium tier offers up to 3,000 calls per second, and customers are identified by a unique API key. Several premium tier customers in various Regions report that they receive error responses of 429 Too Many Requests from multiple API methods during peak usage hours. Logs indicate that the Lambda function is never invoked.
What could be the cause of the error messages for these customers?
- A. The Lambda function reached its concurrency limit.
- B. The Lambda function its Region limit for concurrency.
- C. The company reached its API Gateway account limit for calls per second.
- D. The company reached its API Gateway default per-method limit for calls per second.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS API Gateway applies default throttling limits at the account level, per Region, to ensure steady performance for all users. These limits include a maximum steady-state requests per second (RPS) and a burst capacity. When the aggregate request rate across all APIs within an AWS account in a specific Region exceeds these account-level limits, API Gateway begins to throttle incoming requests, returning a
429 Too Many Requests status code to clients.
Why this fits: This choice directly addresses a common reason for widespread request failures and 429 errors originating from API Gateway. An account-level limit applies to all deployments within a given Region for that account, meaning a surge in traffic to any API could contribute to hitting this ceiling, leading to throttling of all incoming requests that exceed the limit, regardless of the individual API or method. This is distinct from method-specific or backend service (like Lambda) limits.
Example: A large e-commerce company operates several APIs for product catalog, user profiles, and order processing through API Gateway in the us-east-1 Region. During a flash sale, the combined traffic to all these APIs spikes dramatically. Even if individual API methods haven’t reached their specific limits and the backend Lambda functions have sufficient concurrency, API Gateway might start returning 429 errors across the board because the total requests per second for the us-east-1 account have exceeded the default (or configured) regional limit.
QUESTION 38
A company wants to change its internal cloud billing strategy for each of its business units. Currently, the cloud governance team shares reports for overall cloud spending with the head of each business unit. The company uses AWS Organizations to manage the separate AWS accounts for each business unit. The existing tagging standard in Organizations includes the application environment and owner. The cloud governance team wants a centralized solution so each business unit receives monthly reports on its cloud spending. The solution should also send notifications for any cloud spending that exceeds a set threshold.
Which solution is the MOST cost-effective way to meet these requirements?
- A. Configure AWS Budgets in each account and configure budget alerts that are grouped by application, environment and owner Add each business unit to an Amazon SNS topic for each alert. Use Cost Explorer m each account to create monthly reports for each business unit.
- B. Configure AWS Budgets in the organization's master account and configure budget alerts that are grouped by application, environment and owner Add each business unit to an Amazon SNS tope for each alert Use Cost Explorer in the organization's master account to create monthly reports for each business unit.
- C. Configure AWS Budgets in each account and configure budget alerts that are grouped by application, environment, and owner Add each business unit to an Amazon SNS topic for each alert. Use the AWS Blog and Cost Management dashboard in each account to create monthly reports for each business unit.
- D. Enable AWS Cost and Usage Reports in the organization's master account and configure reports grouped by application environment and owner Create an AWS Lambda function that processes AWS Cost and Usage Reports sends budget alerts and sends monthly reports to each business unit's email list.<h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution leverages AWS Organizations’ master account for centralized cost management. AWS Budgets allows you to set custom budgets and receive alerts when actual or forecasted costs exceed your budgeted amounts. Cost Explorer provides a visual interface to analyze your spending over time. By using cost allocation tags (application, environment, owner), costs can be granularly tracked. Amazon SNS is a fully managed messaging service used for sending notifications, including budget alerts.
Why this fits: AWS best practices recommend managing costs and budgets centrally from the master account in an AWS Organization. This provides a consolidated view of costs across all member accounts, allows for consistent budget policies, and simplifies reporting. Cost allocation tags are essential for breaking down costs by business criteria. AWS Budgets and Cost Explorer are the native and most efficient services for achieving granular budget alerts and detailed cost reporting across an organization. Setting budgets in individual accounts (as in A and C) would be inefficient and difficult to manage at scale. While AWS Cost and Usage Reports (CUR) can be used with Lambda for custom solutions (D), AWS Budgets provides native alerting functionality directly, and Cost Explorer offers robust reporting without requiring custom code for common use cases.
Example: An organization has multiple business units, each operating several applications across different environments (dev, test, prod). The cloud finance team configures a single set of AWS Budgets in the master account, applying tags like app:mywebapp, env:production, owner:finance-team to resources. They set up budget alerts for each budget, linking them to an Amazon SNS topic. Each business unit subscribes to the relevant SNS topics. Monthly, the finance team uses Cost Explorer in the master account to generate reports, filtered by business unit and application, to review spending and ensure compliance with budgets.
QUESTION 39
A solutions architect needs to advise a company on how to migrate its on-premises data processing application to the AWS Cloud. Currently, users upload input files through a web portal. The web server then stores the uploaded files on NAS and messages the processing server over a message queue. Each media file can take up to 1 hour to process. The company has determined that the number of media files awaiting processing is significantly higher during business hours, with the number of files rapidly declining after business hours.
What is the MOST cost-effective migration recommendation?
- A. Create a queue using Amazon SQS. Configure the existing web server to publish to the new queue. When there are messages in the queue, invoke an AWS Lambda function to pull requests from the queue and process the files. Store the processed files in an Amazon S3 bucket.</h1><h1>
- B. Create a queue using Amazon MO. Configure the existing web server to publish to the new queue. When there are messages in the queue, create a new Amazon EC2 instance to pull requests from the queue and process the files. Store the processed files in Amazon EFS. Shut down the EC2 instance after the task is complete.</h1><h1>
- C. Create a queue using Amazon MQ. Configure the existing web server to publish to the new queue. When there are messages in the queue, invoke an AWS Lambda function to pull requests from the queue and process the files. Store the processed files in Amazon EFS.</h1><h1>
- D. Create a queue using Amazon SQS. Configure the existing web server to publish to the new queue. Use Amazon EC2 instances in an EC2 Auto Scaling group to pull requests from the queue and process the files. Scale the EC2 instances based on the SQS queue length. Store the processed files in an Amazon S3 bucket.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution outlines a highly scalable, decoupled, and fault-tolerant architecture for asynchronous file processing. It leverages Amazon SQS for message queuing, EC2 Auto Scaling for dynamic compute capacity, and Amazon S3 for durable object storage.
Why this fits: This approach is a professional best practice for several reasons:
- Decoupling with SQS: Amazon SQS provides a fully managed, highly scalable, and durable message queue that decouples the web server from the file processing backend. This improves the responsiveness of the web server and allows the processing to scale independently.
- Elasticity with EC2 Auto Scaling: EC2 Auto Scaling groups automatically adjust the number of EC2 instances based on demand, which is crucial for handling fluctuating workloads. Scaling based on SQS queue length is a highly effective way to ensure that processing resources are provisioned only when needed, optimizing cost and performance.
- Durability and Scalability with S3: Amazon S3 is an object storage service offering industry-leading durability, availability, and scalability, making it ideal for storing processed files securely and cost-effectively.
- High Availability and Fault Tolerance: Using an Auto Scaling group with multiple instances ensures high availability of the processing layer, as instance failures can be automatically replaced.
Compared to other options:
- Using Lambda (Choices A, C) might be limited by its maximum execution time (15 minutes) for potentially long-running file processing tasks. EC2 offers more control and flexibility for complex or time-intensive workloads.
- Using Amazon MQ (Choices B, C) is generally preferred for migrating existing applications that rely on specific messaging protocols (like AMQP, MQTT). For new cloud-native solutions requiring simple queueing, SQS is typically more cost-effective and operationally simpler as a serverless service.
- Storing files in Amazon EFS (Choices B, C) would be less cost-effective and typically less scalable than S3 for storing processed output files that don’t require POSIX file system semantics or shared access across multiple instances for active processing.
- Manually creating/shutting down EC2 instances (Choice B) is not elastic or automated, leading to higher operational overhead and potential for performance bottlenecks or idle costs.
Example: An e-commerce website receives user-uploaded images that need to be resized, watermarked, and optimized before being displayed. The web server publishes a message containing the image’s S3 URL to an SQS queue. An EC2 Auto Scaling group monitors the queue. When messages appear, instances from the group pull messages, process the images, and store the modified images back into an S3 bucket. If a sudden surge of uploads occurs, the Auto Scaling group automatically adds more instances to keep up with demand, then scales down when the queue empties.
QUESTION 40
A company is running an application in the AWS Cloud. The application runs on containers in an Amazon Elastic Container Service (Amazon ECS) cluster. The ECS tasks use the Fargate launch type. The application’s data is relational and is stored in Amazon Aurora MySQL. To meet regulatory requirements, the application must be able to recover to a separate AWS Region in the event of an application failure. In case of a failure, no data can be lost.
Which solution will meet these requirements with the LEAST amount of operational overhead?
- A. Provision an Aurora Replica in a different Region.</h1><h1>
- B. Set up AWS DataSync for continuous replication of the data to a different Region.</h1><h1>
- C. Set up AWS Database Migration Service (AWS DMS) to perform a continuous replication of the data to a different Region.</h1><h1>
- D. Use Amazon Data Lifecycle Manager (Amazon DLM) to schedule a snapshot every 5 minutes.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: Amazon Aurora Global Database is a feature of Amazon Aurora that allows a single Aurora database to span multiple AWS regions. It uses dedicated infrastructure to asynchronously replicate data with typical latencies of less than a second, offering rapid disaster recovery from region-wide outages and enabling low-latency global reads. A global database consists of a primary AWS Region (with a primary cluster) and up to five secondary AWS Regions (each with a secondary cluster acting as a read-only replica).
Why this fits: For an Aurora database requiring robust cross-region disaster recovery capabilities, provisioning an Aurora Replica in a different region as part of an Aurora Global Database configuration is the most appropriate and purpose-built solution. This setup provides a Recovery Point Objective (RPO) typically measured in seconds and a Recovery Time Objective (RTO) typically under a minute, significantly reducing potential data loss and downtime compared to other methods like snapshot-based recovery.
Example: An organization hosts its primary Aurora database in us-east-1. To enhance disaster recovery, they configure an Aurora Global Database, adding a secondary Aurora cluster (replica) in eu-west-1. If us-east-1 becomes unavailable, the eu-west-1 cluster can be quickly promoted to be the new primary, ensuring continued operations with minimal disruption.
QUESTION 41
A company has introduced a new policy that allows employees to work remotely from their homes if they connect by using a VPN. The company is hosting internal applications with VPCs in multiple AWS accounts. Currently, the applications are accessible from the company’s on-premises office network through an AWS Site-to-Site VPN connection. The VPC in the company’s main AWS account has peering established with VPCs in other AWS accounts.
A solutions architect must design a scalable AWS Client VPN solution for employees to use while they work from home.
What is the MOST cost-effective solution that meets these requirements?
- A. Create a client VPN endpoint in each AWS Configure required routing that allows access to internal applications.
- B. Create a client VPN endpoint in the main AWS account. Configure required routing that allows access to internal applications.
- C. Create a client VPN endpoint in the main AWS account. Provision a transit gateway that is connected to each AWS account. Configure required routing that allows access to internal applications.
- D. Create a client VPN endpoint in the main AWS account. Establish connectivity the Client VPN endpoint and the AWS Site-to-Site VPN.
Click to View Verified Solution & Explanation
Correct Option: B
Description: An AWS Client VPN endpoint is a fully managed client-based VPN service that enables remote users to securely access AWS resources, and optionally on-premises resources, by connecting to an endpoint in a specified VPC. It simplifies the process of providing secure remote access for employees.
Why this fits: Creating a single Client VPN endpoint in a main AWS account (often a shared services or network account) centralizes the point of access for remote users. This approach simplifies user configuration, as they only need to connect to one endpoint. By associating the Client VPN endpoint with a subnet within a VPC and then configuring the appropriate Client VPN routes, traffic can be directed to "internal applications." These applications can reside within the same VPC, in other VPCs connected via VPC peering, or even across multiple accounts if the main account’s VPC is connected to an AWS Transit Gateway or other inter-VPC/inter-account networking solutions. This option provides a scalable and manageable solution for secure remote access without introducing unnecessary complexity unless explicitly required by the problem statement.
Example: A company wants to provide its remote employees with secure access to internal development servers and management tools hosted in various VPCs across their AWS environment. By deploying a single AWS Client VPN endpoint in their central networking account, they can configure routes that allow users to securely connect to this endpoint and reach all necessary internal applications through the established network connectivity from the central VPC.
QUESTION 42
A company has developed a web application. The company is hosting the application on a group of Amazon EC2 instances behind an Application Load Balancer. The company wants to improve the security posture of the application and plans to use AWS WAF web ACLs. The solution must not adversely affect legitimate traffic to the application.
How should a solutions architect configure the web ACLs to meet these requirements?
- A. Set the action of the web ACL rules to Count Enable AWS WAF logging Analyze the requests for false positives. Modify the rules to avoid any false positive Over time change the action of the web ACL rules from Count to Block.
- B. Use only rate-based rules in the web ACLs. and set the throttle limit as high as possible Temporarily block all requests that exceed the limit. Define nested rules to narrow the scope of the rate tracking.
- C. Set the action of the web ACL rules to Block. Use only AWS managed rule groups in the web ACLs. Evaluate the rule groups by using Amazon CloudWatch metrics with AWS WAF sampled requests or AWS WAF logs.
- D. Use only custom rule groups in the web ACLs. and set the action to Allow Enable AWS WAF logging Analyze the requests for false positives Modify the rules to avoid any false positive Over time, change the action of the web ACL rules from Allow to Block.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This choice outlines the best practice for deploying new AWS WAF rules or making significant changes to existing ones. It involves a phased approach to ensure that legitimate traffic is not inadvertently blocked while effectively protecting against malicious requests.
Why this fits:
- Set action to Count: This allows the rules to be evaluated against incoming traffic without taking any blocking action. It helps identify how many requests would match the rule and if any legitimate traffic would be affected.
- Enable AWS WAF logging: Logs provide detailed information about every request that AWS WAF inspects, including which rules were evaluated and matched. This is crucial for analyzing the effectiveness of the rules and identifying false positives.
- Analyze for false positives: By monitoring the logs in "Count" mode, security teams can detect instances where legitimate traffic is incorrectly flagged by the WAF rules.
- Modify rules to avoid false positives: Based on the analysis, rules can be refined and fine-tuned to be more precise, ensuring that only malicious traffic is targeted.
- Change action to Block: Once confidence is established that the rules are effective and have minimal false positives, the action can be safely changed to "Block" to enforce the protection. This iterative process minimizes the risk of service disruption.
Example: A new WAF rule is created to block requests containing certain known malicious SQL injection patterns. Instead of immediately setting it to ‘Block’, an administrator first sets its action to ‘Count’ and enables WAF logging. Over a week, they monitor the logs to see if any legitimate application traffic accidentally triggers this rule. If they find that certain valid user inputs are being matched, they refine the rule’s pattern to exclude those inputs. Once confident, they change the rule’s action to ‘Block’.
QUESTION 43
A company has an on-premises website application that provides real estate information for potential renters and buyers. The website uses a Java backend and a NoSQL MongoDB database to store subscriber data.
The company needs to migrate the entire application to AWS with a similar structure. The application must be deployed for high availability, and the company cannot make changes to the application.
Which solution will meet these requirements?
- A. Use an Amazon Aurora DB cluster as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
- B. Use MongoDB on Amazon EC2 instances as the database for the subscriber data. Deploy EC2 instances in an Auto Scaling group in a single Availability Zone for the Java backend application.
- C. Configure Amazon DocumentDB (with MongoDB compatibility) with appropriately sized instances in multiple Availability Zones as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
- D. Configure Amazon DocumentDB (with MongoDB compatibility) in on-demand capacity mode in multiple Availability Zones as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution proposes a highly available and scalable architecture using Amazon DocumentDB for the database layer and Amazon EC2 with Auto Scaling for the application layer. Amazon DocumentDB is a fully managed NoSQL database service compatible with MongoDB, making it suitable for document-based data like subscriber profiles. EC2 instances in an Auto Scaling group provide elasticity and fault tolerance for the application.
Why this fits: Deploying both Amazon DocumentDB and Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones ensures high availability and resilience. If an Availability Zone experiences an outage, the application and database can continue operating from other AZs. DocumentDB offers automatic backups, patching, and scaling capabilities, reducing operational overhead compared to self-managing MongoDB on EC2. Auto Scaling groups manage the health and capacity of the EC2 instances, automatically replacing unhealthy instances and scaling compute resources based on demand. Appropriately sized instances ensure performance meets requirements without over-provisioning.
Example: A global subscription service needs a highly available and scalable backend to manage millions of subscriber profiles, which are stored as JSON-like documents. By using Amazon DocumentDB in multiple AZs, the service ensures that subscriber data is always accessible and durable. The Java application, handling user requests and business logic, is deployed on EC2 instances within an Auto Scaling group across multiple AZs. This setup allows the application to automatically scale during peak usage (e.g., new feature launches) and remain available even if an entire data center (AZ) goes offline.
QUESTION 44
A company is hosting a three-tier web application in an on-premises environment. Due to a recent surge in traffic that resulted in downtime and a significant financial impact, company management has ordered that the application be moved to AWS. The application is written in .NET and has a dependency on a MySQL database. A solutions architect must design a scalable and highly available solution to meet the demand of 200,000 daily users.
Which steps should the solutions architect take to design an appropriate solution?
- A. Use AWS Elastic Beanstalk to create a new application with a web server environment and an Amazon RDS MySQL Multi-AZ DB instance. The environment should launch a Network Load Balancer (NLB) in front of an Amazon EC2 Auto Scaling group in multiple Availability Zones. Use an Amazon Route 53 alias record to route traffic from the company’s domain to the NLB.
- B. Use AWS CloudFormation to launch a stack containing an Application Load Balancer (ALB) in front of an Amazon EC2 Auto Scaling group spanning three Availability Zones. The stack should launch a Multi-AZ deployment of an Amazon Aurora MySQL DB cluster with a Retain deletion policy. Use an Amazon Route 53 alias record to route traffic from the company's domain to the ALB.
- C. Use AWS Elastic Beanstalk to create an automatically scaling web server environment that spans two separate Regions with an Application Load Balancer (ALB) in each Region. Create a Multi-AZ deployment of an Amazon Aurora MySQL DB cluster with a cross-Region read replica. Use Amazon Route 53 with a geo-proximity routing policy to route traffic between the two Regions.
- D. Use AWS CloudFormation to launch a stack containing an Application Load Balancer (ALB) in front of an Amazon ECS cluster of Spot instances spanning three Availability Zones. The stack should launch an Amazon RDS MySQL DB instance with a Snapshot deletion policy. Use an Amazon Route 53 alias record to route traffic from the company’s domain to the ALB.<h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution uses AWS CloudFormation for Infrastructure as Code (IaC) to provision a highly available and scalable web application architecture. It includes an Application Load Balancer (ALB) for intelligent L7 traffic distribution, an Amazon EC2 Auto Scaling group across multiple Availability Zones for compute, a Multi-AZ Amazon Aurora MySQL DB cluster for a robust database layer, and Amazon Route 53 for domain name resolution.
Why this fits: This choice represents a robust, highly available, and scalable architecture suitable for a professional-level solution.
- AWS CloudFormation: Provides Infrastructure as Code, ensuring repeatable, consistent, and version-controlled deployments, which is a professional best practice.
- Application Load Balancer (ALB): Ideal for web applications (HTTP/S traffic) due to its advanced routing capabilities (e.g., path-based, host-based routing), and integration with other AWS services like AWS WAF. It is generally preferred over a Network Load Balancer (NLB) for web applications unless extreme Layer 4 performance is the sole focus.
- Amazon EC2 Auto Scaling group spanning three Availability Zones: Ensures high availability, fault tolerance, and automatic scaling of compute resources to handle varying loads, a fundamental requirement for production applications. Spanning three AZs provides maximum resilience within a region.
- Multi-AZ deployment of an Amazon Aurora MySQL DB cluster: Amazon Aurora offers superior performance, availability, and scalability compared to standard Amazon RDS MySQL instances. A Multi-AZ cluster provides automatic failover, data durability, and high availability, essential for critical data.
- Retain deletion policy for the DB cluster: This is a crucial professional consideration, preventing accidental data loss if the CloudFormation stack is deleted, safeguarding critical database information.
- Amazon Route 53 alias record: Provides a highly available and cost-effective way to map a company’s domain name to the ALB, automatically handling IP address changes of the underlying AWS resource.
Example: A company migrating its critical e-commerce platform to AWS requires an architecture that is highly available, scalable, and easily deployable. Using CloudFormation with an ALB, Auto Scaling group across three AZs, and a Multi-AZ Aurora MySQL cluster with a retain policy, they can ensure their application remains online and performant, with their database protected against accidental deletion, all integrated seamlessly with their domain via Route 53.
QUESTION 45 (Multi-Select)
A company runs a serverless application in a single AWS Region. The application accesses external URLs and extracts metadata from those sites. The company uses an Amazon Simple Notification Service (Amazon SNS) topic to publish URLs to an Amazon Simple Queue Service (Amazon SQS) queue. An AWS Lambda function uses the queue as an event source and processes the URLs from the queue. Results are saved to an Amazon S3 bucket.
The company wants to process each URL in other Regions to compare possible differences in site localization. URLs must be published from the existing Region. Results must be written to the existing S3 bucket in the current Region.
Which combination of changes will produce multi-Region deployment that meets these requirements? (Choose two.)
- A. Deploy the SQS queue with the Lambda function to other Regions.
- B. Subscribe the SNS topic in each Region to the SQS queue.
- C. Subscribe the SQS queue in each Region to the SNS topic.
- D. Configure the SQS queue to publish URLs to SNS topics in each Region.
- E. Deploy the SNS topic and the Lambda function to other Regions.
Click to View Verified Solution & Explanation
Correct Option: A,C
Description: To achieve a truly distributed or highly available architecture across multiple AWS Regions, it’s often necessary to replicate core components like SQS queues and their associated processing logic (e.g., Lambda functions) into each desired Region.
Why this fits: If the goal is to have regional processing of messages in a multi-region setup, each region needs its own SQS queue to store messages locally and a Lambda function configured to process those messages from the regional SQS queue. Deploying these components to each target Region establishes the necessary regional infrastructure.
Example: An application needs to process customer orders originating from different geographic areas. By deploying an SQS queue and a Lambda function in us-east-1 and eu-west-1, the system can process orders locally within each region, improving latency and resilience.
✅ Choice C: Subscribe the SQS queue in each Region to the SNS topic.
Description: Amazon Simple Notification Service (SNS) provides a publish/subscribe messaging service where messages are published to topics, and various types of endpoints (including Amazon SQS queues, Lambda functions, HTTP/S endpoints, and email) can subscribe to these topics to receive the messages.
Why this fits: For an SQS queue to receive messages from an SNS topic, it must be explicitly subscribed to that topic. If you have SQS queues in multiple Regions (as implied by choice A for a multi-region setup) and you want them all to receive the same message published to a central (or regional) SNS topic, each SQS queue must have a valid subscription to that SNS topic. This is the standard fan-out pattern in AWS.
Example: A global product catalog update system publishes changes to an SNS topic. Regional order processing systems, each with their own SQS queue (e.g., us-east-1-orders-queue, eu-west-1-orders-queue), subscribe their respective queues to this SNS topic. When an update is published, both regional SQS queues receive the message, allowing their local Lambda functions to process it.
QUESTION 46
A team collects and routes behavioral data for an entire company. The company runs a Multi-AZ VPC environment with public subnets, private subnets, and in internet gateway. Each public subnet also contains a NAT gateway. Most of the company’s applications read from and write to Amazon Kinesis Data Streams. Most of the workloads run in private subnets.
A solutions architect must the infrastructure The Solutions to and maintain the function of the applications The solutions architect Cost Explorer and notices that the cost in the EC2-Other category is consistently high A further review shows that Nat Gateway-Bytes charges are the cost in the EC2-Other category.
What should the solutions architect do to meet requirements?
- A. Enable VPC Flow. Use Amazon Athena to analyze the logs for traffic that can be removed. Ensure that security groups are blocking traffic that is responsible for high costs.
- B. Add an interface VPC endpoint for Kinesis Streams to the VPC. Ensure that applications have the correct IAM permissions to use the interface VPC endpoint.
- C. Enable VPC Flow Logs and Amazon Detective. Review Detective findings for traffic that is not related to Kinesis Data Streams. Configure security groups to block that traffic.
- D. Add an Interface VPC endpoint for Kinesis Data Streams to the VPC. Ensure that the VPC endpoint policy allows traffic from the applications.<h1>
Click to View Verified Solution & Explanation
Correct Option: D
Description: An Interface VPC endpoint, powered by AWS PrivateLink, enables private connectivity between your VPC and supported AWS services, services hosted by other AWS accounts (VPC endpoint services), and supported AWS Marketplace partner services. When you create an interface endpoint for an AWS service like Kinesis Data Streams, traffic between your VPC and the service travels directly over the Amazon network, rather than traversing the public internet. This enhances security and can help reduce data transfer costs associated with NAT gateways or public internet egress.
Why this fits: Applications running in private subnets within a VPC often need to communicate with AWS services without exposing that traffic to the public internet. Kinesis Data Streams supports interface VPC endpoints. By implementing an interface VPC endpoint for Kinesis Data Streams, applications within the VPC can privately and securely send data to Kinesis. Crucially, configuring the VPC endpoint policy ensures that only authorized applications or principals are allowed to use that endpoint to access Kinesis Data Streams, providing granular access control at the network level in conjunction with IAM policies. This approach is the recommended best practice for private, secure, and cost-effective access to AWS services from within a VPC.
Example: An EC2 instance running in a private subnet needs to ingest real-time data into Kinesis Data Streams. Instead of routing traffic through a NAT Gateway or an Internet Gateway, which would incur additional costs and expose traffic to the public internet, an Interface VPC endpoint for Kinesis Data Streams is deployed in the VPC. The endpoint’s security groups and endpoint policy are configured to allow traffic from the EC2 instance’s security group and IAM role, enabling the instance to securely and privately publish data to Kinesis Data Streams within the AWS network.
QUESTION 47
An adventure company has launched a new feature on its mobile app. Users can use the feature to upload their hiking and rafting photos and videos anytime. The photos and videos are stored in Amazon S3 Standard storage in an S3 bucket and are served through Amazon CloudFront.
The company needs to optimize the cost of the storage. A solutions architect discovers that most of the uploaded photos and videos are accessed infrequently after 30 days However, some of the uploaded photos and are accessed frequently after 30 days. The solutions architect needs to implement a solution that maintains millisecond retrieval availability of the photos and videos at the lowest possible cost.
Which solution will meet these requirements?
- A. Configure S3 Intelligent-Tiering on the S3 bucket.
- B. Configure an S3 Lifecycle policy to transition image object and video objects from S3 Standard to S3 Glacier Deep Archive after 30 days.
- C. Replace Amazon S3 with an Amazon Elastic File System (Amazon EFS) file system that is mounted on Amazon ECZ instances.
- D. Add a Cache-control: max-age header to the S3 objects and S3 image objects. Set the header to 30 days.
Click to View Verified Solution & Explanation
Correct Option: A
The correct solution for this requirement is A: Configure S3 Intelligent-Tiering on the S3 bucket.
Why S3 Intelligent-Tiering is the Right Choice
This scenario describes a “mixed” access pattern where most data becomes cold, but some remains hot. S3 Intelligent-Tiering is specifically designed for data with unknown or changing access patterns.
Automatic Cost Savings: It automatically moves objects between two access tiers: Frequent Access and Infrequent Access.
Handles Unpredictability: Since “some” photos are still accessed frequently after 30 days, a standard lifecycle policy would penalize those specific files with retrieval fees. Intelligent-Tiering has no retrieval fees.
Performance: It maintains the millisecond retrieval requirement for both tiers.
Optimization: Objects that are not accessed for 30 consecutive days are automatically moved to the Infrequent Access tier to save roughly 40% in storage costs.
QUESTION 48 (Multi-Select)
A company is migrating some of its applications to AWS. The company wants to migrate and modernize the applications quickly after it finalizes networking and security strategies. The company has set up an AWS Direct Connection in a central network account.
The company expects to have hundreds of AWS accounts and VPCs in the near future. The corporate network must be able to access the resources on AWS seamlessly and also must be able to communicate with all the VPCs. The company also wants to route its cloud resources to the internet through its on-premises data center.
Which combination of steps will meet these requirements? (Choose three.)
- A. Create a Direct Connect gateway in the central account. In each of the accounts, create an association proposal by using the Direct Connect gateway and the account ID for every virtual private gateway.
- B. Create a Direct Connect gateway and a transit gateway in the central network account. Attach the transit gateway to the Direct Connect gateway by using a transit VIF.
- C. Provision an internet gateway. Attach the internet gateway to subnets. Allow internet traffic through the gateway.
- D. Share the transit gateway with other accounts. Attach VPCs to the transit gateway.
- E. Provision VPC peering as necessary.
- F. Provision only private subnets. Open the necessary route on the transit gateway and customer gateway to allow outbound internet traffic from AWS to flow through NAT services that run in the data center.<h1>
Click to View Verified Solution & Explanation
Correct Option: B,D,F
Description: A Direct Connect gateway provides a global, highly available connection point for AWS Direct Connect dedicated connections or hosted connections. When combined with a Transit Gateway, it allows for scalable hybrid cloud architectures. A Transit Gateway acts as a central hub for connecting multiple VPCs across different accounts and on-premises networks. A transit Virtual Interface (VIF) is specifically designed to connect a Direct Connect gateway to a Transit Gateway, enabling BGP routing and large-scale connectivity between the on-premises network and VPCs attached to the Transit Gateway.
Why this fits: This choice describes the best practice and most scalable architecture for connecting an on-premises network via AWS Direct Connect to multiple VPCs spread across various AWS accounts. The Direct Connect gateway centralizes the on-premises connection, and the Transit Gateway centralizes the VPC connections, with the transit VIF acting as the necessary bridge between them, supporting high bandwidth and dynamic routing.
Example: An enterprise wants to establish a secure and high-bandwidth connection from its corporate data center to several production and development VPCs located in different AWS accounts. They would provision a Direct Connect dedicated connection, create a Direct Connect gateway, and then set up a Transit Gateway in a central networking account. A transit VIF would be configured to link the Direct Connect gateway to this Transit Gateway, allowing on-premises resources to communicate with all connected VPCs.
✅ Share the transit gateway with other accounts. Attach VPCs to the transit gateway.
Description: AWS Resource Access Manager (RAM) allows you to share your AWS resources, including Transit Gateways, with other AWS accounts within your AWS Organization. Once a Transit Gateway is shared, the owners of the recipient accounts can create attachments from their VPCs to the shared Transit Gateway, effectively extending the network hub to their respective VPCs.
Why this fits: This is the standard and most efficient mechanism for enabling cross-account VPC connectivity through a central Transit Gateway within an AWS Organization. It simplifies management and avoids complex peering relationships between every VPC. By sharing, the central networking team controls the Transit Gateway, while individual account teams manage their VPC attachments.
Example: Following the creation of the Transit Gateway in the central networking account, the network administrator would use AWS RAM to share this Transit Gateway with the development, staging, and production AWS accounts. The administrators of these respective accounts would then accept the shared resource and create VPC attachments from their application VPCs to the shared Transit Gateway, enabling seamless routing between their VPCs and the on-premises network.
✅ Provision only private subnets. Open the necessary route on the transit gateway and customer gateway to allow outbound internet traffic from AWS to flow through NAT services that run in the data center.
Description: This strategy involves configuring VPCs exclusively with private subnets, meaning no direct public internet access from within the VPCs. For any outbound internet connectivity, traffic is routed back to the on-premises data center via the Direct Connect gateway and Transit Gateway. The on-premises network then handles Network Address Translation (NAT) and routes the traffic to the internet through its existing security infrastructure (firewalls, proxies). This approach ensures all internet egress is subject to corporate security policies.
Why this fits: This is a common and often mandated architecture for enterprises with strict security, compliance, and auditing requirements. By centralizing internet egress through the on-premises data center, organizations can leverage their established security controls and visibility tools. The routing on the Transit Gateway would direct default routes (0.0.0.0/0) towards the Direct Connect attachment, and the customer gateway would forward it to the on-premises NAT and internet egress points.
Example: A highly regulated financial services company hosts applications in AWS. To ensure all outbound internet traffic from these applications is inspected and controlled by corporate security policies, they configure their AWS VPCs with only private subnets. Any application requiring internet access will have its traffic routed via the Transit Gateway and Direct Connect connection back to the corporate data center. There, the traffic passes through enterprise firewalls and NAT services before reaching the public internet, ensuring full compliance and control.
QUESTION 49
A company runs its application in the eu-west-1 Region and has one account for each of its environments: development, Testing, and production. All the environments are running 24 hours a day, 7 days a week by using stateful Amazon EC2 instances and Amazon RDS for MySQL databases. The databases are 500 GB and 800 GB in size.
The development team and testing team work on business days during business hours, but the production environment operates 24 hours a day, 7 days a week. The company wants to reduce costs. All resources are with an environment tag with either development, testing, or production as the key.
What should a solutions architect do to reduce costs with the LEAST operational effort?
- A. Create an Amazon EventBridge (Amazon CloudWatch Events) rule that runs once every day. Configure the rule to invoke one AWS Lambda function that starts or stops instances based on the tag, day. and time.
- B. Create an Amazon EventEridge (Amazon CloudWatch Events) rule that runs every business day in the evening, Configure the rule to invoke an AWS Lambda function that stops instances based on the tag. Create a second EventBridge (CloudWatch Create an Amazon EventBridge (Amazon CloudWatch) rule that runs every business day in the morning Configure the second rule to invoke another Lambda function that starts instances based on the tag.
- C. Create an Amazon EventBridge (Amazon CloudWatch Events) rule that runs every business day in the evening Configure the rule to invoke an AWS Lambda function that terminates instances based on the tag. Create a second EventBridge (CloudWatch Events) rule that runs every business day in the morning Configure the second rule to invoke another Lambda function that restores the instances from their last backup based on the tag.
- D. Create an Amazon EventBridge (Amazon CloudWatch Events) rule that runs every hour Configure the rule to invoke AWS Lambda function that terminates or restores instances from their last backup based on the day, and time.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon EventBridge (formerly Amazon CloudWatch Events) allows you to set up rules that respond to events or run on a schedule. AWS Lambda enables you to run code without provisioning or managing servers. By combining these services, you can create a serverless automation solution. Stopping an EC2 instance preserves its root volume and any attached EBS volumes, allowing it to be restarted later with the same configuration and data, while you only pay for the EBS storage, not the instance compute time.
Why this fits: This solution correctly addresses the requirement for cost optimization by stopping instances during non-business hours and starting them for business hours.
* Two Separate Rules: Using two distinct EventBridge rules (one for evening stop, one for morning start) with separate schedules is the most robust and flexible way to manage the start and stop actions independently for specific times.
* Targeted Actions: The rules invoke AWS Lambda functions that can be scripted to filter and act upon instances based on specific tags, ensuring only designated instances are affected.
* Instance State Management: Stopping and starting EC2 instances is the standard method for cost savings on non-production environments that don’t need to run 24/7, without losing data or configuration. It significantly reduces compute costs during idle periods.
* Eliminating other choices:
* Choice A uses a single Lambda function and rule, which would be more complex to manage the start/stop logic and schedules within one function, especially for "every business day" vs. "once every day".
* Choice C terminates instances, which would result in data loss on the instance store (if used) and would require restoration from backups (which isn’t ideal for a simple daily start/stop cycle) leading to higher operational overhead and potential downtime.
* Choice D runs every hour and also involves termination/restoration, which is overly aggressive for simple daily cost savings and carries the same data loss and operational overhead risks as Choice C.
Example: A development team uses EC2 instances from Monday to Friday, 9 AM to 5 PM. An EventBridge rule can be scheduled to trigger a Lambda function at 5 PM on weekdays to stop all instances tagged ‘Environment: Dev’. A second EventBridge rule can trigger another Lambda function at 8:30 AM on weekdays to start those same instances, making them ready before the team begins work. This ensures significant cost savings over the weekend and non-working hours.
QUESTION 50
A company has VPC flow logs enabled for its NAT gateway. The company is seeing Action = ACCEPT for inbound traffic that from public IP address 198.51.100.2 destined for a private Amazon EC2 instance.
A solutions architect must determine whether the traffic represents unsolicited inbound connections from the internet. The first two of the VPC CIDR block are 203.0.
Which set of steps should the solutions architect take to meet these requirements?
- A. Open the AWS CloudTrail console. Select the log group that contains the NAT gateways elastic network interface and the private instance's elastic network interface. Run a query to filter with the destination address set as "like 203.0" and the source address set as "like 198.51.100.2". Run the stats command to filter the sum of bytes transferred by the source address and the destination address.
- B. Open the Amazon CloudWatch console. Select the log group that contains the NAT gateway's elastic network interface and the private instance's elastic network interface. Run a query to filter with the destination address set as "like 203.0" and the source address set as "like 198.51.100.2". Run the stats command to filter the sum of bytes transferred by the source address and the destination address.
- C. Open the AWS CloudTrail console. Select the log group that contains the NAT gateways elastic network interface and the private instance's elastic network interface. Run a query to filter with the destination address set as "like 198.51.100.2" and the source address set as "like 203.0". Run the stats command to filter the sum of bytes transferred by the source address and the destination address.
- D. Open the Amazon CloudWatch console. Select the group that contains the NAT gateway's elastic network interface and the private instance's elastic network interface. Run a query to filter with the destination address set as "like 198.51.100.2" and the source address set as "like 203.0". Run the stats command to filter the sum of bytes transferred by the source address and the destination address.
Click to View Verified Solution & Explanation
Correct Option: B
Description: VPC Flow Logs capture information about IP traffic flowing to and from network interfaces in your Virtual Private Cloud (VPC). These logs contain details such as source and destination IP addresses, ports, protocol, and the number of bytes and packets transferred. VPC Flow Logs can be published to Amazon CloudWatch Logs, where Amazon CloudWatch Logs Insights provides a powerful query language for analyzing this log data. AWS CloudTrail, in contrast, records API activity and events made within your AWS account, not actual network flow traffic.
Why this fits: To determine the sum of bytes transferred from a private instance (identified by its private IP 198.51.100.2) to an external destination (identified by the public IP range 203.0.x.x) via a NAT Gateway, VPC Flow Logs are the correct data source. These logs are stored and queried within Amazon CloudWatch Logs. Choice B correctly identifies Amazon CloudWatch as the service and specifies the appropriate filtering criteria for the source IP (srcaddr) originating from the private instance and the destination IP (dstaddr) representing the external service. The use of the stats command to sum bytes_transferred is the standard approach in CloudWatch Logs Insights for aggregating traffic volume. Choices A and C are incorrect because they refer to AWS CloudTrail, which does not contain network flow data. Choice D is incorrect because, while it correctly identifies Amazon CloudWatch, it swaps the source and destination IP addresses, which would analyze traffic in the opposite direction (from the external IP to the private instance).
Example: A network administrator suspects high data transfer costs originating from a specific private EC2 instance within a VPC. By using CloudWatch Logs Insights to query VPC Flow Logs associated with that instance’s ENI and the NAT Gateway’s ENI, filtering for outbound traffic (srcaddr of the instance, dstaddr of external public IPs), they can accurately sum the bytes transferred over a specified period to pinpoint the source of the data usage.
QUESTION 51
A company runs a microservice as an AWS Lambda function. The microservice writes data to an on-premises SQL database that supports a limited number of concurrent connections. When the number of Lambda function invocations is too high, the database crashes and causes application downtime. The company has an AWS Direct Connect connection between the company’s VPC and the on-premises data center. The company wants to protect the database from crashes.
Which solution will meet these requirements?
- A. Write the data to an Amazon Simple Queue Service (Amazon SQS) queue. Configure the Lambda function to read from the queue and write to the existing database. Set a reserved concurrency limit on the Lambda function that is less than the number of connections that the database supports.
- B. Create a new Amazon Aurora Serverless DB cluster. Use AWS DataSync to migrate the data from the existing database to Aurora Serverless. Reconfigure the Lambda function to write to Aurora.
- C. Create an Amazon RDS Proxy DB instance. Attach the RDS Proxy DB instance to the Amazon RDS DB instance. Reconfigure the Lambda function to write to the RDS Proxy DB instance.
- D. Write the data to an Amazon Simple Notification Service (Amazon SNS) topic. Invoke the Lambda function to write to the existing database when the topic receives new messages. Configure provisioned concurrency for the Lambda function to be equal to the number of connections that the database supports.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution leverages Amazon SQS as a buffer and decoupler, allowing incoming requests to be queued rather than directly hitting the database. An AWS Lambda function is configured with an SQS event source mapping to process messages from this queue. Crucially, a reserved concurrency limit is applied to the Lambda function. Reserved concurrency guarantees a maximum number of concurrent executions for a specific function, effectively limiting the rate at which it can process messages and attempt database connections.
Why this fits: This approach is highly effective for protecting an existing database with a fixed connection limit.
- Decoupling and Buffering: SQS acts as an elastic buffer, absorbing spikes in incoming requests. If the database is slow or unavailable, messages remain in the queue, preventing data loss and retrying processing later.
- Rate Limiting: By setting a Lambda reserved concurrency limit that is less than the database’s maximum connection capacity, you ensure that the Lambda function will never open more connections than the database can handle concurrently. This prevents database overload and connection exhaustion, which can lead to downtime.
- Asynchronous Processing: The data ingress is decoupled from the database write operation, improving system responsiveness and resilience.
- Scalability and Cost-Effectiveness: SQS scales automatically to handle any message volume, and Lambda processes messages efficiently at a controlled pace.
Example: An e-commerce application experiences a surge in orders during a flash sale. Instead of directly inserting order details into a relational database with a known connection limit, the application sends each new order to an SQS queue. A Lambda function, configured to process messages from this queue, has a reserved concurrency limit set to 50. If the database supports 100 connections, this ensures that Lambda will never try to open more than 50 connections, leaving headroom for other database operations and preventing the database from becoming overwhelmed, even if thousands of order messages are queued.
QUESTION 52
A company wants to use AWS for disaster recovery for an on-premises application. The company has hundreds of Windows-based servers that run the application. All the servers mount a common share.
The company has an RTO of 15 minutes and an RPO of 5 minutes. The solution must support native failover and fallback capabilities.
Which solution will meet these requirements MOST cost-effectively?
- A. Create an AWS Storage Gateway File Gateway. Schedule daily Windows server backups. Save the data to Amazon S3. During a disaster, recover the on- premises servers from the backup. During failback, run the on-premises servers on Amazon EC2 instances.
- B. Create a set of AWS CloudFormation templates to create infrastructure. Replicate all data to Amazon Elastic File System (Amazon EFS) by using AWS DataSync. During a disaster, use AWS CodePipeline to deploy the templates to restore the on-premises servers. Fail back the data by using DataSync.
- C. Create an AWS Cloud Development Kit (AWS CDK) pipeline to stand up a multi-site active-active environment on AWS. Replicate data into Amazon S3 by using the s3 sync command. During a disaster, swap DNS endpoints to point to AWS. Fail back the data by using the s3 sync command.
- D. Use AWS Elastic Disaster Recovery to replicate the on-premises servers. Replicate data to an Amazon FSx for Windows File Server file system by using AWS DataSync. Mount the file system to AWS servers. During a disaster, fail over the on-premises servers to AWS. Fail back to new or existing servers by using Elastic Disaster Recovery.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution leverages AWS Elastic Disaster Recovery (DRS) for comprehensive, block-level replication of entire on-premises servers (operating systems, applications, and data) to an AWS staging area. For critical file data, especially for Windows environments, it proposes AWS DataSync to replicate data efficiently and securely to Amazon FSx for Windows File Server, a fully managed, highly available, and scalable file storage built on Windows Server.
Why this fits: This approach provides a robust and integrated disaster recovery solution for on-premises Windows servers.
- AWS Elastic Disaster Recovery (DRS) is the recommended service for server-level disaster recovery to AWS, offering continuous, block-level replication with minimal RTO and RPO, and native failover/failback capabilities. It ensures that the entire server state (OS, applications, configurations) is ready for launch as EC2 instances in AWS.
- AWS DataSync is ideal for large-scale, automated, and secure data transfer between on-premises storage and AWS storage services. For Windows file shares, replicating to Amazon FSx for Windows File Server ensures compatibility with SMB protocol, Active Directory integration, and the preservation of NTFS permissions and file attributes, which are crucial for many business applications.
- Mounting the FSx file system to the recovered AWS servers allows applications to immediately access their required data once the servers are failed over.
- The inclusion of failback using Elastic Disaster Recovery makes this a complete DR solution, allowing businesses to return operations to their new or existing on-premises infrastructure seamlessly after a disaster event.
Example: A company relies on several on-premises Windows Server machines hosting an ERP application and shared file servers. They configure AWS Elastic Disaster Recovery to continuously replicate their ERP application servers to AWS. Concurrently, AWS DataSync is used to replicate the shared file data from their on-premises file servers to an Amazon FSx for Windows File Server instance in AWS. During a disaster, they initiate a failover in DRS, launching their ERP servers as EC2 instances that then connect to the FSx share. After the on-premises environment is restored, they use DRS’s failback feature to return operations to their on-premises servers.
QUESTION 53 (Multi-Select)
A company is building an electronic document management system in which users upload their documents. The application stack is entirely serverless and runs on AWS in the eu-central-1 Region. The system includes a web application that uses an Amazon CloudFront distribution for delivery with Amazon S3 as the origin. The web application communicates with Amazon API Gateway Regional endpoints. The API Gateway APIs call AWS Lambda functions that store metadata in an Amazon Aurora Serverless database and put the documents into an S3 bucket.
The company is growing steadily and has completed a proof of concept with its largest customer. The company must improve latency outside of Europe.
Which combination of actions will meet these requirements? (Select Two)
- A. Enable S3 Transfer Acceleration on the S3 bucket. Ensure that the web application uses the Transfer Acceleration signed URLs.
- B. Create an accelerator in AWS Global Accelerator. Attach the accelerator to the CloudFront distribution.
- C. Change the API Gateway Regional endpoints to edge-optimized endpoints.
- D. Provision the entire stack in two other locations that are spread across the world. Use global databases on the Aurora Serverless cluster.
- E. Add an Amazon RDS proxy between the Lambda functions and the Aurora Serverless database.
Click to View Verified Solution & Explanation
Correct Option: A,C
Description: S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and an S3 bucket. Transfer Acceleration utilizes Amazon CloudFront’s globally distributed edge locations, which significantly reduces network latency by routing traffic through optimized paths.
Why this fits: This option directly addresses scenarios where data transfer (uploads or downloads) to or from an S3 bucket is a bottleneck, especially for geographically dispersed users. By leveraging CloudFront’s global network, the solution ensures that users interact with the closest edge location, resulting in faster data transfers and improved application responsiveness.
Example: A web application that allows users globally to upload large media files or download extensive reports stored in S3 would benefit significantly. Instead of routing traffic directly to the S3 bucket’s region, the data path is optimized through CloudFront, minimizing latency and transfer times.
QUESTION 54 (Multi-Select)
A company has several AWS accounts. A development team is building an automation framework for cloud governance and remediation processes. The automation framework uses AWS Lambda functions in a centralized account. A solutions architect must implement a least privilege permissions policy that allows the Lambda functions to run in each of the company’s AWS accounts.
Which combination of steps will meet these requirements? (Choose two.)
- A. In the centralized account, create an IAM role that has the Lambda service as a trusted entity. Add an inline policy to assume the roles of the other AWS accounts.
- B. In the other AWS accounts, create an IAM role that has minimal permissions. Add the centralized account’s Lambda IAM role as a trusted entity.
- C. In the centralized account, create an IAM role that has roles of the other accounts as trusted entities. Provide minimal permissions.
- D. In the other AWS accounts, create an IAM role that has permissions to assume the role of the centralizedaccount. Add the Lambda service as a trusted entity.
- E. In the other AWS accounts, create an IAM role that has minimal permissions. Add the Lambda service as a trusted entity.
Click to View Verified Solution & Explanation
Correct Option: A,B
Description: This choice defines the source IAM role within the centralized AWS account that the Lambda function will use. It establishes that the Lambda service can assume this role (via its trust policy) and that this role has the necessary permissions (via an inline policy) to assume target roles in other AWS accounts. This is the first half of a typical cross-account access pattern.
Why this fits: For a Lambda function to operate, it must have an execution role that the Lambda service can assume (lambda.amazonaws.com as a trusted entity). To perform actions in other accounts, this execution role must also be granted sts:AssumeRole permissions targeting the specific ARNs of the roles in those other accounts. This allows the Lambda function to first assume its local centralized role, and then use the permissions of that role to assume a target role in another account, thereby gaining permissions to act in that target account.
Example: A centralized account contains a Lambda function designed to start EC2 instances in multiple production accounts. The Lambda function’s execution role (in the centralized account) would have lambda.amazonaws.com as a trusted entity and a policy allowing sts:AssumeRole on arn:aws:iam::<other-account-id>:role/EC2AdminRole for each production account.
✅ Choice B: In the other AWS accounts, create an IAM role that has minimal permissions. Add the centralized account’s Lambda IAM role as a trusted entity.
Description: This choice defines the target IAM role within each of the other AWS accounts. It specifies that this role should grant minimal permissions, adhering to the principle of least privilege, and that its trust policy should allow the specific IAM role from the centralized account (described in Choice A) to assume it. This is the second half of the cross-account access pattern.
Why this fits: For cross-account access, the target account must explicitly trust the source principal (in this case, the specific IAM role from the centralized account). By adding the ARN of the centralized account’s Lambda IAM role to the trust policy of a role in the other AWS accounts, a secure pathway is established. The permissions granted to this target role define the maximum scope of actions the centralized Lambda function can perform in that specific account. Using "minimal permissions" ensures that the Lambda function only gets the necessary privileges.
Example: In each production account (from the example above), an EC2AdminRole would be created. This role’s trust policy would allow the centralized account’s Lambda execution role (e.g., arn:aws:iam::<central-account-id>:role/CentralLambdaExecutor) to assume it. The EC2AdminRole‘s permissions policy would be restricted to only allow ec2:StartInstances and ec2:StopInstances for specific EC2 instances, providing minimal necessary permissions.
QUESTION 55 (Multi-Select)
A digital marketing company has multiple AWS accounts that belong to various teams. The creative team uses an Amazon S3 bucket in its AWS account to securely store images and media files that are used as content for the company’s marketing campaigns. The creative team wants to share the S3 bucket with the strategy team so that the strategy team can view the objects.
A solutions architect has created an IAM role that is named strategy_reviewer in the Strategy account. The solutions architect also has set up a custom AWS Key Management Service (AWS KMS) key in the Creative account and has associated the key with the S3 bucket. However, when users from the Strategy account assume the IAM role and try to access objects in the S3 bucket, they receive an Access Denied error.
The solutions architect must ensure that users in the Strategy account can access the S3 bucket. The solution must provide these users with only the minimum permissions that they need.
Which combination of steps should the solutions architect take to meet these requirements? (Choose three.)
- A. Create a bucket policy that includes read permissions for the S3 bucket. Set the principal of the bucketpolicy to the account ID of the Strategy account.
- B. Update the strategy_reviewer IAM role to grant full permissions for the S3 bucket and to grant decryptpermissions for the custom KMS key.
- C. Update the custom KMS key policy in the Creative account to grant decrypt permissions to thestrategy_reviewer IAM role.
- D. Create a bucket policy that includes read permissions for the S3 bucket. Set the principal of the bucketpolicy to an anonymous user.
- E. Update the custom KMS key policy in the Creative account to grant encrypt permissions to thestrategy_reviewer IAM role.
- F. Update the strategy_reviewer IAM role to grant read permissions for the S3 bucket and to grant decryptpermissions for the custom KMS key.
Click to View Verified Solution & Explanation
Correct Option: A,C,F
Description: A bucket policy is a resource-based access policy directly attached to an Amazon S3 bucket, defining what actions are allowed or denied on the bucket and its objects, and by whom.
Why this fits: For cross-account access, the resource owner (the Creative account, which owns the S3 bucket) must explicitly grant permission to the requesting account (the Strategy account). Setting the principal to the Strategy account ID allows the Strategy account to then delegate permissions to its IAM principals (like the strategy_reviewer role) for accessing the bucket. This is a foundational step in establishing cross-account trust for S3 access.
Example: A bucket policy on the Creative account’s S3 bucket containing a statement like {"Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::[StrategyAccountID]:root"}, "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::creative-bucket/*"]}.
✅ Choice C: Update the custom KMS key policy in the Creative account to grant decrypt permissions to the strategy_reviewer IAM role.
Description: A KMS key policy is a resource-based access policy attached to a Customer Managed Key (CMK) in AWS Key Management Service (KMS), specifying which IAM principals can use the key and for what cryptographic operations (e.g., encrypt, decrypt, re-encrypt).
Why this fits: If the S3 objects are encrypted using a custom KMS key owned by the Creative account, the strategy_reviewer IAM role from the Strategy account needs explicit permission to decrypt the data. The KMS key policy, owned by the Creative account, must grant kms:Decrypt permissions to the specific strategy_reviewer role from the Strategy account for this operation to succeed.
Example: A KMS key policy on the Creative account’s custom KMS key with a statement like {"Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::[StrategyAccountID]:role/strategy_reviewer"}, "Action": ["kms:Decrypt"], "Resource": "*"}.
✅ Choice F: Update the strategy_reviewer IAM role to grant read permissions for the S3 bucket and to grant decrypt permissions for the custom KMS key.
Description: An IAM role policy is an identity-based policy attached directly to an IAM role, defining the permissions that the role itself possesses to perform actions on AWS resources.
Why this fits: While resource-based policies (bucket policy and KMS key policy in the Creative account) grant the permission for the Strategy account to access resources, the strategy_reviewer role within the Strategy account itself must also have an identity-based policy that explicitly allows it to perform the s3:GetObject (read) and kms:Decrypt actions. Both sides of the permission model (resource policy and identity policy) must grant permission for the action to be authorized.
Example: An IAM policy attached to the strategy_reviewer role in the Strategy account with statements similar to {"Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::creative-bucket/*"]} and {"Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:region:CreativeAccountID:key/key-id"]}.
QUESTION 56
A company is creating a sequel for a popular online game. A large number of users from all over the world will play the game within the first week after launch. Currently, the game consists of the following components deployed in a single AWS Region:
- Amazon S3 bucket that stores game assets.
- Amazon DynamoDB table that stores player scores.
A solutions architect needs to design a multi-Region solution that will reduce latency, improve reliability, and require the least effort to implement.
What should the solutions architect do to meet these requirements?
- A. Create an Amazon CloudFront distribution to serve assets from the S3 bucket. Configure S3 Cross-Region Replication. Create a new DynamoDB table in a new Region. Use the new table as a replica target for DynamoDB global tables.
- B. Create an Amazon CloudFront distribution to serve assets from the S3 bucket. Configure S3 Same-Region Replication. Create a new DynamoDB table in a new Region. Configure asynchronous replication between the DynamoDB tables by using AWS Database Migration Service (AWS DMS) with change data capture (CDC).
- C. Create another S3 bucket in a new Region, and configure S3 Cross-Region Replication between the buckets. Create an Amazon CloudFront distribution and configure origin failover with two origins accessing the S3 buckets in each Region. Configure DynamoDB global tables by enabling Amazon DynamoDB Streams, and add a replica table in a new Region.
- D. Create another S3 bucket in the sine Region, and configure S3 Same-Region Replication between the buckets. Create an Amazon CloudFront distribution and configure origin failover with two origins accessing the S3 buckets. Create a new DynamoDB table in a new Region. Use the new table as a replica target for DynamoDB global tables.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This approach outlines a comprehensive strategy for achieving multi-Region availability and disaster recovery for both static content stored in Amazon S3 and application data stored in Amazon DynamoDB. S3 Cross-Region Replication (CRR) ensures data durability and availability by automatically replicating objects between buckets in different AWS Regions. Amazon CloudFront with origin failover allows a CDN to serve content from a primary S3 origin and automatically switch to a secondary S3 origin in another Region if the primary becomes unavailable, significantly improving resilience and performance. DynamoDB global tables provide a fully managed, multi-master, multi-Region database that automatically replicates data changes across specified Regions using DynamoDB Streams, ensuring low-latency access and high availability for your application’s data layer.
Why this fits: This choice directly addresses the need for a highly available, multi-Region architecture for both static assets and NoSQL data. S3 CRR ensures data is replicated across Regions for disaster recovery and improved access latency. CloudFront’s origin failover capability provides an intelligent way to deliver static assets, switching between regional S3 buckets seamlessly during an outage, which is a core component of a resilient content delivery strategy. DynamoDB global tables are the native, fully managed solution for multi-Region active-active data replication with guaranteed low-latency writes and reads, making it the most robust choice for ensuring the availability and performance of the database layer across multiple Regions.
Example: An e-commerce platform stores product images and static HTML/CSS files in S3 and product catalog data in DynamoDB. By implementing Choice C, the platform can have its static assets replicated from us-east-1 to eu-west-1 via S3 CRR. A CloudFront distribution with origin failover would point to both S3 buckets. If us-east-1 experiences an outage, CloudFront automatically serves content from the eu-west-1 bucket. Concurrently, DynamoDB global tables are configured between us-east-1 and eu-west-1, ensuring that all product data is replicated in near real-time, allowing users in Europe to access data from the eu-west-1 replica with low latency, even if the primary Region is unavailable.
QUESTION 57
A company plans to refactor a monolithic application into a modern application design deployed on AWS. The CI/CD pipeline needs to be upgraded to support the modern design for the application with the following requirements:
- It should allow changes to be released several times every hour.
- It should be able to roll back the changes as quickly as possible.
Which design will meet these requirements?
- A. Deploy a CI/CD pipeline that incorporates AMIs to contain the application and their configurations. Deploy the application by replacing Amazon EC2 instances.
- B. Specify AWS Elastic Beanstalk to stage in a secondary environment as the deployment target for the CI/ CD pipeline of the application. To deploy, swap the staging and production environment URLs.
- C. Use AWS Systems Manager to re-provision the infrastructure for each deployment. Update the Amazon EC2 user data to pull the latest code artifact from Amazon S3 and use Amazon Route 53 weighted routing to point to the new environment.
- D. Roll out the application updates as part of an AutoScaling event using prebuilt AMIs. Use new versions of the AMIs to add instances, and phase out all instances that use the previous AMI version with the configured termination policy during a deployment event.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Elastic Beanstalk simplifies the deployment and scaling of web applications and services. It provides different deployment policies, including blue/green deployments, which involve deploying a new version of an application to a separate, identical environment (the "green" environment) alongside the current production environment (the "blue" environment). Once the new environment is thoroughly tested and validated, Elastic Beanstalk allows for an instant swap of the CNAMEs (URLs) between the old production and new environment.
Why this fits: This approach ensures zero-downtime deployments because the new version runs completely isolated until it’s deemed ready. If any issues are discovered with the new version after the swap, a rollback is as simple as swapping the URLs back to the previous stable environment, making it highly fault-tolerant. This strategy is a canonical solution for professional-level requirements for high availability, minimal disruption, and easy rollbacks during application updates.
Example: A developer updates their web application and pushes the changes to a CI/CD pipeline. The pipeline deploys the new version to an Elastic Beanstalk staging environment. After successful automated and manual tests on the staging environment, the developer performs an environment swap within the Elastic Beanstalk console, instantly routing all production traffic to the new, validated version.
QUESTION 58
An AWS partner company is building a service in AWS Organizations using its organization named org1. This service requires the partner company to have access to AWS resources in a customer account, which is in a separate organization named org2. The company must establish least privilege security access using an API or command line tool to the customer account.
What is the MOST secure way to allow org1 to access resources in org2?
- A. The customer should provide the partner company with their AWS account access keys to log in and perform the required tasks.
- B. The customer should create an IAM user and assign the required permissions to the IAM user. The customer should then provide the credentials to the partner company to log in and perform the required tasks.
- C. The customer should create an IAM role and assign the required permissions to the IAM role. The partner company should then use the IAM role’s Amazon Resource Name (ARN) when requesting access to perform the required tasks.
- D. The customer should create an IAM role and assign the required permissions to the IAM role. The partner company should then use the IAM role’s Amazon Resource Name (ARN), including the external ID in the IAM role’s trust policy, when requesting access to perform the required tasks.<h1>
Click to View Verified Solution & Explanation
Correct Option: D
Description: IAM roles provide a secure and robust mechanism for granting temporary access to AWS resources without sharing long-term credentials. When granting cross-account access to a third party, an IAM role in the customer’s account (the trusting account) with a defined trust policy specifies who can assume it. The external ID is an optional but highly recommended security feature within the trust policy for roles assumed by third parties, designed to prevent the confused deputy problem. It’s a string value that both the customer (trusting account) and the partner (trusted account) know, and it must be passed by the partner when assuming the role.
Why this fits: This approach represents the AWS best practice for granting cross-account access to a third-party partner.
- IAM Roles vs. Users/Keys: IAM roles are preferred over IAM users and access keys for cross-account access because they provide temporary credentials, eliminating the need to distribute or manage long-term credentials, thereby reducing the security risk.
- External ID for Third-Party Access: The external ID is critical when granting access to a third party. It ensures that the role can only be assumed when the partner company explicitly provides the correct external ID. This prevents the partner’s own AWS account from being manipulated by an unauthorized third party (the "confused deputy") to inadvertently assume the role in the customer’s account. Without an external ID, if the partner’s account were compromised, or if the partner inadvertently ran a malicious application, that application could potentially assume the role in the customer’s account without the partner’s explicit intent.
Example: A customer wants to grant a partner company access to perform database backups in their AWS account. The customer creates an IAM role named
PartnerBackupRolein their account with permissions for S3 and RDS. In the trust policy ofPartnerBackupRole, the customer specifies the partner’s AWS account ID as the principal and includes aConditionthat requires ansts:ExternalIdvalue, for instance,mySecurePartnerID123. The partner then uses their own IAM user or role to callsts:AssumeRole, providing thePartnerBackupRole‘s ARN and themySecurePartnerID123external ID. This securely grants temporary credentials for the partner to perform the backups.
QUESTION 59 (Multi-Select)
A company is developing and hosting several projects in the AWS Cloud. The projects are developed across multiple AWS accounts under the same organization in AWS Organizations. The company requires the cost for cloud infrastructure to be allocated to the owning project. The team responsible for all of the AWS accounts has discovered that several Amazon EC2 instances are lacking the Project tag used for cost allocation.
Which actions should a solutions architect take to resolve the problem and prevent it from happening in the future? (Select THREE)
- A. Create an AWS Config rule in each account to find resources with missing tags.</h1><h1>
- B. Create an SCP in the organization with a deny action for ec2:Run lnstances if the Project tag is missing</h1><h1>
- C. Use Amazon Inspector in the organization to find resources with missing tags.</h1><h1>
- D. Create an IAM policy in each account with a deny action for ec2:Run lnstances if the Project tag is missing.</h1><h1>
- E. Create an AWS Config aggregator for the organization to collect a list of EC2 instances with the missing Project tag.</h1><h1>
- F. Use AWS Security Hub to aggregate a list of EC2 instances with the missing Project tag.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A,B,E
Description: AWS Config is a service that enables you to assess, audit, and evaluate the configurations of your AWS resources. It continuously monitors and records AWS resource configurations and allows you to automate the evaluation of recorded configurations against desired configurations.
Why this fits: AWS Config is specifically designed for configuration compliance, including tag compliance. You can define rules (either managed or custom) that check for the presence of specific tags on resources like EC2 instances. Implementing these rules in each account ensures that every account is individually audited for tag compliance.
Example: A managed rule like required-tags can be configured to verify that the ‘Project’ tag is present on EC2 instances. If an instance is launched without this tag, AWS Config will flag it as non-compliant, allowing for remedial action.
✅ Create an SCP in the organization with a deny action for ec2:Run lnstances if the Project tag is missing
Description: Service Control Policies (SCPs) are a type of organization policy that you can use to manage permissions in your AWS organization. SCPs offer central control over the maximum available permissions for all accounts in your organization, including the root account.
Why this fits: SCPs provide a powerful, preventative mechanism to enforce tagging policies at the organizational level. By using an SCP, you can explicitly deny the ec2:RunInstances action if the request does not include the ‘Project’ tag. This ensures that no new EC2 instances can be launched across any account in the organization without the mandatory tag, enforcing compliance proactively.
Example: An SCP can be attached to the organization root or specific OUs with a policy similar to:
{
"Effect": "Deny",
"Action": "ec2:RunInstances",
"Resource": "arn:aws:ec2:*:*:instance/*",
"Condition": {
"Null": {
"aws:RequestTag/Project": "true"
}
}
}
This prevents the creation of EC2 instances unless the ‘Project’ tag is specified in the launch request.
✅ Create an AWS Config aggregator for the organization to collect a list of EC2 instances with the missing Project tag.
Description: An AWS Config aggregator collects configuration and compliance data from multiple AWS accounts and AWS Regions into a single target account. It provides a centralized view of compliance status and resource inventory across your entire AWS organization.
Why this fits: While individual AWS Config rules (Choice A) identify non-compliant resources within their respective accounts, an aggregator is essential for gaining an overarching, centralized view of tag compliance across a multi-account organization. It consolidates all findings, allowing security or compliance teams to see a single, comprehensive list of all EC2 instances missing the ‘Project’ tag, regardless of which account they reside in.
Example: After setting up AWS Config rules in member accounts to check for the ‘Project’ tag, a central aggregator account can retrieve the compliance status for all EC2 instances from these accounts. This enables a centralized dashboard or report showing all non-compliant EC2 instances across the entire organization, simplifying auditing and reporting.
QUESTION 60
A company uses AWS Organizations for a multi-account setup in the AWS Cloud. The company uses AWS Control Tower for governance and uses AWS Transit Gateway for VPC connectivity across accounts.
In an AWS application account, the company’s application team has deployed a web application that uses AWS Lambda and Amazon RDS. The company’s database administrators have a separate DBA account and use the account to centrally manage all the databases across the organization. The database administrators use an Amazon EC2 instance that is deployed in the DBA account to access an RDS database that is deployed in the application account.
The application team has stored the database credentials as secrets in AWS Secrets Manager in the application account. The application team is manually sharing the secrets with the database administrators. The secrets are encrypted by the default AWS managed key for Secrets Manager in the application account. A solutions architect needs to implement a solution that gives the database administrators access to the database and eliminates the need to manually share the secrets.
Which solution will meet these requirements?
- A. Use AWS Resource Access Manager (AWS RAM) to share the secrets from the application account with the DBA account. In the DBA account, create an IAM role that is named DBA-Admin. Grant the role the required permissions to access the shared secrets. Attach the DBA-Admin role to the EC2 instance for access to the cross-account secrets.</h1><h1>
- B. In the application account, create an IAM role that is named DBA-Secret. Grant the role the required permissions to access the secrets. In the DBA account. create an IAM role that is named DBA-Admin. Grant the DBA-Admin role the required permissions to assume the DBA-Secret role in the application account. Attach the DBA-Admin role to the EC2 instance for access to the cross-account secrets.</h1><h1>
- C. In the DBA account, create an IAM role that is named DBA-Admin. Grant the role the required permissions to access the secrets and the default AWS managed key in the application account. In the application account, attach resource-based policies to the key to allow access from the DBA account. Attach the DBA-Admin role to the EC2 instance for access to the cross-account secrets.</h1><h1>
- D. In the DBA account, create an IAM role that is named DBA-Admin. Grant the role the required permissions to access the secrets in the application account. Attach an SCP to the application account to allow access to the secrets from the DBA account. Attach the DBA-Admin role to the EC2 instance for access to the cross-account secrets.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: This choice describes the standard and most secure method for granting cross-account access in AWS, specifically using IAM role assumption. It involves creating a ‘resource role’ in the account owning the resource (application account) with permissions to that resource, and then creating a ‘user role’ in the requesting account (DBA account) with permissions to assume the resource role.
Why this fits: This approach follows the principle of least privilege and separation of duties.
- Application Account (Resource Owner): The
DBA-Secretrole is created with a trust policy that explicitly allows theDBA-Adminrole from the DBA account to assume it. Its permissions policy grants access to the secrets. - DBA Account (Resource Requester): The
DBA-Adminrole is created and attached to the EC2 instance. Its permissions policy allows it to callsts:AssumeRoleon theDBA-Secretrole in the application account.
When the EC2 instance in the DBA account needs to access the secrets, it assumes theDBA-Adminrole, which then assumes theDBA-Secretrole in the application account to gain temporary credentials with the necessary permissions. This provides robust, auditable, and secure cross-account access without sharing long-term credentials.Example: An EC2 instance running a database management tool in the DBA account needs to rotate credentials stored in AWS Secrets Manager in the application account. By assuming the
DBA-Adminrole, which then assumes theDBA-Secretrole, the EC2 instance can temporarily obtain the necessary permissions (secretsmanager:GetSecretValue,secretsmanager:RotateSecret) to perform the rotation operations on the specific secrets without the application account having direct knowledge or trust of individual EC2 instances or users in the DBA account.
QUESTION 61
An external audit of a company’s serverless application reveals IAM policies that grant too many permissions. These policies are attached to the company’s AWS Lambda execution roles. Hundreds of the company’s Lambda functions have broad access permissions, such as full access to Amazon S3 buckets and Amazon DynamoDB tables. The company wants each function to have only the minimum permissions that the function needs to complete its task.
A solutions architect must determine which permissions each Lambda function needs.
What should the solutions architect do to this with the LEAST amount of effort?
- A. Set up Amazon CodeGuru to profile the Lambda functions and search for AWS API calls. Create an inventory of the required API calls and resources for each Lambda function. Create new IAM access policies for each Lambda function. Review the new policies to ensure that they meet the company's business requirements.</h1><h1>
- B. Turn on AWS CloudTrail logging for the AWS account. Use AWS Identity and Access Management Access Analyzer to generate IAM access based on the activity recorded in the CloudTrail Review the generated to ensure that they meet the company's business requirements.</h1><h1>
- C. Turn on AWS CloudTraiI for the AWS account. Create a script to parse the CloudTrail log, search for AWS API calls by Lambda execution role, and create a summary. Review the Create IAM access policies that provide more restrictive permissions for each Lambda function.</h1><h1>
- D. Turn on AWS CloudTraiI logging tor the AWS account. Export the CloudTrail logs to Amazon S3. Use Amazon EMR to process the CloudTrail Iogs in Amazon S3 and produce a report of API calls and resources used by each execution role. Create a new IAM access policy for each role. Export the generated roles to an S3 bucket. Review the generated policies to ensure that they meet the company's business requirements.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account. It records API calls and related events made within your AWS account. AWS Identity and Access Management (IAM) Access Analyzer is a feature that helps identify resources shared with an external entity and can also generate fine-grained IAM policies based on access activity recorded in CloudTrail logs.
Why this fits: This approach directly leverages two powerful AWS services for the stated goal. CloudTrail provides the essential audit data of actual API calls made by the Lambda functions. IAM Access Analyzer’s policy generation feature is specifically designed to process these CloudTrail logs to automatically suggest least-privilege IAM policies, minimizing the permissions to only what was observed as needed. This is the most efficient and recommended AWS native solution for this task, significantly reducing manual effort compared to parsing logs with scripts or big data tools, and is less error-prone. The final review step is critical to validate that the generated policies align with business requirements and do not cause operational disruptions.
Example: A Lambda function has been running for months with an overly permissive IAM role. By enabling CloudTrail and then using IAM Access Analyzer to analyze the logs from that period, Access Analyzer can identify that the function only performed s3:GetObject on a specific S3 bucket and dynamodb:UpdateItem on a particular DynamoDB table. It will then generate a new, restricted IAM policy reflecting only these necessary permissions, replacing the broader, less secure policy.
QUESTION 62
An international delivery company hosts a delivery management system on AWS. Drivers use the system to upload confirmation of delivery. Confirmation includes the recipient’s signature or a photo of the package with the recipient. The driver’s handheld device uploads signatures and photos through FTP to a Single Amazon EC2 instance. Each handheld device saves a file in a directory based on the signed-in user, and the file name matches the delivery number. The EC2 instance then adds metadata to the file after querying a central database to pull delivery information. The file IS then placed in Amazon S3 for archiving.
As the company expands, drivers report that the system is rejecting connections. The FTP server is having problems because of dropped connections and memory issues. In response to these problems, a system engineer schedule a Cron task to reboot the EC2 instance every 30 minutes. The billing team reports that files are not always in the archive and that the central system is not always updated.
A solutions architect needs to design a solution that maximizes scalability to ensure that the archive always receives the files and that systems are always updated. The handheld devices cannot be modified, so the company cannot deploy a new application.
Which solution will meet these requirements?
- A. Create an AMI of the existing EC2 instance. Create an Auto Scaling group of EC2 instances behind an Application Load Balancer. Configure the Auto Scaling group to have a minimum of three instances.</h1><h1>
- B. Use AWS Transfer Family to create an FTP server that places the files in Amazon Elastic File System (Amazon EFS). Mount the EFS volume to the existing EC2 instance. Point the EC2 instance to the new path for file processing.</h1><h1>
- C. Use AWS Transfer Family to create an FTP server that places the files in Amazon S3. Use an S3 event notification through Amazon Simple Notification Service (Amazon SNS) to invoke an AWS Lambda function. Configure the Lambda function to add the metadata and update the delivery system.</h1><h1>
- D. Update the handheld devices to place the files directly in Amazon S3. Use an S3 event notification through Amazon Simple Queue Service (Amazon SQS) to invoke an AWS Lambda function. Configure the Lambda function to add the metadata and update the delivery system.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution employs AWS Transfer Family to establish a fully managed FTP endpoint, enabling existing systems or devices to upload files using the standard FTP protocol. These uploaded files are then stored directly in Amazon S3, leveraging its scalability and durability. An S3 event notification is configured to detect new object creations, triggering an Amazon SNS topic. This SNS topic subsequently invokes an AWS Lambda function. The Lambda function, being serverless, processes the incoming file, extracts relevant data, adds metadata (e.g., using S3 object tags), and interacts with a downstream delivery system to update its status or records.
Why this fits: This architecture provides a modern, highly scalable, and serverless solution for integrating legacy FTP workflows. AWS Transfer Family eliminates the need to manage EC2 instances for FTP servers, significantly reducing operational overhead. Amazon S3 offers highly durable, available, and cost-effective object storage, which acts as the central repository for the uploaded files. AWS Lambda provides event-driven, serverless compute for processing the files, scaling automatically with demand. Using SNS as an intermediary for S3 events allows for flexible fan-out to multiple subscribers or robust asynchronous invocation of Lambda, ensuring decoupling and reliability. This combination aligns perfectly with the AWS Certified Solutions Architect – Professional exam’s emphasis on designing highly available, cost-effective, scalable, and operationally efficient solutions.
Example: A retail chain uses existing Point-of-Sale (POS) systems that generate daily sales reports and upload them via FTP. This solution allows these POS systems to connect to an AWS Transfer Family FTP endpoint. The sales reports are deposited into an S3 bucket. An S3 object creation event triggers an SNS topic, which invokes a Lambda function. The Lambda function parses the sales report, extracts key metrics, adds metadata to the S3 object indicating processing status and store ID, and then pushes the sales data into an Amazon Redshift data warehouse for analytics, and updates a daily reconciliation system.
QUESTION 63
A large mobile gaming company has successfully migrated all of its on-premises infrastructure to the AWS Cloud. A solutions architect is reviewing the environment to ensure that it was built according to the design and that it is running in alignment with the Well-Architected Framework.
While reviewing previous monthly costs in Cost Explorer, the solutions architect notices that the creation and subsequent termination of several large instance types account for a high proportion of the costs. The solutions architect finds out that the company’s developers are launching new Amazon EC2 instances as part of their testing and that the developers are not using the appropriate instance types.
The solutions architect must implement a control mechanism to limit the instance types that only the developers can launch.
Which solution will meet these requirements?
- A. Create a desired-instance-type managed rule in AWS Config. Configure the rule with the instance types that are allowed. Attach the rule to an event to run each time a new EC2 instance is launched.</h1><h1>
- B. In the EC2 console, create a launch template that specifies the instance types that are allowed. Assign the launch template to the developers’ IAM accounts.</h1><h1>
- C. Create a new IAM policy. Specify the instance types that are allowed. Attach the policy to an IAM group that contains the IAM accounts for the developers.</h1><h1>
- D. Use EC2 Image Builder to create an image pipeline for the developers and assist them in the creation of a golden image.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Identity and Access Management (IAM) policies are JSON documents that define permissions for an identity (user, group, or role) to access AWS resources. These policies can specify actions that are allowed or denied, the resources on which those actions can be performed, and conditions under which the permissions apply.
Why this fits: To restrict developers from launching specific EC2 instance types, a preventative control is required. An IAM policy provides this capability by allowing administrators to explicitly define which instance types developers are permitted to launch. This is achieved by using the
ec2:RunInstances action in conjunction with a condition key like ec2:instanceType to specify a list of allowed instance types. When a developer attempts to launch an EC2 instance, IAM evaluates the attached policies, and if the requested instance type is not explicitly allowed, the launch request is denied. Attaching this policy to an IAM group ensures that all developers within that group inherit these restrictions automatically.Example: An IAM policy snippet restricting instance types to only
t3.micro and t3.small might look like this:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:RunInstances",
"Resource": [
"arn:aws:ec2:*:*:instance/*",
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:network-interface/*",
"arn:aws:ec2:*:*:image/*",
"arn:aws:ec2:*:*:snapshot/*",
"arn:aws:ec2:*:*:key-pair/*"
],
"Condition": {
"StringEquals": {
"ec2:instanceType": [
"t3.micro",
"t3.small"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:Describe*"
],
"Resource": "*"
}
]
}
QUESTION 64
A company wants to deploy an AWS WAF solution to manage AWS WAF rules across multiple AWS accounts. The accounts are managed under different OUs in AWS Organizations.
Administrators must be able to add or remove accounts or OUs from managed AWS WAF rule sets as needed. Administrators also must have the ability to automatically update and remediate noncompliant AWS WAF rules in all accounts.
Which solution meets these requirements with the LEAST amount of operational overhead?
- A. Use AWS Firewall Manager to manage AWS WAF rules across accounts in the organization. use an AWS Systems Manager Parameter Store parameter to store account numbers and OUs to manage. Update the parameter as needed to add or remove accounts or OUs. Use an Amazon EventBridge rule to identify any changes to the parameter and to invoke an AWS Lambda function to update the security policy in the Firewall Manager administrative account.</h1><h1>
- B. Deploy an organization-wide AWS Config rule that requires all resources in the selected OUS to associate the AWS WAF rules. Deploy automated remediation actions by using AWS Lambda to fix noncompliant resources. Deploy AWS WAF rules by using an AWS CloudFormation stack set to target the same OUs where the AWS Config rule is applied.</h1><h1>
- C. Create AWS WAF rules in the management account of the organization. Use AWS Lambda environment variables to store account numbers and OUs to manage. Update environment variables as needed to add or remove accounts or OUs. Create cross-account IAM roles in member accounts. Assume the roles by using AWS Security Token Service (AWS STS) in the Lambda function to create and update AWS WAF rules in the member accounts.</h1><h1>
- D. Use AWS Control Tower to manage AWS WAF rules across accounts in the organization. Use AWS Key Management Service (AWS KMS) to store account numbers and OUs to manage. Update AWS KMS as needed to add or remove accounts or OUs. Create IAM users in member accounts. Allow AWS Control</h1><h1>Tower in the management account to use the access key and secret access key to create and update AWS WAF rules in the member accounts.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution leverages AWS Firewall Manager, the dedicated service for centralizing security policy management across an AWS Organization, including AWS WAF. It combines this with a robust automation pattern: AWS Systems Manager Parameter Store to define policy scope (accounts/OUs), Amazon EventBridge to detect changes to this configuration, and AWS Lambda to trigger updates to the Firewall Manager security policy based on these changes.
Why this fits: This approach is highly scalable and adheres to AWS best practices for centralized security management. AWS Firewall Manager is specifically designed to deploy and manage WAF rules across an entire organization from a single delegated administrator account. The use of Parameter Store, EventBridge, and Lambda provides an automated and auditable mechanism to dynamically update the scope of the WAF policy without manual intervention or custom scripting in individual accounts. This eliminates the need for managing individual WAF rules in each account or dealing with complex cross-account IAM roles for deployment, as Firewall Manager handles the deployment using service-linked roles.
Example: An organization wants to apply a specific AWS WAF rule set to all production accounts, which are categorized under an "Production" OU. They store the "Production" OU ID in an AWS Systems Manager Parameter. When new production accounts are added to this OU, or if the organization decides to also include a "Staging" OU, an update to the Parameter Store value triggers an EventBridge rule. This rule invokes a Lambda function that then calls the AWS Firewall Manager API to update the existing WAF security policy, automatically extending its coverage to the newly included OU or accounts.
QUESTION 65
A company is refactoring its on-premises order-processing platform in the AWS Cloud. The platform includes a web front end that is hosted on a fleet of VMs, RabbitMQ to connect the front end to the backend, and a Kubernetes cluster to run a containerized backend system to process the orders. The company does not want to make any major changes to the application.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create an AMI of the web server VM. Create an Amazon EC2 Auto Scaling group that uses the AMI and an Application Load Balancer. Set up Amazon MQ to replace the on-premises messaging queue. Configure Amazon Elastic Kubernetes Service (Amazon EKS) to host the order-processing backend.</h1><h1>
- B. Create a custom AWS Lambda runtime to mimic the web server environment. Create an Amazon API Gateway API to replace the front-end web servers. Set up Amazon MQ to replace the on-premises messaging queue. Configure Amazon Elastic Kubernetes Service (Amazon EKS) to host the order-processing backend.</h1><h1>
- C. Create an AMI of the web server VM. Create an Amazon EC2 Auto Scaling group that uses the AMI and an Application Load Balancer. Set up Amazon MQ to replace the on-premises messaging queue. Install Kubernetes on a fleet of different EC2 instances to host the order-processing backend.</h1><h1>
- D. Create an AMI of the web server VM. Create an Amazon EC2 Auto Scaling group that uses the AMI and an Application Load Balancer. Set up an Amazon Simple Queue Service (Amazon SQS) queue to replace the on-premises messaging queue. Configure Amazon Elastic Kubernetes Service (Amazon EKS) to host the order-processing backend.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: This choice outlines a comprehensive migration and modernization strategy for an on-premises application to AWS, leveraging several managed services for scalability, high availability, and reduced operational overhead. It addresses the front-end web servers, the messaging queue, and the backend processing with appropriate AWS services.
Why this fits:
- AMI, Auto Scaling, ALB for Web Servers: Migrating on-premises web server VMs often starts with creating an Amazon Machine Image (AMI). An Application Load Balancer (ALB) is crucial for distributing HTTP/S traffic across multiple EC2 instances, while an EC2 Auto Scaling group ensures the web tier remains highly available, fault-tolerant, and scales dynamically based on demand, replacing the fixed capacity of on-premises VMs. This is a standard and robust pattern for web application migration.
- Amazon MQ for Messaging Queue: Amazon MQ is a managed message broker service that supports industry-standard APIs and protocols like Apache ActiveMQ and RabbitMQ. This makes it an ideal choice for directly replacing an on-premises messaging queue, especially if the application relies on specific message broker features (e.g., topics, durable subscriptions) or if minimizing code changes to the messaging layer is a priority. It provides a compatible, fully managed alternative, reducing the operational burden of self-managing message brokers.
- Amazon EKS for Order-Processing Backend: Amazon Elastic Kubernetes Service (EKS) is a managed service for running Kubernetes on AWS. It allows customers to run containerized applications without needing to install, operate, and maintain their own Kubernetes control plane. For an order-processing backend, especially one that might be composed of microservices, EKS provides a highly scalable, resilient, and portable environment for deploying and managing these containers, aligning with modern cloud-native practices and offloading significant operational complexity.
Example: An e-commerce company’s existing web application, running on IIS/Apache VMs, uses an ActiveMQ message queue for order processing, and a Java backend.
- They create an AMI from their web server VM.
- They deploy this AMI behind an ALB with an Auto Scaling group to handle fluctuating customer traffic.
- They migrate their ActiveMQ configuration to Amazon MQ (for ActiveMQ), connecting their web servers to the new Amazon MQ broker for submitting orders.
- They containerize their Java order-processing backend and deploy it to an Amazon EKS cluster, leveraging Kubernetes’ orchestration capabilities for scaling and managing the microservices.
QUESTION 66
A solutions architect is auditing the security setup of an AWS Lambda function for a company. The Lambda function retrieves the latest changes from an Amazon Aurora database. The Lambda function and the database run in the same VPC Lambda environment variables are providing the database credentials to the Lambda function.
The Lambda function aggregates data and makes the data available in an Amazon S3 bucket that is configured for server-side encryption with AWS KMS managed encryption keys (SSE-KMS). The data must not travel across the internet. If any database credentials become com-promised, the company needs a solution that minimizes the impact of the compromise.
What should the solutions architect recommend to meet these requirements?
- A. Enable IAM database authentication on the Aurora DB cluster. Change the IAM role for the Lambda function to allow the function to access the database by using IAM database authentication. Deploy a gateway VPC endpoint for Amazon S3 in the VPC.</h1><h1>
- B. Enable IAM database authentication on the Aurora DB cluster. Change the IAM role for the function to allow the function to access the database by using IAM database authentication. Enforce HTTPS on the connection to Amazon S3 during data transfers.</h1><h1>
- C. Save the database credentials in AWS Systems Manager Parameter Store Set up password rotation on the credentials in Parameter Store. Change the IAM role for the Lambda function to allow the function to access Parameter Store. Modify the Lambda function to retrieve the credentials from Parameter Store. Deploy a gateway VPC endpoint for Amazon S3 in the VPC.</h1><h1>
- D. Save the database credentials in AWS Secrets Manager. Set up password rotation on the in Secrets Manager. Change the IAM role for the Lambda function to allow the function to Secrets Manager. Modify the Lambda function to retrieve the credentials from Secrets Manager. Enforce HTTPS on the connection to Amazon S3 during data transfers.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: IAM database authentication allows you to authenticate to your Amazon Aurora DB instances using AWS Identity and Access Management (IAM) instead of traditional database credentials. It uses authentication tokens, eliminating the need to store static database credentials in your application. A gateway VPC endpoint provides private connectivity from your VPC to Amazon S3, ensuring traffic to S3 does not traverse the public internet, enhancing security and potentially reducing data transfer costs.
Why this fits: This solution addresses common security best practices for both database access and S3 connectivity in a professional-level architecture. Using IAM roles for Lambda to authenticate with Aurora significantly improves security by removing the need to manage database passwords in the Lambda function code or environment variables. This also integrates well with IAM’s credential rotation mechanisms. Deploying a gateway VPC endpoint for Amazon S3 ensures that all traffic between the VPC (where the Lambda function likely operates if it’s in a VPC) and S3 remains within the AWS network. This enhances data security by preventing data from traversing the public internet, which is a critical requirement for many enterprise applications.
Example: A serverless application uses AWS Lambda to process user requests, storing relational data in an Aurora PostgreSQL database and archived files in Amazon S3. By enabling IAM database authentication, the Lambda function’s execution role can be granted specific permissions to connect to Aurora without embedding database passwords. Simultaneously, configuring a gateway VPC endpoint for S3 ensures that when the Lambda function accesses S3 buckets, the traffic flows privately and securely within the AWS network, protecting sensitive data.
QUESTION 67
A company runs a content management application on a single Windows Amazon EC2 instance in a development environment. The application reads and writes static content to a 2 TB Amazon Elastic Block Store (Amazon EBS) volume that is attached to the instance as the root device. The company plans to deploy this application in production as a highly available and fault-tolerant solution that runs on at least three EC2 instances across multiple Availability Zones.
A solutions architect must design a solution that joins all the instances that run the application to an Active Directory domain. The solution also must implement Windows ACLs to control access to file contents. The application always must maintain exactly the same content on all running instances at any given point in time.
Which solution will meet these requirements with the LEAST management overhead?
- A. Create an Amazon Elastic File System (Amazon EFS) file share. Create an Auto Scaling group that extends across three Availability Zones and maintains a minimum size of three instances. Implement a user data script to install the application. join the instance to the AD domain, and mount the EFS file share.</h1><h1>
- B. Create a new AMI from the current EC2 instance that is running. Create an Amazon FSx for Lustre file system. Create an Auto Scaling group that extends across three Availability Zones and maintains a minimum size of three instances. Implement a user data script to join the instance to the AD domain and</h1><h1>mount the FSx for Lustre file system.</h1><h1>
- C. Create an Amazon FSx for Windows File Server file system. Create an Auto Scaling group that extends across three Availability Zones and maintains a minimum size of three instances. Implement a user data script to install the application and mount the FSx for Windows File Server file system. Perform a seamless domain join to join the instance to the AD domain.</h1><h1>
- D. Create a new AMI from the current EC2 instance that is running. Create an Amazon Elastic File System (Amazon EFS) file system. Create an Auto Scaling group that extends across three Availability Zones and maintains a minimum size of three instances. Perform a seamless domain join to join the instance to AD domain.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: This choice outlines a robust, highly available, and Windows-native solution for deploying applications that require shared storage and Active Directory integration on Amazon EC2 instances managed by an Auto Scaling group. Amazon FSx for Windows File Server provides fully managed, highly reliable, and scalable file storage accessible via the Server Message Block (SMB) protocol, which is native to Windows. Auto Scaling groups ensure application availability and scalability across multiple Availability Zones. User data scripts automate the setup of new instances, and seamless domain join simplifies integration with an existing Active Directory environment.
Why this fits:
- Amazon FSx for Windows File Server: This service is purpose-built for Windows-based applications requiring shared file storage. It offers native SMB protocol support, full compatibility with Windows applications, and deep integration with Active Directory (either AWS Managed Microsoft AD or self-managed AD). This is crucial for applications expecting Windows file sharing semantics, permissions, and performance characteristics.
- Auto Scaling Group (ASG) across three Availability Zones: This adheres to AWS best practices for high availability and fault tolerance. By distributing instances across multiple AZs, the application can withstand an outage in a single AZ. Maintaining a minimum size ensures consistent capacity.
- User Data Script: User data is an effective way to automate tasks when an EC2 instance launches, such as installing applications, configuring services, and mounting file systems. This is essential for instances launched by an ASG to be ready for use quickly.
- Seamless Domain Join: FSx for Windows File Server directly integrates with Active Directory for authentication and authorization. EC2 instances running Windows can be seamlessly joined to an AD domain (either through Systems Manager capabilities or by configuring appropriate IAM roles and user data) to manage user access and enforce group policies, which is a common requirement for enterprise Windows applications.
Example: An organization wants to deploy a highly available ASP.NET application that stores user-uploaded files on a shared network drive. This solution would involve creating an FSx for Windows File Server file system, configuring it to use the organization’s Active Directory. Then, an Auto Scaling group would launch Windows EC2 instances across three AZs. Each instance’s user data script would automatically join the instance to the AD domain, install the ASP.NET application, and map a network drive to the FSx share, ensuring the application can access the shared data from any instance.
QUESTION 68
A retail company has structured its AWS accounts to be part of an organization in AWS Organizations. The company has set up consolidated billing and has mapped its departments to the following OUs: Finance, Sales, Human Resources (HR), Marketing, and Operations. Each OU has multiple AWS accounts, one for each environment within a department. These environments are development, test, pre-production, and production.
The HR department is releasing a new system that will launch in 3 months. In preparation, the HR department has purchased several Reserved Instances (Rls) in its production AWS account. The HR department will install the new application on this account. The HR department wants to make sure that other departments cannot share the RI discounts.
Which solution will meet these requirements?
- A. In the AWS Billing and Cost Management console for the HR department's production account, turn off RI sharing.</h1><h1>
- B. Remove the HR department's production AWS account from the organization. Add the account to the consolidating billing configuration only.</h1><h1>
- C. In the AWS Billing and Cost Management console, use the organization's management account to turn off RI sharing for the HR department's production AWS account.</h1><h1>
- D. Create an SCP in the organization to restrict access to the Rls. Apply the SCP to the OUS of the other departments.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Reserved Instances (RIs) provide a significant discount compared to On-Demand pricing. Within an AWS Organization, by default, RIs purchased in one account are shared across all other accounts in the organization under consolidated billing. This feature, known as RI sharing, automatically applies the RI discount to eligible usage in any account within the organization. To prevent specific accounts from consuming RIs purchased by another account, RI sharing must be explicitly turned off for the consuming accounts or the producing account. The management account of an AWS Organization has the necessary permissions to manage consolidated billing and RI sharing settings for all member accounts.
Why this fits: The goal is to prevent other departments from utilizing the RIs purchased by the HR department’s production account. The most direct and centralized way to manage RI sharing across an organization is through the management account’s AWS Billing and Cost Management console. By accessing the RI sharing settings from the management account, an administrator can specify which accounts can share RIs and which cannot. Turning off RI sharing for the HR department’s production account specifically will ensure that only usage within that account benefits from its RIs, preventing other accounts from consuming them.
Example: An organization has a management account and several member accounts, including one for HR Production and others for Development and Staging. The HR Production account has purchased a large number of RIs for its specific workload. If the organization wants to ensure that only the HR Production account benefits from these RIs and that Development and Staging accounts do not accidentally consume them, an administrator logs into the management account, navigates to the AWS Billing and Cost Management console, finds the RI sharing settings, and explicitly turns off RI sharing for the HR Production account. This isolates the RIs to their purchasing account.
QUESTION 69 (Multi-Select)
Because of regulatory requirements, all resources that the company deploys in the organization must reside in the ap-northeast-1 Region. Additionally, EC2 instances that the company deploys in the DataOps OU must use a predefined list of instance types.
A solutions architect must implement a solution that applies these restrictions. The solution must maximize operational efficiency and must minimize ongoing maintenance.
Which combination of steps will meet these requirements? (Select Two)
- A. Create an IAM role in one account under the Data Ops OU. Use the ec2:InstanceType condition key in an inline policy on the role to restrict access to specific instance types.</h1><h1>
- B. Create an IAM user in all accounts under the root OU. Use the aws:Requested Region condition key in an inline policy on each user to restrict access to all AWS Regions except ap-northeast-1</h1><h1>
- C. Create an SCP. Use the aws:Requested Region condition key to restrict access to all AWS Regions except ap-norhteast-1. Apply the SCP to the root OU.</h1><h1>
- D. Create an SCP. Use the ec2:Region condition key to restrict access to all AWS Regions except ap-northeast-1. Apply the SCP to the root OU, the Data Ops OU, and the Research OU.</h1><h1>
- E. Create an SCP. Use the ec2:InstanceType condition key to restrict access to specific instance types. Apply the SCP to the Data Ops OU.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C,E
Description: Service Control Policies (SCPs) in AWS Organizations provide a powerful way to centrally manage permissions and set guardrails across multiple AWS accounts. They define the maximum permissions that IAM identities (users and roles) in affected accounts can have. The
aws:RequestedRegion global condition key is used within an SCP to control access to AWS API actions based on the AWS Region where the request is being made.
Why this fits: Applying an SCP with the aws:RequestedRegion condition key to the root OU is a highly effective and scalable method to enforce region restrictions across the entire AWS Organization. This prevents users and roles in any account within the organization from performing actions in regions other than ap-northeast-1, thereby ensuring compliance, controlling costs, and standardizing operations. This approach eliminates the need to manage individual IAM policies in each account.
Example: An SCP can be configured at the root OU to explicitly deny all actions when aws:RequestedRegion is not equal to ap-northeast-1, thereby preventing resource creation or management in unintended regions.
QUESTION 70
A solutions architect is designing the data storage and retrieval architecture for a new application that a company will be launching soon. The application is designed to ingest millions of small records per minute from devices all around the world. Each record is less than 4 KB in size and needs to be stored in a durable location where it can be retrieved with low latency. The data is ephemeral and the company is required to store the data for 120 days only, after which the data can be deleted.
The solutions architect calculates that, during the course of year, the storage requirements would be about 10-15 TB.
Which storage strategy is the MOST cost-effective and meets the design requirements?
- A. Design the application to store each incoming record as a single .csv file in an Amazon S3 bucket to allow for indexed retrieval. Configure a lifecycle policy to delete data order than 120 days.</h1><h1>
- B. Design the application to store each incoming record in an Amazon Dynamo DB table property configured for the scale. Configure the DynamoDB Time to Live (TTL) feature to delete records older than 120 days.</h1><h1>
- C. Design the application to store each incoming record in a single table in an Amazon RDS MySQL database. Run a nightly cron job that executes a query to delete any records older than 120 days.</h1><h1>
- D. Design the application to batch incoming records before writing them to an Amazon S3 bucket. Update the metadata for the object to contain the list of records in the batch and use the Amazon S3 metadata search feature to retrieve the data. Configure a lifecycle policy to delete the data after 120 days.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon DynamoDB is a fully managed, serverless NoSQL database service that delivers single-digit millisecond performance at any scale. It’s designed for applications that require high performance, reliability, and low latency for operations on individual items. DynamoDB’s Time to Live (TTL) feature allows you to define a timestamp attribute on your items to automatically delete items when the timestamp expires. This offloads the work of deleting expired items, reducing storage and improving efficiency.
Why this fits: This solution leverages DynamoDB’s strengths for handling high volumes of incoming records with low latency and high scalability, which is critical for applications processing "each incoming record." The DynamoDB TTL feature is an efficient and cost-effective way to implement the data retention policy, automatically deleting records older than 120 days without requiring any custom code, cron jobs, or additional compute resources. This is superior to approaches that involve managing large numbers of small files in S3 or running resource-intensive deletion queries on a relational database.
Example: An IoT application collecting sensor data from millions of devices, where each reading is an incoming record, could store this data in a DynamoDB table. A TTL attribute, set to 120 days from the record’s creation time, would ensure that older, less relevant data is automatically purged, keeping the table optimized for current data queries without operational overhead.
QUESTION 71 (Multi-Select)
A weather service provides high-resolution weather maps from a web application hosted on AWS in the eu- west-1 Region. The weather maps are updated frequently and stored in Amazon S3 along with static HTML content. The web application is fronted by Amazon CloudFront. The company recently expanded to serve users in the us-east Region and these new users report that viewing their respective weather maps is slow from time to time.
Which combination of slops will resolve the us-east performance issues? (Select TWO).
- A. Configure the AWS Global Accelerator endpoint for the S3 bucket m eu-west-1 Configure endpoint groups for TCP ports 80 and 443 inus-east-1.</h1><h1> </h1><h1>
- B. Create a new S3 bucket must -east-1 Configure S3 across-Region replication to synchronize from the S3 bucket meu-west-1</h1><h1>
- C. Use Lambda@Edge to modify requests from North America lo use the S3 Transfer Acceleration endpoint inus-east-1.</h1><h1>
- D. Use Lambda@Edge to modify requests from North America to use the S3 bucket mus-east-1.</h1><h1>
- E. Configure the AWS Global Accelerator endpoint for us-east- as an origin on the CloudFront distribution Use lambda@Edge to modify requests from North America to use the new origin.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B,D
Description: S3 Cross-Region Replication (CRR) is an S3 feature that automatically replicates objects asynchronously across buckets in different AWS Regions. This ensures data availability, low-latency access for geographically dispersed users, and compliance with data sovereignty requirements.
Why this fits: This choice directly addresses the need to have a copy of the data available in the us-east-1 region, which is critical for serving North American users with low latency. By replicating data from a source bucket in eu-west-1 to a destination bucket in us-east-1, the content becomes locally available.
Example: An e-commerce platform stores its primary product images in eu-west-1. To improve load times for customers in North America, CRR is configured to replicate these images to an S3 bucket in us-east-1, ensuring a local copy for faster retrieval.
QUESTION 72
A delivery company needs to migrate its third-party route planning application to AWS. The that upplies a supported Docker image from a public registry. The image can run in as many containers as required to generate the route map.
The company has divided the delivery area into sections with supply hubs so that delivery drivers travel the shortest distance possible from the hubs to the customers. To reduce the time necessary to generate route maps, each section uses its own set of Docker containers with a custom configuration that processes orders only in the section’s area.
The company needs the ability to allocate resources cost-effectively based on the number of running containers.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create an Amazon Elastic Kubernetes Service (Amazon EKS) cluster on Amazon EC2. Use the Amazon EKS CLI to launch the planning application in pods by using the – -tags option to assign a custom tag to the pod.</h1><h1>
- B. Create an Amazon Elastic Kubernetes Service (Amazon EKS) cluster on AWS Fargate. Use the Amazon EKS CLI to launch the planning application. Use the AWS CLI tag-resource API call to assign a custom tag to the pod.</h1><h1>
- C. Create an Amazon Elastic Container Service (Amazon ECS) cluster on Amazon EC2. Use the AWS CLI with run-tasks set to true to launch the planning application by using the –tags option to assign a custom tag to the task.</h1><h1>
- D. Create an Amazon Elastic Container Service (Amazon ECS) cluster on AWS Fargate. Use the AWS CLI run-task command and set enableECSManagedTags to true to launch the planning application. Use the –tags option to assign a custom tag to the task.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution leverages Amazon ECS with AWS Fargate, a serverless compute engine for containers, to run the application. It explicitly uses the AWS CLI
run-task command, which is the standard way to launch a standalone task in ECS. Critically, it incorporates enableECSManagedTags, a feature that automatically propagates tags applied to an ECS service or standalone task to the underlying Amazon EC2 resources that ECS manages, such as Elastic Network Interfaces (ENIs) for tasks running on Fargate. Additionally, it uses the --tags option to apply specific custom tags directly to the ECS task itself during launch.
Why this fits: This approach is optimal for several reasons:
- AWS Fargate: It eliminates the need to provision, manage, or scale EC2 instances, simplifying operations and reducing overhead. Fargate is well-suited for running containerized applications that don’t require specific EC2 instance types or custom operating system configurations.
enableECSManagedTags=true: This is crucial for comprehensive resource tagging. When set totrue, it ensures that tags associated with the ECS task (both those inherited from the task definition or service and custom tags applied via--tags) are automatically propagated to associated resources created by ECS, such as Fargate ENIs. This is vital for cost allocation, operational visibility, and compliance tracking across all components related to the task.--tagsoption: This allows for applying user-defined, custom tags directly to the ECS task, enabling fine-grained control over tagging for specific purposes like cost centers, environments, or application versions.
Combining Fargate for operational simplicity andenableECSManagedTagswith--tagsfor robust and comprehensive tagging makes this the most effective and operationally sound solution for deploying and managing the application with proper resource tagging.Example: To launch a task with a custom tag ‘Project=Planning’ and ensure managed tags are propagated, you would execute an AWS CLI command similar to:
aws ecs run-task --cluster my-planning-cluster --task-definition my-planning-app --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets=[subnet-xxxxxx],securityGroups=[sg-yyyyyy],assignPublicIp=ENABLED}" --enable-ecs-managed-tags --tags key=Project,value=Planning
QUESTION 73
A company is running a critical stateful web application on two Linux Amazon EC2 instances behind an Application Load Balancer (ALB) with an Amazon RDS for MySQL database. The company hosts the DNS records for the application in Amazon Route 53. A solutions architect must recommend a solution to improve the resiliency of the application.
The solution must meet the following objectives:
• Application tier: RPO of 2 minutes, RTO of 30 minutes
• Database tier: RPO of 5 minutes, RTO of 30 minutes
The company does not want to make significant changes to the existing application architecture. The company must ensure optimal latency after a failover.
Which solution will meet these requirements?
- A. Configure the EC2 instances to use AWS Elastic Disaster Recovery. Create a cross-Region read replica for the RDS DB instance. Create an ALB in a second AWS Region. Create an AWS Global Accelerator endpoint, and associate the endpoint with the ALBs. Update DNS records to point to the Global Accelerator</h1><h1>endpoint.</h1><h1>
- B. Configure the EC2 instances to use Amazon Data Lifecycle Manager (Amazon DLM) to take snapshots of the EBS volumes. Configure RDS automated backups. Configure backup replication to a second AWS Region. Create an ALB in the second Region. Create an AWS Global Accelerator endpoint, and associate the endpoint with the ALBs. Update DNS records to point to the Global Accelerator endpoint.</h1><h1>
- C. Create a backup plan in AWS Backup for the EC2 instances and RDS DB instance. Configure backup replication to a second AWS Region. Create an ALB in the second Region. Configure an Amazon CloudFront distribution in front of the ALB. Update DNS records to point to CloudFront.</h1><h1>
- D. Configure the EC2 instances to use Amazon Data Lifecycle Manager (Amazon DLM) to take snapshots of the EBS volumes. Create a cross-Region read replica for the RDS DB instance. Create an ALB in a second AWS Region. Create an AWS Global Accelerator endpoint, and associate the endpoint with the ALBs.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution outlines a comprehensive multi-Region disaster recovery strategy for an application running on EC2 instances with an RDS database. It leverages AWS Elastic Disaster Recovery (DRS) for continuous replication of EC2 instances, a cross-Region read replica for the RDS database, and AWS Global Accelerator for high-performance traffic routing and automatic failover across Regions.
Why this fits:
- AWS Elastic Disaster Recovery (DRS) is specifically designed for rapid recovery of applications running on EC2 instances with minimal RTO (Recovery Time Objective) and RPO (Recovery Point Objective). It continuously replicates data from source servers to a lightweight staging area in the target AWS Region, allowing for quick launch of recovery instances in a disaster. This is superior to basic EBS snapshots (like DLM) for active DR scenarios requiring low RTO/RPO.
- A cross-Region read replica for RDS provides an asynchronous, continuously updated copy of the database in a different AWS Region. In a disaster, this replica can be quickly promoted to become the new primary database instance, ensuring data consistency and low RTO/RPO for the database tier.
- Creating an ALB in a second AWS Region ensures that once the application stack (EC2 instances recovered via DRS) is operational in the secondary Region, there is a load balancing mechanism to distribute traffic efficiently to those instances.
- AWS Global Accelerator is critical for achieving fast, resilient cross-Region failover without relying on DNS propagation delays. It provides static Anycast IP addresses that direct user traffic over the AWS global network to the nearest healthy application endpoint (in this case, ALBs in different Regions). By associating ALBs from both the primary and secondary Regions, Global Accelerator automatically routes traffic to the healthy Region, providing immediate and transparent failover to end-users. Updating DNS to point to Global Accelerator’s static IPs makes this the single entry point to the application.
Example: An e-commerce application is deployed in
us-east-1with EC2 instances and an RDS PostgreSQL database. To achieve cross-Region disaster recovery with low RTO/RPO, the EC2 instances are configured with DRS to replicate tous-west-2. An RDS cross-Region read replica is created inus-west-2. An ALB is deployed inus-west-2to receive traffic for the recovered application stack. Finally, an AWS Global Accelerator is configured with endpoints pointing to the ALBs in bothus-east-1andus-west-2, and the public DNS record for the application is updated to point to the Global Accelerator’s static IP addresses. Ifus-east-1experiences an outage, Global Accelerator automatically detects the unhealthy endpoints and directs all traffic tous-west-2where the application can be recovered and served.
QUESTION 74 (Multi-Select)
A company is running a critical application that uses an Amazon RDS for MySQL database to Store data. The RDS DB instance is deployed in Multi-AZ mode.
A recent RDS database failover test caused a 40-second to the application. A solutions architect needs to design a solution to reduce the outage time to less than 20 seconds.
Which combination of steps should the solutions architect take to meet these requirements? (Select THREE.)
- A. Use Amazon ElastiCache for Memcached in front of the database.</h1><h1>
- B. Use Amazon ElastiCache for in front of the database.</h1><h1>
- C. Use RDS Proxy in front of the database.</h1><h1>
- D. Migrate the database to Amazon Aurora MySQL.</h1><h1>
- E. Create an Amazon Aurora Replica.</h1><h1>
- F. Create an RDS for MySQL read replica.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: C,D,E
Description: Amazon RDS Proxy is a fully managed, highly available database proxy that sits between your application and your Amazon RDS or Amazon Aurora database. It pools and shares database connections, improving application resilience to database failures and enabling predictable scaling.
Why this fits: RDS Proxy significantly improves connection management by reusing existing database connections, which reduces the load on the database engine, especially for applications that frequently open and close connections (e.g., serverless functions). This boosts scalability by allowing the database to handle more application connections efficiently. It also enhances availability by automatically routing connections to a healthy replica during database failovers, transparently to the application.
Example: An AWS Lambda-based microservice architecture might generate a high volume of short-lived database connections. Implementing RDS Proxy allows these Lambda functions to share a pool of established connections, reducing latency and preventing the database from being overwhelmed by new connection requests during bursts.
✅ Migrate the database to Amazon Aurora MySQL.
Description: Amazon Aurora is a MySQL and PostgreSQL-compatible relational database built for the cloud. It combines the performance and availability of traditional enterprise databases with the simplicity and cost-effectiveness of open-source databases. Aurora features a distributed, fault-tolerant, self-healing storage system that automatically scales and distributes data across multiple Availability Zones.
Why this fits: Aurora is designed for extremely high availability, with automatic healing and continuous backups, and high performance, offering up to 5x the throughput of standard MySQL. Its architecture inherently provides better scalability for both storage and compute, as well as superior fault tolerance compared to standard RDS MySQL, making it a strong choice for mission-critical applications.
Example: A rapidly growing e-commerce platform experiences performance bottlenecks and requires higher availability than its existing RDS MySQL instance can provide. Migrating to Amazon Aurora MySQL would offer significant improvements in read/write throughput, automatic storage scaling, and faster recovery from failures.
✅ Create an Amazon Aurora Replica.
Description: Amazon Aurora Replicas are independent endpoints within an Aurora DB cluster that share the same underlying storage volume as the primary instance. They are designed for high availability and to scale read operations. An Aurora cluster can support up to 15 Aurora Replicas across different Availability Zones.
Why this fits: Aurora Replicas contribute to both availability and scalability. For scalability, they offload read traffic from the primary instance, allowing the database cluster to handle a larger volume of read-heavy workloads. For availability, they serve as ideal failover targets; if the primary instance fails, an Aurora Replica can be quickly promoted to be the new primary instance, minimizing downtime.
Example: A high-traffic web application has a primary database instance handling write operations, but a significant portion of its workload consists of reporting and analytics that are read-intensive. By routing these read queries to multiple Aurora Replicas, the primary instance’s performance for critical write operations is preserved, and the overall read capacity of the system is greatly increased. Furthermore, if the primary instance becomes unavailable, an Aurora Replica can take over its role within seconds.
QUESTION 75
A company with global offices has a single 1 Gbps AWS Direct Connect connection to a single AWS Region. The company’s on-premises network uses the connection to communicate with the company’s resources the AWS Cloud. The connection has a single private virtual interface that connects to a single VPC.
A solutions architect must implement a solution that adds a redundant Direct Connection in the same Region. The solution also must provide connectivity to other Regions through the same pair of Direct Connect connections as the company expands into Other Regions.
Which solution meets these requirements?
- A. Provision a Direct Connect gateway, Delete the existing private virtual interface from the existing connection. Create the Direct Connect connection. Create a new private virtual interface on each connection, and both private virtual interfaces to the Direct Connect gateway. Connect the Direct Connect gateway to the Single VPC.</h1><h1>
- B. Keep the existing private virtual interface. Create the second Direct connect connection Create a new private virtual interface on the new connection, and connect the new private virtual Interface to the Single VPC.</h1><h1>
- C. Keep the existing private virtual interface. Create the second Direct Connect connection Create a new public virtual Interface on the new connect connection, and connect the new public virtual interface to the Single VPC.</h1><h1>
- D. Provision a transit gateway. Delete the existing private virtual interface from the existing connection. Create the second direct connect connection. Create a new private virtual interface on each connection and both private virtual interfaces to the transit gateway the transit gateway with the Single VPC.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: A
Description: An AWS Direct Connect Gateway is a global resource that allows you to connect your on-premises network to multiple Amazon Virtual Private Clouds (VPCs) across different AWS Regions or to a single VPC, either in the same or a different region, using a single or multiple AWS Direct Connect connections. It acts as a central aggregation point for Direct Connect connections.
Why this fits: For high availability and redundancy with two Direct Connect connections to a single VPC, the recommended architectural pattern is to provision a Direct Connect Gateway. Each private virtual interface (VIF) from the two Direct Connect connections should be associated with this Direct Connect Gateway. The Direct Connect Gateway is then associated with the target VPC. This design ensures that traffic can fail over between the two Direct Connect connections, providing a resilient path to the VPC. Deleting and recreating the existing private VIF is necessary to associate it with the newly provisioned Direct Connect Gateway, integrating it into the redundant setup.
Example: An organization requires highly available and redundant connectivity from its on-premises data center to a critical application hosted within a single VPC in AWS. They establish two separate Direct Connect connections terminating at different AWS Direct Connect locations. To achieve the desired redundancy, they create a Direct Connect Gateway, associate private virtual interfaces from both Direct Connect connections to this gateway, and then associate the Direct Connect Gateway with their target VPC. This setup allows traffic to flow over either connection, providing resilience in case one connection fails.
QUESTION 76 (Multi-Select)
A company is hosting a critical application on a single Amazon EC2 instance. The application uses an Amazon ElastiCache for Redis single-node cluster for an in-memory data store. The application an Amazon RDS for MariaDB DB instance for a relational database. For the application to function, each piece of the infrastructure must be healthy and must be in an active state.
A solutions architect needs to improve the application’s architecture so that the infrastructure can automatically from failure with the least possible downtime.
Which combination of steps will meet these requirements? (Select THREE.)
- A. Use an Elastic Load Balancer to distribute traffic across multiple EC2 Ensure that the EC2 instances are part of an Auto Scaling group that has a minimum capacity of two instances.
- B. Use an Elastic Load Balancer to distribute traffic across multiple EC2 instances. Ensure that the EC2 instances are in unlimited mode.
- C. Modify the DB instance to create a read replica in the same Availability Zone. Promote the read replica to be the primary DB instance in failure scenarios.
- D. Modify the DB instance to create a Multi-AZ deployment that extends across two Availability Zones.
- E. Create a replication group for the ElastiCache for Redis cluster. Configure the cluster to use an Auto Scaling group that has a minimum capacity of two instances.
- F. Create a replication around for the ElastiCache for Redis cluster. Enable Multi-AZ on the cluster.
Click to View Verified Solution & Explanation
Correct Option: A,D,F
Description: This approach creates a highly available and scalable application tier using Amazon EC2. An Elastic Load Balancer (ELB) distributes incoming application traffic across multiple EC2 instances, and an Auto Scaling group automatically manages the number of instances, ensuring a minimum capacity for resilience and scaling capacity up or down based on demand.
Why this fits: Distributing traffic across multiple EC2 instances with a minimum capacity of two instances in an Auto Scaling group, fronted by an ELB, ensures fault tolerance. If an instance fails, the ELB routes traffic to healthy instances, and the Auto Scaling group replaces the failed instance, maintaining application availability and performance.
Example: A public-facing web application uses an Application Load Balancer (ALB) to route requests to two or more EC2 instances running Apache web servers. These instances are managed by an Auto Scaling group configured to maintain a minimum of two instances across different Availability Zones, ensuring continuous service even if an instance or an entire Availability Zone experiences an outage.
✅ Choice D: Modify the DB instance to create a Multi-AZ deployment that extends across two Availability Zones.
Description: Amazon Relational Database Service (RDS) Multi-AZ deployments provide enhanced availability and durability for DB instances. When configured as Multi-AZ, Amazon RDS automatically provisions and maintains a synchronous standby replica in a different Availability Zone. In case of an unplanned outage of the primary DB instance, RDS performs an automatic failover to the standby replica.
Why this fits: This choice directly addresses the high availability requirement for the relational database. A Multi-AZ deployment protects the database against Availability Zone outages and infrastructure failures, providing automatic failover with minimal downtime and data loss, thus ensuring business continuity.
Example: An Amazon RDS for PostgreSQL database instance is configured for Multi-AZ deployment. The primary instance is in AZ1, and a synchronously replicated standby instance is in AZ2. If AZ1 experiences an issue, Amazon RDS automatically promotes the standby in AZ2 to become the new primary, with the application’s CNAME record updated to point to the new primary endpoint.
✅ Choice F: Create a replication group for the ElastiCache for Redis cluster. Enable Multi-AZ on the cluster.
Description: An Amazon ElastiCache for Redis replication group consists of a primary node and one or more read replica nodes. Replication groups provide high availability by enabling automatic failover to a replica node if the primary node fails. Enabling Multi-AZ on the cluster further enhances fault tolerance by distributing nodes across different Availability Zones, protecting against an Availability Zone outage.
Why this fits: This choice ensures high availability and fault tolerance for the ElastiCache for Redis cluster. A replication group provides data redundancy and automatic failover within the cluster, while Multi-AZ deployment distributes these nodes across different Availability Zones, safeguarding the cache against a single point of failure at the Availability Zone level.
Example: An ElastiCache for Redis cluster is configured as a replication group with a primary node and two read replica nodes, all distributed across different Availability Zones (e.g., primary in AZ1, replica 1 in AZ2, replica 2 in AZ3) with Multi-AZ enabled. If the primary node in AZ1 fails, one of the replicas is automatically promoted to primary, ensuring continuous caching operations.
QUESTION 77
A delivery company is running a serverless solution in the AWS Cloud. The solution manages user data, delivery information, and past purchase details. The solution consists of several microservices. The central user service stores sensitive data in an Amazon DynamoDB table. Several of the other microservices store a copy of parts of the sensitive data in different storage services.
The company needs the ability to delete user information upon request. As soon as the central user service deletes a user, every other microservice must also delete its copy of the data immediately.
Which solution will meet these requirements?
- A. Activate DynamoDB Streams on the DynamoDB table. Create an AWS Lambda trigger for the DynamoDB stream that will post events about user deletion in an Amazon Simple Queue Service (Amazon SQS) queue. Configure each microservice to poll the queue and delete the user from the DynamoDB table.
- B. Set up DynamoDB event notifications on the DynamoDB table. Create an Amazon Simple Notification Service (Amazon SNS) topic as a target for the DynamoDB event notification. Configure each microservice to subscribe to the SNS topic and to delete the user from the DynamoDB table.
- C. Configure the central user service to post an event on a custom Amazon EventBridge event bus when the company deletes a user. Create an EventBridge rule for each microservice to match the user deletion event pattern and invoke logic in the microservice to delete the user from the DynamoDB table.
- D. Configure the central user service to post a message on an Amazon Simple Queue Service (Amazon SQS) queue when the company deletes a user. Configure each microservice to create an event filter on the SQS queue and to delete the user from the DynamoDB table.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Amazon EventBridge is a serverless event bus service that facilitates the creation of event-driven architectures. It enables you to route data from various sources (your custom applications, AWS services, and integrated SaaS applications) to targets (such as AWS Lambda functions, Amazon SQS queues, or Amazon SNS topics) through rules that filter and transform events.
Why this fits: This solution leverages Amazon EventBridge to build a highly decoupled and scalable event-driven architecture. The central user service, as an event producer, publishes an application-level event (user deletion) to a custom EventBridge event bus. Each microservice, acting as an event consumer, defines its own EventBridge rule. These rules specify patterns to match the user deletion event and directly invoke specific logic within that microservice (e.g., an AWS Lambda function). This approach ensures that the central service is completely unaware of its consumers, simplifying future additions or removals of microservices. EventBridge’s robust filtering capabilities ensure that only relevant microservices are notified, and its direct invocation mechanism provides an efficient way to trigger downstream processing. This design aligns with AWS best practices for building resilient, extensible, and loosely coupled distributed systems.
Example: A UserManagementService deletes a user and publishes an event like {"detail-type": "UserDeleted", "source": "com.example.users", "detail": {"userId": "abc-123"}} to EventBridge. A "Payment" microservice has an EventBridge rule configured to match {"detail-type": ["UserDeleted"]} and invoke its PaymentService-PurgeUserData Lambda function. Concurrently, a "Notification" microservice has a separate rule for the same event, invoking its NotificationService-CleanUpUserSubscriptions Lambda function. Both microservices react independently to the single event without the UserManagementService having direct knowledge of their existence.
QUESTION 78 (Multi-Select)
A company has a critical application in which the data tier is deployed in a single AWS Region. The data tier uses an Amazon DynamoDB table and an Amazon Aurora MySQL DB cluster. The current Aurora MySQL engine version supports a global database. The application tier is already deployed in two Regions.
Company policy states that critical applications must have application tier components and data tier components across two Regions. The RTO and RPO must be no more than a few minutes each. A solutions architect must recommend a solution to make the data tier compliant with company policy.
Which combination of steps will meet these (Select TWO)
- A. Add another to the Aurora MySQL DB cluster.
- B. Add another Region to each table in the Aurora MySQL DB cluster.
- C. Set up scheduled cross-Region backups for the DynamoDB table and the Aurora MySQL DB cluster.
- D. Convert the existing DynamoDB table to a global table by adding another Region to its configuration.
- E. Use Amazon Route 53 Application Recovery Controller to automate database backup and recovery to the secondary Region.
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: An Aurora MySQL DB cluster consists of a primary DB instance and up to 15 Aurora Replicas. Aurora Replicas share the same underlying multi-AZ storage volume as the primary instance.
Why this fits: Adding another instance, specifically an Aurora Replica, to an Aurora MySQL DB cluster significantly enhances high availability and read scalability within a single AWS Region. Aurora automatically handles failover to an Aurora Replica if the primary instance becomes unavailable, ensuring minimal downtime. Replicas can also serve read traffic, offloading the primary instance and improving application performance.
Example: An online gaming platform uses Aurora MySQL for player data. By adding an Aurora Replica, the platform can distribute read queries for leaderboards and player profiles across multiple instances. Should the primary instance experience an issue, an Aurora Replica is automatically promoted, maintaining continuous database availability for critical game operations.
✅ Convert the existing DynamoDB table to a global table by adding another Region to its configuration.
Description: A DynamoDB global table provides fully managed, multi-region, multi-active replication. It is a collection of replica tables, all storing the same data, in different AWS Regions.
Why this fits: Converting a DynamoDB table to a global table by adding another Region provides continuous availability and disaster recovery across multiple AWS Regions. If one Region experiences an outage, applications can seamlessly redirect to a healthy replica table in another Region, ensuring business continuity with low RTO (Recovery Time Objective) and RPO (Recovery Point Objective). It also allows for low-latency data access for globally distributed users by directing them to the closest replica.
Example: A global IoT application collects sensor data from devices worldwide and stores it in DynamoDB. By configuring the table as a global table across US East (N. Virginia), EU (Ireland), and Asia Pacific (Singapore) Regions, the application ensures that data is always accessible with low latency to users in those regions and can withstand a regional outage without data loss or significant downtime.
QUESTION 79
A company is an AWS environment for a manufacturing application. The application has been successful with customers, and the application’s user base has increased. The company has connected the AWS environment to the company’s on-premises data center through a 1 Gbps AWS Direct Connect. The company has configured BGP for the connection.
The company must update the existing network connectivity solution to ensure that the solution is highly available, fault tolerant, and secure.
Which solution will meet these requirements MOST cost-effectively?
- A. Add a dynamic private IP AWS Site-to-Site VPN as a secondary path to secure data in transit and provide resilience for the Direct Connect connection. Configure MACsec to encrypt traffic inside the Direct Connect connection.
- B. Provision another Direct Connect connection between the company’s on-premises data center and AWS to increase the transfer speed and provide resilience. Configure MACsec to encrypt traffic inside the Direct Connect connection.
- C. Configure multiple private VIFs. Load balance data across the VlFs between the on-premises data center and AWS to provide resilience.
- D. Add a static AWS Site-to-Site VPN as a secondary path to secure data in transit and to provide resilience for the Direct Connect connection.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This choice combines two robust solutions for hybrid connectivity. MACsec (Media Access Control Security) provides encryption at Layer 2 (data link layer) directly on the Direct Connect physical link, securing traffic between the on-premises router and the AWS Direct Connect location. A dynamic AWS Site-to-Site VPN creates an IPsec tunnel over the public internet, acting as a geographically diverse, encrypted secondary path. "Dynamic" implies the use of Border Gateway Protocol (BGP) for routing, enabling automatic failover and efficient path selection.
Why this fits: This is the most comprehensive and resilient solution.
- Resilience: A Direct Connect connection can suffer outages due to physical cuts, equipment failure, or issues at the Direct Connect location. By adding a dynamic AWS Site-to-Site VPN over the internet, you create a diverse secondary path. This path uses a different underlying infrastructure (the public internet) and potentially different network routes, significantly improving resilience against single points of failure that might affect only the Direct Connect path. Dynamic routing (BGP) ensures automatic failover between the Direct Connect and VPN paths if one becomes unavailable.
- Secure Data in Transit:
- MACsec for Direct Connect: Provides strong, hardware-based, line-rate encryption directly on the Direct Connect connection itself (Layer 2). This ensures that data traversing the Direct Connect circuit is encrypted from the on-premises router to the AWS Direct Connect router, meeting high-security requirements for the primary path.
- AWS Site-to-Site VPN: Provides IPsec encryption (Layer 3) for the secondary path over the public internet, ensuring data remains confidential and tamper-proof during transit.
This combination provides both high-performance, low-latency security for the primary link and a robust, encrypted, and diverse backup path.Example: A financial institution uses AWS Direct Connect with MACsec for its primary data transfers to AWS, requiring maximum security and compliance. To ensure business continuity during a Direct Connect outage (e.g., a fiber cut affecting the physical cable), they configure an AWS Site-to-Site VPN connection over the internet, using BGP for dynamic routing. If the Direct Connect path fails, traffic automatically re-routes over the encrypted VPN tunnel, maintaining connectivity to AWS.
Why other choices are not the best fit:
- Choice B: Provision another Direct Connect connection between the company’s on-premises data center and AWS to increase the transfer speed and provide resilience. Configure MACsec to encrypt traffic inside the Direct Connect connection.
- While adding another Direct Connect provides resilience and increased speed, it often shares similar physical infrastructure (e.g., the same last-mile provider or Direct Connect location) and does not offer the path diversity that an internet-based VPN provides. If a regional issue affects Direct Connect infrastructure, both connections could be impacted. MACsec only protects the Direct Connect itself.
- Choice C: Configure multiple private VIFs. Load balance data across the VlFs between the on-premises data center and AWS to provide resilience.
- Multiple VIFs (Virtual Interfaces) on a Direct Connect connection provide some resilience by distributing traffic or allowing for failover within the Direct Connect service. However, they do not inherently add a different secure path for data in transit and are still dependent on the underlying Direct Connect physical connection(s). This approach lacks the diverse routing and infrastructure independence offered by a VPN over the internet.
- Choice D: Add a static AWS Site-to-Site VPN as a secondary path to secure data in transit and to provide resilience for the Direct Connect connection.
- A static VPN provides a secondary path and encryption, but it lacks the automated failover and route optimization capabilities of a dynamic (BGP-enabled) VPN. In a resilience scenario, dynamic routing is critical for seamless and automatic recovery, as it can detect path failures and switch traffic without manual intervention.
QUESTION 80
A company has a web application that uses Amazon API Gateway AWS Lambda and Amazon DynamoDB. A recent marketing campaign has increased demand Monitoring software reports that many requests have significantly longer response times than before the marketing campaign.
A solutions architect enabled Amazon CloudWatch Logs for API Gateway and noticed that errors are occurring on 20% of the requests In CloudWatch the Lambda function Throttles metric represents 1% of the requests and the Errors metric represents 10% of the requests Application togs indicate that when errors occur there is a call to DynamoDB.
What change should the solutions architect make to improve the current response times as the web application becomes more popular?
- A. Increase the concurrency limit of the Lambda function.
- B. Implement DynamoDB auto scaling on the table.
- C. Increase the API Gateway throttle limit.
- D. Re-create the DynamoDB table with a better-partitioned primary index.
Click to View Verified Solution & Explanation
Correct Option: B
Description: DynamoDB auto scaling automatically adjusts the provisioned read and write capacity of a DynamoDB table or a global secondary index in response to actual traffic patterns. It leverages AWS Auto Scaling to increase throughput capacity when demand rises and decrease it when demand falls, helping to optimize performance and cost.
Why this fits: If a Lambda function is experiencing throttling when writing to a DynamoDB table, it indicates that the table’s provisioned write capacity is insufficient to handle the incoming requests from the Lambda function. Implementing DynamoDB auto scaling directly addresses this problem by ensuring the table can dynamically scale its write capacity units (WCUs) to meet the fluctuating demand, preventing ProvisionedThroughputExceededException errors and allowing the Lambda function to operate without bottlenecking at the database layer.
Example: Consider a serverless application where a Lambda function processes user requests and writes data to a DynamoDB table. During peak hours, the Lambda function might be invoked thousands of times per second, leading to a surge in write operations. If DynamoDB auto scaling is enabled, it will automatically detect the increased load and provision additional write capacity, allowing all Lambda invocations to successfully write their data to the table without encountering throttling.
QUESTION 81
A company provides auction services for artwork and has users across North America and Europe. The company hosts its application in Amazon EC2 instances in the us-east-1 Region. Artists upload photos of their work as large-size, high-resolution image files from their mobile phones to a centralized Amazon S3 bucket created in the us-east-1 Region. The users in Europe are reporting slow performance for their image uploads.
How can a solutions architect improve the performance of the image upload process?
- A. Redeploy the application to use S3 multipart uploads.
- B. Create an Amazon CloudFront distribution and point to the application as a custom origin.
- C. Configure the buckets to use S3 Transfer Acceleration.
- D. Create an Auto Scaling group for the EC2 instances and create a scaling policy.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Amazon S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your client and an S3 bucket. Transfer Acceleration leverages Amazon CloudFront’s globally distributed edge locations. As data arrives at an edge location, it is routed to Amazon S3 over an optimized network path.
Why this fits: This solution directly addresses performance issues related to transferring data to or from S3, particularly when users or applications are geographically distant from the S3 bucket’s region. By routing traffic through CloudFront’s edge network, S3 Transfer Acceleration minimizes network latency and maximizes throughput, significantly improving data transfer speeds and reliability compared to direct internet transfers.
Example: A global media company needs to upload large video files daily from various locations around the world to a central S3 bucket in a single AWS region. Without Transfer Acceleration, uploads from distant offices would experience high latency and slow speeds. By enabling S3 Transfer Acceleration on the target bucket, uploads from any location are directed to the nearest AWS edge location and then optimized over the AWS backbone network, drastically reducing upload times and improving operational efficiency.
QUESTION 82
A company is deploying a third-party web application on AWS. The application IS packaged as a Docker image. The company has deployed the Docker image as an AWS Fargate service in Amazon Elastic Container Service (Amazon ECS). An Application Load Balancer (ALB) directs traffic to the application.
The company needs to give only a specific list of users the ability to access the application from the internet. The company cannot change the application and cannot integrate the application with an identity provider. All users must be authenticated through multi-factor authentication (MFA).
Which solution will meet these requirements?
- A. Create a user pool In Amazon Cognito. Configure the pool for the application. Populate the pool with the required users. Configure the pool to require MFA. Configure a listener rule on the ALB to require authentication through the Amazon Cognito hosted Ul.
- B. Configure the users in AWS Identity and Access Management (IAM). Attach a resource policy to the Fargate service to require users to use MFA. Configure a listener rule on the ALB to require authentication through IAM.
- C. Configure the users in AWS Identity and Access Management (IAM). Enable AWS IAM Identity Center (AWS Single Sign-On). Configure resource protection for the ALB. Create a resource protection rule to require users to use MFA.
- D. Create a user pool In AWS Amplify. Configure the pool for the application. Populate the pool with the required users. Configure the pool to require MFA Configure a listener rule on the ALB to require authentication through the Amplify hosted Ul.
Click to View Verified Solution & Explanation
Correct Option: A
Description: Amazon Cognito User Pools provide a secure user directory that scales to hundreds of millions of users. It handles user registration, authentication, account recovery, and other security features like Multi-Factor Authentication (MFA). An Application Load Balancer (ALB) can be configured with a listener rule to integrate directly with Amazon Cognito, offloading user authentication from the backend application.
Why this fits: This approach leverages Amazon Cognito’s robust user management capabilities, including built-in MFA support, which is a key requirement. The critical part is the ALB’s ability to act as an authentication proxy. By configuring an ALB listener rule to require authentication through Amazon Cognito, the ALB redirects unauthenticated users to the Cognito hosted UI (or a custom UI) for login. Upon successful authentication, Cognito returns a JSON Web Token (JWT) to the ALB, which then forwards the request, along with user claims, to the target group. This pattern securely handles user authentication and MFA enforcement before the request reaches the application, reducing the burden on the backend service.
Example: A user navigates to a web application URL. The ALB intercepts the request. Since the user is not authenticated, the ALB redirects them to the Amazon Cognito hosted UI for login. The user enters their credentials and completes the MFA challenge. Upon successful authentication, Cognito redirects the user back to the application URL, and the ALB forwards the request to the application, injecting user identity information from Cognito into the request headers.
QUESTION 83
A company is building a call center by using Amazon Connect. The company’s operations team is defining a disaster recovery (DR) strategy across AWS Regions. The contact center has dozens of contact flows, hundreds of users, and dozens of claimed numbers.
Which solution will provide DR with the LOWEST RTO?
- A. Create an AWS Lambda function to check the availability of the Amazon Connect instance and to send a notification to the operations team in case of unavailability. Create an Amazon EventBridge rule to invoke the Lambda function every 5 minutes. After notification, instruct the operations team to use the AWS Management Console to provision a new Amazon Connect instance in a second Region. Deploy the contact flows, users, and claimed phone numbers by using an AWS CloudFormation template.
- B. Provision a new Amazon Connect instance with all existing users in a second Region. Create an AWS Lambda function to check the availability of the Amazon Connect instance. Create an Amazon EventBridge rule to invoke the Lambda function every 5 minutes. In the event of an issue, configure the Lambda function to deploy an AWS CloudFormation template that provisions contact flows and clamed numbers in the second Region.
- C. Provision a new Amazon Connect instance with all existing contact flows and claimed phone numbers in a second Region. Create an Amazon Route 53 health check for the URL of the Amazon Connect instance. Create an Amazon CloudWatch alarm for failed health checks. Create an AWS Lambda function to deploy an AWS CloudFormation template that provisions all users. Configure the alarm to invoke the Lambda function.
- D. Provision a new Amazon Connect instance with all existing users and contact flows in a second Region. Create an Amazon Route 53 health check for the URL of the Amazon Connect instance. Create an Amazon CloudWatch alarm for faded health checks. Create an AWS Lambda function to deploy an AWS CloudFormation template that provisions claimed phone numbers. Configure the alarm to invoke the Lambda function.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution outlines a robust "pilot light" or "warm standby" disaster recovery strategy for Amazon Connect. It involves pre-provisioning essential components (instance, users, contact flows) in a secondary region. Automated monitoring detects a primary region failure, triggering an automated failover process to provision the final, critical component (claimed phone numbers) in the standby region, enabling service restoration.
Why this fits: This approach minimizes both Recovery Time Objective (RTO) and Recovery Point Objective (RPO) by having the core contact center infrastructure (instance, users, contact flows) already in place in the DR region.
- Pre-provisioning: The phrase "Provision a new Amazon Connect instance with all existing users and contact flows in a second Region" implies a warm standby or pilot light model where these critical, often less frequently changing, components are already deployed and synchronized.
- Robust Monitoring: Amazon Route 53 health checks are a highly effective and standard method for monitoring the availability of an application endpoint. Integrating with Amazon CloudWatch alarms ensures that failures are detected reliably.
- Automated Failover: Configuring the CloudWatch alarm to invoke an AWS Lambda function for automated recovery is a core tenet of well-architected DR. The Lambda function deploys a CloudFormation template to provision "claimed phone numbers." This is a crucial step as phone numbers are the public-facing access point for the contact center and often need to be specifically provisioned or re-pointed in the DR region upon failover. This automation reduces manual intervention and speeds up recovery.
Example: An organization running a critical customer support contact center in us-east-1 uses this strategy. They maintain a smaller, ready-to-scale Amazon Connect instance in us-west-2 with their agents (users) and call routing logic (contact flows) replicated. If the us-east-1 instance becomes unreachable, an Amazon Route 53 health check fails. This triggers a CloudWatch alarm, which then invokes a Lambda function. The Lambda function automatically provisions the organization’s existing phone numbers (DIDs) in the us-west-2 Amazon Connect instance via a CloudFormation template, ensuring customer calls are quickly rerouted to the standby region with minimal disruption.
QUESTION 84
A company runs an IoT application in the AWS Cloud The company has millions of sensors that collect from houses in the United States. The sensors use the MQTT protocol to connect and send data to a custom MQTT broker. The MQTT broker stores the data on a Single Amazon EC2 Instance. The sensors connect to the broker through the domain named iot.example.com. The company uses Amazon Route 53 as its DNS service. The company stores the data in Amazon DynamoDB.
On several the amount of data has the MOTT broker and has resulted in lost sensor data. The company must improve the reliability of the solution.
Which solution will meet these requirements?
- A. Create an Application Load Balancer (ALB) and an Auto Scaling group for the MQTT broker Use the Auto Scaling group the target for the ALB. Update the DNS record in Route 53 to an alias record Point the alias record to the ALB. Use the MQTT broker to store the data.
- B. Set up AWS IoT Core to receive the sensor data. Create and configure a custom to connect to AWS IoT Core Update the DNS record In Route 53 to point to the AWS IoT Core Data-ATS endpoint Configure an AWS IoT rule to store the data.
- C. Create a Network Load Balancer (NLB). Set the MOTT broker as the target Create an AWS Global Accelerator accelerator. Set the NLB as the endpoint for the accelerator. Update the DNS record in Route 53 to a multivalue answer record. Set the Global Accelerator IP addresses as values. Use the MQTT broker to store the data.
- D. Set up AWS IoT Greengrass to receive the sensor data the DNS in Route 53 to point to the AWS IoT endpoint Configure an AWS IoT rule to invoke an AWS function to store the data.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS IoT Core is a fully managed cloud service that allows billions of connected devices to interact easily and securely with cloud applications and other devices. It provides secure communication via standard protocols like MQTT, offering device authentication, authorization, and message routing. The AWS IoT Core Data-ATS (Amazon Trust Services) endpoint is the specific endpoint devices use to connect and publish data. AWS IoT rules are serverless mechanisms that filter, transform, and route messages from connected devices to other AWS services (such as S3, DynamoDB, Lambda, Kinesis, etc.) for storage, analytics, or further processing.
Why this fits: This solution directly addresses the requirements of ingesting data from a large number of sensors using MQTT and storing that data reliably. AWS IoT Core is purpose-built for this use case, providing a scalable, secure, and managed service for device connectivity and message ingestion. By directing the DNS record to the AWS IoT Core Data-ATS endpoint, devices can easily connect. AWS IoT rules then provide a robust and flexible way to process the incoming MQTT messages and store them in a chosen AWS service without the need for custom server-side application development, significantly reducing operational overhead and ensuring high scalability and reliability.
Example: A smart city project deploys thousands of environmental sensors that publish temperature and humidity data via MQTT. Each sensor is configured with a custom client to connect to AWS IoT Core. A DNS entry sensors.example.com in Route 53 points to the AWS IoT Core Data-ATS endpoint for the region. An AWS IoT rule is set up to capture all messages published to a topic like city/sensors/+/data. This rule then parses the JSON payload and stores the data into an Amazon Timestream database for time-series analytics, simultaneously archiving raw messages to an Amazon S3 bucket.
QUESTION 85
A software as a service (SaaS) based company provides a case management solution to customers. As part of the solution, the company uses a standalone Simple Mail Transfer Protocol (SMTP) server to send email messages from an application. The application also stores an email template for acknowledgement email messages that populate customer data before the application sends the email message to the customer.
The company plans to migrate this messaging functionality to the AWS Cloud and needs to minimize operational overhead.
Which solution will meet these requirements MOST cost-effectively?
- A. Set up an SMTP server on Amazon EC2 instances by using an AMI from the AWS Marketplace. Store the email template in an Amazon S3 bucket. Create an AWS Lambda function to retrieve the template from the S3 bucket and to merge the customer data from the application with the template. Use an SDK in the Lambda function to send the email message.</h1><h1>
- B. Set up Amazon Simple Email Service (Amazon SES) to send email messages. Store the email template in an Amazon S3 bucket. Create an AWS Lambda function to retrieve the template from the S3 bucket and to merge the customer data from the application with the template. Use an SDK in the Lambda function to send the email message.</h1><h1>
- C. Set up an SMTP server on Amazon EC2 instances by using an AMI from the AWS Marketplace. Store the email template in Amazon Simple Email Service (Amazon SES) with parameters for the customer data. Create an AWS Lambda function to call the SES template and to pass customer data to replace the parameters. Use the AWS Marketplace SMTP server to send the email message.</h1><h1>
- D. Set up Amazon Simple Email Service (Amazon SES) to send email messages. Store the email template on Amazon SES with parameters for the customer data. Create an AWS Lambda function to call the SendTemplated Email API operation and to pass customer data to replace the parameters and the email destination.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: D
Description: Amazon Simple Email Service (SES) is a flexible, scalable, cost-effective, and highly available cloud-based email sending and receiving service designed for developers and businesses. SES offers robust features including email templating, which allows users to create and manage email templates directly within SES. These templates can include placeholders (parameters) that are dynamically replaced with recipient-specific data at the time of sending. The
SendTemplatedEmail API operation is specifically designed to leverage these templates, reducing the complexity of email generation within the application code.Why this fits: This choice represents the most architecturally sound and AWS-native solution for sending templated emails at scale. By using SES for both sending and template management, the solution leverages a fully managed service, eliminating the operational overhead associated with running and maintaining a self-hosted SMTP server on EC2 (Choice A and C). Storing templates directly in SES and utilizing the
SendTemplatedEmail API allows SES to handle the merging of data into the template, offloading this processing from the Lambda function and simplifying the Lambda’s logic (Choice B, where Lambda merges data from an S3-stored template, is less efficient). This approach ensures higher deliverability, better sender reputation management, and simplifies the overall email infrastructure, aligning with best practices for a professional-level AWS solution.Example: An e-commerce application needs to send order confirmation emails. Instead of having the application code generate the HTML for each email, a template is created in SES (e.g., "OrderConfirmationTemplate") with parameters like
{{customerName}}, {{orderId}}, and {{totalAmount}}. When an order is placed, an AWS Lambda function is triggered. This Lambda function collects the customer’s name, order ID, and total amount, then calls the SES SendTemplatedEmail API, providing the template name and a TemplateData JSON object with the specific values for customerName, orderId, and totalAmount. SES then merges this data into the stored template and sends the personalized email to the customer.
QUESTION 86
A company is providing weather data over a REST-based API to several customers. The API is hosted by Amazon API Gateway and is integrated with different AWS Lambda functions for each API operation. The company uses Amazon Route 53 for DNS and has created a resource record of weather.example.com. The company stores data for the API in Amazon DynamoDB tables. The company needs a solution that will give the API the ability to fail over to a different AWS Region.
Which solution will meet these requirements?
- A. Deploy a new set of Lambda functions in a new Region. Update the API Gateway API to use an edge-optimized API endpoint with Lambda functions from both Regions as targets. Convert the DynamoDB tables to global tables.
- B. Deploy a new API Gateway API and Lambda functions in another Region. Change the Route 53 DNS to a multivalue answer. Add both API Gateway APIs to answer Enable target health monitoring. Convert the DynamoDB tables to global.
- C. Deploy a new API Gateway API and Lambda functions in another Region. Change the Route 53 DNS record to a failover record. Enable target health monitoring. Convert the DynamoDB tables to global tables.
- D. Deploy a new API Gateway API in a new Region. Change the Lambda functions to global functions the Route 53 DNS record to a multivalue answer Add both API Gateway APIs to the answer Enable target health monitoring Convert the DynamoDB tables to global tables.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution outlines a robust strategy for multi-region disaster recovery or high availability using a combination of AWS services. It involves deploying application components (API Gateway and Lambda) in a secondary region, configuring Amazon Route 53 for automatic failover based on health checks, and utilizing DynamoDB Global Tables for cross-region data replication.
Why this fits: This approach effectively addresses the requirements for a highly available, resilient architecture that can withstand regional outages.
- Deploying API Gateway and Lambda in another Region: Establishes a redundant compute and API endpoint layer in a separate AWS region, ensuring that the application logic and entry point remain available even if the primary region experiences issues.
- Route 53 Failover Record with Health Monitoring: This is the cornerstone of an active/passive or disaster recovery strategy. Route 53’s failover routing policy automatically directs traffic to the healthy primary resource, and in the event of its unhealthiness, switches traffic to a designated secondary resource in another region. Target health monitoring is crucial for Route 53 to accurately detect service availability and trigger the failover.
- DynamoDB Global Tables: Provides a fully managed, multi-master, multi-region replication solution for DynamoDB tables. This ensures that data is automatically replicated across the specified regions, maintaining data consistency and availability even during regional failures, which is critical for application state.
Other options are less suitable:
- Choice A suggests using an edge-optimized API Gateway endpoint with Lambda functions from both regions as targets. While edge-optimized endpoints leverage CloudFront for performance, they don’t inherently provide a clean failover mechanism like Route 53’s failover policy. Directing a single API Gateway endpoint to Lambda functions across regions isn’t a standard or robust multi-region failover pattern.
- Choice B and D suggest a Route 53 multivalue answer. While multivalue answers can be combined with health checks, they return multiple IP addresses, and clients are expected to retry if the first one fails. This is generally used for load distribution across multiple healthy endpoints and is not as explicit or reliable for primary-to-secondary failover as a dedicated failover routing policy.
- Choice D incorrectly mentions "global functions" for Lambda. Lambda functions are regional services and do not have a "global" concept.
Example: An e-commerce application deployed in us-east-1 (primary) and us-west-2 (secondary). API Gateway and Lambda functions for order processing are set up in both regions. The myapp.com domain is configured in Route 53 with a failover record pointing to the us-east-1 API Gateway endpoint as primary and us-west-2 as secondary, with health checks on both. The Orders DynamoDB table is configured as a global table replicating between us-east-1 and us-west-2. If us-east-1 becomes unavailable, Route 53 automatically switches all traffic for myapp.com to the us-west-2 API Gateway, ensuring the application remains accessible and processing orders using the replicated data.
QUESTION 87
A company has a legacy monolithic application that is critical to the company’s business. The company hosts the application on an Amazon EC2 instance that runs Amazon Linux 2. The company’s application team receives a directive from the legal department to back up the data from the instance’s encrypted Amazon Elastic Block Store (Amazon EBS) volume to an Amazon S3 bucket. The application team does not have the administrative SSH key pair for the instance. The application must continue to serve the users.
Which solution will meet these requirements?
- A. Attach a role to the instance with permission to write to Amazon S3. Use the AWS Systems Manager Session Manager option to gain access to the instance and run commands to copy data into Amazon S3.
- B. Create an image of the instance with the reboot option turned on. Launch a new EC2 instance from the image. Attach a role to the new instance with permission to write to Amazon S3. Run a command to copy data into Amazon S3.
- C. Take a snapshot of the EBS volume by using Amazon Data Lifecycle Manager (Amazon DLM). Copy the data to Amazon S3.
- D. Create an image of the instance. Launch a new EC2 instance from the image. Attach a role to the new instance with permission to write to Amazon S3. Run a command to copy data into Amazon S3.<h1>
Click to View Verified Solution & Explanation
Correct Option: A
Reference: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonS3.html
QUESTION 88 (Multi-Select)
A company’s factory and automation applications are running in a single VPC. More than 20 appliances run on a combination of Amazon EC2, Amazon Elastic Container Service (Amazon ECS), and Amazon RDS.
The company has software engineers spread across three teams. One of the three owns each application, and each team is responsible for the cost and performance of all of its applications. Team resources have tags that represent their application and team. The teams use IAM access for daily activities.
The company needs to determine which costs on the monthly AWS bill are attributed to each application or team. The company also must be able to create reports to compare costs from the last 12 months and to help forecast costs for the next 12 months. A solution architect must recommend an AWS Billing and Cost Management solution that provides these cost reports.
Which combination of actions will meet these requirements? (Select Three)
- A. Activate the user-defined cost allocation tags that represent the application and the team.
- B. Activate the AWS generated cost allocation tags that represent the application and the team.
- C. Create a cost category for each application in Billing and Cost Management.
- D. Activate IAM access to Billing and Cost Management
- E. Create a cost budget.
- F. Enable Cost Explorer
Click to View Verified Solution & Explanation
Correct Option: A,D,F
Description: User-defined cost allocation tags are key-value pairs that customers define and apply to AWS resources. They enable granular categorization and tracking of AWS costs according to specific organizational dimensions like application names, departments, or teams.
Why this fits: To gain detailed visibility into costs for specific applications and teams, it is crucial to use user-defined tags. Once resources are tagged and these tags are activated in the Billing and Cost Management console, AWS uses them to organize cost and usage data, making it filterable and analyzable in Cost Explorer and other reports. This directly supports the goal of understanding spending by specific business units.
Example: An EC2 instance might be tagged with Application: BackendService and Team: Platform. Activating these tags allows financial reports to show the precise costs attributed to BackendService or the Platform team.
✅ Activate IAM access to Billing and Cost Management
Description: AWS Identity and Access Management (IAM) is used to securely control access to AWS services and resources. For users or roles to view, analyze, and manage AWS costs, they must be granted appropriate IAM permissions to access the Billing and Cost Management console and related cost management services.
Why this fits: Even with tagging in place and Cost Explorer enabled, authorized personnel will be unable to access and analyze the billing data if they lack the necessary IAM permissions. Activating IAM access, typically through permissions like aws-portal:ViewBilling or specific Cost Explorer permissions, ensures that those responsible for cost management can interact with the tools and data.
Example: A finance manager needs to review monthly AWS spending. An IAM policy attached to their user or role must include permissions that allow access to the Billing and Cost Management console and Cost Explorer, such as ce:GetCostAndUsage and aws-portal:ViewBilling.
✅ Enable Cost Explorer
Description: AWS Cost Explorer is a free service that provides a graphical interface to visualize, understand, and manage AWS costs and usage over time. It offers pre-configured reports and an ad-hoc query builder to analyze cost data.
Why this fits: Cost Explorer is the primary tool for deep-diving into AWS spending patterns and breaking down costs. To gain visibility and analyze costs based on criteria like application and team (derived from tags), Cost Explorer must be enabled. Once activated, it processes and makes your cost data available, allowing you to apply filters, including user-defined cost allocation tags, to segment and visualize spending.
Example: After enabling Cost Explorer, a user can navigate to the service in the AWS Management Console, apply filters using activated user-defined tags (e.g., Tag:Application = OrderProcessing), and visualize the spending trends for that specific application across different timeframes and services.
QUESTION 89 (Multi-Select)
A retail company needs to provide a series of data files to another company, which is its business partner. These files are saved in an Amazon S3 bucket under Account A, which belongs to the retail company. The business partner company wants one of its IAM users, User_ Data Processor, to access the files from its own AWS account (Account B).
Which combination of steps must the companies take so that User_DataProcessor can access the S3 bucket successfully? (Select TWO.)
- A. Turn on the cross-origin resource sharing (CORS) feature for the S3 bucket in Account A.
- B. blob:https://certometrics.com/51afd6bf-a821-4023-a27a-275e3f2ba824
- C. blob:https://certometrics.com/61ff77d2-85d4-435c-b6a2-94967ba726b2
- D. blob:https://certometrics.com/46ec9675-635c-4f43-92fd-d6a692034c3c
- E. options/sap-c02_bd742ba9f5.webp
Click to View Verified Solution & Explanation
Correct Option: C,D
Description: A
blob: URL is a pseudo-URL scheme used in web browsers to reference Blob objects, which represent raw data that can be programmatically created or obtained from files. These URLs are temporary, client-side identifiers for data stored in the browser’s memory, allowing web applications to display or process large files (like images, videos, or documents) without needing to upload them to a server first. The hash-like string (61ff77d2-85d4-435c-b6a2-94967ba726b2) typically serves as a unique identifier for the specific Blob object within the browser’s context.
Why this fits: Without the specific question context, it is inferred that this choice represents a correct and valid resource identifier that meets the requirements of a particular scenario. In AWS Certified Solutions Architect – Professional contexts (SAP-C02), questions often involve designing solutions for web applications, content delivery, and data handling. A blob: URL could be relevant in a scenario where a client-side application (e.g., hosted on Amazon S3 with Amazon CloudFront, or an EC2-based web server) generates or processes data locally before interacting with backend AWS services (like S3 for storage, Lambda for processing, or DynamoDB for metadata). The validity of this specific identifier, as indicated by the ground truth, implies it correctly represents a required resource, data stream, or output of a process within the posed problem.
Example: A web application allows users to preview an image before uploading it to an S3 bucket. When the user selects an image file, the browser can create a blob: URL for that file, which is then used as the src attribute for an <img> tag to display the preview directly from the client’s memory, without needing to send the image data to the server first.
✅ blob:https://certometrics.com/46ec9675-635c-4f43-92fd-d6a692034c3c
Description: Similar to the previous choice, this is another
blob: URL, representing a temporary, client-side reference to a Blob object containing raw data. The distinct hash (46ec9675-635c-4f43-92fd-d6a692034c3c) signifies a different, uniquely identified Blob object within the web browser’s environment.
Why this fits: As with the prior choice, the ground truth indicates this is a correct and valid resource identifier for the given problem. In professional-level AWS architecture, solutions often involve handling multiple data streams, temporary files, or distinct client-side resources. The question likely requires identifying multiple correct identifiers or URLs that are part of a comprehensive solution design, possibly representing different stages of data processing or distinct generated outputs in a web application workflow involving AWS services. Its correctness is tied to matching the criteria specified in the (missing) question for a valid resource.
Example: In a complex single-page application (SPA) hosted on AWS, a user might generate a report client-side. The application could create a blob: URL for the generated report data, allowing the user to download it directly or preview it in another browser tab without sending the entire report to a backend service. If the process involves multiple generated artifacts or distinct temporary views, multiple blob: URLs, each with a unique identifier, would be appropriate.
QUESTION 90
A retail company is hosting an ecommerce website on AWS across multiple AWS Regions. The company wants the website to be operational at all times for online purchases. The website stores data in an Amazon RDS for MySQL DB instance.
Which solution will provide the HIGHEST availability for the database?
- A. Configure automated backups on Amazon RDS. In the case of disruption, promote an automated backup to be a standalone DB instance. Direct database traffic to the promoted DB instance. Create a replacement read replica that has the promoted DB instance as its source.
- B. Configure global tables and read replicas on Amazon RDS. Activate the cross-Region scope. In the case of disruption, use AWS Lambda to copy the read replicas from one Region to another Region.
- C. Configure global tables and automated backups on Amazon RDS. In the case of disruption, use AWS Lambda to copy the read replicas from one Region to another Region.
- D. Configure read replicas on Amazon RDS. In the case of disruption, promote a cross-Region and read replica to be a standalone DB instance. Direct database traffic to the promoted DB instance. Create a replacement read replica that has the promoted DB instance as its source.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This strategy leverages Amazon RDS Read Replicas, specifically cross-Region replicas, to provide a high availability and disaster recovery solution. When a primary database instance fails, especially in a different AWS Region, one of its read replicas can be quickly promoted to become the new standalone primary instance. Following promotion, application endpoints are updated to point to the new primary, and new read replicas can be provisioned from the promoted instance to restore redundancy and read scalability.
Why this fits: This choice accurately describes the recommended architecture and operational procedure for disaster recovery with a low Recovery Time Objective (RTO) for Amazon RDS. Promoting a read replica is a fast, built-in RDS operation that minimizes downtime compared to restoring from backups. Cross-Region read replicas are essential for protecting against regional outages. The subsequent steps of directing traffic and creating a new replica ensure business continuity and re-establish a resilient database architecture. Options B and C are incorrect because they mention "Global Tables," which is a feature of Amazon DynamoDB, not Amazon RDS. Option A suggests restoring from automated backups, which typically results in a higher RTO than promoting a read replica for large databases.
Example: An e-commerce application uses an Amazon RDS PostgreSQL primary instance in us-east-1 with a cross-Region read replica in us-west-2. If us-east-1 experiences a significant outage affecting the primary instance, the operations team would initiate the promotion of the us-west-2 read replica to a standalone DB instance. Once promoted, the application’s database connection string, perhaps managed via AWS Route 53 or application configuration, would be updated to point to the new primary’s endpoint in us-west-2. To restore read scalability and future DR capabilities, a new read replica would then be created in us-east-1 (or another suitable region) sourced from the us-west-2 primary.
QUESTION 91
A company has a multi-tier web application that runs on a fleet Of Amazon EC2 instances behind an Application Load Balancer (ALB). The instances are in an Auto Scaling group. The ALB and the Auto Scaling group are replicated in a backup AWS Region. The minimum value and the maximum value for the Auto Scaling group are set to zero. An Amazon RDS Multi-AZ DB instance stores the application’s data. The DB has a read replica in the backup Region. The application presents an endpoint to end users by using an Amazon Route 53 record.
The company needs to reduce its RTO to than 15 by giving the application the ability to automatically fail over to the backup Region. The company does not have a large enough budget for an active-active strategy.
What should a solutions architect recommend to meet these requirements?
- A. Reconfigure the application's Route 53 record with a latency-based routing policy that load balances traffic between the two ALBs. Create an AWS Lambda function in the backup Region to promote the read replica and modify the Auto Scaling group values. Create an Amazon CloudWatch alarm that is based on the HTTPCode_Target_5XX_Count metric for the ALB in the primary Region. Configure the CloudWatch alarm to invoke the Lambda function.
- B. Create an AWS Lambda function in the backup Region to promote the read replica and modify the Auto Scaling group values. Configure Route 53 with a health check that monitors the web application and sends an Amazon Simple Notification Service (Amazon SNS) notification to the Lambda function when the health check status is unhealthy. Update the application's Route 53 with a failover policy that routes traffic to the ALB in the backup Region when a health check failure occurs.
- C. Configure the Auto Scaling group in the backup Region to have the same values as the Auto Scaling group in the primary Region. Reconfigure the application's Route 53 record with a latency- based routing policy that load balances traffic between the two ALBs. Remove the read replica. Replace the read replica with a standalone RDS DB instance. Configure Cross-Region Replication between the RDS DB instances by using snapshots and Amazon S3.
- D. Configure an endpoint in AWS Global Accelerator with the two ALBs as equal weighted targets. Create an AWS Lambda function in the backup Region to promote the read replica and modify the Auto Scaling group values. Create an Amazon CloudWatch alarm that is based on the HTTPCode_Target_5XX Count metric for the ALB in the primary Region. Configure the CloudWatch alarm to invoke the Lambda function.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution outlines a robust, automated multi-Region disaster recovery strategy. It leverages Amazon Route 53 for intelligent traffic routing based on health checks, an AWS Lambda function for automated backend recovery actions (database promotion and scaling), and Amazon SNS for notification and trigger orchestration.
Why this fits: This approach provides a comprehensive disaster recovery mechanism.
- Automated Database Failover: An AWS Lambda function in the backup Region is used to promote the RDS read replica to a standalone DB instance, which is a standard procedure for fast database recovery with low Recovery Point Objective (RPO) and Recovery Time Objective (RTO). It also includes modifying Auto Scaling group values to handle the increased load in the backup Region.
- Health Monitoring and Traffic Redirection: Amazon Route 53 health checks are configured to monitor the web application’s availability in the primary Region. Upon detection of an unhealthy status, a Route 53 failover routing policy automatically redirects incoming traffic to the Application Load Balancer (ALB) in the backup Region. This ensures that users are directed to the healthy region without manual intervention.
- Backend Orchestration: The health check failure also triggers an Amazon SNS notification, which can then invoke the Lambda function. This enables the parallel execution of backend recovery (database promotion, ASG scaling) alongside traffic redirection, minimizing downtime.
Example: An e-commerce application running in us-east-1 (primary) has an ALB, Auto Scaling group, and an RDS database. A read replica is set up in us-west-2 (backup). If us-east-1 experiences an outage, the Route 53 health check fails. Automatically, Route 53 updates its DNS records to point to the ALB in us-west-2. Concurrently, the SNS topic notifies a Lambda function in us-west-2, which promotes the read replica to a primary instance and scales up the Auto Scaling group to handle incoming traffic.
QUESTION 92
A company is using an on-premises Active Directory service for user authentication. The company wants to use the same authentication service to sign in to the company’s AWS accounts, which are using AWS Organizations. AWS Site-to-Site VPN connectivity already exists between the on-premises environment and all the company’s AWS accounts.
The company’s security policy requires conditional access to the accounts based on user groups and roles. User identities must be managed in a single Iocation.
Which solution will meet these requirements?
- A. Configure AWS IAM Identity Center (AWS Single Sign-On) to connect to Active Directory by using SAML 2.0. Enable automatic provisioning by using the System for Cross-domain Identity Management (SCIM) v2.0 protocol. Grant to the AWS accounts by using attribute-based access controls (ABACs).
- B. Configure AWS IAM Identity Center (AWS Single SignOn) by using IAM Identity Center as an identity source. Enable automatic provisioning by wing the System for Cross-domain Identity Management (SCIM) v2.0 protocol. Grant to the AWS accounts by using IAM Identity Center permission sets.
- C. In one of the company's AWS accounts, configure AWS Identity and Access Management (IAM) to use a SAML 2.0 identity provider. Provision IAM users that are mapped to the federated users. Grant access that corresponds to appropriate groups in Active Directory. Grant access to the required AWS accounts by using cross-account IAM users.
- D. In one of the company's AWS accounts. Configure AWS Identity and Access Management (IAM) to use an OpenID Connect (OIDC) identity provider. Provision IAM roles that grant access to the AWS account for the federated users that correspond to appropriate groups in Active Directory. Grant access to the required AWS accounts by using cross-account IAM roles.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution leverages AWS IAM Identity Center (formerly AWS Single Sign-On), the recommended service for centralized multi-account access management. It integrates with an existing Active Directory via SAML 2.0 for authentication and uses SCIM 2.0 for automated user and group provisioning from Active Directory into Identity Center. Access to AWS accounts is then granted using Attribute-Based Access Control (ABAC), a modern authorization strategy that uses attributes (tags) of users and resources to define permissions.
Why this fits: This choice represents the most robust, scalable, and operationally efficient approach for managing access to a multi-account AWS environment from an existing Active Directory for an SAP-C02 level solution.
- AWS IAM Identity Center: Provides a single point of control for managing access to multiple AWS accounts and cloud applications.
- SAML 2.0 for Active Directory: SAML is the industry standard for federated authentication, allowing users to authenticate against their existing Active Directory credentials.
- SCIM v2.0 for Automatic Provisioning: SCIM automates the synchronization of users and groups from Active Directory to IAM Identity Center, reducing manual overhead and ensuring consistency.
- Attribute-Based Access Control (ABAC): ABAC is a highly scalable authorization strategy that defines permissions based on user attributes (e.g., department, project) and resource tags, simplifying permission management as the organization grows. This is a professional-level best practice compared to traditional role-based access control (RBAC) in dynamic environments.
Example: An organization wants to allow employees to sign in to the AWS Management Console using their existing Active Directory credentials. AWS IAM Identity Center is configured to connect to Active Directory. When a new employee joins a "Developers" group in Active Directory, SCIM automatically provisions this user and group into IAM Identity Center. A permission set is created in Identity Center that grants access to specific development AWS accounts for users whose
departmentattribute is ‘Development’ and who are accessing resources taggedproject:alpha, demonstrating ABAC in action.
QUESTION 93
A financial services company in North America plans to release a new online web application to its customers on AWS. The company will launch the application in the us-east-1 Region on Amazon EC2 instances. The application must be highly available and must dynamically scale to meet user traffic. The company also wants to implement a disaster environment for the application in the us-west-1 Region by using active-passive failover.
Which solution will meet these requirements?
- A. Create a VPC in us-east-1 and a VPC in us-west-1. Configure VPC In the us-east-1 VPC, create an Application Load (ALB) that extends multiple Availability Zones in both VPCs. Create an Auto Scaling group that deploys the EC2 instances across the multiple Availability Zones in both VPCs. Place the Auto Scaling group behind the ALB.
- B. Create a VPC in us-east-1 and a VPC in us-west-1. In the us-east-1 VPC, create an Application Load Balancer (ALB) that extends act0SS multiple Availability Zones in that VPC. Create an Auto Scaling group that deploys the EC2 instances across the multiple Availability Zones in the us-east-1 VPC. Place the Auto Scaling group behind the ALB. Set up the same configuration in the us- west-1 VPC. Create an Amazon Route 53 hosted zone. Create records for each ALB. Enable health checks to ensure high availability between Regions.
- C. Create a VPC in us-east-1 and a VPC in us-west- 1. In the us-east-1 VPC. create an Application Load Balancer (ALB) that extends across multiple Availability Zonas in that VPC. Create an Auto Scaling group that deploys the EC2 instances across the multiple Availability Zones in the us-east-1 VPC. Place the Auto Scaling group behind the ALB. Set up the same configuration in the us-west-1 VPC. Create an Amazon Route 53 hosted zone. Create separate records for each ALB. Enable health checks and configure a failover routing for each record.
- D. Create a VPC in us-east-1 and a VPC in us-west-1. Configure VPC peering. In the us-east-1 VPC, create an Application Load Balancer (ALB) that extends across multiple Availability Zones in both VPCs. Create an Auto Scaling group that deploys the EC2 instances across the multiple Availability Zones in both VPCs. Place the Auto Scaling group behind the ALB. Create an Amazon Route 53 hosted zone. Create a record for the ALB.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This choice outlines a robust, highly available, and disaster-recovery-capable architecture spanning two AWS Regions. It establishes independent, resilient deployments in each region, each using an Application Load Balancer (ALB) to distribute traffic across EC2 instances managed by an Auto Scaling Group (ASG) within multiple Availability Zones (AZs) of its respective VPC. Amazon Route 53 is then used to manage DNS, including health checks and failover routing policies, to direct user traffic to the healthy regional endpoint.
Why this fits: This solution correctly leverages AWS best practices for high availability and disaster recovery across regions.
- Regional Isolation: Creating separate VPCs in
us-east-1andus-west-1ensures full isolation and fault tolerance between regions, a fundamental requirement for multi-region disaster recovery. - Intra-Region High Availability: Within each region, deploying ALBs and ASGs across multiple Availability Zones provides resilience against AZ-level failures. An ALB is a regional service that distributes traffic across targets in multiple AZs within its region.
- Cross-Region Disaster Recovery (DR): The crucial component for multi-region high availability and DR is Amazon Route 53 with health checks and failover routing. Creating separate DNS records for each regional ALB and configuring failover routing (e.g., active-passive) ensures that if one region experiences an outage or becomes unhealthy, Route 53 automatically directs traffic to the healthy ALB in the other region.
- Incorrect Choices Analysis:
- Choice A and D are fundamentally flawed by suggesting an Application Load Balancer can extend across VPCs in different regions. ALBs are regional resources and cannot span multiple regions or VPCs in different regions.
- Choice B is very close but less explicit than Choice C. While it mentions health checks to ensure high availability, it lacks the specific "configure a failover routing for each record" which is critical for defining the DR strategy (e.g., active-passive failover) in Route 53. Failover routing explicitly dictates how Route 53 switches traffic to a secondary resource based on health checks, making Choice C more complete and precise for a professional-level solution.
Example: An e-commerce application needs to remain available even if an entire AWS Region becomes unavailable. By implementing the architecture described in Choice C, users are directed to the primary region (e.g.,
us-east-1). Ifus-east-1experiences a major outage and its ALB fails health checks, Route 53’s failover routing automatically updates the DNS records to point users to the healthy ALB in the secondary region (us-west-1), ensuring continuous service.
QUESTION 94
A software company has deployed an application that consumes a REST API by using Amazon API Gateway, AWS Lambda functions, and an Amazon DynamoDB table. The application is showing an increase in the number of errors during PUT requests. Most of the PUT calls come from a small of clients that are authenticated with specific API keys.
A solutions architect has identified that a large number of the PUT requests originate from one client. The API is noncritical, and clients can tolerate retries of unsuccessful calls. However. the errors are Displayed to customers and are causing damage to the API’s reputation.
What should the solutions architect recommend to improve the customer experience?
- A. Implement retry logic with exponential backoff and irregular variation in the client application. Ensure that the errors are caught and handled with descriptive error messages.
- B. Implement API throttling through a usage plan at the API Gateway level. Ensure that the client application handles code 429 replies without error.
- C. Tum on API caching to enhance responsiveness for the stage. Run 10-minute load tests. Verify that the cache capacity is appropriate for the workload.
- D. Implement reserved concurrency at the Lambda function level to provide the resources that are needed during sudden increases in traffic.
Click to View Verified Solution & Explanation
Correct Option: B
Description: API throttling in Amazon API Gateway allows you to set limits on the number of requests that clients can submit to your API within a given time period. This can be configured at a global level for the entire API or on a per-client basis using usage plans and API keys. When the defined limits are exceeded, API Gateway rejects additional requests with a
429 Too Many Requests HTTP status code.
Why this fits: This solution directly addresses the challenge of sudden increases in traffic by preventing the backend services (such as Lambda functions, EC2 instances, or other microservices) from becoming overwhelmed. By setting appropriate throttling limits at the API Gateway, you can protect your backend infrastructure from excessive load, ensure stability, and maintain predictable performance during traffic spikes. Requiring the client application to handle 429 replies gracefully (e.g., with retry logic and exponential backoff) is a best practice for building resilient client-server interactions when server-side throttling is in place.
Example: An e-commerce API experiences a flash sale, leading to a massive surge in product lookup requests. Without throttling, this could overload the backend database and Lambda functions, causing the API to become unresponsive for all users. By implementing API throttling at API Gateway, the system can limit requests to a sustainable rate (e.g., 10,000 requests per second and a burst of 5,000 requests), returning 429 errors for requests exceeding this limit. Client applications designed to handle these errors would then back off and retry, allowing the system to process requests efficiently without collapsing.
QUESTION 95
A company is a web application in the AWS Cloud. The application consists of dynamic content that is created on a Set of Amazon EC2 instances. The EC2 instances run in an Auto Scaling group that is configured as a target group for an Application Load Balancer (ALB).
The company is using an Amazon CloudFront distribution to distribute the application globally. The CloudFront distribution uses the ALB as origin. The company uses Amazon Route 53 for DNS and has created an A record of www.example.com for the CloudFront distribution.
A solution architect must configure the application so that it is highly available and fault tolerant.
Which solution meets these requirements?
- A. Provision a full, secondary application deployment in a different AWS Region, update the Route 53 A record to be a failover record. Add both of the cloudfront distributions as values. Create Route 53 health checks.
- B. Provision an ALB, an Auto group, EC2 balances in a different AWS Region. Update the Cloud Front distribution and create a second Region for the new ALB. Create origin group for the two origins. Configure one M/gin as primary and one origin as secondary.
- C. Provision an Auto Scaling group and EC2 instances in a different AWS Region. Create a second target for the new Auto Scaling group the ALB. Set up the failover routing algorithm on the ALB.
- D. Provision a full, secondary application deployment in a different AWS Region. Create a second CloudFront distribution. and ark' the new setup as an origin. Create an AWS Global accelerator. Add both of the CloudFront distributions as endpoints.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS CloudFront can be configured with Origin Groups, which allow you to specify multiple origins (such as Application Load Balancers, S3 buckets, or EC2 instances) for a single CloudFront distribution. Within an Origin Group, you designate one origin as primary and others as secondary (failover) origins. An Application Load Balancer (ALB) efficiently distributes incoming application traffic to multiple targets, such as EC2 instances, within a specific AWS Region. An Auto Scaling group automatically adjusts the number of EC2 instances to maintain application performance and availability.
Why this fits: This solution accurately describes a common and highly effective pattern for implementing multi-region disaster recovery and high availability using CloudFront. By establishing a complete application stack (ALB, Auto Scaling group, EC2 instances) in a different AWS Region, you create a failover environment. Integrating this secondary regional setup as a failover origin within a CloudFront Origin Group means that CloudFront automatically routes requests to the healthy primary origin. If the primary origin becomes unavailable or unhealthy, CloudFront detects this via health checks and seamlessly switches traffic to the designated secondary origin. This provides a robust, transparent, and resilient failover mechanism for the application, minimizing downtime during regional outages.
Example: A web application’s primary deployment is in us-east-1, fronted by CloudFront. To achieve cross-region disaster recovery, an identical application stack (ALB, Auto Scaling group, EC2 instances) is deployed in eu-west-1. The existing CloudFront distribution is updated to create an Origin Group where the us-east-1 ALB is the primary origin, and the eu-west-1 ALB is the secondary origin. If us-east-1 experiences an outage, CloudFront automatically directs subsequent user requests to the eu-west-1 origin, ensuring continuous service availability without requiring changes to DNS records or user intervention.
QUESTION 96
A company has an environment that has a single AWS account. A solutions architect is reviewing the environment to recommend what the company could improve, specifically in terms of access to the AWS Management Console. The company’s IT support workers currently access the console for administrative tasks, authenticating with named IAM users that have been mapped to their job role.
The IT support workers no longer want to maintain both their Active Directory and IAM user accounts. They want to be able to access the console by using their existing Active Directory credentials. The solutions architect is using AWS Single Sign-On (AWS SSO) to Implement this functionality.
Which solution will meet these requirements MOST cost-effectively?
- A. Create an organization in AWS Organizations. Turn on the AWS SSO feature in Organizations. Create and configure a directory in AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) with a two-way trust to the company's on-premises Active Directory. Configure AWS SSO and set the AWS Managed Microsoft AD directory as the identity source. Create permission sets and map them to the existing groups within the AWS Managed Microsoft AD directory.
- B. Create an organization in AWS Organizations. Turn on the AWS SSO feature in Organizations. Create and configure an AD Connector to the company's on premises Active Directory Configure AWS SSO and set the AD Connector as the identity source. Create permission sets and map them to the existing groups within the company's Active Directory.
- C. Create an organization in AWS Organizations. Turn on all features for the organization. Create and configure a directory in AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) with a two-way trust to the company's on-premises Active Directory Configure AWS SSO and select the AWS Managed Microsoft AD directory as the identity source. Create permission sets and map them to the existing groups within the AWS Managed Microsoft AD directory.
- D. Create an organization in AWS Organizations. Turn on all features for the organization. Create and configure an AD Connector to connect to the company’s on-premises Active Directory Configure AWS SSO and set the AD Connector as the identity source. Create permission sets and map them to the existing groups within the company's Active Directory.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This approach outlines a robust and commonly recommended method for integrating on-premises Microsoft Active Directory with AWS for centralized identity and access management using AWS IAM Identity Center (formerly AWS SSO). It leverages AWS Organizations for multi-account governance and AD Connector for a lightweight, secure connection to the existing on-premises directory.
Why this fits: This solution is superior because it encompasses several best practices for a professional-level architecture:
- AWS Organizations with "all features": Turning on all features in AWS Organizations allows for comprehensive governance across multiple AWS accounts, including consolidated billing, Service Control Policies (SCPs), and shared resource management, which is essential for a scalable enterprise environment.
- AD Connector: For organizations that wish to use their existing on-premises Active Directory without deploying or syncing a managed directory in AWS, AD Connector is the most direct and efficient solution. It acts as a proxy, forwarding authentication requests and directory lookups to the on-premises AD, ensuring users authenticate against the authoritative source. This minimizes complexity and operational overhead compared to setting up a two-way trust with AWS Managed Microsoft AD if the primary goal is simply to federate existing on-premises identities.
- AWS IAM Identity Center (SSO) as identity source: Configuring AWS IAM Identity Center with AD Connector directly enables single sign-on to AWS accounts and integrated applications, utilizing the existing users and groups in the on-premises Active Directory.
- Permission sets mapped to existing groups: This is a standard and efficient way to manage access. By mapping AWS IAM Identity Center permission sets to groups already defined in the company’s on-premises Active Directory, administrators can leverage their existing group-based access control policies, ensuring consistency and simplifying management.
Choices A and C, which suggest using AWS Managed Microsoft AD with a two-way trust, are valid but generally involve more overhead (cost, deployment, management) than AD Connector if the sole requirement is to authenticate against an existing on-premises AD. Choice B is very similar to D but only mentions "Turn on the AWS SSO feature in Organizations" rather than "all features," which is less comprehensive for a professional-grade multi-account strategy.
Example: A large enterprise wants to grant its on-premises sales and engineering teams access to specific AWS accounts. Instead of creating new users in AWS, they configure AWS IAM Identity Center using AD Connector to point to their existing corporate Active Directory. They then create permission sets like "Sales-ReadOnly" and "Engineering-Admin" in AWS IAM Identity Center and map these to their existing "corp\SalesGroup" and "corp\EngineeringGroup" in Active Directory, respectively. This allows users to log into the AWS access portal using their corporate credentials and assume the appropriate roles based on their AD group memberships.
QUESTION 97 (Multi-Select)
A company has registered 10 new domain names. The company uses the domains for online marketing. The company needs a solution that will redirect online visitors to a specific URL for each domain. All domains and target URLs are defined in a JSON document. All DNS records are managed by Amazon Route 53.
A solutions architect must implement a service that accepts HTTP and HTTPS requests.
Which combination of steps should the solutions architect take to meet these requirements with the LEAST amount of operational effort? (Select THREE)
- A. Create a dynamic webpage that runs on an Amazon EC2 instance Configure the webpage to use the JSON document in combination with the event message to look up and respond with a redirect URL.
- B. Create an Application Load Balancer that includes HTTP and HTTPS listeners.
- C. Create an AWS Lambda function that uses JSON document in combination with the event message to look up and respond with a redirect URL.
- D. Use an Amazon API Gateway API With a custom domain to publish an AWS function.
- E. Create an Amazon CloudFront distribution Deploy a Lambda@Edge function.
- F. Create an SSL certificate by using AWS Certificate Manager (ACM). Include the domains as Subject Alternative Names.
Click to View Verified Solution & Explanation
Correct Option: C,E,F
Description: AWS Lambda is a serverless, event-driven compute service that lets you run code without provisioning or managing servers. It can execute code in response to various events, including HTTP requests via API Gateway or CloudFront.
Why this fits: A Lambda function can be invoked by an incoming HTTP request. Within the function, the event message (containing details like the requested path, host, query parameters) can be processed. This information, combined with a lookup mechanism (e.g., a JSON configuration file stored in S3, a DynamoDB table, or hardcoded logic), can determine the appropriate redirect URL. The Lambda function can then respond with an HTTP 301 (Permanent) or 302 (Temporary) redirect status code and the new Location header. This is a highly scalable and cost-effective method for managing redirects.
Example: A Lambda function is configured to trigger for requests to example.com/old-page. The function reads the path, consults a JSON file mapping old-page to new-page, and then returns an HTTP 301 response with Location: https://example.com/new-page.
✅ Create an Amazon CloudFront distribution Deploy a Lambda@Edge function.
Description: Amazon CloudFront is a global content delivery network (CDN) service that securely delivers websites, APIs, video content, and other web assets. Lambda@Edge is a feature of CloudFront that allows you to run AWS Lambda functions at CloudFront edge locations, closer to your users.
Why this fits: Lambda@Edge functions can intercept requests and responses at various points within the CloudFront distribution lifecycle (viewer request, origin request, origin response, viewer response). Deploying a Lambda@Edge function at the "viewer request" stage allows it to inspect the incoming request URL and headers, perform custom logic (like looking up a redirect mapping), and respond directly with an HTTP redirect before the request even reaches your origin server. This optimizes performance by redirecting users at the edge, reducing latency and origin load.
Example: A CloudFront distribution is set up for legacy.example.com. A Lambda@Edge function is associated with the viewer request event. When a user requests legacy.example.com/deprecated-product, the Lambda@Edge function intercepts the request, identifies the path, and issues an HTTP 302 redirect response to new.example.com/products/deprecated.
✅ Create an SSL certificate by using AWS Certificate Manager (ACM). Include the domains as Subject Alternative Names.
Description: AWS Certificate Manager (ACM) is a service that lets you easily provision, manage, and deploy public and private SSL/TLS certificates for use with AWS services and your internal connected resources. Subject Alternative Names (SANs) allow a single SSL/TLS certificate to secure multiple domain names or subdomains.
Why this fits: To serve content or redirects over HTTPS securely, an SSL/TLS certificate is essential. If the redirection solution involves multiple domain names (e.g., olddomain.com, www.olddomain.com, legacy.olddomain.com), an ACM certificate that includes all these domains as SANs simplifies management. This certificate can then be seamlessly integrated with services like CloudFront or Application Load Balancers, ensuring secure communication for all specified domains involved in the redirection process.
Example: To manage redirects for legacy.example.com and old.example.com, an ACM certificate is requested for both legacy.example.com and old.example.com as SANs. This certificate is then associated with the CloudFront distribution handling the redirects for these domains, enabling secure HTTPS access.
QUESTION 98 (Multi-Select)
A retail Company is Operating its ecommerce application on AWS The application runs on Amazon EC2 instances behind an Application Load Balancer (ALB) The company uses an Amazon RDS DB instance as the database backend Amazon CloudFront is configured with one origin that points to the ALB. Static content is cached. Amazon Route 53 is used to host all public zones.
After an update of the application, the ALB occasionally returns a 502 status code (Bad Gateway) error, The root cause is malformed HTTP headers that are returned to the ALB. The webpage returns successfully when a solutions architect reloads the webpage immediately after the error occurs.
While the company is working on the problem, the solutions architect needs to provide a custom error page instead of the standard ALB error page to visitors.
Which combination of steps Will meet this requirement With the LEAST amount of overhead? (Select TWO.)
- A. Create an Amazon S3 bucket. Configure the S3 bucket to host a static webpage. Upload the custom error pages to Amazon S3.
- B. Create an Amazon CloudWatch alarm to invoke an AWS Lambda function if the ALB health check response Target FailedHealthChecks is greater than 0. Configure the Lambda function to modify theforwarding rule at the ALB to point to a publicly accessible web server.
- C. Modify the existing Amazon Route 53 records by adding health checks. Configure a fallback target if the health check fails. Modify DNS records to point to a publicly accessible webpage.
- D. Create an Amazon CloudWatch alarm to invoke an AWS Lambda function if the ALB health check response Elb.lnternalError is greater than 0. Configure the Lambda function to modify the forwarding rule at the ALB to point to a public accessible web server.
- E. Add a custom error response by configuring a CloudFront custom error page. Modify DNS records to point to a publicly accessible web page.
Click to View Verified Solution & Explanation
Correct Option: A,E
Description: Amazon S3 can be configured for static website hosting, which enables it to serve static content, including custom HTML error pages (e.g., for 4xx or 5xx HTTP status codes). When S3 static website hosting is enabled, you can specify an error document that S3 will return when an error occurs while accessing the website.
Why this fits: This is a fundamental and highly available method for serving custom error pages. An Application Load Balancer (ALB) can be configured to return a fixed response or redirect to a pre-defined URL (such as an S3-hosted static error page) if its target groups are unhealthy or return specific error codes. This allows for a user-friendly experience even when the backend application is experiencing issues.
Example: An ALB is configured with a listener rule that, if a target group returns a 5xx error or is deemed unhealthy, redirects the user to http://my-error-bucket.s3-website-us-east-1.amazonaws.com/503.html, where 503.html is a custom error page stored and served from an S3 bucket configured for static website hosting.
✅ Add a custom error response by configuring a CloudFront custom error page. Modify DNS records to point to a publicly accessible web page.
Description: Amazon CloudFront, AWS’s content delivery network (CDN), allows for the configuration of custom error pages for various HTTP status codes (e.g., 403, 404, 500, 502, 503, 504). When CloudFront receives an error from its origin (like an ALB) or encounters an error itself, it can be configured to serve a specified custom error page, typically stored in an S3 bucket, instead of the default browser or origin error.
Why this fits: Implementing CloudFront in front of an ALB provides a robust, scalable, and highly available layer for serving web content, including error pages. If the ALB’s backend application or the ALB itself experiences issues resulting in an error, CloudFront can intercept these errors and present a user-friendly custom error page. This enhances the end-user experience and provides a resilient mechanism for displaying maintenance or error messages. The modification of DNS records to point to the CloudFront distribution ensures all public traffic flows through this resilient layer.
Example: An application’s domain, www.example.com, points to a CloudFront distribution. The CloudFront distribution uses an ALB as its origin. If the ALB’s targets become unhealthy and return a 503 error, CloudFront can be configured to serve a pre-defined maintenance.html page (stored in an S3 bucket) when it receives a 503 from the ALB, ensuring users see a consistent and branded error message.
QUESTION 99
A company is running a data-intensive application on AWS. The application runs on a cluster of hundreds of Amazon EC2 instances. A shared fie system also runs on several EC2 instances that store 200 TB of data. The application reads and modifies the data on the shared file system and generates a report. The job runs once monthly, reads a subset of the files from the shared file system, and takes about 72 hours to complete. The compute instances scale in an Auto Scaling but the instances that host the shared file system run continuously. The compute and storage instances are all in the same AWS Region.
A solutions architect needs to reduce costs by replacing the shared system instances. The file system must provide high performance access to the needed data for the duration of the 72-hour run.
Which solution will provide the LARGEST overall cost reduction while meeting these requirements?
- A. Migrate the data from the existing shared file system to an Amazon S3 bucket that uses the S3 Intelligent-Tiering storage class. Before the job runs each month, use Amazon FSx for Lustre to create a new file system with the data from Amazon S3 by using lazy loading. Use the new system as the shared storage for the duration of the job. Delete the file system when the job is complete.
- B. Migrate the data from the existing shared file system to a large Amazon Elastic Store (Amazon EBS) volume with Multi-Attach enabled. Attach the EBS volume to each of the instance by using a user data script in the Auto Scaling group launch template. Use the EBS volume as the shared storage for the duration of the job. Detach the EBS volume when the job is complete.
- C. Migrate the data from the existing shared file system to an Amazon bucket that uses the Standard storage class. Before the job runs each month, use Amazon FSx for Lustre to create a new file system with the data from Amazon S3 by using batch loading. Use the new file system as the storage for the duration of the job. Delete the file system the job is complete.
- D. Migrate the data from the existing shared file system to an Amazon S3 bucket. Before the job runs each month, use AWS Storage Gateway to create a file gateway with the data from Amazon S3. Use the file gateway as the shared storage for the job. Delete the file gateway when the job is complete.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution leverages Amazon S3 for durable, cost-effective long-term storage, with S3 Intelligent-Tiering automatically optimizing costs based on access patterns. For the monthly high-performance compute job, Amazon FSx for Lustre is provisioned. FSx for Lustre is a high-performance file system optimized for compute-intensive workloads that can be linked to an S3 bucket. Lazy loading ensures that data is only pulled from S3 into the FSx for Lustre file system as it is accessed, which is efficient for large datasets where not all data might be needed immediately. The FSx for Lustre file system is created on demand for the job and deleted afterward to minimize costs.
Why this fits: This approach perfectly addresses the requirements for a high-performance shared file system that is only needed periodically.
- High-Performance Shared Storage: Amazon FSx for Lustre provides the necessary high throughput and low latency file system performance for compute-intensive workloads.
- Cost Optimization for Intermittent Use: By storing the primary data in S3 Intelligent-Tiering (pay-as-you-go, automatically tiered) and provisioning FSx for Lustre only when needed (pay-as-you-go per GB-hour), the solution minimizes costs. Deleting the FSx for Lustre file system after the job completes eliminates ongoing charges.
- Data Persistence and Scalability: S3 provides highly durable, scalable, and readily available storage for the raw data between job runs.
- Efficient Data Loading: Lazy loading with FSx for Lustre allows the compute job to start quickly by only loading data from S3 when it’s accessed, rather than pre-loading the entire dataset, which can save time and transfer costs for large datasets.
Example: A genomics research firm runs monthly large-scale sequencing analyses that require petabytes of data to be processed by a cluster of EC2 instances. The raw data is stored in S3. When a job starts, an FSx for Lustre file system is dynamically provisioned, linked to the S3 bucket, and serves as the high-performance scratch space for the compute cluster. Data is pulled from S3 on demand as the analysis progresses. Once the analysis is complete, the FSx for Lustre file system is deleted.
QUESTION 100
A company has created an OU in AWS Organizations for each of its engineering teams. Each OU owns multiple AWS accounts. The organization has hundreds of AWS accounts.
A solutions architect must design a solution so that each OU can view a breakdown of usage costs across its AWS accounts.
Which solution meets these requirements?
- A. Create an AWS Cost and Usage Report (CUR) for each OU by using AWS Resource Access Manager. Allow each team to visualize the CUR through an Amazon QuickSight dashboard.
- B. Create an AWS Cost and Usage Report (CUR) from the AWS Organizations management account. Allow each team to visualize the CUR through an Amazon QuickSight dashboard.
- C. Create an AWS Cost and Usage Report (CUR) in each AWS Organizations member account. Allow each team to visualize the CUR through an Amazon QuickSight dashboard.
- D. Create an AWS Cost and Usage Report (CUR) by using AWS Systems Manager. Allow each team to visualize the CUR through Systems Manager OpsCenter dashboards.
Click to View Verified Solution & Explanation
Correct Option: B
Description: The AWS Cost and Usage Report (CUR) is the most comprehensive source of information about your AWS costs and usage. When operating within an AWS Organization, the management account acts as the payer account and is responsible for consolidated billing for all member accounts. Amazon QuickSight is a serverless business intelligence (BI) service that allows you to create interactive dashboards and visualizations from various data sources, including the detailed data provided by a CUR stored in an S3 bucket.
Why this fits: Generating the CUR from the AWS Organizations management account is the best practice for centralized cost management and reporting across an entire organization. This approach ensures that all costs and usage for all member accounts are consolidated into a single report, providing a complete and accurate financial overview. Attempting to create individual CURs in each member account would lead to fragmented data and significantly complicate aggregated reporting. QuickSight is an ideal tool for visualizing this consolidated CUR data, as it can directly ingest the data from the S3 bucket where the CUR is stored, allowing for detailed analysis and customized dashboards for different teams or stakeholders.
Example: An enterprise uses AWS Organizations to manage hundreds of AWS accounts for various departments. The finance team needs a consolidated view of spending, while individual development teams need to monitor their own project costs. By creating a single CUR from the management account, which includes data for all member accounts, and delivering it to an S3 bucket, the finance team can then use QuickSight to build an organization-wide cost dashboard. Simultaneously, specific QuickSight dashboards can be configured with appropriate data filters and access controls, allowing each development team to visualize only their relevant costs from the same central CUR data, ensuring consistent and accurate reporting.
QUESTION 101
A company wants to migrate an application to Amazon EC2 from VMware Infrastructure that runs in an on- premises data center. A solutions architect must preserve the software and configuration settings during the migration.
What should the solutions architect do to meet these requirements?
- A. Configure the AWS DataSync agent to start replicating the data store to Amazon FSx for Windows File Server. Use the SMB share to host the VMware data store. Use VM Import/Export to move the VMs to Amazon EC2.
- B. Use the VMware vSphere client to export the application as an image in Open Visualization Format (OVF) format. Create an Amazon S3 bucket to store the image in the destination AWS Region. Create and apply an IAM role for VM Import. Use the AWS CLI to run the EC2 import command.
- C. Configure AWS Storage Gateway for files service to export a Common Internet File System (CIFS) share. Create a backup copy to the shared folder. Sign in to the AWS Management Console and create an AMI from the backup copy. Launch an EC2 instance that is based on the AMI.
- D. Create a managed-instance activation for a hybrid environment in AWS Systems Manager. Download and install Systems Manager Agent on the on-premises VM. Register the VM with Systems Manager to be a managed instance. Use AWS Backup to create a snapshot of the VM and create an AMI. Launch an EC2 instance that is based on the AMI.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This option outlines the standard and recommended process for migrating an on-premises VMware virtual machine to Amazon EC2 using the AWS VM Import/Export service. It involves exporting the VM disk image, uploading it to Amazon S3, setting up the necessary IAM permissions, and then initiating the import process via the AWS CLI.
Why this fits: AWS VM Import/Export is specifically designed for migrating existing virtual machine images from on-premises virtualization platforms (like VMware vSphere) into Amazon EC2 instances. The Open Virtualization Format (OVF) is a commonly supported export format from VMware. Storing the exported image in an Amazon S3 bucket is a prerequisite for the import operation, and a dedicated IAM role with appropriate permissions (e.g., vmimport role) is required for AWS to access the S3 bucket and create EC2 resources (AMI, snapshots, instance). The aws ec2 import-image command through the AWS CLI is the programmatic interface to initiate this migration.
Example: An organization has a business-critical application running on a VMware virtual machine in their on-premises data center. To migrate this application to AWS, an administrator would use the vSphere client to export the VM as an OVF template. This template would then be uploaded to an Amazon S3 bucket in the target AWS Region. After creating an IAM service role (e.g., vmimport) with permissions to read from the S3 bucket and create EC2 artifacts, the administrator would execute an aws ec2 import-image command, specifying the S3 object containing the VM image. AWS then processes this image to create an Amazon Machine Image (AMI), from which EC2 instances can be launched.
QUESTION 102
A finance company hosts a data lake in Amazon S3. The company receives financial data records over SFTP each night from several third parties. The company runs its own SFTP server on an Amazon EC2 instance in a public subnet of a VPC. After the files are uploaded, they are moved to the data lake by a cron job that runs on the same instance. The SFTP server is reachable on DNS sftp.example.com through the use of Amazon Route 53.
What should a solutions architect do to improve the reliability and scalability of the SFTP solution?
- A. Move the EC2 instance into an Auto Scaling group. Place the EC2 instance behind an Application Load Balancer (ALB). Update the DNS record sftp.example.com in Route53 to point to the ALB.
- B. Migrate the SFTP server to AWS Transfer for SFTP. Update the DNSrecordsftp.example.com in Route 53 to point to the server endpoint hostname.
- C. Migrate the SFTP server to a file gateway in AWS Storage Gateway. Update the DNS record sftp.example.com in Route 53 to point to the file gateway endpoint.
- D. Place the EC2 instance behind a Network LoadBalancer (NLB). Update the DNS record sftp.example.com in Route 53 to point to the NLB.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Transfer Family provides fully managed support for transferring files into and out of Amazon S3 using SFTP, FTPS, and FTP protocols. It offers a highly available, scalable, and secure SFTP endpoint that eliminates the operational overhead of managing underlying servers, storage, and software.
Why this fits: For migrating an existing SFTP server, AWS Transfer for SFTP is the purpose-built, fully managed service that directly addresses this requirement. It allows organizations to move their SFTP workloads to AWS without having to modify client applications or manage EC2 instances, operating systems, or SFTP server software. It natively integrates with Amazon S3 for durable and scalable backend storage. Updating the DNS record in Route 53 is the standard practice to redirect existing SFTP clients to the new AWS Transfer for SFTP endpoint, ensuring a seamless transition. This approach aligns with best practices for a Solutions Architect Professional, favoring managed services for reduced operational burden and increased reliability.
Example: An organization wants to migrate its on-premises SFTP server, used for exchanging files with numerous business partners, to AWS. They can provision an AWS Transfer for SFTP endpoint, integrate it with their existing identity providers (e.g., AD, LDAP, or custom IdP via API Gateway) for user authentication, and specify an S3 bucket for storing incoming files. Once the service is configured, they update the DNS record sftp.example.com in Route 53 to point to the AWS Transfer for SFTP server endpoint hostname, allowing partners to connect without changing their client configurations.
QUESTION 103
A company is developing a new service that will be accessed using TCP on a static port. A solutions architect must ensure that the service is highly available, has redundancy across Availability Zones, and is accessible using the DNS name my.service.com, which is publicly accessible. The service must use fixed address assignments so other companies can add the addresses to their allow lists.
Assuming that resources are deployed in multiple Availability Zones in a single Region, which solution will meet these requirements?
- A. Create Amazon EC2 instances with an Elastic IP address for each instance. Create a Network Load Balancer (NLB) and expose the static TCP port. Register EC2 instances with the NLB. Create a new name server record set named my.service.com, and assign the Elastic IP addresses of the EC2 instances to the record set. Provide the Elastic IP addresses of the EC2 instances to the other companies to add to their allow lists.
- B. Create an Amazon ECS cluster and a service definition for the application. Create and assign public IP addresses for the ECS cluster. Create a Network Load Balancer (NLB) and expose the TCP port. Create a target group and assign the ECS cluster name to the NLB. Create a new A record set named my.service.com, and assign the public IP addresses of the ECS cluster to the record set. Provide the Public IP addresses of the ECS cluster to the other companies to add to their allow lists.
- C. Create Amazon EC2 instances for the service. Create one Elastic IP address for each Availability Zone. Create a Network Load Balancer (NLB) and expose the assigned TCP port. Assign the Elastic IP addresses to the NLB for each Availability Zone. Create a target group and register the EC2 instances with the NLB. Create a new A (alias) record set named my.service.com, and assign the NLB DNS name to the record set.
- D. Create an Amazon ECS cluster and a service definition for the application. Create and assign public IP address for each host in the cluster. Create an Application Load Balancer (ALB) and expose the static TCP port. Create a target group and assign the ECS service definition name to the ALB. Create a new CNAME record set and associate the public IP addresses to the record set. Provide the Elastic IP addresses of the Amazon EC2 instances to the other companies to add to their allow lists.
Click to View Verified Solution & Explanation
Correct Option: C
Description: A Network Load Balancer (NLB) operates at Layer 4 (TCP/UDP) and is designed for extreme performance and static IP address support. It can have Elastic IP addresses (EIPs) assigned to its network interfaces in each Availability Zone it operates in, providing fixed public IP addresses. These EIPs serve as stable endpoints that external entities can add to their allow lists. An A (alias) record in Amazon Route 53 can then point to the NLB’s DNS name, providing a user-friendly and highly available domain name that resolves to these static EIPs.
Why this fits: This solution directly addresses the critical requirement of providing static IP addresses for other companies to add to their allow lists. By assigning Elastic IP addresses to the NLB in each Availability Zone, the NLB’s public endpoints become fixed. The NLB provides high availability and fault tolerance by distributing traffic across the EC2 instances registered in its target group. Using an A (alias) record in Route 53 for the NLB’s DNS name is a best practice, as it provides seamless DNS resolution to the NLB’s underlying IP addresses (including the assigned EIPs) and can handle changes to the NLB’s internal IPs if they were to occur, all while maintaining the static EIPs as the external-facing address.
Example: A financial institution requires a static set of IP addresses for your service’s endpoint to include in their firewall rules. You deploy your application on EC2 instances behind an NLB. For each Availability Zone where your NLB operates, you provision an Elastic IP address and assign it to the NLB’s network interface. This provides two or more static public IP addresses. You then create a Route 53 A (alias) record for my.service.com that points to the NLB’s DNS name. The financial institution receives these static EIPs for their allow list, ensuring their traffic can always reach your service through a consistent set of IP addresses, even if underlying EC2 instances scale or fail.
QUESTION 104 (Multi-Select)
A company runs an IoT platform on AWS. IoT sensors in various locations send data to the company’s Node.js API servers on Amazon EC2 instances running behind an Application Load Balancer. The data is stored in an Amazon RDS MySQL DB instance that uses a 4 TB General Purpose SSD volume.
The number of sensors the company has deployed in the field has increased over time, and is expected to grow significantly. The API servers are consistently overloaded and RDS metrics show high write latency.
Which of the following steps together will resolve the issues permanently and enable growth as new sensors are provisioned, while keeping this platform cost-efficient? (Choose two.)
- A. Resize the MySQL General Purpose SSD storage to 6 TB to improve the volume’s IOPS
- B. Re-architect the database tier to use Amazon Aurora instead of an RDS MySQL DB instance and add read replicas
- C. Leverage Amazon Kinesis Data Streams and AWS Lambda to ingest and process the raw data
- D. Use AWS-X-Ray to analyze and debug application issues and add more API servers to match the load
- E. Re-architect the database tier to use Amazon DynamoDB instead of an RDS MySQL DB instance
Click to View Verified Solution & Explanation
Correct Option: C,E
Description: Amazon Kinesis Data Streams is a serverless streaming data service that can capture, process, and store large streams of data records in real-time. AWS Lambda is a serverless, event-driven compute service that runs code in response to events, such as new data records arriving in a Kinesis stream.
Why this fits: This combination provides a highly scalable and fault-tolerant architecture for ingesting and processing raw data, especially when dealing with high-volume, high-velocity data streams. Kinesis Data Streams can handle massive throughput from thousands of data producers, while Lambda enables real-time, event-driven processing of individual data records without managing servers. This pattern is ideal for use cases like IoT telemetry, application logs, and clickstream analysis where immediate processing and analysis are required to derive insights or trigger actions.
Example: An application collects real-time user activity data. This data is continuously published to an Amazon Kinesis Data Stream. An AWS Lambda function is configured to subscribe to this stream, processing each activity record as it arrives to perform aggregations, transformations, or immediate storage in a data lake or analytics service.
QUESTION 105
A company wants to use a third-party software-as-a-service (SaaS) application. The third-party SaaS application is consumed through several API calls. The third-party SaaS application also runs on AWS inside a VPC.
The company will consume the third-party SaaS application from inside a VPC. The company has internal security policies that mandate the use of private connectivity that does not traverse the internet. No resources that run in the company VPC are allowed to be accessed from outside the company’s VPC. All permissions must conform to the principles of least privilege.
Which solution meets these requirements?
- A. Create an AWS PrivateLink interface VPC endpoint. Connect this endpoint to the endpoint service that the third-party SaaS application provides. Create a security group to limit the access to the endpoint. Associate the security group with the endpoint.
- B. Create an AWS Site-to-Site VPN connection between the third-party SaaS application and the company VPC. Configure network ACLs to limit access across the VPN tunnels.
- C. Create a VPC peering connection between the third-party SaaS application and the company VPC. Update route tables by adding the needed routes for the peering connection.
- D. Create an AWS PrivateLink endpoint service. Ask the third-party SaaS provider to create an interface VPC endpoint for this endpoint service. Grant permissions for the endpoint service to the specific account of the third-party SaaS provider.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS PrivateLink provides private connectivity between VPCs, AWS services, and on-premises applications without exposing your traffic to the public internet. An interface VPC endpoint (powered by AWS PrivateLink) enables you to connect to services hosted by AWS or by other AWS customers (referred to as endpoint services) directly within your VPC, using private IP addresses.
Why this fits: This solution precisely addresses the requirement for secure, private access to a third-party SaaS application without requiring complex network configurations like VPNs or VPC peering, or exposing traffic to the public internet. The third-party SaaS provider would host their application behind an endpoint service, and the company would create an interface VPC endpoint in their VPC. Traffic flows privately over the AWS network. Security groups provide granular control over what can access the endpoint within the company’s VPC, enhancing security.
Example: A company needs to integrate its internal applications with a third-party CRM SaaS provider hosted on AWS. Instead of routing traffic over the internet or setting up a VPN, the CRM provider creates an endpoint service for their application. The company then creates an interface VPC endpoint in their VPC, linking it to the CRM provider’s endpoint service. All communication between the company’s applications and the CRM SaaS now travels securely and privately within the AWS network, bypassing the public internet entirely.
QUESTION 106
A company is using AWS organization to manage multiple AWS accounts. For security purposes, the company requires the creation of an Amazon Simple Notification Service (Amazon SNS) topic that enables integration with a third-party system in all the Organization member accounts.
A solutions architect used an AWS CloudFormation template to create the SNS topic and stack sets to automate the deployment stacks. Trusted access has been enabled in organization.
What should the solutions architect do to deploy the CloudFormation Stacksets in all AWS accounts?
- A. Create a stack set in the Organization member accounts. Use service-managed permissions. Set deployment options to deploy to an organization. Use CloudFormation StackSets drift detection.
- B. Create stacks in the Organization member accounts. Use self-service permission. Set deployment option to deploy to an organization. Enable the Cloudformation Stacksets automatic deployment.
- C. Create a stack set in the organization master account. Use service-managed permission. Set deployment options to deploy to the organization. Enable CloudFormation StackSets automatic deployment.
- D. Create stacks in the organization master account. Use service-managed permissions. Set deployment option to the organization. Enable CloudFormation StackSetsdrift detection.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS CloudFormation StackSets allows you to provision AWS resources to multiple AWS accounts and across multiple AWS Regions with a single CloudFormation template. When integrating with AWS Organizations, StackSets can be deployed from a central management account to target accounts within specified organizational units (OUs) or the entire organization. Service-managed permissions simplify this process by automatically creating the necessary IAM roles. Enabling automatic deployment ensures that newly added accounts to the target OUs or organization receive the configured stack instances without manual intervention.
Why this fits: This choice correctly outlines the standard and recommended approach for achieving automated resource deployment to new accounts within an AWS Organization using CloudFormation StackSets.
- "Create a stack set in the organization master account": The master (management) account is the designated administrator account for AWS Organizations, making it the central point for managing and deploying StackSets across the organization.
- "Use service-managed permission": This is the most straightforward and secure method for permission management within an organization. AWS CloudFormation creates and manages the necessary IAM roles (
AWSCloudFormationStackSetAdministrationRolein the management account andAWSCloudFormationStackSetExecutionRolein target accounts) required for StackSets operations, eliminating the need for manual setup. - "Set deployment options to deploy to the organization": This allows targeting specific OUs or the entire organization, ensuring broad applicability.
- "Enable CloudFormation StackSets automatic deployment": This crucial feature automatically provisions stack instances to any new AWS accounts that are added to the specified target organizational units (OUs) or the entire organization, ensuring immediate compliance and consistency across the expanding organization.
Example: An organization wants to ensure every new AWS account created automatically has a standardized VPC, security groups, and an IAM role for central logging. By creating a StackSet in the management account with service-managed permissions, targeting the entire organization, and enabling automatic deployment, these resources will be provisioned in any new account as soon as it joins the organization.
QUESTION 107
A company is storing data on premises on a Windows file server. The company produces 5 GB of new data daily.
The company migrated part of its Windows-based workload to AWS and needs the data to be available on a file system in the cloud. The company already has established an AWS Direct Connect connection between the on-premises network and AWS.
Which data migration strategy should the company use?
- A. Use the file gateway option in AWS Storage Gateway to replace the existing Windows file server and point the existing file share to the new file gateway.
- B. Use AWS DataSync to schedule a daily task to replicate data between the on-premises Windows file server and AmazonFSx.
- C. Use AWS Data Pipeline to schedule a dairy task to replicate data between the on-premises Windows file server and Amazon Elastic File System (Amazon EFS).
- D. Use AWS DataSync to schedule a daily task to replicate data between the on-premises Windows file server and Amazon Elastic File System (Amazon EFS).
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS DataSync is a fully managed data transfer service that simplifies, automates, and accelerates moving data between on-premises storage systems and AWS storage services, and between AWS storage services. It supports a variety of sources and destinations, including Server Message Block (SMB) shares for Windows file servers, and Amazon FSx for Windows File Server as a destination.
Why this fits: This solution directly addresses the requirement of replicating data from an on-premises Windows file server. DataSync is purpose-built for high-performance, scheduled data transfers, including incremental transfers after the initial sync. Amazon FSx for Windows File Server is the ideal target in AWS for Windows file server data, as it provides a fully managed, highly available, and scalable file system that is natively compatible with SMB and Windows file system features like NTFS permissions and Active Directory integration. This combination ensures data integrity and operational compatibility.
Example: A company with an on-premises Windows file server containing user home directories and departmental shares needs to replicate this data to AWS for disaster recovery and cloud archival. They would deploy a DataSync agent on-premises, configure a DataSync task to read from the SMB share, and set Amazon FSx for Windows File Server as the destination. A daily schedule would ensure consistent replication of changes.
QUESTION 108
A company with several AWS accounts is using AWS Organizations and service control policies (SCPs). An Administrator created the following SCP and has attached it to an organizational unit (OU) that contains AWS account 1111-1111-1111:

Developers working in account 1111-1111-1111 complain that they cannot create Amazon S3 buckets.
How should the Administrator address this problem?
- A. Add s3:CreateBucketwith “Allow” effect to the SCP.
- B. Remove the account from the OU, and attach the SCP directly to account1111-1111-1111.
- C. Instruct the Developers to add Amazon S3 permissions to their IAM entities.
- D. Remove the SCP from account1111-1111-1111.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Service Control Policies (SCPs) in AWS Organizations define the maximum available permissions for accounts within an Organizational Unit (OU) or for specific accounts. However, SCPs do not grant permissions. Permissions are explicitly granted to IAM users, groups, or roles within an AWS account through IAM policies.
Why this fits: The provided SCP includes a statement with Effect: "Allow", Action: "*", Resource: "*", effectively permitting all actions except those explicitly denied (like cloudtrail:* in this case). This means that creating S3 buckets is not restricted by this SCP. If developers are still unable to create S3 buckets, it indicates that their specific IAM users, groups, or roles within account1111-1111-1111 lack the necessary s3:CreateBucket permission in their attached IAM policies. Therefore, the solution is to instruct the developers to add these specific S3 permissions to their IAM entities, as the SCP is not the limiting factor for S3 actions.
Example: Suppose an SCP allows all S3 actions. A developer logs into an account but cannot create an S3 bucket. The issue is not the SCP, but rather that the developer’s IAM user (or the role they assumed) does not have an IAM policy attached that grants s3:CreateBucket. Adding an IAM policy like {"Effect": "Allow", "Action": "s3:CreateBucket", "Resource": "*"} to their IAM entity would resolve the issue.
QUESTION 109
A company wants to nitrate its data analytics environment from on premises to AWS. The environment consists of two simple Node.js applications. One of the applications collects sensor data and loads it into a MySQL database. The other application aggregates the data into reports. When the aggregation jobs run, some of the load jobs fail to run correctly.
The company must resolve the data loading issue. The company also needs the migration to occur without interruptions or changes for the company’s customers.
What should a solutions architect do to meet those requirements?
- A. Set up an Amazon Aurora MySQL database as a replication target for the on-premises database. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against too Aurora Replica. Set up collection endpoints as AWS Lambda functions behind a Network LoadBalancer (NLB) and use Amazon RDS Proxy to write to the Aurora MySQL database When the databases are synced. Disable the replication job and restart the Aurora Replica as the primary instance. Point the collector DNS record to the NLB.
- B. Set up an Amazon Aurora MySQL database Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from the on-premises database to Aurora. Move the aggregation jobs to run against the Aurora MySQL database. Set up collection endpoints behind an Application Load Balancer (ALB) as Amazon EC2 instances in an Auto Scaling group. When the databases arc synced, point the collector DNS record to the ALB. Disable the AWS DMS sync task after the cutover from on premises to AWS.
- C. Set up an Amazon Aurora MySQL database. Use AWS Database Migration Service (AWS DMS) to perform continuous data replication from the on-premises database to Aurora. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as AWS Lambda functions behind an Application Load Balancer (ALB), and use Amazon RDS Proxy to write to the Aurora MySQL database. When the databases are synced, point the collection DNS record to the ALB. Disable the AWS DMS sync task after the cutover from on premises to AWS.
- D. Set up an Amazon Aurora MySQL database. Create an Aurora Replica for the Aurora MySQL database, and move the aggregation jobs to run against the Aurora Replica. Set up collection endpoints as an Amazon Kinesis data stream. Use Amazon Kinesis Data Firehose to replicate the data to the Aurora MySQL database. When the databases are synced, disable the replication job and restart the Aurora Replica as the primary instance. Point the collector DNS record to the Kinesis data stream.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution outlines a comprehensive strategy for migrating an on-premises MySQL-compatible database to Amazon Aurora MySQL with minimal downtime, while simultaneously re-architecting data collection and aggregation workloads for scalability, high availability, and serverless operation. It leverages key AWS services like AWS DMS for continuous replication, Amazon Aurora Replicas for read-heavy workloads, Application Load Balancer (ALB) and AWS Lambda for scalable API endpoints, and Amazon RDS Proxy for efficient database connection management.
Why this fits:
- AWS DMS for Migration: AWS Database Migration Service (DMS) is the standard and most efficient AWS service for migrating databases to AWS, supporting continuous replication (Change Data Capture – CDC) to ensure data synchronization with minimal downtime during cutover.
- Aurora Replicas for Read Offload: Offloading read-heavy aggregation jobs to an Aurora Replica is a critical best practice for maintaining performance and availability. It ensures the primary Aurora instance can focus on write operations and the replica can scale independently for read workloads without impacting transactional performance.
- ALB + Lambda for Collection Endpoints: Using an Application Load Balancer (ALB) to front AWS Lambda functions provides a highly scalable, serverless, and cost-effective solution for API-driven data collection endpoints. ALB provides advanced routing and load balancing for HTTP/S traffic, and Lambda offers automatic scaling without server management for handling variable loads.
- Amazon RDS Proxy for Connection Management: Amazon RDS Proxy is crucial when dealing with a large number of potentially transient connections (like those from rapidly scaling Lambda functions). It pools database connections, reducing the load on the database, improving connection efficiency, and preventing connection storms, thus enhancing database resilience and application performance.
- Staged Cutover: The process of syncing databases with DMS, reconfiguring collection endpoints, updating DNS records, and then disabling DMS is a well-established, low-risk approach for migrating production databases with minimal disruption.
Example: Consider an application that collects real-time telemetry data and also performs daily analytical aggregations. The existing on-premises MySQL database struggles under the combined load. This solution would first establish continuous replication to Amazon Aurora MySQL using AWS DMS. New data collection would then be directed to a serverless API built with an ALB fronting AWS Lambda functions, which use Amazon RDS Proxy to write to the Aurora primary instance. Concurrently, the aggregation jobs would be reconfigured to query a newly created Aurora Replica, isolating them from the write traffic. Once the data on Aurora is fully synced and verified, the DNS record for data collection is updated to point to the ALB, completing the cutover to AWS. The AWS DMS task is then stopped as it’s no longer needed.
QUESTION 110 (Multi-Select)
A company has 50 AWS accounts that are members of an organization in AWS Organizations. Each account contains multiple VPCs. The company wants to use AWS Transit Gateway to connectivity between the VPCs in each member account. Each time a new member account is created, the company wants to automate the process of creating a new VPC and a transit gateway attachment.
Which combination of steps will meet these requirements? (Select TWO.)
- A. From the management account, share the transit gateway with accounts by using AWS Resource Access Manager.
- B. From the management account, share the transit gateway with accounts by using an AWS Organizations SCP.
- C. Launch an AWS CloudFormation stack set from the management account that automatically creates a new VPC and a VPC transit gateway attachment in a member account. Associate the attachment with the transit gateway in the management account by using the transit gateway ID.
- D. Launch an AWS CloudFormation stack set from the management account that automatically creates a new VPC and a peering transit gateway attachment in a member account. Share the attachment with the transit gateway in the management account by using a transit gateway service-linked role.
- E. From the management account, share the transit gateway with accounts by using AWS Service Catalog.
Click to View Verified Solution & Explanation
Correct Option: A,C
Description: AWS Resource Access Manager (RAM) is a service that enables you to easily and securely share your AWS resources with any AWS account or within your AWS Organization. This allows a centralized network team to create and manage core network components like Transit Gateways in a single account and make them available to other accounts.
Why this fits: Sharing a Transit Gateway with member accounts within an AWS Organization is a primary and recommended use case for AWS RAM. The management account (or a delegated administrator account) owns the Transit Gateway and uses RAM to create a resource share, specifying which member accounts or OUs can attach their VPCs or VPNs to it. This centralizes Transit Gateway management and allows for consistent network architecture across an organization.
Example: A central networking team in the management account provisions a Transit Gateway. They then use AWS RAM to create a resource share for this Transit Gateway, granting access to all accounts within a specific Organizational Unit (OU) where application teams operate. This allows application teams to connect their VPCs to the shared Transit Gateway.
✅ Choice C: Launch an AWS CloudFormation stack set from the management account that automatically creates a new VPC and a VPC transit gateway attachment in a member account. Associate the attachment with the transit gateway in the management account by using the transit gateway ID.
Description: AWS CloudFormation StackSets extend the functionality of CloudFormation by allowing you to deploy common CloudFormation templates across multiple AWS accounts and Regions from a single administrator account. This enables consistent provisioning of resources across an organization.
Why this fits: While Choice A (AWS RAM) shares the Transit Gateway, member accounts still need to create the attachment from their VPCs to the shared Transit Gateway. CloudFormation StackSets are an ideal solution for automating the creation of these attachments (and potentially new VPCs) in the member accounts from a central management account. A StackSet can deploy a template to each member account that provisions the necessary VPC resources and then creates the Transit Gateway attachment, explicitly associating it with the pre-shared Transit Gateway’s ID. This ensures consistency and automation in connecting new accounts to the shared network.
Example: After the Transit Gateway is shared via AWS RAM, the central networking team deploys a CloudFormation StackSet. This StackSet targets new application accounts, automatically deploying a template that provisions a standardized VPC and a Transit Gateway attachment within each targeted member account. The template uses the known ID of the shared Transit Gateway (from the management account) to establish the connection, fully automating the network onboarding for these accounts.
QUESTION 111
A company needs to implement a patching process for its servers. The on-premises servers and Amazon EC2 instances use a variety of tools perform patching. Management requires a single report showing the patch status of all the servers and instances.
Which set of actions should a solutions take to meet these requirements?
- A. Use AWS Systems Manager to manage patches on the on-premises servers and EC2 instances. Use Systems Manager to generate patch compliance reports.
- B. Use AWS OpsWorks to manage patches on the on-premises servers and EC2 instances. Use Amazon QuickSight integration with OpsWorks to generate patch compliance reports. AWS Systems Manager OpsCenter to generate patch compliance reports.
- C. Use an Amazon EventBridge (Amazon CloudWatch Events) rule to apply patches by scheduling an AWS Systems Manager patch remediation job. Use Amazon Inspector to generate patch compliance reports.
- D. Use AWS OpsWorks to manage patches on the on-premises servers and EC2 instances. Use AWS X-Ray to the patch status to AWS Systems Manager OpsCenter to generate patch compliance reports.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Systems Manager Patch Manager automates the process of patching managed instances with security updates and other types of updates. It can be used to scan instances for missing patches or to scan and automatically install missing patches. Systems Manager supports both Amazon EC2 instances and on-premises servers or virtual machines that are configured as Systems Manager managed instances.
Why this fits: Systems Manager Patch Manager is specifically designed for cross-platform patch management across a hybrid environment (EC2 and on-premises). It provides robust capabilities for defining patch baselines, scheduling patching operations, and most importantly, generating detailed patch compliance reports directly within the Systems Manager console or through integration with AWS Config and Amazon S3. This directly addresses both the management and reporting requirements for patches.
Example: An administrator configures a patch baseline in Systems Manager for Windows Server instances. They then create a maintenance window to apply these patches to a fleet of EC2 instances and on-premises servers every second Tuesday of the month. After the maintenance window, the administrator can navigate to Patch Manager within the Systems Manager console to view a compliance dashboard and generate reports showing which instances are compliant or non-compliant with the defined patch baseline.
QUESTION 112 (Multi-Select)
A company has many AWS accounts and uses AWS Organizations to manage all of them. A solutions architect must implement a solution that the company can use to share a common network across multiple accounts.
The company’s infrastructure team has a dedicated infrastructure account that has a VPC. The infrastructure team must use this account to manage the network. Individual accounts cannot have the ability to manage their own networks. However, individual accounts must be able to create AWS resources within subnets.
Which combination of actions should the solutions architect perform to meet these requirements? (Select TWO)
- A. Create a transit gateway in the infrastructure account.
- B. Enable resource sharing from the AWS Organizations management account.
- C. Create VPCs in each AWS account within the organization in AWS Organizations Configure the VPCs to share the same CIDR range and subnets as the VPC in the infrastructure account. Peer the VPCs in each individual account with the VPC in the infrastructure account.
- D. Create a resource share in AWS Resource Access Manager In the infrastructure account Select the specific AWS Organizations OU that will use the shared network Select each subnet to associate with the resource share.
- E. Create a resource share in AWS Resource Access Manager in the infrastructure account Select the specific AWS Organizations OU that will use the shared network Select each prefix list to associate with the resource share.
Click to View Verified Solution & Explanation
Correct Option: B,D
Description: AWS Resource Access Manager (RAM) is a service that enables you to share your AWS resources with any AWS account or within your AWS Organization. This allows you to centralize resources like subnets, Transit Gateways, and more, enabling other accounts to use them as if they were their own, without needing to duplicate infrastructure.
Why this fits: This choice accurately describes the primary method for implementing a shared network model within an AWS Organization. By creating a resource share in the infrastructure account (which owns the central network) and sharing specific subnets with an Organizational Unit (OU), member accounts within that OU gain access to launch resources directly into those shared subnets. This is a fundamental pattern for a shared VPC or shared network architecture.
Example: An organization has a central networking account (infrastructure account) that owns a large VPC and several subnets. To allow application teams in different accounts (e.g., Development OU) to deploy their applications into these pre-configured subnets, the infrastructure account creates a RAM resource share, adds the relevant subnets to it, and shares it with the Development OU. Application teams can then launch EC2 instances or other resources into these shared subnets.
✅ Enable resource sharing from the AWS Organizations management account.
Description: AWS Organizations allows you to centrally manage multiple AWS accounts and implement policies across them. To enable resource sharing across accounts within an organization using AWS Resource Access Manager (RAM), an explicit setting must be enabled in the AWS Organizations management account. This setting permits trusted service access for RAM to interact with Organizations.
Why this fits: This is a crucial prerequisite step for the functionality described in choice D. Before you can create and manage resource shares with OUs or specific accounts within an AWS Organization using RAM, the AWS Organizations management account must have enabled resource sharing with AWS RAM. This allows RAM to discover and interact with the organizational structure (accounts, OUs) for sharing purposes. Without this foundational setting, sharing resources to OUs would not be possible.
Example: Before an administrator in a "network" AWS account can share a Transit Gateway or subnets with an entire "development" OU, the AWS Organizations management account administrator must first enable trusted access for AWS Resource Access Manager (RAM) within the AWS Organizations settings.
QUESTION 113
A company used Amazon EC2 instances to deploy a web fleet to host a blog site. The EC2 instances are behind an Application Load Balancer (ALB) and are configured in an Auto Scaling group. The web application stores all blog content on an Amazon EFS volume.
The company recently added a feature for bloggers to add video to their posts, attracting 10 times the previous user traffic. At peak times of day, users report buffering and timeout issues while attempting to reach the site or watch videos.
Which is the MOST cost-efficient and scalable deployment that will resolve the issues for users?
- A. Reconfigure Amazon EFS to enable maximum I/O.
- B. Update the blog site to use instance store volumes for storage. Copy the site contents to the volumes at launch and to Amazon S3 at shutdown.
- C. Configure an Amazon CloudFront distribution. Point the distribution to an S3 bucket, and migrate the videos from EFS to Amazon S3.
- D. Set up an Amazon CloudFront distribution for all site contents, and point the distribution at the ALB.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Amazon CloudFront is a global content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency and high transfer speeds. Amazon S3 (Simple Storage Service) is an object storage service offering industry-leading scalability, data availability, security, and performance. Together, CloudFront and S3 form a robust architecture for delivering static and streaming content efficiently.
Why this fits: For delivering video content, EFS (Elastic File System) is not the optimal choice, as it’s primarily designed for shared file access for EC2 instances within a specific region, not for global content distribution to end-users. Migrating videos from EFS to Amazon S3 leverages S3’s cost-effective, highly durable, and scalable object storage capabilities. Configuring an Amazon CloudFront distribution to use the S3 bucket as an origin ensures that the video content is cached at edge locations geographically closer to users, significantly reducing latency, improving loading times, and offloading traffic from the backend servers (EC2 instances behind an ALB). This approach is a standard and highly performant solution for global media delivery on AWS.
Example: A media company hosts its blog and video library on AWS. By migrating their video files from an EC2 instance’s attached EFS volume to Amazon S3 and then configuring a CloudFront distribution with the S3 bucket as its origin, they ensure that users worldwide can stream videos with minimal buffering and faster start times, irrespective of their geographical location relative to the main AWS region where the blog’s backend operates.
QUESTION 114
A security engineer determined that an existing application retrieves credentials to an Amazon RDS for MySQL database from an er implement the following application design changes to improve security:
- The database must use strong, randomly generated passwords stored in a secure AWS managed service.
- The application resources must be deployed through AWS CloudFormation.
- The application must rotate credentials for the database every 90 days.
A solutions architect will generate a CloudFormation template to deploy the application.
Which resources specified in the CloudFormation template will meet the security engineer’s requirements LEAST amount of operational overhead?
- A. Generate the database password as a secret resource using AWS Secrets Manager. Create an AWS Lambda function resource to rotate the database password. Specify a Secrets Manager Rotation Schedule resource to rotate the database password every 90 days.
- B. Generate the database password as a SecureString parameter type using AWS Systems Manager Parameter Store. Create an AWS Lambda function resource to rotate the database password. Specify a Parameter Store RotationSchedule resource to rotate the database password every 90 days.
- C. Generate the database password as a secret resource using AWS Secrets Manager. Create an AWS Lambda function resource to rotate the database password. Create an Amazon EventBridge scheduled rule resource to trigger the Lambda function password rotation every 90 days.
- D. Generate the database password as a SecureString parameter type using AWS Systems Manager Parameter Store. Specify an AWS AppSync DataSource resource to automatically rotate the database password.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Secrets Manager is a service designed to help you protect access to your applications, services, and IT resources. It enables you to easily rotate, manage, and retrieve database credentials, API keys, and other secrets throughout their lifecycle. For automated database password rotation, Secrets Manager integrates with AWS Lambda functions, which contain the logic to interact with the database and update the password.
Why this fits: This option correctly outlines the native, fully managed, and recommended approach for automated database password rotation in AWS. Secrets Manager is purpose-built for secret management and rotation. It uses an AWS Lambda function to perform the actual rotation (updating the password in the database and then updating the secret stored in Secrets Manager), and critically, it provides a direct, integrated mechanism to define the rotation schedule (e.g., every 90 days) as part of the secret’s configuration. This avoids the need for external scheduling mechanisms like EventBridge (as in Choice C) and leverages the service designed specifically for this capability.
Example: An Amazon RDS MySQL database requires its master password to be rotated every 90 days. The database password is stored in AWS Secrets Manager. Secrets Manager is configured to use an AWS-provided or custom Lambda rotation function. On the scheduled rotation date, Secrets Manager invokes the Lambda function, which connects to the RDS instance, updates the password, and then updates the secret value stored in Secrets Manager to the new password.
QUESTION 115
A company is in the process of implementing AWS Organizations to constrain its developers to use only Amazon EC2, Amazon S3, and Amazon DynamoDB. The Developers account resides in a dedicated organizational unit (OU). The Solutions Architect has implemented the following SCP on the Developers account:

When this policy is deployed, IAM users in the Developers account are still able to use AWS services that are not listed in the policy.
What should the Solutions Architect do to eliminate the Developers’ ability to use services outside the scope of this policy?
- A. Create an explicit deny statement for each AWS service that should be constrained.
- B. Remove the Full AWSAccess SCP from the Developer account’s OU.
- C. Modify the Full AWSAccess SCP to explicitly deny all services.
- D. Add an explicit deny statement using a wildcard to the end of the SCP.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Service Control Policies (SCPs) are a feature of AWS Organizations that allow you to manage permissions in your organization. They offer central control over the maximum available permissions for all accounts in your organization. The
Full AWSAccess SCP is an AWS managed policy that, by default, allows all actions for all AWS services ("Effect": "Allow", "Action": "*", "Resource": "*") to the accounts where it is attached or inherited.
Why this fits: SCPs establish guardrails for permissions. By default, unless otherwise restricted, any account can perform any action. The Full AWSAccess SCP explicitly grants this broad access. To constrain a Developer account (i.e., reduce its permissions from full access), the most direct and foundational step is to remove the policy that grants full, unrestricted access. Once the Full AWSAccess SCP is detached from the Developer account’s Organizational Unit (OU), the implicit deny principle of SCPs comes into play, meaning that the account will then only be able to perform actions that are explicitly allowed by other attached SCPs higher in the hierarchy or by more specific custom SCPs subsequently attached to that OU or account. This immediately restricts capabilities significantly and allows for a whitelist approach to permissions.
Example: An organization has a "Development" OU with the Full AWSAccess SCP attached. Developers currently have access to all services. To begin restricting them, for instance, by disallowing access to AWS Organizations itself or billing services, removing the Full AWSAccess SCP is the first step. After removal, a new custom SCP could be attached to explicitly allow only specific services like EC2, S3, and DynamoDB, while implicitly denying all others.
QUESTION 116
An enterprise company wants to allow its developers to purchase third-party software through AWS Marketplace. The company uses an AWS Organizations account structure with full features enabled, and has a shared services account in each organizational unit (OU) that will be used by procurement managers. The procurement team’s policy indicates that developers should be able to obtain third-party software from an approved list only and use Private Marketplace in AWS Marketplace to achieve this requirement. The procurement team wants administration of Private Marketplace to be restricted to a role named procurement- manager-role, which could be assumed by procurement managers. Other IAM users, groups, roles, and account administrators in the company should be denied Private Marketplace administrative access.
What is the MOST efficient way to design an architecture to meet these requirements?
- A. Create an IAM role named procurement-manager-role in all AWS accounts in the organization. Add the PowerUser Access managed policy to the role. Apply an inline policy to all IAM users and roles in every AWS account to deny permissions on the AWS Private Market place AdminFull Access managed policy.
- B. Create an IAM role named procurement-manager-role in all AWS accounts in the organization. Add the Administrator Access managed policy to the role. Define a permissions boundary with the AWS Private Market place Admin FullAccess managed policy and attach it to all the developer roles.
- C. Create an IAM role named procurement-manager-role in all the shared services accounts in the organization. Add the AWS Private Marketplace Admin FullAccess managed policy to the role. Create an organization root-level SCP to deny permissions to administer Private Marketplace to everyone except the role named procurement-manager-role. Create another organization root-level SCP to deny permissions to create an IAM role named procurement-manager-role to everyone in the organization.
- D. Create an IAM role named procurement-manager-role in all AWS accounts that will be used by developers. Add the AWS Private Marketplace Admin FullAccess managed policy to the role. Create an SCP in Organizations to deny permissions to administer Private Marketplace to everyone except the role named procurement-manager-role. Apply the SCP to all the shared services accounts in the organization.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution leverages AWS Organizations Service Control Policies (SCPs) to enforce a centralized, organization-wide governance model for AWS Private Marketplace administration. It establishes a dedicated IAM role with the necessary permissions, restricts its creation, and then uses SCPs to deny access to everyone else in the organization for Private Marketplace administration.
Why this fits: This approach is robust and scalable for several reasons:
- Centralized Control with SCPs: Creating organization root-level SCPs ensures that the policy applies to all accounts within the organization, providing the widest possible scope of control. This is the most effective way to enforce compliance across an entire AWS Organization.
- Least Privilege and Delegation: The
procurement-manager-roleis created in shared services accounts, which is a common practice for centralized management roles, and is granted only theAWS Private Marketplace Admin FullAccesspolicy, adhering to the principle of least privilege. - Exception Handling: The first SCP explicitly denies Private Marketplace administration to everyone except the designated
procurement-manager-role. This allows for a single point of control while ensuring that authorized users can still perform necessary actions. - Preventing Circumvention: The second SCP, denying the creation of a role named
procurement-manager-roleto everyone else, is critical. Without this, a malicious or mistaken user could create an identically named role in their account and potentially bypass the first SCP’s exception, thus gaining unauthorized access. This SCP adds a crucial layer of security to prevent privilege escalation or policy circumvention.Example: An organization wants to ensure only a specific procurement team can manage their private marketplace offers. By implementing choice C, they configure a
procurement-manager-rolein their central shared services accounts withAWS Private Marketplace Admin FullAccess. Then, two SCPs are attached to the organization’s root: one denyingmarketplace:Admin*actions to all principals unless they are theprocurement-manager-role, and another denyingiam:CreateRolespecifically for roles namedprocurement-manager-roleacross the entire organization. This guarantees that only the legitimate role can administer Private Marketplace and prevents unauthorized creation of a bypass role.
QUESTION 117
A company has an organization in AWS Organizations that has a large number of AWS accounts. One of the AWS accounts is designated as a transit account and has a transit gateway that is shared with all of the other AWS accounts AWS Site-to-Site VPN connections are configured between all of the company’s global offices and the transit account. The company has AWS Config enacted on all of its accounts.
The company’s networking team needs to centrally manage a list of internal IP address ranges that belong to the global offices. Developers will reference this list to gain access to their applications Securely.
Which solution meets these requirements with the LEAST amount of operational overhead?
- A. Create a JSON file that is hosted in Amazon S3 and that lists all of the internal IP address ranges Configure an Amazon Simple Notification Service (Amazon SNS) topic in each of the accounts that can be involved when the JSON file is updated. Subscribe an AWS Lambda function to the SNS topic to update all relevant security group rules with Vie updated IP address ranges.
- B. Create a new AWS Config managed rule that contains all of the internal IP address ranges Use the rule to check the security groups in each of the accounts to ensure compliance with the list of IP address ranges. Configure the rule to automatically remediate any noncompliant security group that is detected.
- C. In the transit account, create a VPC prefix list with all of the internal IP address ranges. Use AWS Resource Access Manager to share the prefix list with all of the other accounts. Use the shared prefix list to configure security group rules in the other accounts.
- D. In the transit account create a security group with all of the internal IP address ranges. Configure the security groups in the other accounts to reference the transit account's security group by using a nested security group reference of *<transit-account-id>./sg-1a2b3c4d".
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS VPC Prefix Lists allow you to group multiple CIDR blocks into a single entity. This simplifies the management of IP addresses, especially when these addresses are frequently used in network access control lists (ACLs) or security group rules. AWS Resource Access Manager (RAM) enables you to securely share resources, including prefix lists, with other AWS accounts or within your AWS Organization.
Why this fits: This solution leverages native AWS services designed for managing and sharing network configurations efficiently across multiple accounts. Creating a central prefix list in a transit account (often a shared services or network account) ensures a single source of truth for your internal IP ranges. Sharing it via RAM allows other accounts to reference this prefix list directly in their security group rules. Any updates to the prefix list in the central account automatically propagate to all referencing security groups in the shared accounts, significantly reducing operational overhead and ensuring consistency. This approach is highly scalable and adheres to AWS best practices for multi-account environments.
Example: An organization has a central IP address range for its corporate offices. By creating a prefix list pl-corporate-ips in a network account with this range and sharing it via RAM, development, production, and testing accounts can simply add a rule to their security groups allowing inbound traffic from pl-corporate-ips. If the corporate IP range changes, only the pl-corporate-ips prefix list needs to be updated, and all security groups referencing it will automatically reflect the change without manual intervention in each account.
QUESTION 118
A company is running several workloads in a single AWS account. A new company policy states that engineers can provision only approved resources and that engineers must use AWS CloudFormation to provision these resources. A solutions architect needs to create a solution to enforce the new restriction on the IAM role that the engineers use for access.
What should the solutions architect do to create the solution?
- A. Upload AWS CloudFormation templates that contain approved resources to an Amazon S3 bucket. Update the IAM policy for the engineers' IAM role to only allow access to Amazon S3 and AWS CloudFormation. Use AWS CloudFormation templates to provision resources.
- B. Update the IAM policy for the engineers" IAM role with permissions to only allow provisioning of approved resources and AWS CloudFormation. Use AWS CloudFormation templates to create stacks with approved resources.
- C. Update the IAM policy for the engineers' IAM role with permissions to only allow AWS CloudFormation actions. Create a new IAM policy with permission to provision approved resources, and assign the policy to a new IAM service role. Assign the IAM service role to AWS CloudFormation during stack creation.
- D. Provision resources in AWS CloudFormation stacks. Update the IAM policy for the engineers' IAM role to only allow access to their own AWS CloudFormation stack.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This approach implements the principle of least privilege by separating the permissions of the user initiating the CloudFormation stack creation from the permissions used by the CloudFormation service to provision resources. The engineers’ IAM role is restricted to only interacting with the AWS CloudFormation service itself (e.g., creating, updating, or deleting stacks). A separate IAM service role is then created with specific permissions to provision only the approved AWS resources (e.g., specific EC2 instance types, S3 bucket configurations, etc.). This service role is assigned to AWS CloudFormation when a stack is created or updated, allowing CloudFormation to assume these permissions to perform the actual resource provisioning.
Why this fits: This is the most secure and recommended method for controlling resource provisioning through AWS CloudFormation. It ensures that engineers cannot directly provision unapproved resources. Instead, they delegate the actual resource creation to CloudFormation, which operates under a strictly defined service role. This prevents direct access to underlying resource creation APIs by the engineers while still enabling them to use CloudFormation for approved infrastructure deployment. This adheres to the AWS best practice of using a service role for CloudFormation for fine-grained control over resource operations.
Example: An engineer wishes to deploy an application stack. Their IAM role only allows actions like cloudformation:CreateStack, cloudformation:UpdateStack, and cloudformation:DescribeStacks. During stack creation, the engineer specifies a CloudFormation service role named ApprovedResourceDeployer. This ApprovedResourceDeployer role has an IAM policy that explicitly allows ec2:RunInstances only for t3.medium instances and s3:CreateBucket only with specific tagging requirements. CloudFormation then assumes the ApprovedResourceDeployer role to provision these resources, ensuring only approved configurations are deployed.
QUESTION 119
A company’s solutions architect is reviewing a web application that runs on AWS. The application references static assets in an Amazon S3 bucket in the us-east-1 Region. The company needs resiliency across multiple AWS Regions. The company already has created an S3 bucket in a second Region.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Configure the application to write each object to both S3 buckets. Set up an Amazon Route 53 public hosted zone with a record set by using a weighted routing policy for each S3 bucket. Configure the application to reference the objects by using the Route 53 DNS name.
- B. Create an AWS Lambda function to copy objects from the S3 bucket in us-east-1 to the S3 bucket in the second Region. Invoke the Lambda function each time an Object is written to the S3 bucket in us-east-1. Set up an Amazon CloudFront distribution with an origin group that the two S3 buckets as origins.
- C. Configure replication on the S3 bucket in us-east-1 to replicate objects to the S3 bucket in the second Region. Set up an Amazon CloudFront distribution with an origin group that contains the two S3 buckets as origins.
- D. Configure replication on the bucket in us-east-1 to replicate objects to the S3 bucket in the second Region. If failover is required, update the application code to load S3 objects from the S3 bucket in the second Region.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution leverages AWS’s native services for both data redundancy and global content delivery. Amazon S3 Cross-Region Replication (CRR) automatically copies objects from a source S3 bucket in one AWS Region to a destination S3 bucket in another Region. Amazon CloudFront is a global content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency and high transfer speeds. An origin group in CloudFront allows you to specify a primary origin and one or more secondary origins (failover origins), enabling automatic failover to the secondary origin if the primary becomes unavailable or returns specific error codes.
Why this fits: This approach provides a highly available and resilient solution for serving S3 objects globally. S3 CRR ensures that data is consistently available in two separate AWS Regions, mitigating regional outages. CloudFront, with an origin group pointing to both S3 buckets, acts as a single endpoint for users. It caches content at edge locations worldwide, reducing latency, and automatically fails over to the healthy S3 bucket in the other region if an issue occurs with the primary S3 bucket or its region. This eliminates the need for manual intervention or application code changes during a failover event, providing a seamless experience for end-users.
Example: An application stores static website assets (images, CSS, JavaScript) in an S3 bucket in us-east-1. To ensure high availability and low-latency access globally, S3 Cross-Region Replication is configured to copy these assets to a second S3 bucket in eu-west-1. A CloudFront distribution is then created with an origin group, where the us-east-1 S3 bucket is the primary origin and the eu-west-1 S3 bucket is the secondary (failover) origin. If us-east-1 experiences an outage, CloudFront automatically switches to serving content from the eu-west-1 bucket without any downtime for the users.
QUESTION 120
A company has a serverless application comprised of Amazon CloudFront, Amazon API Gateway, and AWS Lambda functions. The current deployment process of the application code is to create a new version number of the Lambda function and run an AWS CLI script to update. If the new function version has errors, another CLI script reverts by deploying the previous working version of the function. The company would like to decrease the time to deploy new versions of the application logic provided by the Lambda functions, and also reduce the time to detect and revert when errors are identified.
How can this be accomplished?
- A. Create and deploy nested AWS CloudFormation stacks with the parent stack consisting of the AWS CloudFront distribution and API Gateway, and the child stack containing the Lambda function. For changes to Lambda create an AWS CloudFormation change set and deploy; if errors are triggered, revert the AWS CloudFormation change set to the previous version.
- B. Use AWS SAM and built-in AWS CodeDeploy to deploy the new Lambda version, gradually shift traffic to the new version, and use pre-traffic and post-traffic test functions to verify code. Rollback if Amazon CloudWatch alarms are triggered
- C. Refactor the AWS CLI scripts into a single script that deploys the new Lambda version. When deployment completed, the script tests execute. If errors are detected, revert to the previous Lambda version.
- D. Create and deploy an AWS CloudFormation stack that consists of a new API Gateway endpoint that references the new Lambda version. Change the CloudFront origin to the new API Gateway endpoint, monitor errors and if detected, change the AWS CloudFront origin to the previous API Gateway endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Serverless Application Model (SAM) is an open-source framework that simplifies the deployment of serverless applications. It extends AWS CloudFormation to provide a simplified way of defining serverless resources. When deploying Lambda functions, AWS SAM integrates directly with AWS CodeDeploy for controlled deployments. AWS CodeDeploy supports various deployment strategies (e.g., Canary, Linear) for Lambda functions, allowing for gradual traffic shifting to new versions. It also allows defining pre-traffic and post-traffic hooks (Lambda functions) to run tests before and after traffic is shifted. Integration with Amazon CloudWatch alarms enables automated rollbacks if specified metrics cross thresholds during the deployment process, ensuring application stability.
Why this fits: This approach directly addresses the need for a robust, automated, and safe deployment strategy for Lambda functions. Using AWS SAM simplifies the definition and deployment of serverless resources. AWS CodeDeploy’s gradual traffic shifting minimizes the impact of potential issues by slowly routing users to the new version while monitoring, and the pre/post-traffic hooks allow for automated validation. Automated rollbacks based on CloudWatch alarms provide an essential safety net, automatically reverting to the stable version if problems arise. This is a best practice for mission-critical serverless applications, offering high availability and quick recovery.
Example: An e-commerce platform wants to update its Lambda function responsible for processing orders. Instead of an immediate cutover, they configure an AWS SAM template to deploy the new Lambda version using a "Linear10PercentEvery1Minute" CodeDeploy strategy. Before shifting traffic, a pre-traffic hook Lambda runs integration tests against the new function. As traffic is gradually shifted, a CloudWatch alarm monitors the error rate and latency of the new function. If the error rate spikes above 1% for 5 minutes, CodeDeploy automatically rolls back to the previous stable version, preventing widespread customer impact.
QUESTION 121
A company has a web application that allows users to upload short videos. The videos are stored on Amazon EBS volumes and analyzed by custom recognition software for categorization.
The website contains static content that has variable traffic with peaks in certain months. The architecture consists of Amazon EC2 instances running in an Auto Scaling group for the web application and EC2 instances running in an Auto Scaling group to process an Amazon SQS-queue. The company wants to re- architect the application to reduce operational overhead using AWS managed services where possible and remove dependencies on third-party software.
Which solution meets these requirements?
- A. Use Amazon ECS containers for the web application and Spot instances for the Scaling group that processes the SQS queue. Replace the custom software with Amazon Recognition to categorize the videos.
- B. Store the uploaded videos in Amazon EFS and mount the file system to the EC2 instances for the web application. Process the SQS queue with an AWS Lambda function that calls the Amazon Recognition API to categorize the videos.
- C. Host the web application in Amazon S3. Store the uploaded videos in Amazon S3. Use S3 event notification to publish events to the SQS queue. Process the SQS queue with an AWS Lambda function that call the Amazon Rekognition API to categorize the videos.
- D. Use AWS Elastic Beanstalk to launch EC2 instances in an Auto Scaling group for the application and launch a worker environment to process the SQS queue. Replace the custom software with Amazon Rekognition to categorize the videos.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution leverages a fully serverless architecture for a highly scalable and cost-effective video processing pipeline. Amazon S3 is used for static website hosting, providing a durable and highly available platform for the web application. S3 is also the primary storage for uploaded video content. S3 Event Notifications reliably trigger a workflow by publishing messages to an Amazon SQS queue whenever new videos are uploaded. An AWS Lambda function is configured to process messages from the SQS queue, invoking the Amazon Rekognition API for video analysis and categorization, thereby replacing custom software with a managed service.
Why this fits: This approach aligns perfectly with the AWS Well-Architected Framework principles, especially operational excellence, reliability, performance efficiency, and cost optimization.
- Serverless and Scalable: S3 for static content, S3 for object storage, SQS for message queuing, and Lambda for compute are all fully managed, serverless services that automatically scale to handle varying loads without requiring server provisioning or management.
- Decoupled Architecture: S3 event notifications and SQS create a loosely coupled system. The video upload process is decoupled from the video categorization process, enhancing fault tolerance and scalability. If the Lambda function encounters issues, messages remain in SQS for retries.
- Cost-Effective: Pay-per-use models for all services (S3, SQS, Lambda, Rekognition) eliminate the need for over-provisioning and reduce operational costs. Hosting a static website on S3 is significantly cheaper than running EC2 instances for the frontend.
- Managed Services: Utilizing Amazon Rekognition directly replaces custom video categorization software, offloading the complexity of developing, maintaining, and scaling machine learning models to a fully managed AWS service. This reduces operational overhead and leverages AWS’s expertise in AI/ML.
Example: A user uploads a video file via the S3-hosted web application, which directly stores the file in an S3 bucket. This upload triggers an S3 event notification, placing a message in an SQS queue. An AWS Lambda function, continuously polling the SQS queue, receives the message, retrieves the video from S3, and calls Amazon Rekognition to analyze its content (e.g., detect objects, activities, inappropriate content). The categorization results are then stored in a database or another S3 bucket.
QUESTION 122
A company uses AWS Organizations with a single OU named Production to manage multiple accounts. All accounts are members of the Production OU. Administrators use deny list SCPs in the root of the organization to manage access to restricted services.
The company recently acquired a new business unit and invited the new unit’s existing AWS account to the organization. Once onboarded, the administrators of the new business unit discovered that they are not able to update existing AWS Config rules to meet the company’s policies.
Which option will allow administrators to make changes and continue to enforce the current policies without introducing additional long-term maintenance?
- A. Remove the organization’s root SCPs that limit access to AWS Config. Create AWS Service Catalog products for the company’s standard AWS Config rules and deploy them throughout the organization, including the new account.
- B. Create a temporary OU named Onboarding for the new account. Apply an SCP to the Onboarding OU to allow AWS Config actions. Move the new account to the Production OU when adjustments to AWS Config are complete.
- C. Convert the organization’s root SCPs from deny list SCPs to allow list SCPs to allow the required services only. Temporally apply an SCP to the organization’s root that allows AWS Config actions for principals only in the new account.
- D. Create a temporary OU named Onboarding for the new account. Apply an SCP to the Onboarding OU to allow AWS Config actions. Move the organization’s root SCP to the Production OU. Move the new account to the Production OU when adjustments to AWS Config are complete.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This strategy addresses the challenge of onboarding a new AWS account into an organization with potentially restrictive Service Control Policies (SCPs) at the root level. It involves creating a dedicated, temporary Organizational Unit (OU) for new accounts, adjusting the policy hierarchy to allow necessary configurations, and then moving the account to its final destination. Specifically, the key step is relocating the organization’s existing root SCP (which might be causing restrictions) to a lower-level OU, thereby removing its immediate impact on the
Onboarding OU. A separate SCP is then applied to the Onboarding OU to grant the specific permissions required for AWS Config setup.
Why this fits: AWS Service Control Policies (SCPs) are inherited down the OU hierarchy. An explicit Deny statement at a higher level (like the root) will always override an Allow statement at a lower level. If the organization’s root SCP restricts AWS Config, simply adding an Allow SCP to a new account’s OU will not bypass the root-level Deny. Choice D correctly identifies the need to alter the inheritance path by moving the restrictive root SCP to the Production OU. This ensures that the Onboarding OU, and the new account within it, are no longer subject to that specific root restriction, allowing the Onboarding OU’s Allow SCP for AWS Config to take effect. This provides a controlled environment for initial setup without compromising the security posture of established accounts in Production.
Example: An organization has a root SCP that contains a Deny statement for all config:* actions to ensure compliance. A new account needs to be onboarded and AWS Config configured. To achieve this, a temporary Onboarding OU is created. The existing restrictive SCP is detached from the root and attached to the Production OU. A new SCP, explicitly allowing config:* actions, is attached to the Onboarding OU. The new account is placed into the Onboarding OU, allowing AWS Config to be successfully set up. Once configured, the account is moved from Onboarding to Production, where it will then inherit the original restrictive config:* policy.
QUESTION 123
A company is running an application on several Amazon EC2 instances in an Auto Scaling group behind an Application Load Balancer. The load on the application varies throughout the day, and EC2 instances are scaled in and out on a regular basis. Log files from the EC2 instances are copied to a central Amazon S3 bucket every 15 minutes. The security team discovers that log files are missing from some of the terminated EC2 instances.
Which set of actions will ensure that log files are copied to the central S3 bucket from the terminated EC2 instances?
- A. Create a script to copy log files to Amazon S3, and store the script in a file on the EC2 instance. Create an Auto Scaling lifecycle hook and an Amazon EventBridge (Amazon CloudWatchEvents) rule to detect lifecycle events from the AutoScaling group. Invoke an AWS Lambda function on the Autoscaling: EC2_INSTANCE_TERMINATING transition to send ABANDON to the Auto Scaling group to prevent termination, run the script to copy the log files, and terminate the instance using the AWS SDK.
- B. Create an AWS Systems Manager document with a script to copy log files to AmazonS3. Create an AutoScaling lifecycle hook and an Amazon EventBridge (Amazon CloudWatch Events) rule to detect lifecycle events from the Auto Scaling group. Invoke an AWS Lambda function on the autoscaling:EC2_INSTANCE_TERMINATING transition to call the AWS Systems Manager API SendCommand operation to run the document to copy the log files and send CONTINUE to the Auto Scaling group to terminate the instance.
- C. Change the log delivery rate to every 5 minutes. Create a script to copy log files to Amazon S3, and add the script to EC2 instance user data. Create an Amazon EventBridge (Amazon CloudWatch Events) rule to detect EC2 instance termination. Invoke an AWS Lambda function from the EventBridge (CloudWatch Events) rule that uses the AWS CLI to run the user-date script to copy the log files and terminate the instance.
- D. Create an AWS Systems Manager document with a script to copy log files to AmazonS3. Create an Auto Scaling lifecycle hook that publishes a message to an Amazon Simple Notification Service (Amazon SNS) topic. From the SNS notification, call the AWS systems Manager API SendCommand operation to run the document to copy the logfiles and send ABANDON to the Auto Scaling group to terminate the instance.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution leverages several AWS services to reliably capture logs from an EC2 instance before it terminates as part of an Auto Scaling scale-down event. An AWS Systems Manager Document (SSM Document) is used to define the script that copies log files to Amazon S3. An Auto Scaling lifecycle hook is configured to pause instance termination at the
autoscaling:EC2_INSTANCE_TERMINATING state. This lifecycle event is then captured by an Amazon EventBridge (formerly Amazon CloudWatch Events) rule, which triggers an AWS Lambda function. The Lambda function executes the SSM Document on the terminating instance using the AWS Systems Manager SendCommand API. Once the log copying is complete, the Lambda function sends a CONTINUE signal to the Auto Scaling group, allowing the instance to proceed with termination.
Why this fits: This approach is robust and follows best practices for managing EC2 instance lifecycle events.
- Auto Scaling Lifecycle Hook (
autoscaling:EC2_INSTANCE_TERMINATING): This is crucial for pausing the termination process, providing a window of opportunity to perform necessary actions like log collection. - Amazon EventBridge: It provides a reliable and scalable way to detect lifecycle events from Auto Scaling groups and trigger downstream actions.
- AWS Lambda: It’s a serverless compute service ideal for executing custom logic in response to events without managing servers.
- AWS Systems Manager Document &
SendCommand: This is the most effective and secure way to run arbitrary scripts on EC2 instances from a centralized control plane (Lambda). It ensures the script runs on the instance even as it’s being terminated, and provides execution status. Storing scripts directly on instances (as in Choice A) is less manageable and harder to update. CONTINUESignal: SendingCONTINUEis essential to allow the instance to complete its termination after the log collection is successful, fulfilling the operational goal. UsingABANDON(as in Choices A and D) would prevent termination, which is not desired in this scenario.Example: A web application running on EC2 instances within an Auto Scaling group generates access logs that need to be preserved for auditing. Before an instance scales down, a lifecycle hook pauses its termination. An EventBridge rule detects this, invoking a Lambda function. The Lambda function then uses AWS Systems Manager to run a script on the instance to copy the recent web access logs to a designated S3 bucket. Upon successful completion, the Lambda function signals the Auto Scaling group to continue with the instance’s termination, ensuring no critical data is lost.
QUESTION 124
A company built an application based on AWS Lambda deployed in an AWS CloudFormation stack. The last production release of the web application introduced an issue that resulted in an outage lasting several minutes. A solutions architect must adjust the deployment process to support a canary release.
Which solution will meet these requirements?
- A. Create an alias for every new deployed version of the Lambda function. Use the AWS CLI update-alias command with the routing-config parameter to distribute the load.
- B. Deploy the application into a new CloudFormation stack. Use an Amazon Route 53 weighted routing policy to distribute the load.
- C. Create a version for every new deployed Lambda function. Use the AWS CLI update-function-configuration command with the routing-config parameter to distribute the load.
- D. Configure AWS CodeDeploy and use CodeDeploy Default. One At A Time in the Deployment configuration to distribute the load.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Lambda aliases are pointers to a specific Lambda function version. They allow you to easily manage and update your function without having to change the code that invokes it. Crucially, aliases can be configured with a routing configuration to distribute invocation traffic between two different versions of a function (typically the current stable version and a new version). This is often used for canary deployments, A/B testing, or controlled rollouts.
Why this fits: The update-alias AWS CLI command, when used with the routing-config parameter, enables you to specify a weighted distribution of traffic between two versions associated with that alias. For example, you can direct 10% of traffic to a new version and 90% to the old version. This provides a native, granular, and controlled way to distribute load and shift traffic between Lambda function deployments, perfectly meeting the goal of distributing load incrementally or based on weights.
Example: To shift 10% of traffic to a new version ($LATEST or a specific version like version-2) from an existing version (version-1) associated with an alias named PROD, you would use:
aws lambda update-alias --function-name MyFunction --name PROD --routing-config '{"AdditionalVersionWeights": {"version-2": 0.1}}'
This command specifies that 10% of invocations to the PROD alias should go to version-2, with the remaining 90% automatically directed to the primary version (version-1) the alias points to.
QUESTION 125
A startup company hosts a fleet of Amazon EC2 instances in private subnets using the latest Amazon Linux 2 AMI. The company’s engineers rely heavily on SSH access to the instances for troubleshooting.
The company’s existing architecture includes the following:
- A VPC with private and public subnets, and a NAT gateway
- Site-to-Site VPN for connectivity with the on-premises environment
- EC2 security groups with direct SSH access from the on-premises environment
The company needs to increase security controls around SSH access and provide auditing of commands run by the engineers.
Which strategy should a solutions architect use?
- A. Install and configure EC2 Instance Connect on the fleet of EC2 instances. Remove all security group rules attached to EC2 instances that allow inbound TCP on port 22. Advise the engineers to remotely access the instances by using the EC2 Instance Connect CLI.
- B. Update the EC2 security groups to only allow inbound TCP on port 22 to the IP addresses of the engineer’s devices. Install the Amazon CloudWatch agent on all EC2 instances and send operating system audit logs to CloudWatch Logs.
- C. Update the EC2 security groups to only allow inbound TCP on port 22 to the IP addresses of the engineer’s devices. Enable AWS Config for EC2 security group resource changes. Enable AWS Firewall Manager and apply a security group policy that automatically remediates changes to rules.
- D. Create an IAM role with the Amazon SSM Managed Instance Core managed policy attached. Attach the IAM role to all the EC2 instances. Remove all security group rules attached to the EC2 instances that allow inbound TCP on port 22. Have the engineers install the AWS Systems Manager Session Manager plugin for their devices and remotely access the instances by using the start-session API call from Systems Manager.
Click to View Verified Solution & Explanation
Correct Option: D
Description: AWS Systems Manager Session Manager provides secure and auditable instance management without requiring open inbound ports, bastion hosts, or managing SSH keys. It uses the SSM Agent installed on the EC2 instances to establish a secure, outbound connection to the Systems Manager service endpoint. Users then connect through the AWS Management Console, AWS CLI, or SDK to initiate a session. The
AmazonSSMManagedInstanceCore managed policy grants the necessary permissions for an instance to communicate with the SSM service.
Why this fits: This solution aligns perfectly with security best practices by eliminating the need for inbound SSH (TCP port 22) rules on security groups, significantly reducing the attack surface. Engineers connect to instances via the AWS Systems Manager service, which acts as a secure intermediary, providing full auditability (logs can be sent to Amazon S3 or CloudWatch Logs) and granular IAM-based access control. The use of the SSM Agent and the start-session API call ensures that all connections are encrypted and managed by AWS, making it a robust and compliant remote access method. This approach is highly recommended for professional-level architects designing secure cloud environments.
Example: An engineer needs to troubleshoot an EC2 instance. Instead of opening port 22 to their IP address, they ensure the instance has an IAM role with AmazonSSMManagedInstanceCore attached. They then use their local terminal, with the AWS CLI and Session Manager plugin installed, to run aws ssm start-session --target i-0123456789abcdef0. This initiates a secure shell session directly in their terminal without any inbound port 22 required on the instance’s security group.
QUESTION 126
A company needs to architect a hybrid DNS solution. This solution will use an Amazon Route 53 private hosted zone for the domain cloud.example.com for the resources stored within VPCs.
The company has the following DNS resolution requirements:
- On-premises systems should be able to resolve and connect to cloud.example.com All VPCs should be able to resolve cloud.example.com.
- There is already an AWS Direct Connect connection between the on-premises corporate network and AWS Transit Gateway.
Which architecture should the company use to meet these requirements with the HIGHEST performance?
- A. Associate the private hosted zone to all the VPCs. Create a Route 53 inbound resolver in the shared services VPC. Attach all VPCs to the transit gateway and create forwarding rules in the on-premises DNS server for cloud.example.com that point to the inbound resolver.
- B. Associate the private hosted zone to all the VPCs. Deploy an Amazon EC2 conditional forwarder in the shared services VPC. Attach all VPCs to the transit gateway and create forwarding rules in the on- premises DNS server for cloud example.com that point to the conditional forwarder.
- C. Associate the private hosted zone to the shared services VPCs. Create a Route 53 outbound resolver in the shared services VPC. Attach all VPCs to the transit gateway and create forwarding rules in the on- premises DNS server for cloud.example.com that point to the outbound resolver.
- D. Associate the private hosted zone to the shared services VPC. Create a Route 53 inbound resolver in the shared services VPC. Attach the shared services VPC to the transit gateway and create forwarding rules in the on-premises DNS server for cloud.example.com that point to the inbound resolver.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Route 53 Private Hosted Zones allow you to manage DNS records for your AWS resources using your own domain names within your Amazon VPCs. A Route 53 Resolver inbound endpoint acts as a DNS query target within an Amazon VPC, enabling on-premises DNS servers to forward queries for private hosted zones to AWS. The Transit Gateway (TGW) provides a central hub for network connectivity between your VPCs and your on-premises network, facilitating traffic flow to the Resolver endpoint.
Why this fits: This solution correctly leverages AWS native services to achieve hybrid DNS resolution.
- Associate the private hosted zone to all the VPCs: This ensures that DNS records within the
cloud.example.comprivate hosted zone are resolvable across all relevant VPCs, including the VPC hosting the inbound resolver. For an inbound resolver to successfully resolve records within a private hosted zone, the zone must be associated with the VPC where the inbound endpoint resides. Associating it with all VPCs provides broad reachability for the private DNS records. - Create a Route 53 inbound resolver in the shared services VPC: An inbound resolver endpoint is specifically designed to handle DNS queries originating from outside AWS (e.g., from on-premises networks) and forward them to AWS Route 53 for resolution of records in private hosted zones. Placing it in a shared services VPC is a common architectural best practice for centralized network services.
- Attach all VPCs to the transit gateway: The Transit Gateway provides the necessary network connectivity, allowing the on-premises network (via VPN or Direct Connect to TGW) to reach the shared services VPC where the Route 53 Resolver inbound endpoint is located. It also ensures inter-VPC connectivity.
- Create forwarding rules in the on-premises DNS server for cloud.example.com that point to the inbound resolver: This final step directs DNS queries for
cloud.example.comfrom the on-premises environment to the IP addresses provided by the Route 53 inbound resolver, completing the hybrid DNS resolution path.Example: An on-premises client needs to resolve
app.cloud.example.com. Its local DNS server, configured with a conditional forwarder forcloud.example.com, sends the query to the IP address of the Route 53 inbound resolver endpoint in the shared services VPC. The inbound resolver then queries the private hosted zone forcloud.example.com(which is associated with its VPC), returns the IP address ofapp.cloud.example.comto the on-premises DNS server, and finally to the client.
QUESTION 127 (Multi-Select)
A video streaming company recently launched a mobile app for video sharing. The app uploads various files to an Amazon S3 bucket in the us-east-1 Region. The files range in size from 1 GB to 10 GB.
Users who access the app from Australia have experienced uploads that take long periods of time. Sometimes the files fail to completely upload for these users. A solutions architect must improve the app’s performance for these uploads.
Which solutions will meet these requirements? (Choose two.)
- A. Enable S3 Transfer Acceleration on the S3 bucket. Configure the app to use the Transfer Acceleration endpoint for uploads.
- B. Configure an S3 bucket in each Region to receive the uploads. Use S3 Cross-Region Replication to copy the files to the distribution S3 bucket.
- C. Set up Amazon Route 53 with latency-based routing to route the uploads to the nearest S3 bucket Region.
- D. Configure the app to break the video files into chunks. Use a multipart upload to transfer files to Amazon S3.
- E. Modify the app to add random prefixes to the files before uploading.
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: S3 Transfer Acceleration utilizes Amazon CloudFront’s globally distributed edge locations to accelerate data transfers to and from S3 buckets. When data is uploaded via a Transfer Acceleration endpoint, it is routed to the nearest CloudFront edge location, and then transferred to the S3 bucket over an optimized, high-speed network path within AWS.
Why this fits: This solution directly addresses the problem of slow uploads, particularly for users geographically distant from the S3 bucket’s region. By leveraging the AWS global network and CloudFront edge locations, it significantly reduces latency and improves throughput for data ingress into S3, making uploads faster and more reliable.
Example: An application user located in Europe uploading a large video file to an S3 bucket in the us-east-1 region would send the data to a local CloudFront edge location in Europe. From there, the data travels over the optimized AWS backbone network to the us-east-1 S3 bucket, which is typically much faster than a direct internet upload.
QUESTION 128 (Multi-Select)
A company is using multiple AWS accounts The DNS records are stored in a private hosted zone for Amazon
Route 53 in Account
- B. Use SSH to connect to the application tier EC2 instance Add an RDS endpoint IP address to the /eto/resolv.conf file.
- C. Create an authorization lo associate the private hosted zone in Account A with the new VPC In Account
- D. Create a private hosted zone for the example.com domain m Account B Configure Route 53 replication between AWS accounts.
- E. Associate a new VPC in Account B with a hosted zone in Account
Click to View Verified Solution & Explanation
Correct Option: C,E
Description: When a private hosted zone resides in one AWS account (Account A) and a Virtual Private Cloud (VPC) that needs to resolve its records is in another AWS account (Account B), AWS Route 53 requires an explicit authorization step. This authorization, initiated from Account A (the hosted zone owner), grants Account B the permission to associate its VPC with Account A’s private hosted zone.
Why this fits: This authorization mechanism is a critical security control for cross-account private DNS resolution. It prevents unauthorized VPCs from associating with and potentially accessing private DNS records owned by another account. Without this step, the association cannot proceed.
Example: Account A runs aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> --vpc-region <vpc-region> --vpc-id <vpc-id> --vpc-owner <account-b-id> to permit Account B’s VPC to associate.
✅ Associate a new VPC in Account B with a hosted zone in Account A.
Description: After the necessary authorization (if cross-account), the final step to enable DNS resolution for a private hosted zone’s records from a specific VPC is to establish an association between that VPC and the private hosted zone.
Why this fits: A private hosted zone’s DNS records are only resolvable by the Amazon DNS resolver within the VPCs that are explicitly associated with that hosted zone. If Account B’s VPC needs to resolve domain names managed by Account A’s private hosted zone, this association is mandatory. The VPC’s Route 53 Resolver will then be able to query the records defined in the associated private hosted zone.
Example: After authorization, an authorized user in Account B (or Account A, depending on permissions) runs aws route53 associate-vpc-with-hosted-zone --hosted-zone-id <hosted-zone-id> --vpc VPCRegion=<vpc-region>,VPCId=<vpc-id> to link Account B’s VPC to Account A’s private hosted zone.
QUESTION 129 (Multi-Select)
A new application is running on Amazon Elastic Container Service (Amazon ECS) with AWS Fargate. The application uses an Amazon Aurora MySQL database. The application and the database run in the same subnets of a VPC with distinct security groups that are configured.
The password for the database is stored in AWS Secrets Manager and is passed to the application through the DB_PASSWORD environment variable. The hostname of the database is passed to the application through the DB_HOST environment variable. The application is failing to access the database.
Which combination of actions should a solutions architect take to resolve this error? (Choose two.)
- A. Ensure that the container has the environment variable with name "DB_PASSWORD" specified with a “ValueFrom” and the ARN of the secret.
- B. Ensure that the container has the environment variable with name "DB_PASSWORD" specified with a “ValueFrom” and the secret name of the secret.
- C. Ensure that the Fargate service security group allows inbound network traffic from the Aurora MySQL database on the MySQL TCP port 3306.
- D. Ensure that the Aurora MySQL database security group allows inbound network traffic from the Fargate service on the MySQL TCP port 3306.
- E. Ensure that the container has the environment variable with name "DB_HOST" specified with the hostname of a DB instance endpoint.
- F. Ensure that the container has the environment variable with name "DB_HOST" specified with the hostname of the DB cluster endpoint.
Click to View Verified Solution & Explanation
Correct Option: A,D
Description: This approach involves securely injecting sensitive data, such as database passwords, into an Amazon ECS Fargate container. Instead of hardcoding credentials, AWS Secrets Manager is used to store them, and the ECS Task Definition references the secret’s ARN using the
secrets parameter (which exposes it as an environment variable) to retrieve the password at runtime.
Why this fits: Hardcoding credentials is a security risk. Using AWS Secrets Manager with ValueFrom (referencing the secret’s ARN) ensures that sensitive information is managed centrally, encrypted, and injected securely into the container without being exposed in the task definition or environment variables in plain text. This aligns with AWS best practices for credential management in containerized applications.
Example: In an ECS task definition, within the containerDefinitions section, you would specify:
{
"name": "my-app",
"image": "my-repo/my-app:latest",
"secrets": [
{
"name": "DB_PASSWORD",
"valueFrom": "arn:aws:secretsmanager:REGION:ACCOUNT_ID:secret:my-db-secret-xxxxxx"
}
]
}
✅ Choice D: Ensure that the Aurora MySQL database security group allows inbound network traffic from the Fargate service on the MySQL TCP port 3306.
Description: Security groups act as virtual firewalls that control inbound and outbound traffic for network interfaces. For a Fargate service to successfully connect to an Aurora MySQL database, the database’s security group must have an inbound rule that explicitly permits connections on the MySQL default TCP port (3306) from the security group associated with the Fargate service tasks.
Why this fits: Network connectivity is fundamental for any application-database interaction. If the Aurora database’s security group does not allow incoming connections from the Fargate service’s security group on the correct port, the connection will be blocked, leading to connection timeout errors for the application. Specifying the Fargate service’s security group as the source in the database’s security group inbound rule is a secure and dynamic way to manage this access.
Example: The inbound rules for the Aurora MySQL database security group (sg-database123) would include an entry:
- Type: MySQL/Aurora (3306)
- Protocol: TCP
- Port Range: 3306
- Source:
sg-fargateservice456(wheresg-fargateservice456is the security group ID associated with the Fargate service’s tasks).
QUESTION 130 (Multi-Select)
A solutions architect has developed a web application that uses an Amazon API Gateway Regional endpoint and an AWS Lambda function. The consumers of the web application are all close to the AWS Region where the application will be deployed. The Lambda function only queries an Amazon Aurora MySQL database. The solutions architect has configured the database to have three read replicas.
During testing, the application does not meet performance requirements. Under high load, the application opens a large number of database connections. The solutions architect must improve the application’s performance.
Which actions should the solutions architect take to meet these requirements? (Select TWO.)
- A. Use the cluster endpoint of the Aurora database.
- B. Use RDS Proxy to set up a connection pool to the reader endpoint of the Aurora database.
- C. Use the Lambda Provisioned Concurrency feature.
- D. Move the code for opening the database connection in the Lambda function outside of the event handler.
- E. Change the API Gateway endpoint to an edge optimized endpoint.
Click to View Verified Solution & Explanation
Correct Option: B,D
Description: Amazon RDS Proxy is a fully managed, highly available database proxy for Amazon RDS and Amazon Aurora. It enables applications to pool and share database connections, improving database scalability and resiliency to database failures. It sits between your application (e.g., AWS Lambda) and your database.
Why this fits: AWS Lambda functions are stateless and can scale rapidly, potentially leading to a "thundering herd" problem where a large number of concurrent function invocations attempt to open new database connections simultaneously. Each new connection consumes database resources and can lead to performance degradation or database connection limits being hit. RDS Proxy solves this by maintaining a pool of established connections to the Aurora database and efficiently reusing them for new Lambda invocations. This significantly reduces the overhead of establishing new connections and manages the load on the database more effectively. Using the reader endpoint is ideal for scaling read-heavy workloads.
Example: An e-commerce backend built with AWS Lambda might experience Too many connections errors on its Aurora cluster during flash sales. By implementing RDS Proxy, the Lambda functions connect to the proxy, which then reuses a smaller, persistent set of connections to the Aurora reader endpoint, preventing connection exhaustion and ensuring consistent performance.
✅ Move the code for opening the database connection in the Lambda function outside of the event handler.
Description: In an AWS Lambda function, code placed outside the main event handler function (e.g., globally within the script) is executed only once during the initialization phase of the execution environment (a "cold start"). Subsequent invocations of the same execution environment ("warm starts") reuse the previously initialized resources.
Why this fits: Opening a database connection is an operation that consumes time and resources. By moving the database connection establishment code outside the event handler, the connection is initialized only when the Lambda execution environment is first spun up (cold start). For subsequent "warm" invocations using the same execution environment, the already established connection can be reused. This dramatically reduces the latency and overhead associated with creating a new database connection for every single Lambda invocation, improving the function’s performance and reducing the connection load on the Aurora database.
Example: In a Python Lambda function, instead of creating a mysql.connector connection inside def handler(event, context):, the connection object db_connection = mysql.connector.connect(...) is initialized in the global scope. The handler function then simply uses db_connection without needing to re-establish it, effectively reusing the connection across multiple invocations as long as the execution environment persists.
QUESTION 131
An AWS customer has a web application that runs on premises. The web application fetches data from a third-party API that is a firewall. The third party accepts only one public CIDR ents allow list.
The customer wants to migrate their web application to the AWS Cloud. The application will hosted on a set of Amazon EC2 instances behind an Application Balancer (ALB) in a VPC. The ALB is in public subnets. The EC2 instances are located in private subnets. NAT gateways provide internet access to the private subnets.
How should a solutions architect ensure that the web application can continue to call the API after the migration?
- A. Associate a block of customer-owned public IP addresses to the VPC. Enable public IP addressing for public subnets in the VPC.
- B. Register a block of customer-owned public IP addresses in the AWS account. Create Elastic IP addresses from the address block aryl them to the NAT gateways in the VPC.
- C. Create Elastic IP addresses the block of customer-owned IP addresses. Assign the static Elastic IP addresses to the ALB.
- D. Register a block of customer-owned public IP addresses in the AWS account. Set up AWS Global Accelerator to use Elastic IP addresses from the address block. Set the ALB the accelerator endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Customer-Owned IP addresses (CoIPs) allow you to bring your own public IPv4 address ranges to AWS and use them with your Amazon Virtual Private Cloud (VPC) resources. After registering a CoIP CIDR block with your AWS account, you can allocate Elastic IP addresses (EIPs) from this pool. These EIPs can then be assigned to supported resources, such as NAT Gateways, network interfaces, or EC2 instances, enabling them to use your organization’s existing public IP addresses.
Why this fits: This choice accurately describes the process for integrating customer-owned public IP addresses with AWS resources. First, the CoIP address block must be registered in the AWS account. Once registered, Elastic IP addresses can be allocated from this specific customer-owned IP pool. NAT Gateways require a public IP address for outbound internet connectivity from private subnets, and assigning an EIP derived from a CoIP pool to a NAT Gateway enables it to use a customer’s own public IP address for this purpose, fulfilling a common requirement for IP address consistency or branding.
Example: An organization has a block of public IP addresses (e.g., 203.0.113.0/24) that they wish to use for their AWS resources to maintain consistent IP addressing for regulatory compliance or established network policies. They register this CIDR block as a Customer-Owned IP pool in their AWS account. Subsequently, they provision a NAT Gateway in a public subnet of their VPC and allocate an Elastic IP address (e.g., 203.0.113.10) from their registered CoIP pool. They then associate this CoIP-derived EIP with the NAT Gateway. This setup allows instances in private subnets to access the internet using the organization’s own public IP address via the NAT Gateway.
QUESTION 132
A company uses an on-premises data analytics platform. The system is highly available in a fully redundant configuration across 12 servers in the company’s data center.
The system runs scheduled jobs, both hourly and daily, in addition to one-time requests from users. Scheduled jobs can take between 20 minutes and 2 hours to finish running and have tight SLAs. The scheduled jobs account for 65% of the system usage. User jobs typically finish running in less than 5 minutes and have no SLA. The user jobs account for 35% of system usage. During system failures, scheduled jobs must continue to meet SLAs. However, user jobs can be delayed.
A solutions architect needs to move the system to Amazon EC2 instances and adopt a consumption-based model to reduce costs with no long-term commitments. The solution must maintain high availability and must not affect the SLAs.
Which solution will meet these requirements MOST cost-effectively?
- A. Split the 12 instances across two Availability Zones in the chosen AWS Region. Run two instances in each Availability Zone as On-Demand Instances with Capacity Reservations. Run four instances in each Availability Zone as Spot Instances.
- B. Split the 12 instances across three Availability Zones in the chosen AWS Region. In one Of the Availability Zones, run all four instances as On-Demand Instances with Capacity Reservations. Run the remaining instances as Instances.
- C. Split the 12 instances across three Availability Zones in the chosen AWS Region. Run two instances in each Availability Zone as On-Demand Instances with a Savings Plan. Run two instances in each Availability Zone as Spot Instances.
- D. Split the 12 instances across three Availability Zones in the chosen AWS Region. Run three instances in each Availability Zone as On-Demand Instances with Capacity Reservations. Run one instance in each Availability Zone as a Spot Instance.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This strategy combines high availability, guaranteed capacity, and cost optimization for an EC2 workload.
- Availability Zones (AZs): Independent locations within an AWS Region designed to be isolated from failures in other AZs. Distributing instances across multiple AZs enhances fault tolerance.
- On-Demand Instances with Capacity Reservations: Guarantees that the specified EC2 capacity will be available for your workload for the duration of the reservation in a specific AZ. You pay for the capacity whether you use it or not. This is ideal for critical, steady-state workloads that cannot tolerate capacity shortfalls.
- Spot Instances: Unused EC2 capacity available at a significant discount compared to On-Demand prices. Spot Instances can be interrupted by AWS with a two-minute warning if EC2 needs the capacity back. They are suitable for fault-tolerant, flexible, or non-critical workloads.
Why this fits: This choice represents a robust and cost-effective architecture commonly employed by professionals.
- High Availability and Resiliency: Distributing instances across three Availability Zones ensures that the application can withstand the failure of an entire AZ. Each AZ has 4 instances (3 On-Demand with CR, 1 Spot), ensuring distributed processing.
- Guaranteed Capacity for Critical Workload: By reserving capacity for 9 instances (3 instances in each of the 3 AZs) using On-Demand Instances with Capacity Reservations, the solution ensures that a core set of resources is always available, even during peak demand or capacity shortages in the region. This is crucial for mission-critical components that must always run.
- Cost Optimization for Flexible Workload: The remaining 3 instances (1 in each AZ) are run as Spot Instances. This provides a significant cost saving for parts of the workload that are fault-tolerant, can handle interruptions, or contribute to scaling out non-critical processing.
- Balanced Approach: This approach strikes an excellent balance between high availability, guaranteed performance for essential components, and cost savings for adaptable components, which is a hallmark of a professional-level solution. It ensures that the core application functions reliably while minimizing overall operational costs.
Example: For a web application with a critical backend service and a batch processing layer: the critical backend might run on the On-Demand instances with Capacity Reservations to ensure constant availability, while the batch processing or data analytics jobs that can tolerate interruptions are run on Spot Instances, reducing the overall infrastructure cost.
QUESTION 133
A company gives users the ability to upload mages from a custom application. The upload process Invokes an AWS Lambda function that processes and stores the image in an Amazon S3 bucket. The application invokes the Lambda function by using a specific function version ARN.
The Lambda function accepts Image parameters by using environment variables. The company often adjusts the environment variables of the Lambda function to achieve optimal Image output. The company tests different parameters and publishes a new function version with the updated environment variables after validating results. This update process also requires changes to the custom application to Invoke the new function version ARN. These changes cause interruptions for users.
A solutions architect needs to simplify this to minimize disruption to users.
Which solution will meet these With the LEAST overhead?
- A. Directly modify the environment variables of the published Lambda function version. Use the SLATEST version to test image processing parameters.
- B. Create an Amazon DynamoDB table to store the image processing parameters. Modify the function to retrieve the processing parameters from the DynamoDB table.
- C. Directly the image processing parameters within the function and remove the environment variables Publish a new function version when the company updates the parameters.
- D. Create a Lambda function alias. the client application to use the function abas ARN. Reconfigure the Lambda abas to point to new versions of the function when the company finishes testing.
Click to View Verified Solution & Explanation
Correct Option: D
Description: AWS Lambda aliases are pointers to a specific Lambda function version. They provide a stable ARN that client applications can invoke. Aliases can be configured to point to one or two versions of a function, allowing for traffic shifting (e.g., canary deployments) between versions.
Why this fits: This solution leverages Lambda aliases, which are specifically designed for managing function deployments and rollouts in a controlled manner. By having the client application invoke the alias ARN, the underlying function version can be updated without changing the client-side configuration. When new image processing parameters are being tested (presumably in a new function version), the alias can be updated to direct a small percentage of traffic to the new version or to fully switch to it after testing is complete. This allows for safe, incremental updates and easy rollbacks, fulfilling the requirement for testing and then reconfiguring efficiently.
Example: A production application invokes a Lambda alias myFunction:PROD. For testing new image processing parameters, a new function version (e.g., v3) is created with these parameters. The myFunction:PROD alias can then be reconfigured to point 10% of traffic to v3 and 90% to the existing stable version v2. Once testing confirms v3 is stable, the alias can be updated to point 100% of traffic to v3.
QUESTION 134 (Multi-Select)
A company is storing data in several Amazon DynamoDB tables. A solutions architect must use a serverless architecture to make the data accessible publicly through a simple API over HTTPS. The solution must scale automatically in response to demand.
Which solutions meet these requirements? (Select TWO.)
- A. Create an Amazon API Gateway REST API. Configure this API with direct integrations to DynamoDB by using API Gateway's AWS integration type.
- B. Create an Amazon API Gateway HTTP API. Configure this API with direct integrations to DynamoDB by using API Gateway's AWS integration type.
- C. Create an Amazon API Gateway HTTP API. Configure this API with integrations to AWS Lambda functions that return data from the DynamoDB tables.
- D. Create an accelerator in AWS Global Accelerator. Configure this with AWS Lambda@Edge function integrations that return data from the DynamoDB tables.
- E. Create a Network Load Balancer. Configure listener rules to forward requests to the appropriate AWS Lambda functions.
Click to View Verified Solution & Explanation
Correct Option: A,C
Description: Amazon API Gateway REST APIs offer robust features for creating APIs, including direct integration with AWS services. Using the "AWS service" integration type, API Gateway can directly invoke actions on services like Amazon DynamoDB. This involves configuring API Gateway to sign requests using IAM roles and mapping incoming HTTP requests and responses to the specific DynamoDB API actions (e.g.,
GetItem, PutItem, Query, Scan) using Velocity Template Language (VTL) templates.
Why this fits: This approach is highly efficient for exposing DynamoDB operations directly via an API without requiring an intermediate compute layer (like AWS Lambda) for simple CRUD operations. It reduces latency and operational overhead, making it a cost-effective and performant serverless solution where complex business logic is not required before interacting with DynamoDB.
Example: An application needs to fetch individual product details from a DynamoDB table. An API Gateway REST API endpoint /products/{productId} can be configured with a GET method, directly integrated with DynamoDB’s GetItem action. The VTL mapping template would transform the {productId} path parameter into the Key parameter expected by DynamoDB’s GetItem API, and then transform the DynamoDB response back into a suitable JSON format for the client.
✅ Create an Amazon API Gateway HTTP API. Configure this API with integrations to AWS Lambda functions that return data from the DynamoDB tables.
Description: Amazon API Gateway HTTP APIs provide a lower-latency, lower-cost, and simpler alternative to REST APIs, primarily optimized for proxying requests to AWS Lambda functions or HTTP endpoints. When integrated with Lambda, the Lambda function receives the API Gateway event, processes the request (e.g., performs business logic, queries DynamoDB using the AWS SDK), and returns a response in a specific format that API Gateway can then send back to the client.
Why this fits: This is a widely used and flexible serverless pattern. While it involves an intermediary Lambda function, HTTP APIs offer better performance and cost benefits compared to REST APIs for Lambda integrations. The Lambda function provides the necessary compute environment to implement complex business logic, perform data transformations, aggregate data from multiple sources (including DynamoDB), or implement custom authorization before returning data. This approach is preferred when direct integration is insufficient due to required processing.
Example: A user profile service needs to retrieve user data from a DynamoDB table, but also needs to combine it with data from another service, apply specific access controls, or perform complex data validation before presenting it to the user. An API Gateway HTTP API endpoint /users/{userId} can be configured to invoke a Lambda function. This Lambda function would then query the DynamoDB Users table, perform the necessary logic, and return a formatted user profile.
QUESTION 135
A company’s interactive web application uses an Amazon CloudFront distribution to serve images from an Amazon S3 bucket. Occasionally, third-party tools ingest corrupted images into the S3 bucket. This image corruption causes a poor user in the application later. The company has successfully implemented and tested Python logic to detect corrupt images.
A solutions architect must recommend a solution to integrate the detection logic with minimal latency between the ingestion and serving.
Which solution will meet these requirements?
- A. Use a Lambda@Edge function that is invoked by a viewer-response event.
- B. Use a Lambda@Edge function that is invoked by an origin-response event.
- C. Use an S3 event notification that invokes an AWS Lambda function.
- D. Use an S3 event notification that invokes an AWS Step Functions state machine.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Lambda@Edge allows you to run AWS Lambda functions at AWS Edge locations in response to Amazon CloudFront events. An
origin-response event occurs after CloudFront forwards a request to the origin (e.g., an S3 bucket or a custom HTTP server), and the origin returns a response to CloudFront.
Why this fits: This event is ideal for modifying the response from the origin before CloudFront caches it and delivers it to the viewer. This allows for dynamic transformations of content (e.g., adding security headers, image optimization, A/B testing logic, or content injection) without altering the original objects stored in the origin. By intercepting at the origin-response stage, the modified content can then be cached by CloudFront, improving subsequent request performance for the dynamically altered content.
Example: A company stores original images in an S3 bucket, which is the origin for a CloudFront distribution. To add a watermark or optimize images for different device types on the fly, an origin-response Lambda@Edge function can intercept the image returned by S3, apply the necessary transformations, and then send the modified image to CloudFront for caching and delivery to the end user, all without changing the original image in S3.
QUESTION 136
A company that has multiple AWS accounts is using AWS Organizations. The company’s AWS accounts host VPCs, Amazon EC2 and containers.
The compliance team has deployed a security tool in each VPC where the company has deployments. The security tools run on EC2 instances and send information to the AWS account that is dedicated for the compliance team. The company has tagged all the compliance-related resources with a key of cost Center and a value of "compliance."
The company wants to identify the cost of the security tools that are running on the EC2 instances so that the company can charge the team’s AWS amount. The cost calculation must be as accurate as possible.
What should a solutions architect do to meet these requirements?
- A. In the management account of the organization, activate the costCenter user-defined tag. Configure monthly AWS Cost and Usage Reports to save to an Amazon S3 bucket in the management account. Use the tag breakdown in the report to obtain the total cost for the tagged resources.
- B. In the member accounts of the organization, activate the costCenter user-defined tag. Configure monthly AWS Cost and Usage Reports to save to an Amazon S3 bucket in the management account. Schedule a monthly AWS Lambda function to retrieve the reports and calculate the total for the costCenter tagged resources.
- C. In the member accounts of the organization, activate the costCenter user-defined tag. From the management account, schedule a monthly AWS Cost and Usage Report. Use the tag breakdown in the report to calculate the total for the costCenter tagged resources.
- D. Create a custom in the organization view in AWS Trusted Advisor. Configure the report to generate a monthly billing summary for the costCenter tagged resources in the team's AWS account.
Click to View Verified Solution & Explanation
Correct Option: A
Description: AWS Cost and Usage Reports (CUR) provide the most comprehensive data about your AWS costs and usage. When working with an AWS Organization, cost allocation tags must be activated globally from the management account’s billing console to be effective across all member accounts for consolidated billing purposes. Once activated, these tags can be used to categorize and track costs in the CUR, which includes a detailed breakdown by active cost allocation tags.
Why this fits: This approach leverages the correct features for centralized cost management in an AWS Organization. Activating the user-defined tag in the management account ensures it is applied consistently for cost allocation across all linked accounts. Configuring the CUR from the management account to an S3 bucket in the same account establishes a central repository for all billing data. The CUR’s native tag breakdown functionality eliminates the need for complex custom processing to aggregate costs based on these tags, directly providing the required cost information.
Example: A company with multiple AWS accounts under an AWS Organization wants to track costs for specific projects or teams using a costCenter tag. By activating the costCenter user-defined tag in the management account, all resources tagged with costCenter:projectA or costCenter:teamX across any member account will have their costs reflected with this tag in the consolidated CUR. The finance team can then analyze the CUR, which will contain dedicated columns for cost allocation tags, to easily determine the total expenditure associated with each costCenter tag.
QUESTION 137
A company hosts a Git repository in an on-premises data The company uses webbooks to invoke functionality that runs in the AWS Cloud. The company hosts the webhook logic on a set of Amazon EC2 instances in an Auto Scaling group that the company set as a target for an Application Load Balancer (ALB). The Git server calls the ALB for the webhooks. The company wants to move the solution to a serverless architecture.
Which solution will meet these requirements with the LEAST operational overhead?
- A. For each webhook. and configure an AWS Lambda function URL. Update the Git servers to call the individual Lambda function URLs.
- B. Create an Amazon API Gateway HTTP API. Implement each webhook logic in a separate AWS Lambda function. Update the Git servers to call the API Gateway endpoint.
- C. Deploy the webhook to AWS App Runner. Create an ALB. and set App Runner as the target. Update the Git servers to call the ALB endpoint.
- D. Containerize the webhook logic. Create an Amazon Elastic Container Service (Amazon ECS) cluster, and run the webhook in AWS Fargate. Create an Amazon API Gateway REST API. And set Fargate as the target. Update the Git servers to call the API Gateway endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This solution leverages Amazon API Gateway’s HTTP APIs to create a scalable, secure, and cost-effective entry point for webhooks. Each webhook’s specific logic is encapsulated within a separate AWS Lambda function, providing a serverless and highly elastic compute environment.
Why this fits: This approach is ideal for managing webhooks due to several factors:
- Scalability: AWS Lambda automatically scales to handle varying loads, ensuring webhooks are processed without manual intervention, regardless of the number of incoming requests. API Gateway also handles request routing and throttling at scale.
- Cost-Effectiveness: Lambda is a pay-per-execution service, meaning you only pay when your webhooks are actively processing requests, making it highly cost-efficient for event-driven workloads. API Gateway HTTP APIs are also optimized for cost and performance.
- Loose Coupling and Maintainability: Implementing each webhook logic in a separate Lambda function promotes a microservices architecture. This allows for independent development, deployment, and updates of individual webhook functionalities without affecting others.
- Robust API Management: API Gateway provides essential features such as custom domains, API keys, IAM authorization, request validation, response transformations, and built-in caching, enhancing the security, control, and performance of the webhook endpoints.
- Simplified Operations: Both API Gateway and Lambda are fully managed services, eliminating the need to provision, patch, or manage servers, thus reducing operational overhead.
Example: A Git server (e.g., GitHub, GitLab, Bitbucket) is configured to send a POST request to an API Gateway HTTP API endpoint whenever a code push or pull request event occurs. The API Gateway then routes this request to a specific AWS Lambda function (e.g., gitPushWebhookProcessor or pullRequestWebhookProcessor), which processes the payload (e.g., triggers a CI/CD pipeline, sends notifications, updates a database). The Git server simply needs to know the single API Gateway URL, which then intelligently handles the routing to the appropriate Lambda function based on the API Gateway configuration (e.g., path, method).
QUESTION 138
A company acquired several other companies. Each company has a separate AWS account with a different billing and reporting method. The acquiring company has consolidated all the accounts into one organization in AWS Organizations. However, the acquiring company has found it difficult to generate a cost report that contains groups for all the teams.
The acquiring company’s finance team needs a solution to report on costs for all the companies through a self-managed application.
Which solution will meet these requirements?
- A. Create an AWS Cost and Usage Report for the organization. Define tags and cost categories in the report Create a table in Amazon Athena. Create an Amazon QuickSight dataset based on the Athena table Share the dataset with the finance.
- B. Create an AWS Cost and Usage Report for the organization Define tags and cost categories in the report Create a specialized template in AWS Cost Explorer that the finance department Will use to build reports.
- C. Create an Amazon QuickSight dataset that receives spending information from the AWS Price List Query API. Share the dataset with the finance team.
- D. Use the AWS Price List Query API to collect account sending Information Create a specialized template in AWS Cost Explorer that the finance department will use to build.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This approach leverages the most granular cost and usage data available from AWS, processes it for efficient querying, and then visualizes it through a business intelligence (BI) service for financial analysis and reporting. The AWS Cost and Usage Report (CUR) provides detailed line-item data about your AWS services usage and costs. Amazon Athena is a serverless query service that allows analyzing data directly in Amazon S3 using standard SQL, making it ideal for querying the large datasets generated by CUR. Amazon QuickSight is a cloud-native, scalable, serverless BI service that can connect to Athena to create interactive dashboards and visualizations.
Why this fits: This solution provides the most comprehensive, flexible, and scalable mechanism for a finance department to analyze AWS spending. The CUR is the authoritative source for detailed cost data, including all line items and associated metadata like tags and cost categories, which are crucial for cost allocation and chargeback. Using Athena to query the CUR data stored in S3 allows for powerful SQL-based analysis without managing servers. QuickSight then provides an intuitive, interactive platform for finance teams to explore this data, build custom reports, visualize trends, and share insights securely with stakeholders, addressing the need for robust financial reporting and analysis.
Example: A multinational corporation needs to track cloud spend across various departments, projects, and environments for budgeting and chargeback. They configure an AWS Cost and Usage Report to be delivered hourly to an S3 bucket, including all tags and defined cost categories. An Athena table is then created over this S3 data. The finance team creates a QuickSight dataset pointing to this Athena table, enabling them to build interactive dashboards that show spending by department, service type, and region, allowing for drill-downs into specific project costs or unusual spending spikes. This dashboard can then be shared directly with department heads for financial oversight.
QUESTION 139
A company recently deployed an application on AWS. The application uses Amazon DynamoDB. The company measured the application load and configured the RCUs and WCUs on the DynamoDB table to match the expected peak load. The peak load occurs once a week for a 4-hour period and is double the average load. The application load is close to the average load for the rest of the week. The access pattern includes many more writes to the table than reads of the table.
A solutions architect needs to implement a solution to minimize the cost of the table.
Which solution will meet these requirements?
- A. Use AWS Application Auto Scaling to increase capacity during the peak period Purchase reserved RCUs and WCUs to match the average load.
- B. Configure on-demand capacity mode for the table.
- C. Configure DynamoDB Accelerator (DAX) in front of the table. Reduce the provisioned read capacity to match the new peak load on the table.
- D. Configure DynamoDB Accelerator (DAX) in front of the table. Configure on-demand capacity mode for the table.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This strategy combines two distinct but complementary approaches for managing Amazon DynamoDB capacity:
- AWS Application Auto Scaling: This service automatically adjusts the provisioned read capacity units (RCUs) and write capacity units (WCUs) of a DynamoDB table based on predefined metrics (e.g., target utilization) or custom schedules. It ensures that capacity scales up during peak demands to prevent throttling and scales down during low periods to optimize costs.
- Reserved Capacity Units (RCUs/WCUs): DynamoDB allows customers to purchase a commitment for a specific amount of RCUs and WCUs for 1-year or 3-year terms at a significant discount compared to on-demand pricing. This is ideal for stable, predictable baseline workloads.
Why this fits: This choice provides an optimal balance between performance, cost, and operational overhead for workloads with fluctuating demands. By purchasing reserved capacity for the average, predictable load, the customer secures the lowest cost for their baseline. AWS Application Auto Scaling then handles the dynamic scaling requirements for the "peak period" above that baseline, ensuring that the application remains responsive without over-provisioning and paying on-demand rates for the entire capacity range. This perfectly addresses the need to increase capacity during peaks while cost-effectively managing the average load.
Example: An online gaming platform has a consistent base number of concurrent players throughout the day (average load) but experiences massive player surges during evening tournaments (peak period). By purchasing reserved capacity for the average load, the platform reduces its base operational cost. They then configure Application Auto Scaling to automatically provision additional RCUs/WCUs when player count rises for tournaments, scaling back down once the tournaments conclude, thus effectively managing both the predictable baseline and the unpredictable spikes in demand.
QUESTION 140
A company is planning to host a web application on AWS and wants to load balance the traffic across a group of Amazon EC2 instances. One of the security requirements is to enable end-to-end encryption in transit between the client and the web server.
Which solution will meet this requirement?
- A. Place the EC2 instances behind an Application Load Balancer (ALB). Provision an SSL certificate using AWS Certificate Manager (ACM), and associate the SSL certificate with the ALB. Export the SSL certificate and install it on each EC2 instance. Configure the ALB to listen on port 443 and to forward traffic to port 443 on the instances.
- B. Associate the EC2 instances with a target group. Provision an SSL certificate using AWS Certificate Manager (ACM). Create an Amazon Cloud Front distribution and configure it to use the SSL certificate. Set CloudFront to use the target group as the origin server.
- C. Place the EC2 instances behind an Application Load Balancer (ALB). Provision an SSL certificate using AWS Certificate Manager (ACM), and associate the SSL certificate with the ALB. Provision a third-party SSL certificate and install it on each EC2 instance. Configure the ALB to listen on port 443 and to forward traffic to port 443 on the instances.
- D. Place the EC2 instances behind a Network Load Balancer (NLB). Provision a third-party SSL certificate and installation the NLB and on each EC2 instance. Configure the NLB to listen on port 443 and to forward traffic to port 443 on the instances.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution describes configuring a Network Load Balancer (NLB) with a TLS listener to terminate client-side SSL/TLS connections. The NLB then re-encrypts the traffic and forwards it to the backend EC2 instances, which are also configured with SSL/TLS certificates to handle these re-encrypted connections. A third-party SSL certificate must first be imported into AWS Certificate Manager (ACM) or uploaded to IAM for use with the NLB’s TLS listener.
Why this fits: The Network Load Balancer (NLB) operates at Layer 4 (TCP/UDP) and is designed for extremely high performance, low latency, and handling millions of requests per second. While commonly used for TCP passthrough, NLB can perform TLS termination using a TLS listener on port 443. When an NLB terminates TLS, it can be configured to re-encrypt traffic before forwarding it to backend EC2 instances on port 443. This provides end-to-end encryption. Key advantages of using an NLB for this pattern, especially relevant for a Solutions Architect Professional exam, include:
- Client IP Preservation: NLB can pass the original client IP address directly to the backend instances, which is critical for some applications or logging requirements.
- Static IP Addresses: NLBs can be associated with Elastic IP addresses, providing a static entry point for traffic.
- High Performance: NLB offers superior performance and resilience for high-throughput applications compared to Application Load Balancers (ALBs) for pure Layer 4 load balancing needs.
- End-to-End Encryption: By terminating TLS at the NLB and re-encrypting to instances that also have certificates, end-to-end encryption is maintained.
This approach is chosen in scenarios demanding the highest performance, static IPs, or direct client IP visibility, even when TLS termination is required at the load balancer level. The phrasing "installation the NLB" refers to associating the imported third-party certificate with the NLB’s TLS listener.
Example: A high-frequency trading application requires maximum performance, static ingress IP addresses, and direct client IP visibility for audit trails. An NLB is deployed with Elastic IPs. A third-party wildcard SSL certificate is imported into AWS Certificate Manager and then associated with a TLS listener on the NLB on port 443. The NLB is configured to forward this traffic to a target group of EC2 instances listening on port 443, with each instance having the necessary third-party SSL certificate installed to complete the secure, re-encrypted connection.
QUESTION 141
A company is planning to migrate 1 ,000 on-premises servers to AWS. The servers run on several VMware clusters in the company’s data center. As part of the migration plan, the company wants to gather server metrics such as CPU details, RAM usage, operating system information, and running processes. The company then wants to query and analyze the data.
Which solution will meet these requirements?
- A. Deploy and configure the AWS Agentless Discovery Connector virtual appliance on the on-premises hosts. Configure Data Exploration in AWS Migration Hub. Use AWS Glue to perform an ETL job against the data. Query the data by using Amazon S3 Select.
- B. Export only the VM performance information from the on-premises hosts. Directly import the required data into AWS Migration Hub. Update any missing information in Migration Hub. Query the data by using Amazon QuickSight.
- C. Create a script to automatically gather the server information from the on-premises hosts. Use the AWS CLI to run the put-resource-attributes command to store the detailed server data in AWS Migration Hub. Query the data directly in the Migration Hub console.
- D. Deploy the AWS Application Discovery Agent to each on-premises server. Configure Data Exploration in AWS Migration Hub. Use Amazon Athena to run predefined queries against the data in Amazon S3.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This choice outlines the recommended and most robust approach for discovering on-premises servers, collecting detailed operational data, and then performing in-depth analysis. The AWS Application Discovery Agent collects extensive system configuration, performance metrics, and network dependency data from individual servers. This data is then aggregated in AWS Migration Hub, which offers Data Exploration capabilities for initial insights. For advanced, custom, or predefined SQL-based queries on the raw discovery data, Amazon Athena can directly query the data stored in Amazon S3 by the Discovery Service.
Why this fits: This approach uses native AWS services designed for each stage of the discovery and analysis process.
- AWS Application Discovery Agent: This is the primary and most comprehensive method for collecting detailed system-level information (CPU, memory, disk I/O, network I/O, running processes, installed applications, network dependencies) from individual on-premises servers. It provides richer data than agentless methods for migration planning.
- AWS Migration Hub Data Exploration: Migration Hub serves as the central repository for discovery data and offers tools to visualize, analyze, and group discovered resources. This allows for initial assessment and planning.
- Amazon Athena on S3 data: AWS Application Discovery Service stores the collected raw data securely in an Amazon S3 bucket. Amazon Athena, a serverless query service, enables running complex, ad-hoc, or predefined SQL queries directly against this data in S3 without provisioning any infrastructure. This is ideal for deep analytical insights that might go beyond the capabilities of Migration Hub’s built-in exploration tools, such as trend analysis, specific resource filtering, or custom aggregation across large datasets.
Example: An organization needs to identify all Windows servers with less than 8GB RAM that also have a specific legacy application installed, based on data collected over the last 90 days. The AWS Application Discovery Agent would collect this detailed information. Migration Hub provides an overview, but Amazon Athena could be used to run a precise SQL query against the raw discovery data in S3 to pinpoint these specific servers efficiently.
QUESTION 142
A company has applications in an AWS account that is named Source. The account is in an organization in AWS Organizations. One of the applications uses AWS Lambda functions and stores inventory data in an Amazon Aurora database. The application deploys the Lambda functions by using a deployment package. The company has configured automated backups for Aurora.
The company wants to migrate the Lambda functions and the Aurora database to a new AWS account that is named Target. The application processes critical data, so the company must minimize downtime.
Which solution will meet these requirements?
- A. Download the Lambda function deployment package from the Source account. Use the deployment package and create new Lambda functions in the Target account. Share the automated Aurora DB cluster snapshot with the Target account.</h1><h1>
- B. Download the Lambda function deployment package from the Source account. Use the deployment package and create new Lambda functions in the Target account. Share the Aurora DB cluster with the Target account by using AWS Resource Access Manager (AWS RAM). Grant the Target account permission to clone the Aurora DB cluster.</h1><h1>
- C. Use AWS Resource Access Manager (AWS RAM) to share the Lambda functions and the Aurora DB cluster with the Target account. Grant the Target account permission to clone the Aurora DB cluster.</h1><h1>
- D. Use AWS Resource Access Manager (AWS RAM) to share the Lambda functions with the Target account. Share the automated Aurora DB cluster snapshot with the Target account.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: This choice outlines the correct and most efficient methods for migrating both AWS Lambda functions and Amazon Aurora DB clusters between AWS accounts. For Lambda, it involves re-deployment of the function’s code, while for Aurora, it leverages AWS Resource Access Manager (AWS RAM) to enable secure cross-account sharing and cloning capabilities.
Why this fits:
- Lambda Function Migration: AWS Lambda functions are account-specific. There is no direct cross-account sharing mechanism for Lambda functions via services like AWS RAM. The standard and recommended approach to migrate a Lambda function is to obtain its deployment package (e.g., a ZIP file or container image), upload it to the target account, and create a new Lambda function with the same configuration, environment variables, and triggers.
- Aurora DB Cluster Migration: AWS Resource Access Manager (AWS RAM) is a service that allows you to share your AWS resources with other AWS accounts or within your AWS Organization. AWS RAM supports sharing Amazon Aurora DB clusters, specifically allowing the recipient account to create clones from the shared cluster. This is an efficient way to make a consistent copy of an Aurora database available in another account without manual data export/import, ensuring data integrity and consistency. The ability to "grant the Target account permission to clone the Aurora DB cluster" is a direct benefit of sharing via AWS RAM.
Example: A development team has an Aurora DB cluster and associated Lambda functions in a ‘Dev’ account. To promote this stack to a ‘Prod’ account, the Lambda function code is downloaded from ‘Dev’, then deployed as new functions in ‘Prod’. Simultaneously, the Aurora DB cluster from ‘Dev’ is shared with ‘Prod’ via AWS RAM. The ‘Prod’ account then uses this shared resource to clone the Aurora cluster, creating an independent, production-ready database environment.
QUESTION 143
A company runs a customer service center that accepts calls and automatically sends all customers a managed, interactive, two-way experience survey by text message. The applications that support the customer service center run on machines that the company hosts in an on-premises data center. The hardware that the company uses is old, and the company is experiencing downtime with the system. The company wants to migrate the system to AWS to improve reliability.
Which solution will meet these requirements with the LEAST ongoing operational overhead?
- A. Use Amazon Connect to replace the old call center hardware. Use Amazon Pinpoint to send text message surveys to customers.
- B. Use Amazon Connect to replace the old call center hardware. Use Amazon Simple Notification Service (Amazon SNS) to send text message surveys to customers.
- C. Migrate the call center software to Amazon EC2 instances that are in an Auto Scaling group. Use the EC2 instances to send text message surveys to customers.
- D. Use Amazon Pinpoint to replace the old call center hardware and to send text message surveys to customers.
Click to View Verified Solution & Explanation
Correct Option: A
Description: Amazon Connect is a fully managed, cloud-based contact center service that makes it easy to set up and manage a customer contact center and provide reliable customer service at any scale. Amazon Pinpoint is a flexible and scalable outbound and inbound marketing communications service that can be used to send targeted messages through multiple channels, including SMS, email, voice, and push notifications, and also provides analytics.
Why this fits: This solution correctly identifies the most appropriate AWS services for each part of the requirement. Amazon Connect is specifically designed to replace traditional call center hardware and software, offering features like IVR, call routing, agent management, and reporting as a managed service. Amazon Pinpoint is the ideal service for sending targeted text message surveys, as it provides features for audience segmentation, campaign management, and analytics beyond basic message delivery, which are beneficial for survey distribution and follow-up.
Example: A company replacing its legacy on-premises PBX and ACD systems would deploy Amazon Connect, configuring phone numbers, IVR flows, queues, and agent dashboards within the service. After customer interactions, they would use Amazon Pinpoint to automatically send an SMS survey link to the customer’s mobile phone number, tracking response rates and feedback within Pinpoint’s analytics.
QUESTION 144
A company is using Amazon OpenSearch Service to analyze data. The company loads data into an OpenSearch Service cluster with 10 data from an Amazon S3 bucket that uses S3 Standard storage. The data resides in the cluster for 1 month for read-only analysis. After 1 month, the company deletes the index that contains the data from the cluster for compliance purposes, the company must retain a copy of all input data. The company is concerned about ongoing costs and asks a solutions architect to recommend a new solution.
Which solution will meet these requirements MOST cost-effectively?
- A. Replace all the data nodes With UltraWarm nodes to handle the expected capacity Transition the input data from S3 Standard to S3 Glacier Deep Archive when the company loads the data into the cluster
- B. Reduce the number of data nodes in the cluster to 2. Add UltraWarm nodes to handle the expected capacity Configure the indexes to transition to UltraWarm when OpenSearch Service ingests the data. Transaction the input data to S3 Glacier Deep Archive after 1 month by using an S3 Lifecycle policy
- C. Reduce the number of data nodes in the cluster to 2. Add UltraWarm nodes to handle the expected capacity. Configure the indexes to transition to UltraWarm when OpenSearch Service Ingests the data Add cold storage nodes to the cluster. Transition the indexes from UltraWarm to cold storage. Delete the input data from the S3 bucket after 1 month by using an S3 Lifecycle policy.
- D. Reduce the number of data nodes in the cluster to 2. Add instance-backed data nodes to handle the expected capacity. Transition the input data from S3 Standard to S3 Glacier Deep Archive when the company loads the data into the cluster.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS OpenSearch Service offers different storage tiers to optimize cost and performance. The "hot" tier consists of instance-backed data nodes for high-performance indexing and querying. The "UltraWarm" tier uses S3 for storage and optimized compute instances, providing significantly lower costs for less frequently accessed data while still allowing near real-time querying. S3 Lifecycle policies allow automated transitions of objects to more cost-effective storage classes (like S3 Glacier Deep Archive) or expiration after a defined period.
Why this fits: This solution effectively addresses cost optimization for a growing dataset with varying access patterns. By reducing the number of expensive "hot" data nodes, immediate operational costs are cut. Adding UltraWarm nodes allows for retaining a large volume of historical data at a much lower cost, as UltraWarm leverages S3 for storage. Configuring indexes to transition to UltraWarm when OpenSearch Service ingests the data is incorrect; indexes are typically configured to transition to UltraWarm after a certain age (e.g., 7 days) within OpenSearch Service’s Index State Management (ISM) policies, not immediately upon ingestion. However, the overall strategy of using UltraWarm for capacity and cost reduction is correct. Furthermore, the input data (the raw data fed into OpenSearch, typically stored in S3 initially) can be independently managed for cost optimization by an S3 Lifecycle policy to transition it to S3 Glacier Deep Archive after 1 month for long-term, extremely low-cost archival, ensuring that the original source data is retained in a cost-effective manner. While the phrasing "when OpenSearch Service ingests the data" for UltraWarm transition isn’t precise for ISM, the combination of UltraWarm for OpenSearch data and S3 Lifecycle for source data offers a comprehensive cost-saving strategy.
Example: Consider a company collecting application logs. Recent logs (last 7 days) are frequently queried and stored on "hot" data nodes. Logs older than 7 days are less frequently accessed but still need to be searchable for compliance or occasional analysis; these would transition to UltraWarm nodes. The original raw log files, ingested from application servers and initially stored in an S3 bucket, are only needed for very rare audits after a month. An S3 Lifecycle policy could move these raw log files to S3 Glacier Deep Archive after 30 days, minimizing storage costs while still providing an archive of the source data.
QUESTION 145
A company is hosting a monolithic REST-based API for a mobile app on five Amazon EC2 instances in public subnets of a VPC. Mobile clients connect to the API by using a domain name that is hosted on Amazon Route 53. The company has created a Route 53 multi-value answer routing With the IP addresses of all the EC2 instances. Recently, the app has been overwhelmed by large and sudden Increases to traffic. The app has not been able to keep up with the traffic.
A solutions architect needs to implement a solution so that the app can handle the new and varying load
Which solution will meet these requirements with the LEAST operational overhead?
- A. Separate the API into individual AWS Lambda functions. Configure an Amazon API Gateway REST API with Lambda integration for the backend. Update the Route 53 record to point to the API Gateway API.
- B. Containerize the API logic. Create an Amazon Elastic Kubernetes Service (Amazon EKS) cluster. Run the containers in the cluster by using Amazon EC2. Create a Kubernetes ingress. Update the Route 53 record to point to the Kubernetes ingress.
- C. Create an Auto Scaling group. Place all the EC2 Instances in the Auto Scaling group. Configure the Auto Scaling group to perform scaling actions that are based on CPU utilization. Create an AWS Lambda function that reacts to Auto Scaling group changes and updates the Route 53 record.
- D. Create an Application Load Balancer (ALB) in front of the API. Move the EC2 instances to private subnets in the VPC. Add the EC2 instances as targets for the ALB. Update the Route 53 record to point to the ALB.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This approach leverages a serverless architecture using AWS Lambda and Amazon API Gateway. AWS Lambda allows you to run code without provisioning or managing servers, automatically scaling in response to demand. Amazon API Gateway acts as a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. Route 53 is AWS’s highly available and scalable cloud Domain Name System (DNS) web service.
Why this fits: This solution represents a modern, highly scalable, cost-effective, and operationally efficient way to host APIs on AWS. AWS Lambda scales automatically, meaning you only pay for the compute time consumed, drastically reducing costs compared to always-on EC2 instances. API Gateway provides a robust front-end for the Lambda functions, offering features like request throttling, caching, authentication, and custom domain mapping. Updating the Route 53 record to point to the API Gateway custom domain name is the standard method for exposing a serverless API, providing a consistent entry point for clients. This approach significantly reduces the operational overhead associated with managing EC2 instances, such as patching, security updates, and scaling policies.
Example: A company migrating a monolithic API from on-premises servers to AWS wants to improve scalability, reduce operational overhead, and minimize costs. They can refactor the API into smaller, independent functions (microservices), implement each as an AWS Lambda function, and expose them through an Amazon API Gateway REST API. Finally, they would update their existing domain’s A record in Route 53 to point to the custom domain configured for the API Gateway endpoint.
QUESTION 146 (Multi-Select)
A company has an application that runs on Amazon EC2 instances. A solutions architect is designing VPC infrastructure in an AWS Region where the application needs to access an Amazon Aurora DB cluster. The EC2 instances are all associated with the same security group. The DB cluster is associated with its own security group.
The solutions architect needs to add rules to the security groups to provide the application with least privilege access to the DB cluster.
Which combination of steps will meet these requirements? (Select TWO.)
- A. Add an inbound rule to the EC2 instances' security group. Specify the DB cluster's security group as the source over the default Aurora port.
- B. Add an outbound rule to the EC2 instances' security group. Specify the DB cluster's security group as the destination over the default Aurora port.
- C. Add an inbound rule to the DB cluster's security group. Specify the EC2 instances' security group as the source over the default Aurora port.
- D. Add an outbound rule to the DB cluster's security group. Specify the EC2 instances' security group as the destination over the default Aurora port.
- E. Add an outbound rule to the DB cluster's security group. Specify the EC2 instances' security group as the destination over the ephemeral ports.
Click to View Verified Solution & Explanation
Correct Option: B,C
Description: An outbound rule in a security group controls the traffic that is allowed to leave the resources associated with that security group. When an EC2 instance initiates a connection to a database, it acts as the client and sends traffic out.
Why this fits: For the EC2 instances (clients) to connect to the Aurora DB cluster, their security group must permit outbound traffic to the DB cluster. By specifying the DB cluster’s security group as the destination, you dynamically allow connections to any instance within that DB cluster’s security group, regardless of specific IP addresses, over the standard Aurora port (e.g., 3306 for MySQL-compatible Aurora). This ensures the EC2 instances can initiate the connection.
Example: An application running on an EC2 instance attempts to query the Aurora database. The EC2 instance’s security group needs an outbound rule allowing TCP traffic on port 3306 to the security group associated with the Aurora DB cluster.
✅ Choice C: Add an inbound rule to the DB cluster’s security group. Specify the EC2 instances’ security group as the source over the default Aurora port.
Description: An inbound rule in a security group controls the traffic that is allowed to enter the resources associated with that security group. When a database receives a connection from a client, it acts as the server and accepts incoming traffic.
Why this fits: For the Aurora DB cluster (server) to accept connections from the EC2 instances, its security group must permit inbound traffic from the EC2 instances. By specifying the EC2 instances’ security group as the source, you dynamically allow incoming connections from any instance within that EC2 security group, ensuring that only authorized application servers can connect over the default Aurora port. This is a fundamental principle for server-side security group configuration.
Example: The Aurora database cluster is waiting for connections. Its security group needs an inbound rule allowing TCP traffic on port 3306 from the security group associated with the EC2 instances that host the application.
QUESTION 147
A company runs a Java application that has complex dependencies on VMS that are in the company’s data center. The application is stable, but the company wants to modernize the technology stack. The company wants to migrate the application to AWS and minimize the administrative overhead to maintain the servers.
Which solution will meet these requirements with the LEAST code changes?
- A. Migrate the application to Amazon Elastic Container Service (Amazon ECS) on AWS Fargate by using AWS App2Container. Store container images in Amazon Elastic Container Registry (Amazon ECR). Grant the ECS task execution role permission to access the ECR image repository. Configure Amazon ECS to use an Application Load Balancer (ALB). Use the ALB to interact with the application.
- B. Migrate the application code to a container that runs in AWS Lambda. Build an Amazon API Gateway REST API with Lambda integration. Use API Gateway to interact with the application.
- C. Migrate the application to Amazon Elastic Kubernetes Service (Amazon EKS) on EKS managed node groups by using AWS App2Container. Store container images in Amazon Elastic Container Registry (Amazon ECR). Give the EKS nodes permission to access the ECR image repository. Use Amazon API Gateway to interact with the application.
- D. Migrate the application code to a container that runs in AWS Lambda. Configure Lambda to use an Application Load Balancer (ALB). Use the ALB to interact with the application.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This choice outlines a comprehensive strategy for migrating an existing application to a modern, containerized, and serverless compute environment using AWS services. It leverages AWS App2Container for the containerization process, Amazon ECS with AWS Fargate for serverless container orchestration, Amazon ECR for image management, and an Application Load Balancer (ALB) for external access and traffic management.
Why this fits: This approach represents a best practice for re-platforming applications to AWS containers with high availability, scalability, and reduced operational overhead.
- AWS App2Container automates the containerization of existing applications, simplifying the migration process.
- Amazon ECS on AWS Fargate provides a serverless compute option for containers, eliminating the need to manage EC2 instances and offering high scalability and operational efficiency.
- Amazon ECR is the standard managed registry for Docker container images, ensuring secure and reliable image storage.
- Proper IAM permissions (via the ECS task execution role) are essential for tasks to pull images from ECR.
- An Application Load Balancer (ALB) is the ideal choice for load balancing HTTP/HTTPS traffic to containerized applications running on ECS, offering advanced routing features and integration with ECS service discovery. This provides a scalable and resilient entry point for users.
Example: An organization wants to migrate a legacy Java web application running on an EC2 instance to a serverless container environment. They use AWS App2Container to containerize the application, store the resulting Docker image in Amazon ECR, and then deploy it to an Amazon ECS Fargate service. An ALB is configured to distribute incoming web traffic across the ECS tasks, ensuring high availability and automatic scaling based on demand. The ECS task execution role is given permissions to pull the image from ECR.
QUESTION 148
A company developed a pilot application by using AWS Elastic Beanstalk and Java. To save costs during development, the company’s development team deployed the application into a single-instance environment. Recent tests indicate that the application consumes more CPU than expected. CPU utilization is regularly greater than 85%, which causes some performance bottlenecks.
A solutions architect must mitigate the performance issues before the company launches the application to production.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create a new Elastic Beanstalk application. Select a load-balanced environment type. Select all Availability Zones. Add a scale-out rule that will run if the maximum CPU utilization is over 85% for 5 minutes.
- B. Create a second Elastic Beanstalk environment. Apply traffic-spitting deployment Policy. Specify a percentage of incoming traffic to direct to new environment if the average CPU utilization is over 85% for 5 minutes.
- C. Modify the existing environments capacity configuration to use a load-balanced environment Select all Availability Zones. Add a scale-out rule that will run the sum average CPU utilization is over 85% for 5 minutes.
- D. Select the Rebuild environment action with the load balancing option. Select all Availability Zones. Add a scale-out rule that will run if the sum CPU utilization is over 85% for 5 minutes.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Elastic Beanstalk allows you to modify the configuration of an existing environment, including its capacity settings. This involves changing the environment type from a single-instance environment to a load-balanced environment. When transitioning to a load-balanced environment, Elastic Beanstalk provisions an Auto Scaling group and an Elastic Load Balancer (ELB). Within the capacity configuration, you can specify the number of Availability Zones to utilize and define auto-scaling policies, such as a scale-out rule based on CPU utilization.
Why this fits: This choice directly addresses the need to configure an existing Elastic Beanstalk environment for high availability (multiple Availability Zones) and scalability (load balancer and auto-scaling rules). Modifying the existing environment’s capacity configuration is the appropriate action to add these features without creating a new application or environment, thus preserving the current application context and settings. The proposed scale-out rule is a standard metric for reactive scaling based on CPU load.
Example: An application initially deployed on a single-instance Elastic Beanstalk environment experiences increasing traffic and requires high availability and the ability to scale automatically. An administrator would navigate to the environment’s configuration in the Elastic Beanstalk console, modify the capacity settings to use a load-balanced environment, select multiple Availability Zones, and then add a scaling policy that increases instance count when average CPU utilization exceeds 85% for five minutes.
QUESTION 149 (Multi-Select)
A company hosts a VPN in an on-premises data center. currently connect to the VPN to files in their Windows home directories. Recently, there has been a large growth in the number of employees who work remotely. As a result, bandwidth usage for connections into the data center has begun to reach 100% during business hours.
The company must design a solution on AWS that will support the growth of the company’s remote workforce. reduce the bandwidth usage for connections into the data center, and reduce operational overhead.
Which combination of steps will meet these requirements with the LEAST operational overhead? (Select TWO.)
- A. Create an AWS Storage Gateway Volume Gateway. Mount a volume from the Volume Gateway to the on-premises file server.
- B. Migrate the home directories to Amazon FSx for Windows File Server.
- C. Migrate the home directories to Amazon FSx for Lustre.
- D. Migrate remote users to AWS Client VPN.
- E. Create an AWS Direct Connect connection from the on-premises data center to AWS.
Click to View Verified Solution & Explanation
Correct Option: B,D
Description: Amazon FSx for Windows File Server provides a fully managed, highly reliable, and scalable file storage that is accessible over the Server Message Block (SMB) protocol. It is built on Windows Server and integrates seamlessly with Active Directory for authentication and authorization, supporting features like user quotas, access control lists (ACLs), and data deduplication.
Why this fits: User home directories typically require SMB access, Active Directory integration, and robust file system features that are native to Windows environments. FSx for Windows File Server is specifically designed for these types of workloads, allowing a straightforward migration from on-premises Windows file servers while providing a fully managed service in AWS. This eliminates the operational overhead of managing file servers.
Example: An organization’s on-premises file server hosting thousands of user home directories, integrated with their Active Directory, can be migrated to Amazon FSx for Windows File Server. Users would then access their files from their workstations (on-premises or remote) using standard SMB shares, with their existing Active Directory credentials.
✅ Migrate remote users to AWS Client VPN.
Description: AWS Client VPN is a fully managed client-based VPN service that enables you to securely access your AWS resources and on-premises networks from any location. It uses the OpenVPN protocol, providing a secure, encrypted tunnel for individual remote users to connect to their Virtual Private Cloud (VPC) and any connected on-premises networks.
Why this fits: For remote users to securely access resources hosted in AWS, such as the newly migrated FSx for Windows File Server shares, a secure connectivity solution is essential. AWS Client VPN provides a scalable, easy-to-manage solution for individual remote users to establish encrypted connections, ensuring data privacy and integrity as they access their home directories and other corporate resources in AWS over the internet.
Example: Remote employees can install the AWS Client VPN client on their laptops. After authenticating, they establish a secure VPN tunnel to their company’s AWS VPC. This allows them to access their Amazon FSx for Windows File Server home directories, internal applications, and other AWS resources as if they were directly connected to the corporate network, without exposing these resources to the public internet.
QUESTION 150
A company uses a service to collect metadata from applications that the company hosts on premises. Consumer devices such as TVs and internet radios access the applications. Many older devices do not support certain HTTP headers and exhibit errors when these headers are present in responses. The company has configured an on-premises load balancer to remove the unsupported headers from responses sent to older devices, which the company identified by the User-Agent headers.
The company wants to migrate the service to AWS, adopt serverless technologies, and retain the ability to support the older devices. The company has already migrated the applications into a set of AWS Lambda functions.
Which solution will meet these requirements?
- A. Create an Amazon CloudFront distribution for the metadata service. Create an Application Load Balancer (ALB). Configure the CloudFront distribution to forward requests to the ALB. Configure the ALB to invoke the correct Lambda function for each type of request. Create a CloudFront function to remove the problematic headers based on the value of the User-Agent header.
- B. Create an Amazon API Gateway REST API for the metadata service. Configure API Gateway to invoke the correct Lambda function for each type of request. Modify the default gateway responses to remove the problematic headers based on the value of the User-Agent header.
- C. Create an Amazon API Gateway HTTP API for the metadata service. Configure API Gateway to invoke the correct Lambda function for each type of request. Create a response mapping template to remove the problematic headers based on the value of the User-Agent. Associate the response data mapping with the HTTP API.
- D. Create an Amazon CloudFront distribution for the metadata service. Create an Application Load Balancer (ALB). Configure the CloudFront distribution to forward requests to the ALB. Configure the ALB to invoke the correct Lambda function for each type of request. Create a Lambda@Edge function that will remove the problematic headers in response to viewer requests based on the value of the User-Agent header.
Click to View Verified Solution & Explanation
Correct Option: A
Description: This solution outlines a robust, scalable, and secure architecture for a metadata service, leveraging AWS services for global content delivery, load balancing, serverless compute, and edge-side request/response manipulation.
Why this fits: This approach is highly effective for several reasons:
- CloudFront as a global front-end: Using CloudFront provides a global CDN, improving performance for geographically dispersed users by caching responses and reducing latency. It also offers DDoS protection and integration with AWS WAF for enhanced security.
- ALB for Lambda integration: An Application Load Balancer can serve as a highly available and scalable entry point to backend Lambda functions. ALB target groups can be configured to invoke specific Lambda functions based on routing rules (e.g., path-based or host-based routing), ensuring the correct function is triggered for each request type.
- CloudFront Functions for header manipulation: CloudFront Functions are lightweight JavaScript functions that execute at CloudFront edge locations, either before the request is forwarded to the origin (viewer request) or after the response is received from the origin but before it’s sent to the viewer (viewer response). They are ideal for simple, high-frequency operations like header modification, URL rewrites, or access control checks, offering extremely low latency and cost-effectiveness. Removing problematic headers based on the
User-Agentheader is a perfect use case for a viewer response CloudFront Function, as it allows for real-time modification of the response headers without impacting origin performance or requiring complex logic within the backend Lambda functions.Example: Imagine a metadata service where certain backend systems inadvertently add sensitive or non-standard headers to responses. By placing a CloudFront distribution in front of an ALB (which routes to Lambda functions), and configuring a CloudFront Function to intercept viewer responses, the function can inspect the
User-Agentheader of the original request and, if it matches a problematic client, remove specific headers (e.g.,X-Internal-Debug-Info) from the response before it reaches the client. This ensures that only relevant and secure headers are exposed to the end-users while allowing the backend Lambda functions to operate unchanged.
QUESTION 151 (Multi-Select)
A company has deployed an application on AWS Elastic Beanstalk. The application uses Amazon Aurora for the database layer. An CloudFront distribution serves web requests and includes the Elastic Beanstalk domain name as the origin server. The distribution is configured with an alternate domain name that visitors use when they the application.
Each week, the company takes the application out of service for routine maintenance. During the time that the application is unavailable, the company wants visitors to receive an informational message instead of a CloudFront error message.
A solutions architect creates an Amazon S3 bucket as the first step in the process.
Which combination of steps should the solutions architect take next to meet the requirements? (Select THREE.)
- A. Upload static informational content to the S3 bucket.
- B. Create a new CloudFront distribution. Set the S3 bucket as the origin.
- C. Set the S3 bucket as a second origin in the original CloudFront distribution. Configure the distribution and the S3 bucket to use an origin access identity (OAI).
- D. During the weekly maintenance, edit the default cache behavior to use the S3 origin. Revert the when the maintenance is complete.
- E. During the weekly create a cache behavior for the S3 origin on the new distribution. Set the path pattern to Set the precedence to 0. Delete the cache behavior when the maintenance is complete.
- F. During the weekly maintenance, configure Elastic Beanstalk to serve traffic from the S3 bucket.
Click to View Verified Solution & Explanation
Correct Option: A,C,D
Description: Amazon S3 (Simple Storage Service) is an object storage service that can store and retrieve any amount of data. It is commonly used for hosting static websites and storing static content due to its high durability, availability, and scalability.
Why this fits: To serve any maintenance content, the content itself must first be stored in an accessible location. An S3 bucket is the most suitable and cost-effective service for storing static files like HTML, CSS, images, and JavaScript that comprise a maintenance page.
Example: Storing index.html, style.css, and a logo.png file for your maintenance page in an S3 bucket named your-company-maintenance-pages.
✅ Choice C: Set the S3 bucket as a second origin in the original CloudFront distribution. Configure the distribution and the S3 bucket to use an origin access identity (OAI).
Description: AWS CloudFront is a content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency. A CloudFront distribution can be configured with multiple origins. An Origin Access Identity (OAI) is a special CloudFront user that provides a secure way to allow CloudFront to fetch private content from an S3 bucket, preventing direct public access to the bucket.
Why this fits: This choice leverages existing infrastructure by adding the S3 bucket as an additional origin to the current CloudFront distribution. This avoids the overhead of creating a new distribution and complex DNS changes. Using an OAI is a security best practice, ensuring that users can only access the maintenance content through CloudFront and not directly by bypassing the CDN, which could expose the S3 bucket to unwanted access.
Example: Adding s3://your-company-maintenance-pages as a new origin named maintenance-s3-origin to an existing CloudFront distribution that primarily serves an application from an Elastic Load Balancer (ELB) origin. The S3 bucket policy is updated to allow access only from the specified OAI.
✅ Choice D: During the weekly maintenance, edit the default cache behavior to use the S3 origin. Revert the when the maintenance is complete.
Description: CloudFront cache behaviors define how CloudFront processes incoming requests, including which origin to route them to, caching policies, and viewer protocols. The "default cache behavior" (represented by the
* path pattern) applies to all requests that do not match any other specified cache behavior path patterns.
Why this fits: This is the operational step to effectively switch all traffic to the maintenance page. By temporarily changing the default cache behavior to point to the newly configured S3 origin (from Choice C), all requests hitting the CloudFront distribution will be served the content from the S3 maintenance bucket. Once maintenance is complete, reverting this change directs traffic back to the primary application origin. This method provides a controlled and quick way to manage traffic during maintenance windows.
Example: Modifying the default cache behavior in the CloudFront distribution to route requests to maintenance-s3-origin. After the maintenance, changing it back to the original application origin (e.g., elb-app-origin).
QUESTION 152
A company is designing its network configuration in the AWS Cloud. The company uses AWS Organizations to manage a multi-account setup. The company has three OUs. Each OU contains more than 100 AWS accounts. Each account has a single VPC, and all the VPCs in each OU are in the same AWS Region.
The CIDR ranges for all the AWS accounts do not overlap. The company needs to implement a solution in which VPCs in the same OU can communicate with each other but cannot communicate with VPCs in other OUs.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create an AWS CloudFormation stack set that establishes VPC between accounts in each OU. Provision the stack set in each OU.
- B. In each OU, create a dedicated networking account that has a single VPC. Share this VPC with all the other accounts in the OU by using AWS Resource Access Manager (AWS RAM). Create a VPC peering connection between the networking account and each account in the OU.
- C. Provision a transit gateway in an account in each OU. Share the transit gateway across the organization by using AWS Resource Access Manager (AWS RAM). Create transit gateway VPC attachments for each VPC.
- D. In each OU, create a dedicated networking account that has a single VPC. Establish a VPN connection between the networking account and the other accounts in the OU. Use third-party routing software to route transitive traffic between the VPCs.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Transit Gateway is a network transit hub that connects your Amazon Virtual Private Clouds (VPCs) and on-premises networks to a single gateway. It simplifies your network by providing a centralized point of connectivity for multiple VPCs, replacing the need for multiple, complex peering connections. AWS Resource Access Manager (AWS RAM) allows you to share your AWS resources, including Transit Gateways, with other AWS accounts or within your AWS Organization.
Why this fits: This approach is highly scalable and manageable for interconnecting a large number of VPCs across multiple accounts and Organizational Units (OUs) within an AWS Organization. Transit Gateway inherently supports transitive routing between attached VPCs, solving a key limitation of VPC peering. By sharing the Transit Gateway via AWS RAM, network connectivity resources can be centrally managed (e.g., in a dedicated networking account per OU or a central networking account for the entire organization) while allowing member accounts to self-service their VPC attachments, adhering to best practices for enterprise-scale networking.
Example: An organization has several OUs, each representing a different department, and each department runs multiple applications in dedicated VPCs. A Transit Gateway is provisioned in a central networking account within each OU. This Transit Gateway is then shared with all other member accounts in that OU using AWS RAM. Each application VPC in the member accounts can then create a Transit Gateway attachment, enabling seamless and secure communication between all VPCs without needing individual VPC peering connections. This also allows for simplified routing policies and network segmentation using Transit Gateway route tables.
QUESTION 153
A tele-communications company is running an application on AWS. The company has set up an AWS Direct Connect connection between the company’s on-premises data center and AWS. The company deployed the application on Amazon EC2 Instances In multiple Availability Zones an Internal Application Load Balancer (ALB). The company’s clients connect from the on-premises network by using HTTPS. The TLS terminates In the ALB. The company has multiple target groups and uses path-based routing to forward requests based on the URL path.
The company is planning to deploy an on-premises firewall appliance with an allow list that is based on IP address. A solutions architect must develop a solution to allow traffic flow to AWS from the on-premises network so that the clients can continue to access the application.
Which solution will meet these requirements?
- A. Configure the existing ALB to use static IP addresses. Assign IP addresses in multiple Availability Zones to the ALB. Add the ALB IP addresses to the firewall appliance.
- B. Create a Network Load Balancer (NLB). Associate the NLB With one static IP addresses in multiple Availability Zones. Create an ALB-type target group for the NLB and add the existing ALB Add the NLB IP addresses to the firewall appliance. Update the clients to connect to the NLB.
- C. Create a Network Load Balancer (NLB). Associate the I-NB with one static IP addresses in multiple Availability Zones. Add the existing target groups to the NLB. Update the clients to connect to the NLB. Delete the ALB. Add the NLB IP addresses to the firewall appliance.
- D. Create a Gateway Load Balancer (GWLB). Assign static IP addresses to the GWLB in multiple Availability Zones. Create an ALB-type target group for the GWLB and add the existing ALB. Add the GWLB IP addresses to the firewall appliance. Update the clients to connect to the GWLB.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Network Load Balancers (NLBs) operate at Layer 4 (TCP/UDP) and are designed for extreme performance and static IP addresses. Each NLB provides a static IP address per Availability Zone in its associated subnets. This means the IP addresses remain constant over time. An NLB can be configured to forward traffic to an Application Load Balancer (ALB) by using an "ALB-type target group."
Why this fits: The core requirement for adding IP addresses to a firewall appliance implies the need for static IP addresses that do not change. Application Load Balancers (ALBs) do not natively provide static IP addresses for client access; their IP addresses are dynamic and managed by AWS, potentially changing during scaling events or maintenance. Network Load Balancers (NLBs), however, guarantee static IP addresses in each enabled Availability Zone. By placing an NLB in front of the existing ALB, the solution provides the necessary static IP entry point for firewall whitelisting. The NLB’s ability to target an ALB (via an ALB-type target group) allows the application to continue leveraging the ALB’s advanced Layer 7 features (e.g., path-based routing, host-based routing, WAF integration, SSL termination) while exposing a static Layer 4 endpoint. Updating clients to connect to the NLB ensures they hit this static IP entry point.
Example: A company hosts an application on AWS that uses an ALB for sophisticated URL routing and SSL offloading. On-premises users access this application through a corporate firewall that requires whitelisting specific, unchanging IP addresses. By deploying an NLB in front of the ALB, the company can provide static IP addresses for their firewall rules, while preserving all the existing Layer 7 logic and features provided by the ALB.
QUESTION 154
A solutions architect needs to assess a newly acquired company’s portfolio of applications and databases. The solutions architect must create a business case to migrate the portfolio to AWS. The newly acquired company runs applications in an on-premises data center. The data center is not well documented. The solutions architect cannot immediately determine how many applications and databases exist Traffic for the applications IS variable. Some applications are batch processes that run at the end of each month.
The solutions architect must gain a better understanding of the portfolio before a migration to AWS can begin.
Which solution will meet these requirements?
- A. Use AWS Server Migration Service (AWS SMS) and AWS Database Migration Service (AWS DMS) to evaluate migration. Use AWS Service Catalog to understand application and database dependencies.
- B. Use AWS Application Migration Service. Run agents on the on-premises infrastructure. Manage the agents by using AWS Migration Hub. Use AWS Storage Gateway to assess local storage needs and database dependencies.
- C. Use Migration Evaluator to generate a list of servers. Build a report for a business case. Use AWS Migration Hub to view the portfolio. Use AWS Application Discovery Service to gain an understanding of application dependencies.
- D. Use AWS Control Tower in the destination account to generate an application portfolio. Use AWS Server Migration Service (AWS SMS) to generate deeper reports and a business case. Use a landing zone for core accounts and resources.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This choice outlines a comprehensive approach for the initial discovery and assessment phase of an AWS migration.
- Migration Evaluator (formerly TSO Logic): A free service that helps create data-driven business cases for migrating on-premises workloads to AWS by analyzing existing server performance and utilization. It generates a detailed report of potential cost savings.
- AWS Application Discovery Service (ADS): Gathers configuration, usage, and performance data from on-premises servers to help plan migration projects. It can identify interdependencies between applications, which is crucial for grouping servers into migration waves.
- AWS Migration Hub: Provides a single location to track the progress of application migrations across multiple AWS and partner migration tools. It allows viewing a portfolio of servers and applications being migrated.
Why this fits: This approach correctly leverages specialized AWS services for the initial phases of a large-scale migration. Migration Evaluator is ideal for generating a business case and identifying potential servers for migration based on cost and performance data. AWS Application Discovery Service is critical for understanding the complex interdependencies of on-premises applications and servers, which is essential for planning a successful migration strategy. AWS Migration Hub then acts as the central dashboard to view this discovered portfolio and later track the migration progress. The combination of these services provides a robust foundation for building a migration plan.
Example: An enterprise with hundreds of on-premises servers needs to understand the cost implications and technical complexities of migrating to AWS. They would start by deploying Migration Evaluator collectors to gather data, then use AWS Application Discovery Service agents to map application dependencies across their infrastructure. All discovered assets and their potential migration paths would then be visible and managed through AWS Migration Hub.
QUESTION 155 (Multi-Select)
A company runs an intranet application on premises. The company wants to configure a cloud backup of the application. The company has selected AWS Elastic Disaster Recovery for this solution.
The company that replication traffic does not travel through the public internet. The application also must not be accessible from the Internet. The company does not want this solution to consume all available network bandwidth other applications require bandwidth.
Which combination of steps will meet these requirements? (Select THREE)
- A. Create a VPC that has at least two private subnets, two NAT gateways, and a virtual private gateway.
- B. Create a VPC that has at least two public subnets, a virtual private gateway, and an Internet gateway.
- C. Create an AWS Site-to-Site VPN connection between the on-premises network and the target AWS network.
- D. Create an AWS Direct Connect connection and a Direct Connect gateway between the on-premises network and the target AWS network.
- E. During configuration of the replication servers, select the option to use private IP addresses for data replication.
- F. During configuration of the launch settings for the target servers, select the option to ensure that the Recovery instance's private IP address matches the source servers private IP address.
Click to View Verified Solution & Explanation
Correct Option: A,D,E
Description: This configuration establishes a foundational, secure, and highly available network architecture within AWS. Private subnets host application resources that should not be directly exposed to the internet, while NAT Gateways provide outbound internet access for these resources (e.g., for updates) without allowing unsolicited inbound connections. A Virtual Private Gateway (VPG) is the endpoint for AWS Site-to-Site VPN connections, linking the VPC to on-premises networks securely over the internet.
Why this fits: This setup is crucial for establishing a resilient application environment within AWS. Two private subnets across different Availability Zones (AZs) ensure high availability for application components. Two NAT Gateways (one per AZ) provide redundant outbound internet access. A VPG, in conjunction with a Customer Gateway, enables a secure, encrypted tunnel for communication between the VPC and on-premises resources, supporting hybrid architectures and migrations where dedicated connections like Direct Connect might be supplemented or replaced by VPN for certain workloads or as a backup.
Example: An enterprise application migrating to AWS places its database and application servers in private subnets across two AZs. Each AZ has a NAT Gateway for outbound internet access. A Site-to-Site VPN connection, terminated by the VPG, is used to securely connect to the on-premises Active Directory for authentication.
QUESTION 156
A company has a latency-sensitive trading platform that uses Amazon DynamoDB as a storage backend. The company configured the DynamoDB table to use on-demand capacity mode. A solutions architect needs to design a solution to improve the performance of the trading platform. The new solution must ensure high availability for the trading platform.
Which solution Will meet these requirements With the LEAST latency?
- A. Create a two-node DynamoDB Accelerator (DAX) cluster Configure an application to read and write data by using DAX.
- B. Create a three-node DynamoDB Accelerator (DAX) cluster Configure an application to read data by using DAX and to write data directly to the DynamoDB table.
- C. Create a three-node DynamoDB Accelerator (DAX) cluster Configure an application to read data directly from the DynamoDB table and to write data by using DAX.
- D. Create a single-node DynamoDB Accelerator (DAX) cluster. Configure an application to read data by using DAX and to write data directly to the DynamoDB table.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon DynamoDB Accelerator (DAX) is a fully managed, highly available, in-memory cache for DynamoDB that delivers up to a 10x performance improvement for read-heavy and bursty workloads, even at millions of requests per second. DAX is API-compatible with DynamoDB, meaning you can use the same API calls to interact with DAX as you would with DynamoDB, simplifying application integration. A DAX cluster typically consists of a primary node and one or more replica nodes. For high availability, AWS recommends a minimum of three nodes (one primary, two replicas) distributed across different Availability Zones. DAX caches read operations, while write operations are generally sent directly to the underlying DynamoDB table to ensure immediate data consistency and durability.
Why this fits: This choice aligns with DAX best practices for performance, availability, and consistency. A three-node cluster provides high availability, fault tolerance, and improved read throughput, as read requests can be distributed among the primary and replica nodes. Configuring the application to read via DAX leverages the in-memory cache for low-latency responses. Crucially, configuring the application to write directly to DynamoDB bypasses the DAX cache for write operations. This ensures that data written to the DynamoDB table is immediately persistent and consistent in the source, preventing potential data staleness issues that could arise if DAX were used for writes (which would typically involve eventual consistency).
Example: An e-commerce application experiences frequent read spikes during holiday sales, accessing product details and inventory counts. By implementing a three-node DAX cluster and configuring the application to read product data through DAX, read latency for users is drastically reduced. When a customer places an order, the application writes the order details directly to the DynamoDB table, ensuring the order is immediately recorded and persistent, while subsequent reads for order status might still benefit from DAX caching for speed.
QUESTION 157
A company is deploying AWS Lambda functions that access an Amazon RDS for PostgreSQL database. The company needs to launch the Lambda functions in a QA environment and in a production environment.
The company must not expose credentials within application code and must rotate passwords automatically.
Which solution will meet these requirements?
- A. Store the database credentials for both environments in AWS Systems Manager Parameter Store. Encrypt the credentials by using an AWS Key Management Service (AWS KMS) key Within the application code of the Lambda functions, pull the credentials from the Parameter Store parameter by using the AWS SDK for Python (Boto3). Add a role to the Lambda functions to provide access to the Parameter Store parameter.
- B. Store the database credentials for both environments In AWS Secrets Manager With distinct key entry for the QA environment and the environment. Turn on rotation. Provide a reference to the Secrets Manager key as an environment variable for the Lambda functions.
- C. Store the database credentials for both environments in AWS Key Management Service (AWS KMS). Turn on rotation. Provide a reference to the credentials that are stored in AWS KMS as an environment variable for the Lambda functions.
- D. Create separate S3 buckets for the QA environment and the environment. Tum on server-side encryption with AWS KMS keys (SSE-KMS) for the S3 buckets. Use an object naming pattern that gives each function's application code the ability to pull the correct credentials for the function's corresponding environment. Grant each Lambda function's execution role access to Amazon S3.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Secrets Manager is a dedicated service for securely storing, managing, and retrieving secrets such as database credentials, API keys, and other sensitive information. It provides capabilities for automatic secret rotation, fine-grained access control through AWS Identity and Access Management (IAM), and auditing secret usage. It also allows for storing different versions or distinct secrets for various environments (e.g., QA, Production) under unique keys.
Why this fits: This choice represents the most secure and operationally sound approach for managing database credentials in an AWS environment.
- Dedicated Secret Management: Secrets Manager is purpose-built for storing and managing secrets like database credentials, offering features superior to general-purpose storage or parameter stores for this specific use case.
- Environment Separation: Storing credentials with "distinct key entry for the QA environment and the production environment" ensures proper isolation and management of sensitive data for different stages of the application lifecycle.
- Automatic Rotation: Turning on rotation is a critical security best practice. Secrets Manager can automatically rotate credentials for supported databases (like Amazon RDS, Amazon DocumentDB, Amazon Redshift), significantly reducing the risk associated with long-lived credentials and minimizing the impact of a credential compromise.
- Secure Retrieval for Lambda: While the statement "Provide a reference to the Secrets Manager key as an environment variable" is accurate for passing the secret’s identifier (ARN or name), Lambda functions would then use the AWS SDK (e.g., Boto3 for Python) at runtime to retrieve the actual secret value. This approach avoids hardcoding secrets, encrypts them at rest and in transit, and allows for dynamic updates without redeploying Lambda code.
- Comparison to other options:
- Choice A (Parameter Store): AWS Systems Manager Parameter Store can store
SecureStringparameters, but it lacks native automatic rotation for database credentials, making Secrets Manager a better fit when rotation is required. - Choice C (AWS KMS): AWS KMS is a cryptographic service used to create and manage encryption keys. It is not designed to store secrets directly; rather, it encrypts secrets that are stored elsewhere (like in Secrets Manager or Parameter Store).
- Choice D (S3): Storing credentials directly in S3, even with SSE-KMS, is not considered a best practice for secret management. S3 is object storage and lacks the dedicated features for secret lifecycle management (like rotation), fine-grained access control specific to secrets, and a dedicated API for secret retrieval that Secrets Manager provides.
Example: A Python Lambda function might have an environment variable
DB_SECRET_ARNset toarn:aws:secretsmanager:REGION:ACCOUNT:secret:my-prod-db-credentials-XXXXX. Within the Lambda function’s code, it would use the Boto3 Secrets Manager client to retrieve the secret value using this ARN:
- Choice A (Parameter Store): AWS Systems Manager Parameter Store can store
import os
import json
import boto3
def lambda_handler(event, context):
secret_name = os.environ.get('DB_SECRET_ARN')
region_name = os.environ.get('AWS_REGION')
# Create a Secrets Manager client
client = boto3.client('secretsmanager', region_name=region_name)
try:
get_secret_value_response = client.get_secret_value(
SecretId=secret_name
)
except Exception as e:
# Handle errors
raise e
# Decrypts secret using the associated KMS key.
# Depending on whether the secret is a string or binary, one of these fields will be populated.
if 'SecretString' in get_secret_value_response:
secret = get_secret_value_response['SecretString']
else:
secret = base64.b64decode(get_secret_value_response['SecretBinary'])
db_credentials = json.loads(secret)
username = db_credentials['username']
password = db_credentials['password']
# Use username and password to connect to the database
print(f"Successfully retrieved credentials for user: {username}")
# ... rest of your database logic ...
QUESTION 158 (Multi-Select)
A company wants to migrate its workloads from on premises to AWS. The workloads run on Linux and Windows. The company has a large on-premises infrastructure that consists of physical machines and VMS that host numerous applications.
The company must capture details about the system configuration, system performance, running and network connections of its on-premises workloads. The company also must divide the on- premises applications into groups for AWS migrations. The company needs recommendations for Amazon EC2 types so that the company can run its workloads on AWS in the most cost-effective manner.
Which combination of steps should a solutions architect take to meet these requirements? (Select THREE.)
- A. Assess the existing applications by installing AWS Application Discovery Agent on the machines and VMs.
- B. Assess the existing applications by installing AWS Systems Manager Agent on the physical machines and VMs.
- C. Group servers into applications for migration by using AWS Systems Manager Application Manager.
- D. Group servers into applications for migration by using AWS Migration Hub.
- E. Generate recommended instance types and associated by using AWS Migration Hub.
- F. Import data about server sizes into AWS Trusted Advisor. Follow the recommendations for cost optimization.
Click to View Verified Solution & Explanation
Correct Option: A,D,E
Description: The AWS Application Discovery Service (ADS) helps enterprises plan migration projects by identifying on-premises applications, servers, databases, and network dependencies. The AWS Application Discovery Agent is a lightweight software installed on on-premises physical servers and virtual machines (VMs) to collect system configuration, performance, and network dependency data.
Why this fits: This is a foundational step in any large-scale migration to gather granular details about the on-premises environment. The agent-based approach provides deep insights into resource utilization, running processes, and network connections, which are critical for accurate assessment and migration planning.
Example: An organization wants to migrate its data center. They install the AWS Application Discovery Agent on their Windows and Linux servers to automatically collect data on CPU, memory, disk I/O, and network throughput for several weeks, providing a baseline for rightsizing EC2 instances.
✅ Group servers into applications for migration by using AWS Migration Hub.
Description: AWS Migration Hub provides a central dashboard to track the progress of application migrations across multiple AWS and partner solutions. It enables users to discover on-premises servers (often via ADS), logically group them into applications, and monitor the migration status of these grouped applications.
Why this fits: Migrating individual servers without understanding their interdependencies can lead to application downtime or failures. Migration Hub facilitates grouping servers that collectively form an application (e.g., a web server, application server, and database) allowing for a holistic migration strategy where applications are moved as cohesive units.
Example: An architect discovers 50 servers. Using AWS Migration Hub, they identify three specific servers (a web server, an application server, and a MySQL database) that together form their "Customer Portal" application and group them. This allows tracking the migration of the entire Customer Portal rather than just individual servers.
✅ Generate recommended instance types and associated by using AWS Migration Hub.
Description: AWS Migration Hub, leveraging the data collected by AWS Application Discovery Service, can analyze historical performance and utilization metrics (CPU, RAM, disk I/O, network throughput) of on-premises servers. Based on this analysis, it recommends appropriate target Amazon EC2 instance types and sizes, along with estimated costs, for rightsizing migrated workloads.
Why this fits: Rightsizing is crucial for cost optimization and performance efficiency in the cloud. Migration Hub’s ability to recommend instance types based on actual on-premises usage patterns helps avoid over-provisioning (wasting money) or under-provisioning (leading to performance issues) when migrating to AWS.
Example: Based on the collected data showing an on-premises application server typically uses 40% CPU and 8GB RAM, AWS Migration Hub recommends an m5.large EC2 instance, suggesting that a larger m5.xlarge would be unnecessary and more expensive for the observed workload.
QUESTION 159
A company is developing a new serverless API by using Amazon API Gateway and AWS Lambda. The company integrated the Lambda functions with API Gateway to use several shared libraries and custom classes.
A solutions architect needs to simplify the deployment of the solution and optimize for code reuse.
Which solution will meet these requirements?
- A. Deploy the shared libraries and custom classes into a Docker image. Store the image in an S3 bucket Create a Lambda layer that uses the Docker image as the source. Deploy the API's Lambda functions as Zip packages. Configure the packages to use the Lambda layer.
- B. Deploy the shared libraries and custom classes to a Docker image. Upload the image to Amazon Elastic Container Registry (Amazon ECR). Create a Lambda layer that uses the Docker image as the source. Deploy the API's Lambda functions as Zip packages. Configure the packages to use the Lambda layer.
- C. Deploy the shared libraries and custom classes to a Docker container in Amazon Elastic Container Service (Amazon ECS) by using the AWS Fargate launch type. Deploy the API's Lambda functions as Zip packages. Configure the packages to use the deployed container as a Lambda layer.
- D. Deploy the shared libraries, custom classes, and code for the API's Lambda functions to a Docker image. Upload the image to Amazon Elastic Container Registry (Amazon ECR). Configure the API's Lambda functions to use the Docker image as the deployment package.
Click to View Verified Solution & Explanation
Correct Option: D
Description: AWS Lambda functions can be deployed using container images stored in Amazon Elastic Container Registry (ECR). This approach allows developers to package their function code, custom runtimes, and all dependencies into a single Docker image. When a Lambda function is configured to use a container image, Lambda pulls the image from ECR, extracts it, and runs the function code within the container environment. This method supports larger deployment package sizes (up to 10 GB) compared to the traditional Zip file deployment (250 MB unzipped).
Why this fits: This is the most robust and flexible solution for managing complex dependencies, shared libraries, and custom classes for Lambda functions in a professional context, especially when facing package size limitations or needing a specific execution environment. Packaging everything into a Docker image simplifies dependency management and ensures environment consistency. ECR provides a secure, scalable, and fully managed Docker container registry that integrates seamlessly with AWS Lambda. Configuring Lambda functions to use these images directly as their deployment package is a native and powerful feature, eliminating the need for separate Lambda layers for core dependencies if the entire function can benefit from containerization.
Example: An API’s Lambda function that performs machine learning inference might require large Python libraries (e.g., TensorFlow, PyTorch, SciPy) and custom-trained models. Instead of struggling with Zip package size limits and complex Lambda layer configurations for these large dependencies, a developer can create a Docker image that includes the Python runtime, all necessary ML libraries, the custom model, and the function’s inference code. This image is pushed to ECR, and the Lambda function is then configured to use this ECR image as its deployment package, ensuring all required components are available and managed as a single unit.
QUESTION 160
A health insurance company stores personally identifiable information (PII) in an Amazon S3 bucket. The company uses server-side encryption with S3 managed encryption keys (SSE-S3) to encrypt the objects. According to a new requirement, all current and future objects in the S3 bucket must encrypted by keys that the company’s security team manages. The S3 bucket does not have versioning enabled.
Which solution will meet these requirements?
- A. In the S3 bucket properties. change the default encryption to SSE-S3 with a customer managed key. Use the AWS CLI to re-upload all objects in the S3 bucket. Set an S3 bucket policy to deny unencrypted PutObject requests.
- B. In the S3 bucket properties, change the default encryption to server-side encryption with AWS KMS managed encryption keys (SSE-KMS). Set an S3 bucket policy to deny PutObject requests. Use the AWS CLI to re-upload all objects in the S3 bucket.
- C. In the S3 bucket change the default encryption to server-side encryption with AWS KMS managed encryption keys (SSE-KMS). Set an S3 bucket policy to automatically encrypt objects on GetObject and PutObject requests.
- D. In the S3 bucket properties, change the default encryption to AES-256 with a customer managed key. Attach a policy to deny unencrypted PutObject requests to any entities that access the S3 bucket. Use the AWS CLI to re-upload all objects in S3 bucket.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Server-Side Encryption with AWS KMS (Key Management Service) managed keys (SSE-KMS) is a robust method for encrypting data at rest in Amazon S3. It leverages AWS KMS to manage the encryption keys, offering enhanced auditability through CloudTrail and fine-grained access control over key usage. An S3 bucket policy can be used to enforce specific encryption requirements for all incoming objects.
Why this fits: This solution effectively addresses all aspects of enforcing encryption for an S3 bucket:
- SSE-KMS Default Encryption: Setting the default encryption to SSE-KMS ensures that any new objects uploaded to the bucket, without explicit encryption headers, will be automatically encrypted using the specified KMS key. This provides a strong level of security and control.
- S3 Bucket Policy to Deny PutObject Requests: While phrased concisely, in the context of enforcing encryption, this policy is typically implemented to deny
PutObjectrequests that do not specify server-side encryption (e.g., lackingx-amz-server-side-encryptionorx-amz-server-side-encryption-aws-kms-key-idheaders) or do not conform to the desired encryption type (e.g., SSE-KMS). This actively prevents unencrypted or non-compliant objects from being uploaded, even if a client attempts to bypass encryption. - Re-uploading Existing Objects: Changing the default encryption setting only applies to new objects. Existing objects in the bucket remain in their original (potentially unencrypted) state. To ensure all existing data is encrypted with the new SSE-KMS settings, these objects must be re-uploaded. Using the AWS CLI is an efficient and common method for automating this process, allowing for bulk download and re-upload, effectively re-encrypting the data.
Example: An organization stores sensitive customer records in an S3 bucket and needs to comply with regulations requiring all data at rest to be encrypted using customer-managed keys with audit trails. They configure SSE-KMS as the default encryption for the bucket, implement a bucket policy that denies any upload not encrypted with SSE-KMS, and run an AWS CLI script to download and then re-upload all existing records. This ensures both present and future data uploads meet their encryption and compliance standards.
QUESTION 161 (Multi-Select)
A video processing company has an application that downloads images from an Amazon S3 bucket, processes the images, stores a transformed image in a second S3 bucket, and updates metadata about the image in an Amazon DynamoDB table. The application is written in Node.js and runs by using an AWS Lambda function. The Lambda function is invoked when a new image is uploaded to Amazon S3.
The application ran without incident for a while. However, the size of the images has grown significantly. The Lambda function is now failing frequently with timeout errors. The function timeout is set to its maximum value. A solutions architect needs to refactor the application’s architecture to prevent invocation failures. The company does not want to manage the underlying infrastructure.
Which combination of steps should the solutions architect take to meet these requirements? (Select TWO.)
- A. Modify the application deployment by building a Docker image that contains the application code. Publish the image to Amazon Elastic Container Registry (Amazon ECR).
- B. Create a new Amazon Elastic Container Service (Amazon ECS) task definition with a compatibility type of AWS Fargate. Configure the task definition to use the new image in Amazon Elastic Container Registry (Amazon ECR). Adjust the Lambda function to invoke an ECS task by using the ECS task definition when a new file arrives in Amazon S3.
- C. Create an AWS Step Functions state machine with a parallel state to invoke the Lambda function. Increase the provisioned concurrency of the Lambda function.
- D. Create a new Amazon Elastic Container Service (Amazon ECS) task definition with a compatibility type of Amazon EC2. Configure the task definition to use the new image in Amazon Elastic Container Registry (Amazon ECR). Adjust the Lambda function to invoke an ECS task by using the ECS task definition when a new file arrives in Amazon S3.
- E. Modify the application to store images on Amazon Elastic File System (Amazon EFS) and to store metadata on an Amazon RDS DB instance. Adjust the Lambda function to mount the EFS file share.
Click to View Verified Solution & Explanation
Correct Option: B,C
Description: This solution leverages AWS Fargate, a serverless compute engine for containers, to run the processing logic. Instead of running the compute task directly within the potentially constrained Lambda execution environment, the Lambda function acts as an orchestrator, triggering a Fargate task for the actual heavy lifting. Amazon ECR stores the Docker image containing the application code, which Fargate then pulls and executes.
Why this fits: Lambda functions have inherent limitations on execution duration (up to 15 minutes) and memory (up to 10 GB). For complex, memory-intensive, or long-running file processing tasks (e.g., video transcoding, large data analysis, complex image processing), offloading the work to ECS Fargate is a highly scalable and cost-effective pattern. Fargate tasks can run for much longer (up to 1,440 minutes for ECS tasks) and support larger memory/CPU configurations, while still maintaining a serverless operational model (no EC2 instances to manage). The Lambda function’s role is simplified to triggering the Fargate task, ensuring the overall process remains event-driven and scalable.
Example: An application needs to process high-resolution images arriving in S3, performing multiple complex transformations that exceed Lambda’s execution time or memory limits. A Lambda function is triggered by S3, extracts metadata, and then launches an ECS Fargate task to perform the computationally intensive image processing. Once complete, Fargate can store the results back into S3 or another persistent store.
✅ Create an AWS Step Functions state machine with a parallel state to invoke the Lambda function. Increase the provisioned concurrency of the Lambda function.
Description: This solution uses AWS Step Functions to orchestrate complex workflows involving Lambda functions and addresses potential Lambda performance issues with provisioned concurrency. A parallel state in Step Functions allows multiple branches of execution to run concurrently. Provisioned concurrency ensures that a specified number of Lambda execution environments are pre-initialized and ready to respond immediately, reducing cold start latency.
Why this fits: If the processing logic itself is suitable for Lambda but requires sophisticated orchestration, error handling, retries, or fan-out patterns (e.g., processing different parts of a file concurrently or triggering multiple independent sub-tasks), AWS Step Functions is an excellent choice. It provides visual workflows, built-in error handling, and state management, making complex processes robust. Increasing the provisioned concurrency of the Lambda function directly addresses the "cold start" problem, where the initial invocation of a Lambda function can experience higher latency as AWS provisions a new execution environment. For performance-critical applications or high-throughput scenarios, provisioned concurrency ensures consistent low latency.
Example: When a large CSV file arrives in S3, a Step Functions state machine is triggered. A parallel state might then launch multiple Lambda functions concurrently: one to validate the data, another to enrich specific fields by calling an external API, and a third to store a subset of the data in a database. If these Lambdas are frequently invoked and latency is critical, provisioned concurrency ensures they are always warm and ready.
QUESTION 162
A company has an organization in AWS Organizations. The is using AWS Control Tower to deploy a landing zone for the organization. The company wants to implement governance and policy enforcement. The company must implement a that will detect Amazon RDS DB instances that are encrypted at rest in the company’s production OU.
Which solution will meet this requirement?
- A. Tum on mandatory guardrails in AWS Control Tower. Apply the mandatory guardrails to the production OU.
- B. Enable the appropriate guardrail from the list of strongly recommended guardrails in AWS Control Tower. Apply the guardrail to the production.
- C. Use AWS Config to create a new mandatory guardrail. Apply the rule to all accounts in the production OU.
- D. Create a custom SCP in AWS Control Tower. Apply the SCP to the production OU.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Control Tower helps establish a well-architected, multi-account AWS environment with built-in governance. It provides "guardrails," which are high-level rules that apply governance across your AWS environment. These guardrails are categorized into "mandatory" (always enforced and cannot be disabled) and "strongly recommended" (can be enabled or disabled based on your specific needs). Strongly recommended guardrails enforce best practices and can be either preventive (using Service Control Policies or SCPs) or detective (using AWS Config rules) in nature.
Why this fits: When implementing governance within an AWS Control Tower environment, the most effective and recommended approach for applying specific best practices or compliance rules to a particular Organizational Unit (OU), such as a ‘production’ OU, is to utilize the existing library of "strongly recommended" guardrails. These guardrails are pre-built to address common security, operational, and compliance requirements. By selecting the "appropriate" strongly recommended guardrail, you leverage Control Tower’s automated governance features, ensuring consistency and reducing the effort required compared to creating custom policies from scratch. The flexibility to enable or disable these guardrails on specific OUs makes them ideal for tailoring governance to different environments (e.g., applying stricter controls to production). Other options like "turning on mandatory guardrails" (which are always on) or directly creating custom SCPs/AWS Config rules are less optimal if a suitable pre-built strongly recommended guardrail already exists, as Control Tower’s value proposition includes these integrated guardrails.
Example: A common requirement for a production environment is to ensure that specific AWS services (e.g., Amazon EC2 instances) are always launched within a Virtual Private Cloud (VPC). AWS Control Tower offers strongly recommended guardrails like "Detect whether Amazon EC2 instances are launched outside of a VPC." Enabling and applying this specific guardrail to the production OU would help ensure compliance with this requirement by detecting non-compliant resources.
QUESTION 163 (Multi-Select)
A company that uses AWS Organizations allows developers to experiment on AWS. As part of the landing zone that the company has deployed, developers use their company email address to request an account. The company wants to ensure that developers are not launching costly services or running services unnecessarily. The company must give developers a fixed monthly budget to limit their AWS costs.
Which combination of steps will meet these requirements? (Select THREE)
- A. Create an SCP to set a monthly account usage limit. Apply the SCP to the developer accounts.
- B. Use AWS Budgets to create a fixed monthly budget for each developer's account as part of the account creation process.
- C. Create an SCP to deny access to costly services and Apply the SCP to the developer accounts.
- D. Create an IAM policy to deny access to costly services and components. Apply the IAM policy to the developer accounts.
- E. Create an AWS Budgets alert action to terminate services when the budgeted amount is reached, Configure the action to terminate all services.
- F. Create an AWS Budgets alert action to send an Amazon Simple Notification Service (Amazon SNS) notification when the budgeted amount is reached. Invoke an AWS function to terminate all services.
Click to View Verified Solution & Explanation
Correct Option: B,C,F
Description: AWS Budgets enables customers to set custom budgets to track their cost and usage, providing proactive monitoring and notifications when costs or usage exceed or are forecasted to exceed defined thresholds.
Why this fits: Establishing a fixed monthly budget for each developer account directly addresses the goal of controlling costs and preventing overspending by individual developers. This provides a clear financial boundary and enables continuous monitoring of spending against that limit.
Example: An organization sets a monthly budget of $150 for each developer’s AWS account. If dev-account-001 approaches this limit, alerts can be sent to the developer and their manager, allowing for timely intervention.
QUESTION 164
A company is migrating a document processing workload to AWS. The company has updated many applications to natively use the Amazon S3 API to store, retrieve, and modify documents that a processing server generates at a rate of approximately 5 documents every second. After the document processing is finished, customers can download the documents directly from Amazon S3.
During the migration, the company discovered that it could not immediately update the processing server that generates many documents to support the S3 API. The server runs on Linux and requires fast local access to the files that the server generates and modifies. When the server finishes processing, the files must be available to the public for download within 30 minutes.
Which solution will meet these requirements with the LEAST amount of effort?
- A. Migrate the application to an AWS Lambda function. Use the AWS SDK for Java to generate, modify, and access the files the company stores directly in amazon S3.
- B. Set up an Amazon S3 rile Gateway and configure a file share that is linked to the document store. Mount the file share on an Amazon FC2 instances by using NFS. When changes occur in Amazon S3, initiate a RefreshCacheAPl call to update the S3 File Gateway.
- C. Configure Amazon FSx for Lustre with an import and export policy. Link the row file system to an S3 bucket. Install Lustre Client and mount the document store to an Amazon EC2 instance by using NFS.
- D. Configure AWS DataSync to connect to an Amazon EC2 instance. Configure a task to synchronize the generated files to and from Amazon S3.
Click to View Verified Solution & Explanation
Correct Option: C
Description: Amazon FSx for Lustre is a high-performance file system service designed for compute-intensive workloads, such as machine learning, high performance computing (HPC), and media processing. It provides a POSIX-compliant file system interface that can be linked to an Amazon S3 bucket as its data repository. This allows for transparent import of data from S3 into the file system for processing and export of modified data or results back to S3.
Why this fits: This solution effectively addresses scenarios where an application running on an Amazon EC2 instance requires a high-performance, low-latency file system interface to data that is either already in an S3 bucket or needs to be persistently stored in S3. By configuring an import/export policy, FSx for Lustre acts as a high-speed cache and scratch space, allowing applications to perform file-based operations directly on the EC2 instance with high throughput. The data is transparently managed with S3 as the durable, long-term storage. Mounting via NFS (or the native Lustre client) ensures compatibility with applications that expect a standard file system interface. This is superior to S3 File Gateway for high-performance cloud-native workloads and provides a true file system abstraction, unlike direct S3 API access or bulk synchronization tools like DataSync.
Example: A scientific simulation application on an EC2 instance needs to repeatedly read and write large intermediate files that are stored in an S3 bucket. Instead of modifying the application to use S3 APIs, an FSx for Lustre file system can be configured to import these files from S3. The EC2 instance then mounts the FSx for Lustre file system via NFS, allowing the application to access files at high speed using standard file operations. After the simulation, results are automatically exported back to S3 for archival and further analysis.
QUESTION 165
A company is planning a one-time migration of an on-premises MySQL database to Amazon Aurora MySQL in the us-east-1 Region. The company’s current internet connection has limited bandwidth. The on-premises MySQL database is 60 TB in size. The company estimates that it will take a month to transfer the data to AWS over the current internet connection.
The company needs a migration solution that will migrate the database more quickly.
Which solution will migrate the database in the LEAST amount of time?
- A. Request a 1 Gbps AWS Direct Connect connection between the on-premises data center and AWS. Use AWS Database Migration service (AWS DMS) to migrate the on-premises MySQL database to Aurora MySQL.
- B. Use AWS DataSync with the current internet connection to accelerate the data transfer between the on-premises data center and AWS. Use AWS Application Migration Service to migrate the on-premises MySQL database to Aurora MySQL.
- C. Order an AWS Snowball Edge device. Load the data into an Amazon S3 bucket by using the S3 interface. Use AWS Database Migration Service (AWS DMS) to migrate the data from Amazon S3 to Aurora MySQL.
- D. Order an AWS Snowball device. Load the data into an Amazon S3 bucket by using the S3 Adapter for Snowball. Use AWS Application Migration Service to migrate the data from Amazon S3 to Aurora MySQL.
Click to View Verified Solution & Explanation
Correct Option: C
Description: AWS Snowball Edge is a data migration and edge computing device that enables customers to transfer petabyte-scale data into and out of AWS. It offers an S3-compatible interface for loading data. AWS Database Migration Service (AWS DMS) is a cloud service that makes it easy to migrate relational databases, data warehouses, NoSQL databases, and other types of data stores to AWS, between different database engines, or from on-premises to AWS. DMS supports S3 as a source endpoint.
Why this fits: For migrating a large on-premises MySQL database, especially when the existing internet connection is poor, an AWS Snowball Edge device is an efficient and cost-effective solution for the initial bulk data transfer to AWS S3. Snowball Edge provides an S3-compatible endpoint, making the data loading process straightforward. Once the data is in an S3 bucket, AWS DMS can be used to migrate this data from S3 (acting as a source endpoint) to a managed database service like Aurora MySQL (as the target endpoint). This two-step approach leverages the strengths of both services for a comprehensive migration strategy.
Example: An organization with petabytes of historical MySQL data stored on-premises needs to migrate this data to Aurora MySQL in AWS. Their current internet connection is slow and unreliable. They order an AWS Snowball Edge device, copy the MySQL database backups and data files to the device via its S3 interface. After the device is shipped back to AWS, the data is uploaded to an S3 bucket. Finally, they configure AWS DMS with the S3 bucket as the source and their Aurora MySQL cluster as the target to perform the database migration.
QUESTION 166
An AWS customer has a web application that runs on premises. The web application fetches data from a third-party API that is behind a firewall. The third party accepts only one public CIDR block in each client’s allow list.
The customer wants to migrate their web application to the AWS Cloud. The application will be hosted on a set of Amazon EC2 instances behind an Application Load Balancer (ALB) in a VPC. The ALB is located in public subnets. The EC2 instances are located in private subnets. NAT gateways provide internet access to the private subnets.
How should a solutions architect ensure that the web application can continue to call the third-party API after the migration?
- A. Associate a block of customer-owned public IP addresses to the VPC. Enable public IP addressing for public subnets in the VPC.
- B. Register a block of customer-owned public IP addresses in the AWS account. Create Elastic IP addresses from the address block and assign them to the NAT gateways in the VPC.
- C. Create Elastic IP addresses from the block of customer-owned IP addresses. Assign the static Elastic IP addresses to the ALB.
- D. Register a block of customer-owned public IP addresses in the AWS account. Set up AWS Global Accelerator to use Elastic IP addresses from the address block. Set the ALB as the accelerator endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This approach utilizes the AWS Bring Your Own IP (BYOIP) feature, allowing an organization to use its existing public IPv4 address ranges within its AWS account. Once a public IP block is successfully provisioned and registered with AWS, Elastic IP addresses (EIPs) can be allocated from this customer-owned pool. These newly created EIPs are then associated with NAT Gateways within the Virtual Private Cloud (VPC).
Why this fits: NAT Gateways are essential for enabling instances in private subnets to initiate outbound connections to the internet or other AWS services while preventing direct inbound internet access. Assigning Elastic IP addresses from a customer-owned block to NAT Gateways ensures that all outbound traffic originating from the private subnets will use a consistent and recognizable public IP address from the organization’s own range. This is particularly crucial for scenarios requiring IP whitelisting, regulatory compliance, or maintaining a specific public identity for outbound network traffic.
Example: A financial institution needs to ensure that all outbound internet traffic from its application servers in private subnets originates from a set of specific, pre-approved public IP addresses to comply with strict network security policies and partner whitelisting requirements. By using BYOIP to bring their existing public IP ranges to AWS and then assigning EIPs from these ranges to their NAT Gateways, they can satisfy these requirements, guaranteeing that egress traffic consistently uses their owned and whitelisted IP space.
QUESTION 167
A company is building a serverless application that runs on an AWS Lambda function that is attached to a VPC. The company needs to integrate the application with a new service from an external provider. The external provider supports only requests that come from public IPv4 addresses that are in an allow list.
The company must provide a single public IP address to the external provider before the application can start using the new service.
Which solution will give the application the ability to access the new service?
- A. Deploy a NAT gateway. Associate an Elastic IP address with the NAT gateway. Configure the VPC to use the NAT gateway.
- B. Deploy an egress-only internet gateway. Associate an Elastic IP address with the egress-only internet gateway. Configure the elastic network interface on the Lambda function to use the egress-only internet gateway.
- C. Deploy an internet gateway. Associate an Elastic IP address with the internet gateway. Configure the Lambda function to use the internet gateway.
- D. Deploy an internet gateway. Associate an Elastic IP address with the internet gateway. Configure the default route in the public VPC route table to use the internet gateway.
Click to View Verified Solution & Explanation
Correct Option: A
Description: A NAT Gateway (Network Address Translation Gateway) is an AWS managed service that allows instances in a private subnet to connect to the internet or other AWS services outside the VPC, while preventing the internet from initiating connections with those instances. It must be deployed in a public subnet and requires an Elastic IP address for a static public IP. Private subnets are then configured with a route to send internet-bound traffic through the NAT Gateway.
Why this fits: When a Lambda function is configured to run within a VPC, it typically resides in private subnets for security and access to private resources. For this Lambda function to initiate outbound connections to the internet (e.g., to third-party APIs, AWS services outside the VPC without VPC endpoints), it needs a mechanism to route its traffic out of the private subnet. A NAT Gateway provides exactly this: outbound-only internet connectivity for resources in private subnets. The Elastic IP ensures a fixed public IP for the outbound connections, and the VPC’s route tables for the private subnets must be updated to point the default route (0.0.0.0/0) to the NAT Gateway.
Example: Consider an AWS Lambda function in a private subnet that needs to download updates from an external public repository or send data to a SaaS platform. By deploying a NAT Gateway in a public subnet, associating an Elastic IP with it, and configuring the private subnet’s route table to direct all internet-bound traffic through this NAT Gateway, the Lambda function can securely access these external resources without exposing itself to inbound internet traffic.
QUESTION 168
A company hosts a Git repository in an on-premises data center. The company uses webhooks to invoke functionality that runs in the AWS Cloud. The company hosts the webhook logic on a set of Amazon EC2 instances in an Auto Scaling group that the company set as a target for an Application Load Balancer (ALB). The Git server calls the ALB for the configured webhooks. The company wants to move the solution to a serverless architecture.
Which solution will meet these requirements with the LEAST operational overhead?
- A. For each webhook, create and configure an AWS Lambda function URL. Update the Git servers to call the individual Lambda function URLs.
- B. Create an Amazon API Gateway HTTP API. Implement each webhook logic in a separate AWS Lambda function. Update the Git servers to call the API Gateway endpoint.
- C. Deploy the webhook logic to AWS App Runner. Create an ALB, and set App Runner as the target. Update the Git servers to call the ALB endpoint.
- D. Containerize the webhook logic. Create an Amazon Elastic Container Service (Amazon ECS) cluster, and run the webhook logic in AWS Fargate. Create an Amazon API Gateway REST API, and set Fargate as the target. Update the Git servers to call the API Gateway endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon API Gateway is a fully managed service that allows developers to create, publish, maintain, monitor, and secure APIs at any scale. HTTP APIs in API Gateway are a cost-effective and low-latency option optimized for common HTTP API use cases, including proxying requests to AWS Lambda functions. AWS Lambda is a serverless, event-driven compute service that executes code in response to events, automatically managing the underlying compute resources.
Why this fits: This approach provides a highly scalable, serverless, and cost-efficient solution for handling webhooks. Each specific webhook event (e.g., push, pull request, merge) can be mapped to its own AWS Lambda function, promoting modularity and independent scaling. API Gateway acts as a single, secure, and resilient entry point for all webhook calls from the Git servers, abstracting the backend Lambda implementations. HTTP APIs are particularly well-suited for this type of proxy integration, offering reduced cost and latency compared to REST APIs for simple integrations. This architecture simplifies management by eliminating server provisioning and patching, while also allowing for API Gateway features like request throttling, custom domain names, and integration with AWS WAF for enhanced security.
Example: A GitHub repository is configured to send a webhook POST request to https://api.yourcompany.com/webhooks/github whenever code is pushed. This request is received by an Amazon API Gateway HTTP API. API Gateway then routes the request to a specific AWS Lambda function (e.g., processGithubPushEventLambda). This Lambda function processes the payload, perhaps by triggering an AWS CodePipeline, updating a database, or sending a notification to an Amazon SNS topic, without the need to manage any servers.
QUESTION 169
A company is running an application in the AWS Cloud. Recent application metrics show inconsistent response times and a significant increase in error rates. Calls to third-party services are causing the delays. Currently, the application calls third-party services synchronously by directly invoking an AWS Lambda function.
A solutions architect needs to decouple the third-party service calls and ensure that all the calls are eventually completed.
Which solution will meet these requirements?
- A. Use an Amazon Simple Queue Service (Amazon SQS) queue to store events and invoke the Lambda function.
- B. Use an AWS Step Functions state machine to pass events to the Lambda function.
- C. Use an Amazon EventBridge rule to pass events to the Lambda function.
- D. Use an Amazon Simple Notification Service (Amazon SNS) topic to store events and invoke the Lambda function.
Click to View Verified Solution & Explanation
Correct Option: A
Description: Amazon SQS is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications. It provides a robust, highly available buffer that stores messages reliably until they are processed by a consumer. AWS Lambda can be configured as an event source for an SQS queue, automatically polling the queue for messages and invoking the Lambda function with batches of messages.
Why this fits: This architecture is ideal for handling asynchronous workloads, buffering events, and providing resilience against transient failures. SQS guarantees at-least-once message delivery. If the Lambda function fails to process a message batch, the messages are returned to the queue after the visibility timeout, allowing for subsequent retries without data loss. This decoupling prevents event producers from being affected by consumer downtime or slowdowns, enhances fault tolerance, and allows the Lambda function to process events at its own pace, scaling automatically with queue depth.
Example: An e-commerce platform processes a high volume of new customer registrations. Instead of directly invoking a Lambda function for each registration, which could lead to throttling during peak loads, registration events are sent to an SQS queue. A Lambda function processes these events from the queue, performing tasks like sending welcome emails or updating CRM systems. If the email service temporarily fails, SQS ensures the registration event message remains available for retry by Lambda, preventing the loss of the welcome email request.
QUESTION 170
A company runs a processing engine in the AWS Cloud. The engine processes environmental data from logistics centers to calculate a sustainability The company has millions of devices in logistics centers that
are spread across Europe. The devices send information to the processing engine through a RESTful API
The API experiences unpredictable bursts of traffic. The company must implement a solution to process all data that the devices send to the processing engine. Data loss is unacceptable.
Which solution Will meet these requirements?
- A. Create an Application Load Balancer (ALB) for the RESTful API. Create an Amazon Simple Queue Service (Amazon SQS) queue Create a listener and a target group for the ALB. Add the SQS queue as the target. Use a container that runs in Amazon Elastic Container Service (Amazon ECS) with the Fargate launch type to process messages in the queue.
- B. Create an Amazon API Gateway HTTP API that implements the RESTful API. Create an Amazon Simple Queue Service (Amazon SQS) queue. Create an API Gateway service integration with the SQS queue. Create an AWS Lambda function to process messages in the SQS queue.
- C. Create an Amazon API Gateway REST API that implements the RESTful API. Create a fleet of Amazon EC2 instances in an Auto Scaling group. Create an API Gateway Auto Scaling group proxy integration. Use the EC2 instances to process incoming data.
- D. Create an Amazon CloudFront distribution for the RESTful API. Create a data stream in Amazon Kinesis Data Streams. Set the data stream as the origin for the distribution. Create an AWS Lambda function to consume and process data in the data stream.
Click to View Verified Solution & Explanation
Correct Option: D
Description: This solution outlines a highly scalable, serverless, and globally distributed architecture for ingesting and processing data from a RESTful API. Amazon CloudFront acts as a global content delivery network (CDN), providing low-latency access and potentially caching for the API endpoint. Amazon Kinesis Data Streams is a real-time data streaming service capable of ingesting and storing terabytes of data per hour. AWS Lambda provides serverless compute to asynchronously process data from the Kinesis stream.
Why this fits: This architecture is well-suited for high-throughput data ingestion scenarios typical of professional-level solutions.
- Global Performance and Latency Reduction: CloudFront distributes the API endpoint globally, ensuring clients connect to the nearest edge location, which significantly reduces latency and improves the user experience.
- Scalable Data Ingestion: Kinesis Data Streams is purpose-built for real-time, high-volume data ingestion. It can handle bursts of traffic and provides durable storage for data, decoupling the ingestion layer from the processing layer. While direct integration of CloudFront as an origin to Kinesis Data Streams for data ingestion (e.e.
PutRecordoperations) is an advanced pattern, it effectively uses CloudFront’s edge capabilities to deliver requests to a highly scalable ingestion service. - Serverless and Asynchronous Processing: AWS Lambda functions are invoked automatically by Kinesis Data Streams to process records as they arrive. This provides a fully serverless, pay-per-execution compute model that scales automatically with the data stream’s throughput, eliminating operational overhead.
- Real-time Capabilities: The combination of Kinesis Data Streams and Lambda enables near real-time processing of incoming data, which is critical for applications requiring immediate data analysis or actions.
Example: A global IoT fleet sends sensor data via a RESTful API. CloudFront optimizes the connection to the API endpoint for devices worldwide. This data is ingested into Kinesis Data Streams. An AWS Lambda function then processes each sensor reading, filtering irrelevant data, enriching specific metrics, and storing the processed data in an Amazon DynamoDB table for real-time dashboards or an Amazon S3 data lake for long-term analytics.
QUESTION 171
A company recently completed the migration from an on-premises data (Miter to the AWS Cloud by using a re-platforming strategy. One of the migrated servers is running a legacy Simple Mail Transfer Protocol (SMTP) service that a critical application relies upon. The application sends outbound email messages to the company’s customers. The legacy SMTP server does not support TLS encryption and uses TCP 25. The application can use SMTP only.
The company decides to use Amazon Simple Email Service (Amazon SES) and to decommission the legacy SMTP server. The company has created and validated the SES domain. The company has lifted the SES limits.
What should the company do to modify the application to send email messages from Amazon SES?
- A. Configure the application to connect to Amazon SES by using TLS Wrapper. Create an IAM role that has ses:SendEmail and ses:SendRawEmail permissions. Attach the IAM role to an Amazon EC2 instance.
- B. Configure the application to connect to Amazon SES by using STARTTLS. Obtain Amazon SES SMTP credentials. Use the credentials to authenticate with Amazon SES.
- C. Configure the application to use the SES API to send email Create an IAM role that has ses:SendEmail and scs:SendRawEmaiI Use the IAM role as a service role for Amazon SES.
- D. Configure the application to use AWS SDKs to send email messages. Create an IAM user for Amazon SES. Generate API access keys. Use the access keys to authenticate with Amazon SES.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon Simple Email Service (SES) supports sending emails via the standard SMTP protocol. For secure communication, SES requires clients to use Transport Layer Security (TLS), specifically STARTTLS, which upgrades an existing plaintext connection to an encrypted one. To authenticate, applications use SMTP credentials, which are distinct from AWS API access keys and are specifically generated within the SES console or via AWS CLI/SDK for SMTP access.
Why this fits: This approach is ideal for applications that are already designed to send email through an SMTP server. Instead of requiring a complete rewrite to use AWS SDKs or APIs, these applications can simply be configured to point to the Amazon SES SMTP endpoint, use STARTTLS for encryption, and authenticate with the dedicated SES SMTP credentials. This provides a secure and straightforward way for a wide range of applications to leverage SES without deep AWS integration.
Example: A legacy web application or a content management system (CMS) that has an existing email sending module configured to connect to an SMTP server can be easily updated. The SMTP server address would be changed to the Amazon SES endpoint (e.g., email-smtp.us-east-1.amazonaws.com), the port set to 587 (for STARTTLS), and the SMTP username and password replaced with the Amazon SES SMTP credentials. The application would then use STARTTLS to secure the connection before sending emails.
QUESTION 172
An environmental company is deploying sensors in major cities throughout a country to measure air quality. The sensors to AWS IoT Core to ingest timeseries data readings. The company stores the data in Amazon DynamoDB.
For business continuity, the company must have the ability to ingest and Store data in two AWS Regions.
Which solution will meet these requirements?
- A. Create an Amazon Route 53 alias failover routing policy with values for AWS IoT Core data endpoints in both Regions. Migrate data to Amazon Aurora global tables.
- B. Create a domain configuration for AWS IoT Core in each Region. Create an Amazon Route 53 latency-based routing policy. Use AWS IoT Core data endpoints in both Regions as values. Migrate the data to Amazon MemoryDB for Redis and configure cross-Region replication.
- C. Create a domain configuration for AWS IoT Core in each Region. Create an Amazon Route 53 health check that evaluates domain configuration health. Create a failover routing with values for the domain name from the AWS IoT Core domain configurations. Update the DynamoDB table to a global table.
- D. Create an Amazon Route 53 latency-based routing policy. Use AWS IoT Core data endpoints in both Regions as values. Configure DynamoDB streams and data replication.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution outlines a robust approach for building a highly available and fault-tolerant AWS IoT Core solution across multiple AWS Regions, leveraging AWS Route 53 for intelligent traffic routing and Amazon DynamoDB Global Tables for data replication.
Why this fits:
- AWS IoT Core Domain Configuration: To implement multi-region failover for AWS IoT Core, devices must connect to a stable, single endpoint that Route 53 can manage. AWS IoT Core custom domain configurations allow you to associate a custom CNAME (e.g.,
iot.yourdomain.com) with the regional AWS IoT Core data plane endpoint. This enables Route 53 to resolve the custom domain to the appropriate regional endpoint. - Amazon Route 53 Health Check: A Route 53 health check is essential to monitor the operational status of the AWS IoT Core endpoint (via its custom domain) in the primary Region. If the health check fails, it signals a potential outage or performance degradation in that Region.
- Amazon Route 53 Failover Routing Policy: By creating a failover routing policy, Route 53 is configured to direct traffic to a primary regional endpoint (identified by its custom domain) as long as its health check is passing. If the primary health check fails, Route 53 automatically switches traffic to a secondary regional endpoint (also identified by its custom domain). This ensures that devices connecting to the custom domain are always directed to a healthy and available IoT Core endpoint.
- Amazon DynamoDB Global Tables: For device state, metadata, and other persistent data stored in DynamoDB, Global Tables provide a fully managed, multi-Region, active-active replication solution. When a failover occurs and devices connect to the secondary Region, the data they need (e.g., device shadows) is already replicated and available with low latency, ensuring seamless operation resumption.
Example: An IoT device fleet connects to iot.example.com. Initially, Route 53 resolves this to the custom domain for AWS IoT Core in us-east-1. If us-east-1 experiences an outage, the Route 53 health check for the us-east-1 IoT Core domain configuration fails. Route 53’s failover policy then directs subsequent connections to iot.example.com to the custom domain for AWS IoT Core in us-west-2. Concurrently, any device state previously updated in us-east-1‘s DynamoDB table has been asynchronously replicated to us-west-2 via DynamoDB Global Tables, allowing devices to continue operating with their current state.
QUESTION 173
A company has a website that runs on Amazon EC2 instances behind an Application Load Balancer (ALB). The instances are in an Auto Scaling group. The ALB is associated with an AWS WAF web ACL.
The website often encounters attacks in the application layer. The attacks produce sudden and significant increases in traffic on the application server. The access logs show that each attack originates from different IP addresses. A solutions architect needs to implement a solution to mitigate these attacks.
Which solution will meet these requirements with the LEAST operational overhead?
- A. Create an Amazon CloudWatch alarm that monitors server access. Sot a threshold based on access by IP address. Configure an alarm action that adds the IP address to the web ACL's deny list.
- B. Deploy AWS Shield Advanced in addition to AWS WAF. Add the ALB as a protected resource.
- C. Create an Amazon CloudWatch alarm that monitors user IP addresses. Set a threshold on access by IP address. Configure the alarm to invoke an AWS Lambda function to add a deny rule in the application server's subnet route table for any IP addresses that activate the alarm.
- D. Inspect access logs to find a pattern of IP addresses that launched the attacks. Use an Amazon Route 53 geolocation routing policy to deny traffic from the countries that host those IP addresses.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Shield Advanced is a managed Distributed Denial of Service (DDoS) protection service designed to safeguard applications running on AWS. It provides enhanced detection and mitigation capabilities against sophisticated and large-scale DDoS attacks. When combined with AWS WAF (Web Application Firewall), it offers a multi-layered security strategy, where WAF handles common web exploits and custom rule-based filtering at Layer 7, while Shield Advanced focuses on volumetric, protocol, and sophisticated application layer DDoS attacks. Protecting an Application Load Balancer (ALB) with Shield Advanced ensures that the primary entry point for web traffic to the application benefits from these enhanced protections.
Why this fits: For defending against "sophisticated attacks," a comprehensive and layered approach is essential. AWS WAF provides critical application-layer protection, but for more advanced and volumetric DDoS attacks, AWS Shield Advanced is specifically engineered to provide always-on detection and automatic inline mitigations. It also offers access to the AWS DDoS Response Team (DRT) for manual intervention during complex events. Protecting the ALB, which sits at the edge of your application and distributes incoming traffic, ensures that DDoS protection is applied at the critical ingress point. This combination provides robust defense far beyond what WAF alone or reactive CloudWatch/Lambda solutions can offer.
Example: A company hosts its critical e-commerce platform on AWS, fronted by an Application Load Balancer. To protect against potential business-disrupting attacks, they deploy AWS WAF to block common web exploits like SQL injection and cross-site scripting. For higher-level assurance against sophisticated DDoS attacks during peak sales seasons, they subscribe to AWS Shield Advanced and add their ALB as a protected resource. This ensures that the platform remains available even under direct DDoS pressure, with the added benefit of proactive monitoring and expert support from the AWS DRT.
QUESTION 174
A solutions architect is reviewing a new internally developed application in a sandbox AWS account. The application uses an AWS Auto Scaling group of Amazon EC2 that have an IAM instance profile attached. Part of the application loqic creates and accesses secrets from AWS Secrets Manager. The company has an AWS function that calls the application API to test the functionality The company also has created an AWS CloudTrail trail in the account.
The application’s developer has attached the SecretsManagerReadWrite AWS managed IAM policy to an IAM role. The IAM role is associated with the instance profile that is attached to the EC2 instances. The solutions architect has invoked the function for testing.
The solutions architect must replace the SecretsManagerRoadWrite policy with a new policy that provides least privilege access to the Secrets Manager actions that the application requires.
What is the MOST operationally efficient solution that meets these requirements?
- A. Generate a policy based on CloudTraiI events for the IAM role. Use the policy output to create a new IAM policy. Use the newly generated IAM policy to replace the SecretsManagerReadWrite that is attached to the IAM role.
- B. Create an analyzer in AWS Identity and Access Management Access Analyzer. Use the IAM role's Access Advisor findings to create a new IAM policy Use the newly created IAM policy to replace the SecretsManagerReadWrite policy that is attached to the IAM role.
- C. Use the aws cloudtrail lookup-events AWS CLI command to filter and export CloudTrail events that are related to Secrets Manager. Use a new IAM that contains the actions from CloudTraiI to replace the SocretsManagerReadWrite policy that is attached to the IAM role.
- D. Use the IAM policy simulator to generate an IAM for the IAM role. Use the newly generated IAM policy to replace the SecretsManagerRoadWrite policy that is attached to the IAM role.
Click to View Verified Solution & Explanation
Correct Option: A
Description: The principle of least privilege dictates that an IAM identity should be granted only the permissions required to perform its intended tasks. CloudTrail is an AWS service that logs API calls made to AWS services. By analyzing these logs, it’s possible to identify the exact actions an IAM role has performed over a period, thereby determining its actual permission needs.
Why this fits: This approach directly addresses the goal of refining an overly broad policy (SecretsManagerReadWrite) to a least-privilege policy. By examining CloudTrail events, an administrator can precisely identify which Secrets Manager actions (e.g., secretsmanager:GetSecretValue, secretsmanager:DescribeSecret) were actually invoked by the IAM role. Tools or custom scripts can then parse these events to generate a new, highly granular IAM policy containing only those observed actions and specific resource ARNs, if applicable. This new policy can then replace the existing broad policy, significantly reducing the security blast radius.
Example: An IAM role has SecretsManagerReadWrite but CloudTrail logs show it only ever calls secretsmanager:GetSecretValue for a specific secret. By analyzing these logs, a new policy can be generated that only allows secretsmanager:GetSecretValue on that particular secret, replacing the original, more permissive policy.
QUESTION 175
An application is using an Amazon RDS for MySQL Multi-AZ DB instance in the us-east-1 Region. After a failover test, the application lost the connections to the database and could not re-establish the connections. After a restart of the application, the application re-established the connections.
A solutions architect must implement a solution so that the application can re-establish connections to the database without requiring a restart.
Which solution will meet these requirements?
- A. Create an Amazon Aurora MySQL Serverless v1 DB instance. Migrate the RDS DB instance to the Aurora Serverless v1 DB instance. Update the connection settings in the application to point to the Aurora reader endpoint.
- B. Create an RDS proxy. Configure the existing RDS endpoint as a target. Update the connection settings in the application to point to the RDS proxy endpoint.
- C. Create a two-node Amazon Aurora MySQL DB cluster. Migrate the RDS DB instance to the Aurora DB cluster. Create an RDS proxy Configure the existing RDS endpoint as a target. Update the connection settings in the application to point to the RDS proxy endpoint.
- D. Create an Amazon S3 bucket. Export the database to Amazon S3 by using AWS Database Migration (AWS DMS). Configure Amazon Athena to use the S3 bucket as a data store. Install the latest Open Database Connectivity (ODBC) driver for the application. Update the connection in the application to point to the Athena endpoint.
Click to View Verified Solution & Explanation
Correct Option: B
Description: Amazon RDS Proxy is a fully managed, highly available database proxy for Amazon RDS that provides resilient connection management, reduces failover times, and efficiently handles database connections. It maintains a pool of established database connections and reuses them, reducing the overhead on the database.
Why this fits: RDS Proxy is specifically designed to enhance application resilience to database failures. In the event of an Amazon RDS Multi-AZ failover, RDS Proxy automatically routes application connections to the new primary database instance without requiring the application to drop and re-establish connections or change its connection string. This significantly reduces failover times and minimizes application downtime and connection errors, making the application more resilient to transient database issues. It also allows applications to scale without overwhelming the database with too many open connections.
Example: An e-commerce platform relies on an Amazon RDS MySQL database. During a Multi-AZ failover of the database instance, the application typically experiences a brief period of connection errors and slow response times as it re-establishes connections. By implementing an RDS Proxy, the application connects to the proxy endpoint. During a subsequent failover, the RDS Proxy intelligently manages the connection routing to the newly promoted primary instance, ensuring that the e-commerce platform’s connections remain largely unaffected, leading to a smoother user experience and improved availability.
QUESTION 176
A manufacturing company is building an inspection solution for its factory. The company has IP cameras at the end of each assembly line. The company has used Amazon SageMaker to train a machine learning (ML) model to identify common defects from still images.
The company wants to provide local feedback to factory workers when a defect is detected. The company must be able to provide this feedback even if the factory’s internet connectivity is down. The company has a local Linux server that hosts an API that provides local feedback to the workers.
How should the company deploy the ML model to meet these requirements?
- A. Set up an Amazon Kinesis video stream from each IP camera to AWS. Use Amazon EC2 instances to take still images of the streams. Upload the images to an Amazon S3 bucket. Deploy a SageMaker endpoint with the ML model. Invoke an AWS Lambda function to call the inference endpoint when new images are uploaded. Configure the Lambda function to call the local API when a defect is detected.</h1><h1>
- B. Deploy AWS IoT Greengrass on the local server. Deploy the ML model to the Greengrass server. Create a Greengrass component to take still images from the cameras and run inference. Configure the component to call the local API when a defect is detected.</h1><h1>
- C. Order an AWS Snowball device. Deploy a SageMaker endpoint, the ML model, and an Amazon EC2 instance on the Snowball device. Take still images from the cameras. Run inference from the EC2 instance. Configure the instance to call the local API when a defect is detected.</h1><h1>
- D. Deploy Amazon Monitron devices on each IP camera. Deploy an Amazon Monitron Gateway on premises. Deploy the ML model to the Amazon Monitron devices. Use Amazon Monitron health state alarms</h1><h1>to call the local API from an AWS Lambda function when a defect is detected.</h1><h1>
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS IoT Greengrass is an edge runtime and cloud service that extends AWS capabilities to local devices. It allows running AWS Lambda functions, containerized applications, and pre-trained machine learning models directly on premises, close to data sources. This enables local data processing, analysis, and execution of actions, reducing latency, conserving bandwidth, and allowing operation even with intermittent cloud connectivity.
Why this fits: This solution effectively addresses the requirements by performing machine learning inference at the edge, directly on the local server where the IP cameras reside. By deploying the ML model to AWS IoT Greengrass, images can be captured, processed for defects, and trigger an action (calling a local API) with minimal latency. This approach avoids the need to stream potentially large volumes of video data to the cloud for processing, significantly reducing bandwidth costs and network latency. A Greengrass component can be specifically designed to integrate with the local cameras, run the inference, and then directly invoke the local API endpoint when a defect is detected, ensuring a rapid response without requiring a round trip to AWS cloud services for every inference or local action.
Example: In a manufacturing facility, several IP cameras monitor a conveyor belt for product defects. An industrial server on the factory floor runs AWS IoT Greengrass. An ML model, previously trained in Amazon SageMaker, is deployed to this Greengrass core. A custom Greengrass component is configured to capture still images from the IP cameras, pass them to the local ML model for inference, and if a defect is identified, immediately call a local REST API endpoint on a Programmable Logic Controller (PLC) to divert the defective product or alert an operator.
QUESTION 177
A solutions architect is designing a solution to process events. The solution must have the ability to scale in and out based on the number of events that the solution receives. If a processing error occurs, the event must move into a separate queue review.
Which solution will meet these requirements?
- A. Send event details to an Amazon Simple Notification Service (Amazon SNS) topic. Configure an AWS Lambda function as a subscriber to the SNS topic to process the events. Add an on-failure destination to the function. Set an Amazon Simple Queue Service (Amazon SQS) queue as the target.
- B. Publish events to an Amazon Simple Queue (Amazon SOS) queue. Create an Amazon EC2 Auto Scaling group. Configure the Auto Scaling group to scale in and out based on the Approximate Age of oIdest Message metric of the queue. Configure the application to write failed messages to a dead-letter queue.
- C. Write events to an Amazon DynamoDB table. Configure a DynamoDB stream the table. Configure the stream to invoke an AWS Lambda function. Configure the Lambda function to process the events.
- D. Publish events to an Amazon EventBridge event bus. Create and run an application on an Amazon EC2 instance with an Auto Scaling group that is an Application Load Balancer (ALB). Set the ALB as the event bus target. Configure event bus to retry events. Write messages to a queue if the application cannot process the messages.
Click to View Verified Solution & Explanation
Correct Option: B
QUESTION 178
A company has mounted sensors to collect information about environmental parameters such as humidity and light throughout all company’s. The company needs to stream and analyze the data in the AWS Cloud in real time. If any of the parameters fall out of acceptable the factory operations team must receive a notification.
Which solution will meet these requirements?
- A. Stream the data to an Amazon Kinesis Data Firehose delivery stream. Use AWS Step Functions to consume and analyze the data in the Kinesis Data Firehose delivery stream. Use Amazon Simple Notification Service (Amazon SNS) to notify the team.
- B. Stream the data to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster. Set up a in Amazon MSK to invoke an AWS Fargate task to analyze the data. Use Amazon Simple Email Service (Amazon SES) to notify the operations team.
- C. Stream the data to an Amazon Kinesis data stream. Create an AWS function to consume the Kinesis data stream and to analyze the data. Use Amazon Simple Notification Service (Amazon SNS) to notify the operations team.
- D. Stream the data to an Amazon Kinesis Data Analytics application. Use an automatically scaled and containerized service in Amazon Elastic Container Service (Amazon ECS) to consume and analyze the data. Use Amazon Simple Email Service (Amazon SES) to notify the operations team.
Click to View Verified Solution & Explanation
Correct Option: C
Description: This solution outlines a common, serverless, and scalable architecture for real-time data processing and alerting on AWS. Amazon Kinesis Data Streams provides a highly scalable and durable platform for ingesting and storing streaming data. AWS Lambda functions offer serverless, event-driven compute to consume records from the Kinesis data stream, perform custom analysis, and execute business logic. Amazon Simple Notification Service (SNS) is a fully managed messaging service used to send notifications to subscribed endpoints, such as email, SMS, or other applications, ensuring timely alerts to the operations team.
Why this fits: This architecture is a best practice for real-time analytics and monitoring. Kinesis Data Streams guarantees data durability and ordering, while Lambda functions automatically scale based on the data volume in the stream, minimizing operational overhead and cost. The tight integration between Kinesis Data Streams and Lambda allows for near real-time processing. SNS provides a flexible and reliable mechanism for broadcasting critical alerts, making it suitable for notifying operations teams about detected patterns or anomalies.
Example: An e-commerce platform streams customer clickstream data into an Amazon Kinesis Data Stream. An AWS Lambda function is configured to consume this stream, analyzing user behavior for potential fraud patterns or high-value customer activity. If a suspicious pattern is detected, the Lambda function publishes a message to an Amazon SNS topic, which then sends an email notification to the fraud detection team and an SMS to a security manager.
QUESTION 179
A company wants to use AWS to create a business continuity solution in case the company’s main on-premises application fails. The application runs on physical servers that also run other applications. The On-premises application that the company is planning to migrate uses a MySQL database as a data store. All the company’s on-premises applications use operating systems that are compatible with Amazon EC2.
Which solution will achieve the company’s goal with the LEAST operational overhead?
- A. Install the AWS Replication Agent on the source servers. including the MySQL servers. Sot up replication for all servers. Launch test instances for drills. Cut over to the test to fail over the workload in the case of a failure event.
- B. Install the AWS Replication Agent on the source servers, including the MySQL servers. Initialize AWS Elastic Disaster Recovery in the AWS Define the launch Frequently failover and failback the most recent in time.
- C. Create AWS Database migration Service (AWS DMS) replication servers and a target Amazon Aurora MySQL DB cluster to host the database. Create a DMS replication task to copy the existing data to the target DB cluster. Create a local AWS Schema Conversion (AWS SCT) data capture task to keep the data synchronized. Install the rest of the software on EC2 by starting with a compatible base AMI.
- D. Deploy an AWS Storage Gateway on premises. Mount volumes on all on-premises servers. Install the application and the MySQL database on the new volumes. Take regular snapshots. Install all the software on EC2 instances by starting with a compatible base AMI. Launch a Gateway on an EC2 instance. Restore the volumes from the latest snapshot. Mount the new volumes on the EC2 instances in the case of a failure event.
Click to View Verified Solution & Explanation
Correct Option: B
Description: AWS Elastic Disaster Recovery (AWS DRS) is a cost-effective, highly resilient, and scalable disaster recovery solution that minimizes downtime and data loss with fast, reliable recovery of on-premises and cloud-based applications to AWS. It continuously replicates data from source servers to a lightweight staging area in your AWS account. When a disaster occurs, AWS DRS provisions recovery instances in your target AWS Region, using the most up-to-date data.
Why this fits: This choice accurately describes the recommended AWS service and process for disaster recovery of on-premises servers, including application servers and databases like MySQL. The AWS Replication Agent is installed on source servers (like on-premises MySQL servers) to continuously replicate data to a staging area in AWS. Initializing AWS Elastic Disaster Recovery sets up the DR plan within AWS. The ability to launch test instances and perform frequent failover and failback drills is a critical component of validating the disaster recovery strategy and ensuring readiness, leveraging the most recent replicated data. This approach provides a comprehensive, automated, and continuously synchronized DR solution for an entire server stack.
Example: An organization wants to protect their on-premises e-commerce application, which includes Linux web servers and MySQL database servers, from a regional outage. They install the AWS Replication Agent on all these servers. In their AWS account, they configure AWS Elastic Disaster Recovery, linking their on-premises environment to a target AWS region. Regular drills are performed by launching test instances from the replicated data to verify the recovery time objectives (RTO) and recovery point objectives (RPO) are met, ensuring the MySQL database and application data are current and functional.
QUESTION 180
A company runs an application on AWS. The company curates data from several different sources. The company uses proprietary algorithms to perform data transformations and aggregations. After the company performs ETL processes, the company stores the results in Amazon Redshift tables. The company sells this data to other companies. The company downloads the data as files from the Amazon Redshift tables and transmits the files to several data customers by using FTP. The number of data customers has grown significantly. Management of the data customers has become difficult.
The company will use AWS Data Exchange to create a data product that the company can use to share data with customers. The company wants to confirm the identities of the customers before the company shares data. The customers also need access to the most recent data when the company publishes the data.
Which solution will meet these requirements With the LEAST operational overhead?
- A. Use AWS Data Exchange for APIs to share data with customers. Configure subscription verification. In the AWS account of the company that the data, create an Amazon API Gateway Data API service integration with Amazon Redshift. Require the data customers to subscribe to the data product.
- B. In the AWS account of the company that produces the data, create an AWS Data Exchange datashare by connecting AWS Data Exchange to the Redshift cluster Configure subscription verification. Require the data customers to subscribe to the data.
- C. Download the data from the Amazon Redshift tables to an Amazon S3 bucket periodically. Use AWS Data Exchange for S3 to share data with customers. Configure subscription verification. Require the data customers to subscribe to the data.
- D. Publish the Amazon Redshift data to an Open Data on AWS Data Exchange. Require the customers to subscribe to the data product in AWS Data Exchange. In the AWS account of the company that produces the data, attach IAM resource-based policies to the Amazon Redshift tables to allow access only to verified AWS accounts.
Click to View Verified Solution & Explanation
Correct Option: B
Description: This option describes the native integration for sharing data directly from an Amazon Redshift cluster using AWS Data Exchange. AWS Data Exchange for Amazon Redshift allows data providers to leverage Redshift’s secure datasharing capabilities to offer data products to subscribers. This approach uses Redshift datashares as the underlying mechanism, making it highly efficient for sharing large datasets within the AWS Data Exchange framework.
Why this fits: The most direct and efficient method to share data from Amazon Redshift via AWS Data Exchange is to utilize its native integration with Redshift datasharing. This eliminates the need for intermediate data movement (like to S3) or complex API layers, reducing operational overhead and improving data freshness. Data providers create datashares in Redshift, which are then published as data products in AWS Data Exchange. Subscribers can then consume this data directly within their own Redshift clusters or other supported services. The requirement for subscription verification and customer subscription aligns with the standard workflow of AWS Data Exchange.
Example: A financial services company maintains real-time market data in an Amazon Redshift cluster. To monetize and securely share this data with their institutional clients, they create an Amazon Redshift datashare within their account, which includes the necessary tables and views. They then integrate this datashare with AWS Data Exchange to create a data product. Customers interested in this market data subscribe through AWS Data Exchange, and upon verification, gain access to the datashare, allowing them to query the data directly from their own Redshift environments.
Need the Full Exam Simulator?
Practice the complete question bank in a realistic, timed environment with advanced tracking.
