ministryofjustice / cloud-platform

Documentation on the MoJ cloud platform
MIT License
84 stars 44 forks source link

Investigate if we can assign EIP to nginx Network Load Balancer #6000

Closed timckt closed 1 week ago

timckt commented 1 month ago

Background

We would like to add Network Load Balancer to AWS Shield Advance for protection. However, according to AWS document, we cannot directly add NLB to Shield and instead we need to add it through associations to Amazon EC2 Elastic IP addresses.

Currently our cluster's network load balancer is created by ingress-controller, and the public IP is auto assigned by AWS and we cannot add this public IP to AWS Shield.

Relates to #6001

Proposed user journey

Which part of the user docs does this impact

Communicate changes

Questions / Assumptions

Definition of done

Reference

How to write good user stories

timckt commented 3 weeks ago

Below is the update from aws support ticket

In the case where the NLB already has a IP that is assigned by AWS associated with it, you would need to add a new availability zone(AZ), if available, and specify the IPv4 address as an EIP(Shield Advanced Protected one). NLB does not support changing an existing AZ from AWS assigned IP address to EIP. It is important to note that the original AZ's will have non Shield Advanced Protected IP. The recommended option would be to create a new NLB with EIPs in all the AZ's. These EIPs will be Shield Advanced protected. Once this NLB is provisioned the customer can shift traffic from the old NLB to the new one. Once the EIPs are associated with your NLB, go to the AWS Shield Advanced console and add those EIPs as protected resources. After completing these steps, your NLB will be protected by AWS Shield Advanced against DDoS attacks

Reference https://github.com/kubernetes/kubernetes/issues/63959

timckt commented 2 weeks ago

Update:

timckt commented 2 weeks ago

Next Step: