Route53 DNS issue with Django Elastic Beanstalk app - django

Not sure what I am doing wrong here. My zone is public and I have simple routing for the A records pointing to the EB alias. I even tried a CNAME to no avail.
Browser error in Chrome -- The site can't be reached. DNS address could not be found. Diagnosing the problem. DNS_PROBE_POSSIBLE
I even did a test response within the console. Everything checks out but there is something funny happening between the Route53 -> EB handshake. The EB alias works just fine by itself.
I would love some pointers. Perhaps I need to configure something within Django settings?

It turned out to be an issue with the resolvers on the AWS side even though I didn't transfer the domain. They provisioned the wrong resolvers and I had to manually change them out to a different set. I only discovered this fact after creating a support case.

Related

AWS: Connect Amplify to custom domain on Route 53

As per title, for some reason I'm unable to connect the deployed app on Amplify to a custom domain provided on Route 53.
Here's the app deployed with Amplify: https://master.dwog1beoc1uv7.amplifyapp.com/
On Route 53, I created a hosted zone and added a CNAME record which should connect the custom domain to the domain where amplify hosts the app:
I then went to Amplify and added a new domain for the application:
If I now go back to Route 53, I can see the records have been automatically updated as followed:
Although everything seem setup properly, the custom domain (http://alessiopetrin.com/) doesn't work just yet.
If I test the record on Route 53, all seem fine:
I understand I should allow some time for the DNS propagation to take effect (up to 24h for what AWS states), but the time is almost up and I can't see it working, which make me think something is off.
As per second screenshot, I can see on Amplify that is waiting me to add the CNAME record in order to activate the domain, so I may think that could be the missing piece; Problem is the record has been assigned automatically already on Route 53, so not really sure if I should add the record somewhere else as well?
Apologise if I'm asking something obvious, and thank you in advance for the help!
The records added by Amplify are correct. I executed dig command on your domain and observed "SERVFAIL" status. This error is due to the mismatch in the name servers.
The following name servers are used currently.
ns1.dynadot.com
ns2.dynadot.com
Ref: https://www.whois.com/whois/alessiopetrin.com
Please set the name servers to the NS record of hosted zone (https://i.stack.imgur.com/U6Lj8.png). Refer below docs:
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html#domain-name-servers-glue-records-adding-changing
Then, delete the domain from amplify and try re-adding it. It should work.
Be careful that the require cname ask by aws to generate the SSL is mandatory and should has the following form :
An obvious error in Route53 is that Value/Route traffic goes to https://master.dwog1beoc1uv7.amplifyapp.com/. When you add CNAMEs, you don't add the protocol, but only the domain name. It should be master.dwog1beoc1uv7.amplifyapp.com
EDIT
There is a problem with the Cloudfront Distribution. I can't tell, if this is because something you did or it is an amplify problem. You need to somehow debug the distribution. Go to Cloudfront service in AWS console and locate your distribution. Some things to check:
Alternate domain is correct (your custom domain)
SSL certificate is correct
Go to behaviors tab and click edit:
An S3 bucket with your code should be used as an origin
There should be no caching on Headers

AWS Route53 sub-domain intermittently down

I have a sub-domain setup on Route53 that points at an ALB. If I hit the ALB DNS name directly, the application responds right away. If I hit any of the nodes in the ECS cluster that the ALB fronts, again, response is immediate. But from time to time, if I hit the sub-domain, it'll take a long time to resolve. Also, if I do
host http://<my route53 sub-domain>
I sometimes get
Host <my route53 sub-domain> not found: 3(NXDOMAIN)
I have about a dozen sub-domains setup just like this (pointing at different ALBs) and haven't had this issue before, except for this most recent micro service.
Question: Where should I look to figure out what could be going on?
I would carefully check the name server configuration. If one is somehow misconfgured, it can cause intermittent issues where some DNS lookups on a single name server fail while others are ok.
Also try a DNS propagation test, to see if your DNS is being propagated properly across the internet. See https://dnsmap.io/ or https://www.whatsmydns.net/
Some problems can be traced that way.
To exclude any issues with your ISPs DNS, try to use a DNS lookups gateway like kloth.net and see if repeated lookups there show the same issue. See http://www.kloth.net/services/nslookup.php
Always use a general DNS checker like https://mxtoolbox.com/dnscheck.aspx to do a complete test of the DNS setup for your domain.

How to delete CNAMEs mappings created in AWS Elastic Beanstalk

I create some test Elastic Beanstalk app using the EB CLI, like:
eb create [...]
and, in the process, I get asked the question about the CNAME prefix:
[...]
Enter DNS CNAME prefix
(default is bla): staging-server
[...]
And everything goes ok. But then, I want to test another option (i.e. add a ELB in the Elastic Beanstalk app) and for this I terminate the previous Application. The I create a new one.
When reaching the DNS CNAME prefix question, I get:
[...]
Enter DNS CNAME prefix
(default is bla): staging-server
That cname is not available. Please choose another.
[...]
So, it is not allowing me to reuse the CNAME despite the fact the app was destroyed. So I need to "invent" another one, for example, staging-srv
Now, the problem is that I have made multiple tests and I have "excluded" one by one, all the sensible names I could think of.
I'd like to be able to delete them so that I can reuse them.
Not to mention that I'd really like to be able to clean after me and not to leave these cnames hanging in the ether, as even in the Amazon docs it's indicated:
Important If you terminate an environment, you must also delete any
CNAME mappings you created, as other customers can reuse an available
hostname.
(see first red-ish box in https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customdomains.html )
But how to do this, is not mentioned anywhere...
I am not using Amazon's DNS server (Route 53) at all, therefore there is no domain there in which these CNAMEs should be listed.
Where are these CNAME mappings and how can I delete them so that I can create them again?
Thanks in advance!
The section you are referring to is about custom domains that you fully own.
When you terminate your environment, the staging-server name should be fried. It is done by AWS and you have no control over it, as they are managing the region.elasticbeanstalk.com domain.
I verified the automatic deletion of the CNAME on my own EB environments, and it does work. However, since its managed by AWS there maybe some delay in when they actually delete the CNAME.
There could be other reasons why the CNAME is still there. Your environment may have failed to be terminated. You can double check in EB console if its really gone.

Pointing sub domain only to AWS EC2 instance?

I am trying to migrate a PHP site to AWS.
I have created an instance with a specific AWS url and have configured an AWS Route 53 service.
Looking at the docs here: http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-update-ns-record
It says to update the Nameservers for the particular domain, however that would affect the live version of the site which is still being hosted on Digital Ocean.
What I want to do is:
Point a subdomain e.g. dev.mysite.com to the dev environment on AWS
Check everything is ok
Create a live environment on AWS
Point mysite.com to the live environment.
I am still new to this way of hosting, is what I am trying to achieve, feasible.
Or is there another way I should be tackling this.
Any suggestions welcome.
Thanks
That's absolutely fine. Within Route 53, you can create an a record for your Apex (www.site.com) to point to your EC2 (?) instance, and then another CNAME record which points to your dev.site.com
Note that Alias records are free, and the preferred way of doing the above, but only work with certain types of AWS resources such as ELBs.

AWS Route 53 Subdomain works intermittently

I have some strange problem with AWS Route 53 subdomain.
My main domain points to an AWS EC2 instance. I created another EC2 instance to host my dev environment. I want to access my test instance from a subdomain.
To do that, I created A records with my elastic EC2 test instance with 1day TTL.
The really strange thing is that sometimes it works, sometimes it doesn't.
Just checkout the global propagation state of my subdomain and refresh the page (without cache) to see it changes every second.
What am I missing ?
This site is showing several issues with your DNS setup you should probably investigate further: http://mxtoolbox.com/domain/dev.tidybear.fr/