- Più recenti
- Maggior numero di voti
- Maggior numero di commenti
We have a similar issue with a dockerized app on AppRunner - related to DNS resolution (Temporary failure in name resolution
=> EAI_AGAIN
error):
FetchError: request to https://via.placeholder.com/1000x640 failed, reason: getaddrinfo EAI_AGAIN via.placeholder.com
It only happens after a new deployment (new docker image to fetch) to AppRunner. After a pause/resume of the app the issue is gone. No issues when resolving AWS internal services though. Luckily we won't use placeholder images in prod (and have no other calls to the outside).
Update:
In my case it seems related to alpine
as base image (more details -> https://github.com/nodejs/docker-node/issues/1030). After switching from node:16-alpine
to node:16-slim
, the issue has gone.
We experienced the same issue, intermittent DNS lookup failures of an RDS hostname from an App Runner python microservice. For us, switching the resolver implementation to ares (GEVENT_RESOLVER="ares" environment variable) fixed these issues.
That issue is more about connecting to a private entity in a VPC (which is not possible - today- given that an App Runner service does not connect to a VPC). You should be able to resolve any public DNS name however. I am wondering if the FQDN you are using is malformed in some way? Can you test something really simple like curling/getting www.google.com
or anything as basic in order to validate that public name resolution inside the service works?
[UPDATE]: I built this super simple/stupid application to prove an app deployed to App Runner can resolve and connect to the Internet. You can deploy it to App Runner and see how it can connect to a public website.
I've tried hardcoding google.com and got the same error. This isn't intermittent for me - I'm getting 100% failure. I'll see if changing the resolver works, thanks!
See my updated answer above
I'm getting a 404 on that path - is it public? I'll definitely give it a shot.
Damn it, it was not. Now it is.
I recreated your API method in my app (also Flask) and.... it worked. Not only did the call to Google work, but the Auth0 call that was previously throwing the error I posted also worked with no other changes to the code. So now my app is working again!
I want to know what fixed it I will keep poking at this and post if I find anything out. Thanks for your help!!
Cool. Glad it worked.
Contenuto pertinente
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata 6 mesi fa
I'll give this a shot if it starts to happen to me again and report back.