Global Stock Brokerage Firm | Highly Available Stock Application | AWS Certified Advanced Networking - Specialty

Deploying Stateful UDP Application | Exam: ANS-C01 | AWS Certification | Amazon

Prev Question Next Question

Question

A global stock brokerage firm is developing a new stock application for its global customers.

The application would be deployed on a fleet of EC2 instances in the Auto-scaling Group.

This stateful application uses UDP for traffic between users to servers.

Since this application would be used for stock trading by high profile users, the CTO of this firm requires this application to be highly available & there should not be any performance degradation for global users.

For audit purposes, all client IP addresses accessing this application should be preserved. Which of the following can be deployed to meet this requirement?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Correct Answer - C.

For high performance & High availability of applications, AWS Global Accelerator can be used.

Since the client is deploying a Stateful application, client affinity needs to be enabled for a listener to forward traffic from the user IP address to the same endpoint resource.

This EC2 Instance can be used as an endpoint that also supports UDP & client IP preservation.

Option A is incorrect as with Elastic IP address as an endpoint for AWS Global accelerator, client IP address preservation is not supported.

Option B is incorrect as CLB does not support UDP traffic.

Option D is incorrect as ALB does not support UDP traffic.

For more information on AWS Global Accelerator, refer to the following URLs.

https://aws.amazon.com/blogs/networking-and-content-delivery/updating-aws-global-accelerator-ec2-endpoints-based-on-autoscaling-group-events/

https://docs.aws.amazon.com/global-accelerator/latest/dg/about-listeners-client-affinity.html.

The requirement is to deploy a highly available, stateful application for stock trading that uses UDP for traffic between users and servers. Additionally, client IP addresses need to be preserved for audit purposes. The application will be deployed on a fleet of EC2 instances in an Auto Scaling Group.

To meet this requirement, AWS Global Accelerator can be used as it provides a highly available and performant network layer for traffic between users and servers. It also preserves client IP addresses for audit purposes.

AWS Global Accelerator is a service that routes traffic to optimal endpoints over the AWS global network. It uses anycast IP addresses to provide fast, deterministic, and application-specific routing. Global Accelerator supports both TCP and UDP protocols, making it suitable for this use case where UDP is used.

There are four endpoint types that can be used with Global Accelerator:

A. Elastic IP addresses: Global Accelerator can use Elastic IP addresses as endpoints. This is not the best option in this case because the Elastic IP is tied to a specific region and does not provide global failover. This means that if the region hosting the Elastic IP address becomes unavailable, users will not be able to connect to the application.

B. Classic Load Balancers: Global Accelerator can use Classic Load Balancers as endpoints. However, this is not the best option because Classic Load Balancers are deprecated and do not support UDP traffic.

C. EC2 instances: Global Accelerator can use EC2 instances as endpoints. This is a good option because it allows the application to be deployed on a fleet of EC2 instances in an Auto Scaling Group. Additionally, the instances can be distributed across multiple regions to provide global failover.

D. Application Load Balancers: Global Accelerator can use Application Load Balancers as endpoints. This is a good option because it supports UDP traffic and provides advanced features such as SSL termination, content-based routing, and health checks.

In conclusion, the best option for this use case would be to create AWS Global Accelerator with EC2 instances or Application Load Balancer as an endpoint, depending on the additional features required.