This module provides an intuitive and thorough interface to the Amazon EC2 compute cloud. In contrast to the older Net::Amazon::EC2 module, VM::EC2 produces and consumes "live" objects. For example, a call to VM::EC2->run_instances() will return a list of instance objects, each one corresponding to a running virtual machine on the Amazon cloud. These instance objects can then be used directly to control the virtual machine, including stopping and starting it, attaching storage volumes, and terminating the machine.
VM::EC2 is up to date with the June 2012 Amazon API, and includes facilities for managing spot and reserved instances, associating resources with user account privileges via the IAM (Identity and Access Management) system, and creating temporary security tokens to allow non-AWS account holders to work with EC2 resources for a limited period of time.
Lastly, the module provides a high-level interface to Amazon virtual machines and storage volumes that provides a "remote control" facility. You can easily execute commands on the virtual machines (via a transparent ssh tunnel), create, format and mount storage volumes, and copy volumes from one Amazon availability zone or region to another. The module also provides a script, migrate-ebs-image.pl, which easily migrates an EBS=backed Amazon Machine Image from one region to another, something which otherwise involves an error-prone multi-step process.
The main thing missing from VM::EC2 is support for Amazon VPC and VPN. The various methods for creating and managing clusters and virtual private subnets have not (yet) been written. Volunteers are very welcome.
0 out of 2 found this review helpful. Was this review helpful to you? Yes No