Using Virtuozzo in the Amazon EC2
To allow customers to familiarize themselves with improved containers technology of Virtuozzo and to maximize AWS instance utilization along with security and isolation we introduce Virtuozzo image for Amazon EC2.
Please note that:
- Virtuozzo only supports containers then deployed on Amazon EC2.
- Virtuozzo 7 image is shipped for only one version: Virtuozzo 7.
Steps to provisioning
- Log into the AWS Marketplace, search for the AMI from Odin as the publisher, then click the selected product.
- Check the product description to verify it suits your needs. Then click the "Continue" button.
- You can choose the Manual Launch with EC2 console by the pressing corresponding tab, or continue with the 1-Click Launch using predefined settings (the 1-Click Launch option does not allow you to modify the default storage size and type when creating the instance: 30 GB magnetic storage. To change disk storage after deployment, see the Amazon AWS documentation -Expanding the Storage Space of a Volume.
1-Click Launch (predefined settings)
- Select the "Region" to deploy the instance and the EC2 Instance Type depending on your needs (Note: the price is different for different regions).
- In VPC settings, select where your instance will be deployed: EC2 classic (recommended) or your personal Virtual Private Cloud. If the VPC network is selected, please make sure that your virtual network is configured to provide internet access to the instance is being deployed. The main differences between EC2-classic and VPC are described in Amazon EC2 and Amazon Virtual Private Cloud (VPC). Find more information about VPC in the Amazon VPC documentation.
- Select the default options or create a new Security Group based on seller settings. Pay special attention to the ports that are required for Plesk - see Knowledgebase article KB391: Which ports need to be opened for all Plesk services to work with a firewall?
- Select the Key Pair to be used for connection to the instance (an existing Key Pair is required for connection to the OpenVZ instance). A Key Pair can be generated in the AWS Management Console.
- Click the Launch with 1-Click button.
By default, instances are deployed with small root storage (30 GB). It allows you deploy around 10 containers depends on container OS and installed packages. To deploy instances with bigger storage, use Manual Launch with EC2 console. To change the disk storage after deployment, check the Amazon AWS documentation: Expanding the Storage Space of a Volume.
Manual Launch with EC2 console
Adjust additional settings such as disk space before launch.
- Click on the Manual Launch tab.
- Click the Launch with EC2 Console button in the Region the instance is to be deployed.
- In the opened EC2 Console, choose an Instance Type depending on your requirements. Then, click the Next: Configure Instance Details button.
- Set instance details. Here, you can select how many instances to deploy and select a Network (EC2-classic or VPC).If the VPC network is selected, please make sure that your virtual network is configured to provide internet access to the instance is being deployed. The main differences between EC2-classic and VPC are described in Amazon EC2 and Amazon Virtual Private Cloud (VPC). Find more information about VPC in the Amazon VPC documentation.
- Change other options if required, then click Next: Add Storage
- Add storage to your instance. It is recommended that you increase your disk storage from the default values - your disk will be automatically resized when the instance is deployed. To change disk storage after deployment, check the Amazon AWS documentation: Expanding the Storage Space of a Volume. You can also add more storages to your instance and change the storage volume types to increase performance. Find more information about the storage type and pricing in the Amazon AWS documentaion: Amazon EBS Product Details. Click Next: Tag Instance
- Add Tags for the instance. For example, you can define a tag with key = Name and value = openvz. Learn more about tagging your Amazon EC2 resources. Click Next: Configure Security Group
- Configure the security group. A security group is a set of firewall rules that control the traffic for your instance. It is recommended that you configure the security group depending on services you are going to server, follow steps to setup iptables. Click Next: Review Instance Launch
- Review your instance launch details. You can go back to edit changes for each section. Click Launch to assign a key pair to your instance and complete the launch process.
- When the instance is deployed, click the Visit Your Software link. The page with your subscription will be opened.
- Select Manage in the AWS console. In the opened AWS Management Console, open your instances list (using the Instances link in the left menu) and select the instance.
- (Recommended) After every stop/start, your instance changes the external and internal IP pair. Thus we recommend to attach special Elastic IP to the instance. In the left menu, select Elastic IPs and Allocate New Address or select any existing unassociated address to be allocated to your instance. After Elastic IP attachment, reboot the instance and perform additional actions to configure Plesk (see the Changing IP Address section). Please find more information about Elastic IP on Amazon AWS documentation: Elastic IP Addresses.
- To connect your instance please use connection via SSH as ec2user with the private key of the Keys Pair you deployed the instance with. For example:
# ssh -i <path to private key> ec2user@<elastic or public IP>
- To operate with OpenVZ you need to enter sudo mode:
# sudo -i
Configure the external IP address for the container
To access to your container through the Internet you can attach additional Private IPs and Elastic IPs to the instance and then attach every Private IP to the specific container.
Please review this article to learn how to assign additional Elastic IPs to the instance http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html. If you need additional information on IP addressing in Amazon EC2 please see this article http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
Login to the Amazon EC2 Management Console.
Assign new Private IP to your Instance:
- Choose your instance;
- Click Actions > Networking > Manage Private IP Addresses;
- Click Assigh New IP;
- Click Yes, Update.
Assign new Elastic IP to corresponding Private IP of your instance:
- Choose Elastic IP section in the menu;
- Click Allocate New Addresses;
- Choose just created Elastic IP and click Actions > Associate Address;
- Choose your instance;
- Choose corresponding Private IP of your instance;
- Click Associate.
Connect to your OpenVZ instance via SSH.
Create example container:
# prlctl create 100700 --vmtype ct
Assign Private IP and DNS server to the container:
# prlctl set 100700 --ipadd <Private IP address>/24 # prlctl set 100700 --nameserver 22.214.171.124
Start the container:
# prlctl start 100700
Enter the container and set root password:
# prlctl enter 100700 # passwd
Connect to the container via SSH:
# ssh root@<Elastic IP Address>
Configure NAT on the instance
If you do not want to attach multiple Elastic IPs to your instance you may also to configure internal NAT on your OpenVZ instance.