Automated Amazon EC2 Cloud deployments with openQRM 5.1 on Debian Wheezy This HowTo is about how to manage Public- and Hybrid Cloud deployments with openQRM. As the deployment manager for Amazon EC2 and its API compatible derivatives (e.g Eucalyptus) openQRM is capable to fully automate Instance provisioning and to add additional value by attaching automated application deployment via Puppet, automated monitoring via Nagios and also highavailability on Infrastructure-Level to the providers cloud features. The whole workflow of Instance-deployment in openQRM is exactly the same as for local resources in the internal IT-environment. Requirements One physical Server. Alternatively the installation can be also done within a Virtual Machine at least 1 GB of Memory at least 100 GB of Diskspace optional VT (Virtualization Technology) enabled in the Systems BIOS so that the openQRM Server can run KVM Virtual Machines later Install openQRM 5.1 on Debian Wheezy Install a minimal Debian Wheezy on a physical Server Install and initialize openQRM 5.1 A detailed Howto about the above initial starting point is available at "Install openQRM 5.1 on Debian Wheezy (resources/documentation- howtos/howtos/install-openqrm-51-on-debian-wheezy.html)" For this howto we have used the same openQRM server as for the howto about 'Virtualization with KVM and openQRM 5.1 on Debian Wheezy'. That means with this howto we are going to add functionality to an existing openQRM setup. This is to show that openQRM manages all different virtualization and deployment types seamlessly. Actually this means you can use either use the "Install openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/install-openqrm- 51-on-debian-wheezy.html)" or "Virtualization with KVM and openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/virtualization- with-kvm-and-openqrm-51-on-debian-wheezy.html)" howto as starting point. Set a custom Domain name As the first step after the openQRM installation and initialization it is recommended to configure a custom domain name for the openQRM management network. In this Use-Case the openQRM Server has the private Class C IP address 192.168.178.5/255.255.255.0 based on the previous "Howto install openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/install-openqrm-51-on-debian-wheezy.html)". Since the openQRM management network is a private one any syntactically correct domain name can be used e.g. 'my123cloud.net'. The default domain name pre-configured in the DNS plugin is "oqnet.org". Best practice is to use the 'openqrm' commandline util to setup the domain name for the DNS plugin. Please login to the openQRM Server system and run the following command as 'root' in a terminal: /usr/share/openqrm/bin/openqrm boot-service configure -n dns -a default -k OPENQRM_SERVER_DOMAIN -v my123cloud.net The output of the above command will look like
27
Embed
Automated Amazon EC2 Cloud deployments with openQRM
This HowTo is about how to manage Public- and Hybrid Cloud deployments with openQRM. As the deployment manager for Amazon EC2 and its API compatible derivatives (e.g Eucalyptus) openQRM is capable to fully automate Instance provisioning and to add additional value by attaching automated application deployment via Puppet, automated monitoring via Nagios and also highavailability on Infrastructure-Level to the providers cloud features. The whole workflow of Instance-deployment in openQRM is exactly the same as for local resources in the internal IT-environment.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Automated Amazon EC2 Cloud deployments with openQRM5.1 on Debian Wheezy
This HowTo is about how to manage Public- and Hybrid Cloud deployments with openQRM. As the deployment manager for Amazon EC2 and its API
compatible derivatives (e.g Eucalyptus) openQRM is capable to fully automate Instance provisioning and to add additional value by attaching automated
application deployment via Puppet, automated monitoring via Nagios and also highavailability on Infrastructure-Level to the providers cloud features.
The whole workflow of Instance-deployment in openQRM is exactly the same as for local resources in the internal IT-environment.
Requirements
One physical Server. Alternatively the installation can be also done within a Virtual Machineat least 1 GB of Memoryat least 100 GB of Diskspaceoptional VT (Virtualization Technology) enabled in the Systems BIOS so that the openQRM Server can run KVM Virtual Machines later
Install openQRM 5.1 on Debian Wheezy
Install a minimal Debian Wheezy on a physical ServerInstall and initialize openQRM 5.1
A detailed Howto about the above initial starting point is available at "Install openQRM 5.1 on Debian Wheezy (resources/documentation-
Enabling PluginsFor this HowTo please enable and start the following plugins in the sequence below:
dns plugin - type Networkingdhcpd plugin - type Networkingtftpd plugin - type Networkingdevice-manager plugin - type Managementnfs-storage - type Storagelvm-storage - type Storagenagios3 - type Monitoringpuppet - type Deploymentsshterm plugin - type Managementhybrid-cloud - type Deployment
Hint: You can use the filter in the plugin list to find plugins by their type easily!
Install the latest Amazon EC2 ToolsGo to Plugins -> Deployment -> Hybrid-Cloud -> About
REGION ap-northeast-1 ec2.ap-northeast-1.amazonaws.com
REGION us-west-2 ec2.us-west-2.amazonaws.com
REGION us-west-1 ec2.us-west-1.amazonaws.com
REGION ap-southeast-1 ec2.ap-southeast-1.amazonaws.com
REGION ap-southeast-2 ec2.ap-southeast-2.amazonaws.com
root@debian:~#
Configure which Amazon EC2 regions to useBest practice is to use the 'openqrm' commandline util to setup which Amazon regions to use for the hybrid-cloud plugin. Please login to the
openQRM Server system and run the following command as 'root' in a terminal:
Create a custom auto-configuration script to the EC2 Instance on S3The integration with Amazon EC2 in openQRM allows to attach a custom script to a starting Instance. The Instance is then running this script on
system startup. This can be used in combination with the Puppet integration to fully pre-configure an Instance in EC2. The easiest way to create such
a custom auto-configuration script is to use the S3 action in the account overview. This provides you with a File-Manager for S3 and allows to easily
upload files to S3. Those files, if set to 'public-read' permission is directly available via http. As an example we create a small bash-script which actually
just outputs some text to a file.
On your Desktop create a new file named 'my-custom-auto-configure.sh' with the following content:
#!/bin/bash
echo "Here custom commands are running on instance startup" > /tmp/my-custom-auto-configure.log
Now go to Plugins -> Deployment -> Hybrid-Cloud -> Actions -> S3 and create a new S3 bucket.
Click on 'Files in bucket' to list the files in the bucket.
The 'my-custom-auto-configure.sh' srcript got uploaded to the S3 bucket and is available via http. Please copy the URL of the uploaded script, we are
going to paste the URL in the following 'Instance Add' dialog.
Pre-configure Nagios service checksNow go to Plugins -> Monitoring -> Nagios3 -> Services. and login to the embedded Nagios server with the openqrm credentials.
Starting the EC2 InstanceTo start the configured Amazon EC2 simply start its server object in Datacenter -> Server. This will create and start the Instance on the Amazon Public
Cloud, apply the Image password configuration, apply the puppet recipes, configure WebSSH and execute the custom auto-configuration script we
have attached to the Instance from S3.
Go to Datacenter -> Server. Select the new created server object and start it
The server object is now activated and the deployment of the Amazon EC2 instances has started.
Also please re-check /tmp/my-custom-auto-configure.log on the Instance to see you custom script got executed.
And here the Datacenter Dashboard after we have created the Amazon EC2 Instance
You can now fully automate your Amazon EC2 deployment with openQRM 5.1.
Hope you enjoyed this Howto!
Add more functionalities to your openQRM SetupTo continue and further enhance your openQRM KVM Virtualization Setup there are several things to do:
Enable the highavailability plugin to automatically gain HA for your serverEnable the cloud plugin for a complete Self-Service deployment of your Server and Software stack to end-usersEnable further Virtualization plugins and integrate remote Virtulization hosts for a fully distributed Cloud environmentEnable further Storage and Deployment plugins to automatically provision your Virtualization Hosts and other physical systems... and more.