Category: e) other coverage-related issue with the resource/attribute/option
AWS::EC2::NetworkInterface resources for the NLB ENIs, giving known/query-able IP addressesPrivateIPv4Address property of SubnetMapping in the CreateLoadBalancer API call as part of AWS::ElasticLoadBalancingV2::LoadBalancer SubnetMapping, allowing specification of fixed IP addressesFn::GetAtt for IpAddressList returns a comma-separated list of IP addresses for the NLBFn::Split and used in AWS::EC2::SecurityGroupIngress resourcesAWS::EC2::NetworkInterface resourcesAWS::ElasticLoadBalancingV2::LoadBalancer allows specifying pre-existing ENIsFn::GetAtt for PrimaryPrivateIpAddress and used to in AWS::EC2::SecurityGroupIngress resourcesPrivateIPv4Address property to the AWS::ElasticLoadBalancingV2::LoadBalancer SubnetMapping object, mapping to PrivateIPv4Address in SubnetMapping for the CreateLoadBalancer call(Mostly applicable to Option iii.)
if i have 100 thumbs i will throw all of them to thumb this up. in the past 12 months i have to deploy the custom resources at least 8 times for multiple client. i would like to have a proper native solution than a custom hack from custom resources
I'd like to see this implemented, and I'd suggest the path (iii) (adding a PrivateIPv4Address to SubnetMappings) is the way to go, since it would behave as the APIs
+1 for the (iii) option.
Using NLB for Radius or NB-IOT NIDD applications, which require putting IP addresses in config (and not hostnames).
+1 for the (iii) option.
I'm using an NLB for capturing syslog data from on-prem devices. Since these devices are difficult to update I prefer to choose a static IP address in advance and assign it to the NLB.
+1 for all of these options. I think (i) is still required even if (ii) or (iii) are available as I'd still want to list IPs even if I haven't pre-defined them.
Also worth referencing the AWS documentation for Registering Targets with Your Target Group, which details the comically manual steps required to restrict healthchecks to LB private IPs:
If you do not want to grant access to the entire VPC CIDR, you can grant access to the private IP addresses used by the load balancer nodes. There is one IP address per load balancer subnet. To find these addresses, use the following procedure.
To find the private IP addresses to whitelist
Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.
In the navigation pane, choose Network Interfaces.
In the search field, type the name of your Network Load Balancer. There is one network interface per load balancer subnet.
On the Details tab for each network interface, copy the address from Primary private IPv4 IP.
Reviewing this again today in light of a new application requirement, and I noticed it is now possible to specify PrivateIPv4Address in SubnetMappings. In fact, this was silently added to the docs on 2020-06-18.
This satisfies my use-case, but leaving this issue open as some have pointed out that suggested resolution (i) is still necessary.
Most helpful comment
I'd like to see this implemented, and I'd suggest the path (iii) (adding a
PrivateIPv4AddresstoSubnetMappings) is the way to go, since it would behave as the APIs