0

I am new to Magento and Cloud Hosting.

I have used Godaddy a bit but the reviews I read about Magento hosting on Godaddy were not very encouraging. So I am planning on setting up Magento on AWS. For me Godaddy is one stop shop where I can get the Domain, Hosting and everything. But in case of AWS I have yet to learn.

My question is if I get an EC2 instance with Magento do I need to purchase the IP and Domain separately?

Also if someone can give a one-liner on what is paravirtualization?

1

There are a couple different ways you can solve this with AWS, and that all depends upon your budget and what you're trying to do.

TL;DR

You can allocate an Elastic IP which is just like any regular IPv4 for a single EC2 instance, and you can register a domain with AWS (via their Route53 service).

Simple Answer

The simple answer is, yes, you can allocate an EC2 instance with a public IP address. Amazon calls this an Elastic IP address. While provisioning an EC2 instance you should see an option to allocate an Elastic IP address. Make sure that's "Yes" and when your instance starts up, a normal IPv4 address will be allocated to it.

AWS will also allow you to register a domain through them using Route53 (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar.html). The downside to this is that Amazon will charge you fractions of pennies for each query of your DNS that's made. Most other registrars and DNS providers do not charge for DNS queries.

Complex Answer

AWS Route53 has a feature called "aliasing" which allows you to use a service like Elastic Load Balancing (ELB) to run multiple EC2 instances behind it and giving your site one endpoint. So in your DNS you wouldn't ever see an IP address; instead, you'd be letting Route53 monitor your ELB for its IP addresses and updating the DNS automatically. So your DNS entry would be an "A" entry aliased to the ELB. The "alias" requires an ELB for EC2 instances.

Alternatively, if you're running the Magento instance as a subdomain only (e.g. shop.mydomain.tld) then you can just use the "public endpoint name" of the EC2 instance. That would be a CNAME in the DNS record and shop.mydomain.tld would be CNAMED to something like random-string.ec2.us-east1.amazonaws.com. You could allocate an elastic IP address for this, but it's unnecessary.

Conclusion

Really what is going to drive your implementation is going to be your budget and your plans for growth. If you're making this a "forever" setup, then using an ELB and fragmenting your services (e.g. RDS for your DB, Elasticache for Redis and Memcache, Cloudfront as CDN) to power your store is the better option. It is possible to do a super-simple typical dedicated server-style setup with IP addresses connected to a single instance.

Expertise

I run an Enterprise Edition Magento 1.14 installation on AWS and have been tweaking it and adjusting it over the last 2 years.

  • Thanks for the detailed reply. Just a little clarification, Can I purchase a domain on godaddy and link it to my EC2? – jovialwhispers Mar 20 '17 at 4:41
  • @jovialwhispers Yes you can. You can purchase a domain from any registrar and point it to an EC2 instance. – Brett Mar 21 '17 at 2:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.