Amazon EC2 Instances

All of our products are available to run instantly on Amazon Web Services EC2 instances. The following documents cover starting instances of Virtualmin or Cloudmin on EC2.

Virtualmin GPL AMI - Virtualmin GPL, or Open Source virtual hosting control panel, running on CentOS 5.

Virtualmin Professional Paid AMI - Virtualmin Professional, our commerical virtual hosting control panel, running on CentOS 5 in an EC2 paid instance.

Cloudmin Paid AMI - Cloudmin, our cloud computing management control panel, running on CentOS 5 in an EC2 paid instance. Cloudmin can manage EC2 instances from within EC2.

Cloudmin Paid AMI

Cloudmin Paid AMI on EC2

Introduction to Paid AMIs

Amazon has recently launched a service called DevPay where commerical software like Virtualmin Pro can be purchased to run on their EC2 service. This means that instead of creating an EC2 instance and installing Cloudmin on it manually, you can instead use an image that has it pre-installed, and available for immediate use. We how have an AMI available that contains Cloudmin 2.6, with support for managing EC2 instances only.

Pricing

Subscribers to the paid AMI for Cloudmin are charged $25 per calendar month. In addition, regular EC2 per-instance-hour and per-megabyte charges apply. And any additional instances you create using it will be charged at normal rates.

Using the paid AMI

To use the Cloudmin paid AMI, the steps to follow are :

  1. Sign up for an Amazon EC2 account on their registration page.
  2. Follow Amazon's getting started instructions to install the needed tools, in particular the Prerequisites, Setting up an Account and Setting up the Tools pages.
  3. Purchase the Cloudmin AMI subscription, which will be charged to your Amazon account.
  4. Once you have the ec2 commands working, use the following command to list available Virtualmin AMIs :
    ec2-describe-images -o 541491349868

    You should see at least one in the available state.

  5. Setup an SSH key with the commands :
    ec2-add-keypair vgpl-keypair >~/.ssh/id_rsa-vgpl-keypair
    chmod 700 ~/.ssh/id_rsa-vgpl-keypair
  6. Start a new instance with the AMI for Virtualmin Pro with the command :
    ec2-run-instances ami-972aecfe -k vgpl-keypair

    This will output the new instance ID, which is like i-10a64379

  7. Check its status with the command :
    ec2-describe-instances

    You will need to wait until it is in the running state. You will then be able to see the public hostname, which looks like ec2-72-44-33-55.z-2.compute-1.amazonaws.com .

  8. Open the needed firewall ports with the commands :
    ec2-authorize default -p 22
    ec2-authorize default -p 25
    ec2-authorize default -p 10000
    ec2-authorize default -p 10001
    ec2-authorize default -p 10002
    ec2-authorize default -p 10003
    ec2-authorize default -p 10004
    ec2-authorize default -p 10005
    ec2-authorize default -p 10006
    ec2-authorize default -p 10007
    ec2-authorize default -p 10008
    ec2-authorize default -p 10009
    ec2-authorize default -p 53
  9. Try a test SSH login with the command :
    ssh -i ~/.ssh/id_rsa-vgpl-keypair root@ec2-WHATEVER.compute-1.amazonaws.com
  10. Connect to Webmin at the URL : https://ec2-WHATEVER.compute-1.amazonaws.com:10000/ . The initial login is root and password is changeme .
  11. Click on the Webmin link in the top-left, open the Webmin category, click on Change Language and Theme, and enter a new password!
  12. If some packages are not up to date, they will be displayed on the System Information page that appears after you login. Click the Install All Updates Now button to have them automatically fetched and installed.

Using Cloudmin on EC2

The version of Cloudmin that the paid AMI installs doesn't have all the features of the full version, such as the ability to manage Xen instances, Linux Vservers and Solaris Zones. Instead, it is limited to creating, managing and protecting EC2 instances.

Before you use Cloudmin to control EC2 instances, you must add at least one account with the following steps :

  1. Open the Amazon EC2 category on the left menu, and click on EC2 Accounts.
  2. Click on Add an EC2 account, and on the form that appears fill in at least your Account ID, Access key ID and Secret access key. If you want to create new AMIs from EC2 instances, fill in the X509 fields too. All of this information can be found at http://aws.amazon.com/ under Your Web Services Account.
  3. Click Create to add the new account. Cloudmin will display an error message if any of the details are invalid.

Cloudmin also needs at least one SSH key to login to EC2 instances it creates. To add one, do the following :

  1. Open the Cloudmin Settings category on the left, and click on SSH Keys.
  2. Click Add a new SSH key to bring up the key creation page.
  3. Assuming that you want to use your existing EC2 SSH key for additional EC2 instances, select the Import existing EC2 key option and choose your key from EC2 from the adjacent menu.
  4. Paste the private key text into the text box below, then click Create.

You can now create your first EC2 instance. Click reload in your browser to refresh the page, then open the New System category on the left and click Create EC2 instance. You should only need to select an AMI and enter a description, then click Create System to kick off the creation of the EC2 instance.

For the full Cloudmin documentation, see the Cloudmin Manual page. Ignore the sections related to Xen, Vservers and Zones, as they are not supported by this paid AMI.

Virtualmin GPL AMI

AMI Summary

Region Location Operating System AMI
US East Virginia CentOS ami-9129eff8
US East Virginia Debian ami-6735f30e
US West California CentOS ami-1b0f525e
Europe Ireland CentOS ami-bce1d1c8
Southeast Asia Singapore CentOS ami-503c4702
Northeast Asia Japan CentOS ami-d0b80dd1

Virtualmin GPL AMI on EC2

Amazon's Elastic Computing Cloud (EC2) is a commercial service that provides virtual Linux systems running on Amazon's network, for which customers are charged by the hour. One of its useful features is the ability to launch a virtual system using a machine image (AMI) defined by another user, which could contain anything from a basic install of Linux up to a full application stack.

If you have an EC2 account, you can easily launch an image ( ami-9129eff8 ) containing Webmin, Virtualmin, Usermin and all the dependent programs like Apache, MySQL and Postfix, all running on CentOS. This lets you bring up a web hosting server in minutes, and either try out Virtualmin or start using it for real web hosting. The steps to do this are :

  1. Sign up for an Amazon EC2 account on their registration page.
  2. Follow Amazon's getting started instructions to install the needed tools, in particular the Prerequisites, Setting up an Account and Setting up the Tools pages.
  3. Once you have the ec2 commands working, use the following command to list available Virtualmin AMIs :
    ec2-describe-images -o 541491349868 

    You should see at least one in the available state.

  4. Setup an SSH key with the commands :
    ec2-add-keypair vgpl-keypair >~/.ssh/id_rsa-vgpl-keypair
    chmod 700 ~/.ssh/id_rsa-vgpl-keypair
  5. Start a new instance with the AMI for Virtualmin GPL with the command :
    ec2-run-instances ami-9129eff8 -k vgpl-keypair

    This will output the new instance ID, with is like i-10a64379

  6. Check its status with the command :
    ec2-describe-instances

    You will need to wait until it is in the running state. You will then be able to see the public hostname, which looks like ec2-72-44-33-55.z-2.compute-1.amazonaws.com .

  7. Open the needed firewall ports with the commands :
    ec2-authorize default -p 22
    ec2-authorize default -p 25
    ec2-authorize default -p 10000
    ec2-authorize default -p 10001
    ec2-authorize default -p 10002
    ec2-authorize default -p 10003
    ec2-authorize default -p 10004
    ec2-authorize default -p 10005
    ec2-authorize default -p 10006
    ec2-authorize default -p 10007
    ec2-authorize default -p 10008
    ec2-authorize default -p 10009
    ec2-authorize default -p 20000
    ec2-authorize default -p 80
    ec2-authorize default -p 443
    ec2-authorize default -p 21
    ec2-authorize default -p 20
    ec2-authorize default -p 110
    ec2-authorize default -p 143
    ec2-authorize default -p 53
    ec2-authorize default -p 53 -P udp
  8. Try a test SSH login with the command :
    ssh -i ~/.ssh/id_rsa-vgpl-keypair root@ec2-WHATEVER.compute-1.amazonaws.com
  9. Connect to Webmin at the URL : https://ec2-WHATEVER.compute-1.amazonaws.com:10000/ . The initial login is root and password is changeme .
  10. Click on the Webmin link in the top-left, open the Webmin category, click on Change Language and Theme, and enter a new password!
  11. To ensure that all packages are up to date, click on System Information at the bottom of the left frame. If you are prompted to install any packages on the information page that appears on the right, do so.
  12. Click back on the Virtualmin link on the top-left, and click on Create Virtual Server to create your first domain.

Virtualmin EC2 Image in Europe

EC2 now has a separate European region, which has it's own set of machines and AMIs. To launch the Virtualmin image in Europe, follow the instructions above but use the AMI ami-bce1d1c8 instead.

Also, you will need to set the EC2_URL environment variable before using the command-line tools, with a statement like :

export EC2_URL=https://eu-west-1.ec2.amazonaws.com

Virtualmin GPL Debian Squeeze Image

An EC2 image now exists for Virtualmin GPL on Debian 6.0 (Squeeze). The instructions for starting this are exactly the same as above, but the image ID is ami-6735f30e . So the command to start it would be :

ec2-run-instances ami-6735f30e -k vgpl-keypair

Virtualmin Professional Paid AMI

Virtualmin Pro Paid AMI on EC2

Introduction to Paid AMIs

Amazon has recently launched a service called DevPay where commerical software like Virtualmin Pro can be purchased to run on their EC2 service. This means that instead of creating an EC2 instance and installing Virtualmin Pro on it manually, you can instead use an image that has it pre-installed, and available for immediate use. We how have an AMI available that contains Virtualmin Pro 3.87 and the full stack of related servers, like Apache, Postfix and MySQL.

Pricing

The pricing per EC2 instance using the Virtualmin Pro AMI is based on the regular EC2 per-hour price, with an additional fee to cover the Virtualmin license. This works out to about $20-25 per month. The exact fees for the different instance sizes are :

Price Size
$0.14 / hour Small instance
$0.45 / hour Large instance
$0.86 / hour Extra-large instance

For more details on the specs of different instance sizes, see this page from Amazon. For most people, the small instance is the most cost-effective, as you can split your domains across several of them.

Using the paid AMI

To use this new paid AMI, the steps to follow are :

  1. Sign up for an Amazon EC2 account on their registration page.
  2. Follow Amazon's getting started instructions to install the needed tools, in particular the Prerequisites, Setting up an Account and Setting up the Tools pages.
  3. Purchase the Virtualmin Pro AMI subscription, which will be charged to your Amazon account.
  4. Once you have the ec2 commands working, use the following command to list available Virtualmin AMIs :
    ec2-describe-images -o 541491349868

    You should see at least one in the available state.

  5. Setup an SSH key with the commands :
    ec2-add-keypair vgpl-keypair >~/.ssh/id_rsa-vgpl-keypair
    chmod 700 ~/.ssh/id_rsa-vgpl-keypair
  6. Start a new instance with the AMI for Virtualmin Pro with the command :
    ec2-run-instances ami-cd00c6a4 -k vgpl-keypair

    This will output the new instance ID, which is like i-10a64379

  7. Check its status with the command :
    ec2-describe-instances

    You will need to wait until it is in the running state. You will then be able to see the public hostname, which looks like ec2-72-44-33-55.z-2.compute-1.amazonaws.com .

  8. Open the needed firewall ports with the commands :
    ec2-authorize default -p 22
    ec2-authorize default -p 25
    ec2-authorize default -p 10000
    ec2-authorize default -p 10001
    ec2-authorize default -p 10002
    ec2-authorize default -p 10003
    ec2-authorize default -p 10004
    ec2-authorize default -p 10005
    ec2-authorize default -p 10006
    ec2-authorize default -p 10007
    ec2-authorize default -p 10008
    ec2-authorize default -p 10009
    ec2-authorize default -p 20000
    ec2-authorize default -p 80
    ec2-authorize default -p 443
    ec2-authorize default -p 21
    ec2-authorize default -p 20
    ec2-authorize default -p 110
    ec2-authorize default -p 143
    ec2-authorize default -p 53
    ec2-authorize default -p 53 -P udp
  9. Try a test SSH login with the command :
    ssh -i ~/.ssh/id_rsa-vgpl-keypair root@ec2-WHATEVER.compute-1.amazonaws.com
  10. Connect to Webmin at the URL : http://ec2-WHATEVER.compute-1.amazonaws.com:10000/ . The initial login is root and password is changeme .
  11. Click on the Webmin link in the top-left, open the Webmin category, click on Change Language and Theme, and enter a new password!
  12. If some packages are not up to date, they will be displayed on the System Information page that appears after you login. Click the Install All Updates Now button to have them automatically fetched and installed.
  13. Click back on the Virtualmin link on the top-left, and click on Create Virtual Server to create your first domain.

Virtualmin on EC2 works exactly the same as it would on a regular system. For full documentation, see : http://www.virtualmin.com/documentation/