If you're accessing a Public load balancer that is in a different VPC (owned by you or by someone else) then the answer from Jhalak is correct - NAT Gateway is the way to go.
But I think your question is asking how you access the load balancer in the same VPC. You can still use NAT Gateway but there is a charge associated with that. Today, there's no simple way of getting a DNS record for the private IP of the load balancer. Instead, you might create a second private load balancer.
Also: Your question mentions ELB; please consider using ALB as it has many more features.
you can use NAT Gateway to send traffic out of your Private EC2/subnet.
Private Instance and Public ELB HTTPS Problem.
AWS Nitro Enclave instance does not have public ipv4 addressasked 6 months ago
Unable to access EC2 Instance over the Public IP Addressasked 3 months ago
Why does ELB need one public IP address for each public subnet?asked 3 years ago
Why it isn’t re-assigned a public IP address and public IP DNS for a Instance in a public subnet after stopped and started in case of attached 2 eni.Accepted Answerasked a month ago
CoreDNS can't resolve on public subnet in VPC with public and private subneasked 4 years ago
Restoring an EC2 Instance - the Public IP is missingAccepted Answerasked 3 months ago
Is it possible Private EC2 Instance send outbound traffic to Public ELB?
EC2 instance in private subnet shows IPv4 address of NAT instanceasked 3 years ago
Is it possible to create RDS replica in public subnet while master db is in private?asked 3 months ago