I have a domain for my new application, lets call it: app.example.com. Thats a domain registered outside my AWS account.
The application is running on AWS EKS:
Two Deployments
Two Services
One Ingress
Quite simple I guess. Those pods are running on Fargate, so I managed to configure the AWS Load Balancer controller who creates an Application Load Balancer when an Ingress is created.
Then, there is also an external-dns pod configured pointing to a hosted zone on Route 53 (example.com).
Now, each time an Ingress is re-deployed, AWS LBC re-creates the ALB with a different DNS domain, and external-dns is adding records on the hosted zone like:
If I go to the ALB DNS, the application can be reached, but if I go from the domain app.example.com it can´t.
In a close future, my idea is to use a Blue/Green deployment and that will change the DNS of the ALB, so I have to think of a solution having into account the next step.
Maybe it´s something about the external domain, I mean, AWS is not hosting the domain but I might need some kind of permission or even configure the domain from the other page?
Solved, what I was missing is reading in depth the documentation of AWS. Route 53 provides a set of Name Servers for hosted zones. On the external registrar, I had to create NS records pointing to the NS of AWS.
More info:
SafeNames
1and1
GoDaddy
AWS Wiki - Step 7
Related
The current setup was the application is load-balanced at AWS. The domain(www.Example.com) we are using is registered at GoDaddy.com.
My concern is that, do we need to upgrade our GoDaddy hosting even if the files are load-balance at AWS?
Let's say that we have had a 50K concurrent users.
Thanks for the insight in-advanced.
When you say "the application is load-balanced at AWS", it suggests that there is the following setup on AWS:
One or more Amazon EC2 instances running a web application, and
An Elastic Load Balancer that is directing incoming traffic to those instances
Your GoDaddy account probably has a Domain Name with a CNAME record that points to the DNS Name of the Load Balancer on AWS.
If this is true, then you do not need a "hosting plan" on GoDaddy, since it would just be managing your Domain Name. Scaling is not necessary for Domain Names.
Increasing the load would possibly require creating additional EC2 instances on AWS, but you might have an Auto Scaling group doing this for you automatically.
You should investigate what you actually have on GoDaddy and on AWS.
I have a simple AWS setup of 2 VMs hosting a WebApp. An Application Load Balancer is in-front of these machines. I can access the DNS name of the Load Balancer and can reach to the WebApp.
Now, I want to connect to my app with a domain name hosted on Godaddy. I tried to simply create CNAME (as no Elastic IP on Application LB) with the LB's DNS name, but it didn't work.
What am I missing ? I tried with godaddy support but already wasted 7 days with not solution.
I want to put SSL certificate also on ALB. Should I be aware of anything specific in this setup?
The problem was, I was trying to CNAME for root level domain. Now, I created an alias in Route 53 and used AWS's nameservers on Godaddy to forward request there.
I’m migrating our services to AWS(web, services and DB). All our services are running on Heroku. To minimize the downtime we would like to update CNAME record of our subdomain to point it to AWS ELB(our domain is registered with GoDaddy). ELB is suppose to route the traffic to Heroku DNS target(until we sync the data).
is it possible to route the traffic ELB through Heroku DNS target?
No that is not possible. ELB can route traffic only to
targets specified by instance id
targets specified by ip address (can't be publicly routable ip address)
lambda functions
That is it and there is unfortunately not much to add to this.
Haven't seen something like this (Hosted zone transfer maybe?), so I'll try here.
I have a pretty straightforward question, so I am hoping that someone can answer it or has any experience with the same case.
I have registered the domain using Route53 DNS service on one AWS account. I would like to use that registered domain on another AWS account, using it primarily for creating CNAME records for the load balancers. I have updated the NS records for the domain to match the second AWS account NS records and I am able to use and created hosted zone in that second account, but the CNAME or # records are not resolvable.
This can sometimes be tricky so I am going to cover the initial steps.
You create a new hosted zone in Account B
You add that hosted zones NS record in Account A. This is a new NS record in the master record (mydomain.com)
You then add an alias for your load balancer on your hosted zone in Account B.
It looks like you are doing all of this so a few other things you can check:
The security group associated with your ELB allow port 80 or 443.
The public subnets associated with your ELB have routes to the internet gateway.
The NACLs on your subnets allow port 80 or 443.
I have an issue that I have been trying to work out for a while now. I am experimenting with AWS and thinking of moving sites over, but I can't get DNS to work with OpsWorks apps. I have a PHP / RDS stack that I have a few apps in.
These were working great except for the issue of OpsWorks instances having a dynamic DNS that changes upon instance reboot. I don't want to have to change my DNS records in Route53 every time that happens, so I implementated an EIP, registered it with the instance, and registered it with OpsWorks. I added rules to the policy that the EC2 uses for default VPC to accept incoming HTTP requests as well.
Now, when I add an A record to my DNS zone that points to the EIP, and add my domain in the OpsWorks app settings, my domain does not resolve in the browser. What am I missing?
OpsWorks does very little to manage DNS externally. All DNS management should be done through Route53.
To start, make sure you have your nameserver (NS) record properly configured to reference your domain in your hosted zone, and also make sure that whatever DNS provider you're using (e.g. name.com, etc) is configured to point to those DNS servers.
Also, regarding this point:
I don't want to have to change my DNS records in Route53 every time
that happens, so I implementated an EIP, registered it with the
instance, and registered it with OpsWorks.
You should really be using an elastic load balancer for this, not an elastic IP. You can associate an elastic load balancer with your OpsWorks stack so that any instances launched within the OpsWorks stack will be associated with that elastic load balancer. The additional benefit is that you can have multiple servers hosting your application as you scale.