I have a task to configure API Gateway to route traffic to Lambda or to Load Balancer(internal, under VPC). I thought that it would be possible to create simple integration for ALB using simple HTTP integration or AWS Service. But after some time of googling I found only one solution - is to configure NLB and then use VPC_Link integration. In this case everything looks like working.
But still I found some articles like this one where people describe how they can integrate Api Gateway and LB without VPC_links. In my case I always see invalid endpoint address
error when integrate my internal ALB with my apigateway. I suppose that this works only for public resources(internet facing LBs)?
And second part of question. When I configured VPC_link I still need to provide some endpoint in integration for certificate checks and something else. But looks like this endpoint still must be publicly accessible? The problem is that my service under ALB have multiple endpoints and I need to provide Path to this endpoints in this Endpoint URL
and this endpoint should be public as I see right now. So for test reasons I provided url of our public resource and path of endpoint that I need to execute. And this works but looks too ugly for me. May be there is any pretty solution.
I've been struggling with this too. For a REST API, you can create a VPC link to an NLB, but not an ALB (that's the invalid endpoint address
issue you've been seeing). It is possible to connect an HTTP API directly to an API Gateway (that's release about a month ago - API Gateway offers private integrations with AWS ELB and AWS CloudMap as part of HTTP APIs GA release). It's frustrating, and I wish they'd add ALB support to the VPC links for REST APIs, but right now that isn't possible.
As for the second part of your question, I'm not sure what you mean by "endpoint integration," so I'm afraid I can't help you there.