- Más nuevo
- Más votos
- Más comentarios
I 100% agree with the comment above - this is adding a lot of complexity for not much extra gain. If you are running very large services where the service limits are going to impact you then I'd suggest that running those APIs in different accounts without a front-end API is a better idea. Otherwise you're just moving the limit problem around.
And if you are operating at that scale I'd also recommend reaching out to your local AWS Solutions Architect to talk about what patterns will work better for you.
To answer your other question though: Traffic between AWS services always stays on the Amazon backbone network. This is called out in the VPC FAQ where it talks about two instances communicating via public IP addresses - this is also true for (in this case) API Gateway calling another API Gateway.
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años
This sounds relatively complicated for a pretty mundane problem. I would look into having your service quota increased first before going too much further with this approach. And going out on a limb, but considering how you configure proxying by providing the domain name, I would highly doubt it would "detect" and attempt to redirect traffic. Very likely it has to go over the open internet and would count against egress traffic costs.
https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html
Thanks for the comment @Dakota. Yeah, I have already requested the quota increase, but I'm still pushing forward with this solution as I may reach the limit again (and, well, I would need to request a Quota increase on every region/account and the SLA of the team which handles that Quota takes a few days to respond). I think I was able to come up with quite an elegant solution, which is using a custom domain name. Basically, I've now a custom domain (api.example.org), and I'm using Base Path Mappings to point to each Path API (api.example.org/path1 -> Path1 API, etc.).