My web server is (include version): The latest version of the nginx-proxy container.
The operating system my web server runs on is (include version): Whatever the nginx-proxy container runs.
My hosting provider, if applicable, is: AWS
I can login to a root shell on my machine (yes or no, or I don't know): Yes
I'm using a control panel to manage my site (no, or provide the name and version of the control panel):
The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): The latest version of the letsencrypt companion container.
The nginx-proxy logs show that the http validation succeeds so I'm at a loss. How is it connecting if no valid IP address was found?
It failed a DNS lookup of an IP address right? Without that there wouldn't be any way to attempt getting the challenge file. All three of the accesses in @tom.havoc's log are within 20 seconds of the certificate's start time. This is just my curiosity here. Don't read into it too much.
@_az is correct, I attempted a second time and it worked. So here's a bit more elaboration of what I'm doing and I think it will explain the results I'm getting.
The sever is provisioned with a build script and the FQDN is generated on the fly. After the provisioning script creates the instance, it then grabs the instance IP and adds an A record to the hosted zone in Route 53.
The nginx containers get pulled as part of the cloud init script and I put a delay in there to try to make sure that the DNS record is in place before that happens. So it must be that the newly added A record hasn't fully propagated yet when the certificate request is taking place. I'll try extending the delay and see if that fixes it.