Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating subdomains in Amazon EC2

How can I create subdomains on Amazon EC2?

Is adding virtual host in httpd.conf is enough.. or any other changes also needs to be done?

Thanks

like image 299
Padmanabha Vn Avatar asked Nov 17 '10 10:11

Padmanabha Vn


People also ask

How many subdomains can you have on AWS?

The limits are not expressed directly in number of subdomains, but rather in number of records and hosted zones, among other things. Therefore, there is 10,000 records per hosted zone, but it can be increased. Also you can have 500 hosted zones per account.

How does subdomain routing work?

Typically, to route traffic for a subdomain, you create a record in the hosted zone that has the same name as the domain. For example, to route internet traffic for acme.example.com to a web server in your data center, you create a record named acme.example.com in the example.com hosted zone.


1 Answers

Depends on your server software. But as you mention httpd.conf, chances are good that you run Apache on a Linux distribution. If that's the case then yes, adding a virtual host is enough. Here is one way of doing it:

  1. Purchase a domain. If you have one, skip this, we'll take example.com for this example.
  2. Find the external IP or DNS for your EC2 instance. You probably want to associate an Elastic IP to your instance, otherwise the IP of your instance will change on reboots.
  3. Create a DNS record for your domain, for instance a CNAME record to point to your Elastic IP/DNS name:

    subdomain.example.com => ec2-xx-xxx-xxx-xxx.eu-west-1.compute.amazonaws.com

  4. Make sure your httpd.conf contains a line to allow virtual hosts:

    NameVirtualHost *:80

  5. Create a virtual host directive:

httpd.conf:

<VirtualHost *:80>   ServerName subdomain.example.com   ServerAdmin [email protected]    DocumentRoot /var/www/example.com/subdomain    <Directory /var/www/example.com/subdomain>     Options Indexes FollowSymLinks MultiViews     AllowOverride All     Order allow,deny     allow from all   </Directory>    ErrorLog /var/log/apache2/subdomain.example.com.error.log   LogLevel warn   CustomLog /var/log/apache2/subdomain.example.com.access.log combined </VirtualHost> 

6. Restart Apache

/etc/init.d/apache2 restart 
like image 156
cvaldemar Avatar answered Oct 04 '22 19:10

cvaldemar