Assuming that resources are deployed in multiple Availability Zones in a single Region, which solution will meet these requirements?
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.
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 NLCreate 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.
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.
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.
Explanations:
While this option uses EC2 instances with Elastic IPs and a Network Load Balancer, it doesn’t ensure high availability because each EC2 instance has its own Elastic IP, which can lead to issues if one instance fails. It also complicates DNS management with multiple IPs instead of a single DNS entry pointing to the load balancer.
This option uses ECS with public IPs and a Network Load Balancer, but it doesn’t provide fixed Elastic IPs, which are required for companies to allowlist the IPs. Furthermore, using public IPs directly without a load balancer may introduce availability issues.
This solution correctly utilizes EC2 instances with Elastic IPs for each Availability Zone and a Network Load Balancer. It assigns the Elastic IPs to the NLB, ensuring high availability and redundancy. The NLB DNS name can be used for the A record, making it easier for companies to allowlist a single endpoint.
Although this option uses an ECS cluster and a load balancer, it employs public IP addresses instead of Elastic IPs, which does not meet the requirement for fixed address assignments. Additionally, an Application Load Balancer is not suitable for TCP traffic, which contradicts the service requirement.