Amazon AWS Web application deployment using custom domain - amazon-web-services

I have bought my domain www.xxxxxxxxxx.com from godaddy.
My web app is built using Java & Angular JS....
I want to deploy my web app in Amazon AWS with the domain that I have bought from GoDaddy .....
Some references in Google tell me to use Elastic beanstalk.
But I am not sure to go...
First I want to use my domain .. How to use the domain in Amazon and how to configure that.
Tried changing nameservers and A records. No luck....
Then I have to deploy same wars in 15 subdomains in AWS... Is there a better way to achieve this.
I couldn't find a single brief explanation regarding domain name configuration and web app deployment ..
Please suggest me ....

Related

Cannot route traffic to AWS Elastic Beanstalk environment using Route 53 and custom domain under the same account of AWS

I have been trying to host our php website using Elastic Beanstalk however I had no luck under Hosted Zones. Domain is registered with the same AWS account.
Things I did:
Created a hosted zone named mycustomdomain.com
Created a A type record set with ALIAS to my environment. (Selected through drop down of AWS itself.)
The domain name of EB Environment
environmentname.randomclashofcharacters.region.elasticbeanstalk.com
assigned by AWS works flawlessly so I can say that there is nothing wrong with the config at Elastic Beanstalk side of things.
I followed through the guide uploaded by AWS themselves
I see one weird thing that might be causing that. The name servers listed under domain name is different from ones listed in Hosted Zone. Should I change them. AWS guide doesn't says to do so, so I didn't do it.
Thanks for your help beforehand.
Cheers,
~bio
Thanks to corrective help from #heplalump the problem is resolved. I actually needed to make domain's name-servers same with the hosted zones. Still cannot reach from desktop Safari but reachable via chrome and iPhone safari. If you want to do this procedure for yourself just follow the guide amazon provided.

Domain name not connecting to node.js express web app

I have an issue, or perhaps an understanding problem with linking my domain with AWS. I will use the xy.ro domain as an example.
I have the xy.ro domain registered with easyhost.com. On AWS I have a node.js express web app.
My xy.ro domain is not working as it does not point to anything.
I tried to create a hosted zone on AWS with the xy.ro domain and tried to create a dataset for this domain but it does not work.
I tried to find step by step instructions also on AWS and other providers but I did not find anything.
Can someone point me into the right direction?
If your domain xy.ro is registered with easyhost.com then it would presumably also be using their DNS hosting service to serve your DNS records.
Creating a public hosted zone in AWS won't affect the DNS resolution unless you can migrate your name servers to use Route 53.
I was not able to see steps from easyhost.com website, however from the AWS side take a look at this documentation.
You should be able to copy the name servers and update within easyhost so that it will use Route 53 as your DNS provider instead.

How to deploy a multi-tenant django app to AWS?

I have an Django+Postgres app that has a multi-tenant structure and I don't have prior experience deploying this type of app to AWS. I have followed the general Elastic Beanstalk tutorial to deploy a simple app. (https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/) However, I am looking for a solution that allows me to more flexibly create different "sites". Currently, I have learned to create different sites via this tutorial (http://mycodesmells.com/post/django-tutorial-multi-tenant-setup).
So i have below questions :
how to deploy this app (I am leaning toward not using Elastic Beanstalk but just deploying it to EC2)
how I could create different sites after deploying this app.
The following should help:
Set up your .ebextensions so your Django project deploys with eb deploy.
Set up django-storages with AWS S3 for mediafiles if you need to.
Purchase a domain and set it up with AWS Route 53 (you can buy via Route 53, too).
Point your root domain alias to your Elastic Beanstalk app.
Point a wildcard domain to your app, too.
Set up AWS SES to save your domain emails to an AWS S3 bucket. You can use other providers as well, SES is just about the easiest.
Provision AWS ACM certificates for HTTPS support.
You now have your site working under .example.com and can use tenant.example.com to refer to a single client's setup - it refers to the same deployment but has a different Host header which lets Django tenant schemas to distinguish clients. You have wildcard forwards and do not need any setup other than in Django for adding new tenants.

Hosting website on AWS but bought domain from google?

I bought a domain (let's say example.com) from google domains a couple of days back, but found out their web hosting is terrible. They only allow me use one of their partner hosting services. I want a simple ssh/ftp based web hosting service, where I can simply dump the html files.
So, I turned to AWS webservices to host my website. Everything works well, until I want to assign it a domain name. AWS assigned me a domain like "mytest-bucket.com.s3-website-us-west-2.amazonaws.com/", but I want to use my bought domain.
AWS allows me to buy a new domain from it, but I already have one (example.com), and want to make AWS host my website under that domain name.
Apologies if this is a newbie mistake/question but I am new to commercial web-hosting.
There is a option in AWS Route53 where you can transfer domain to AWS. Check this guide.
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-to-route-53.html
Another way is you can change the DNS servers to Route53. Check this guide.
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/MigratingDNS.html
Another option is you can add "mytest-bucket.com.s3-website-us-west-2.amazonaws.com" as a C-name to your domain in Google and your domain "example.com" will start showing the website.

Django - hosting app with AWS EC2.. where do I get the domain from?

I'm a bit confused about how I am supposed to get my domain from my app. After doing research, I decided to host the app using Amazon Elastic Beanstalk. I realized that I cannot register my domain name for the app using Amazon.
The most common domain registration site I have heard of is godaddy which does not support Django. I heard that WebFaction supports Django, so I was planning on going with WebFaction.
But this is where I got confused.
Note: I am well aware that I can make the domain name of the app to point to AWS servers (as ex[;ained here: http://docs.aws.amazon.com/gettingstarted/latest/swh/getting-started-configure-route53.html).
When I look at the pricing for WebFaction, it talks about server hardware and seems to talk about the same stuff AWS has to offer. For example, over here: webfaction.com/features it says the OS is Centos but AWS offers Ubuntu (which is what I want to use). WebFaction offers 512MB of memory while AWS S3 offers 5GB. So
1) if I get my domain name on WebFaction, do both memories combine and I have 5GB + 512MB?
2) Where would I be putting up my source code? on WebFaction or on AWS?
3) Since WebFaction offers only 512MB of memory but my AWS server will offer 5GB, will my domain go down once I go over 512MB since WebFaction only supports that much?
You're confused about different services you need. DNS and hosting are totally independent, but many providers offer both as a package.
You could register a domain with some other provider and then use Amazon's Route 53 to host the DNS for the domain you registered with some external provider to point it to your EC2 instance.
No, the memory does not combine. You can't host it in two places simultaneously (at least not like that).
If AWS is what you've decided on, just stick with that.
Again, you can't host it in multiple places and just combine them like that.
You are almost there all that you need to do is to take the elasticbeanstalk's URL and map it against your DNS records as a CNAME i.e. myapplication.elasticbeanstalk.com with WWW.
Assuming your domain name is example.dom after you map it in DNS zone file, when somebody comes www.example.com of would point to myapplication.elasticbeanstalk.com
You can do the same with Route53 as well but the first step to it would be set the name servers for Route53 in your domain registrar like GoDaddy (webfraction in your case)
You do not need any other additional services like hosting from your domain registrar.
Using Custom Domains with AWS Elastic Beanstalk