Amazon Web Services (AWS) is a cloud computing software platform, which users primarily deploy as an infrastructure as a service (IaaS) solution.
Follow the instructions below to install Private PaaS with Amazon EC2, using a virtual machine (VM) setup:
Ensure that all the following prerequisites have been met based on your environment and IaaS.
Install the required applications and set the Maven environment variable.
For more information on the prerequisites, see Prerequisites .
Download the Private PaaS binary distribution (
wso2ppaas-4.1.0-SNAPSHOT.zip)
and unzip it.This can be done using any of the following methods:
Method 1 - Download the Private PaaS binary distribution from Apache Download Mirrors and unzip it.
Methods 2 - Build the Private PaaS source to obtain the binary distribution and unzip it.
Start ActiveMQ.
Setup Puppet Master.
Puppet is an open source configuration management utility. In Private PaaS, Puppet has been used as the orchestration layer.Puppet is an open source configuration management utility. In Private PaaS, Puppet has been used as the orchestration layer.
For more informations, see Configuring Puppet Master .Create an EC2 cartridge base image.
Navigate to the
<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf/mock-iaas.xml
file and disable the Mock IaaS. By default, the Mock IaaS will be enabled.<mock-iaas enabled="false">
Navigate to the
<wso2ppaas-4.1.0-SNAPSHOT>/repository/deployment/server/webapps
directory and delete themock-iaas.war
file.When Private PaaS is run the
mock-iaas.wa
r extracts themock-iaas
folder. Therefore if you have run Private PaaS previously, delete themock-iaas
folder too.Configure the Cloud Controller.
Prior to carrying out the following steps, make sure to unzip the Private PaaS binary distribution (
wso2ppaas-4.1.0-SNAPSHOT.zip
). If you are building Private PaaS using the source distribution, the binary distribution is available in the<PRIVATE_PAAS_SOURCE_HOME>/products/ppaas/modules/distribution/target
directory.Follow the instructions below to update the Cloud Controller (CC) configurations:
Configure the IaaS provider details in the
<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf/
file and comment the IaaS provider details that are not being used.cloud-controller.xml
Update the
identity
,credential
,owner-id
,availabilityZone
,securityGroups
,keyPair
name of the Amazon EC2 IaaS provider.<cloudController> ... <iaasProvider type="ec2" name="Amazon EC2"> <className>org.apache.stratos.cloud.controller.iaases.ec2.EC2Iaas</className> <provider>aws-ec2</provider> <identity svns:secretAlias="cloud.controller.ec2.identity">identity</identity> <credential svns:secretAlias="cloud.controller.ec2.credential">credential</credential> <property name="jclouds.ec2.ami-query" value="owner-id=owner-id;state=available;image-type=machine"/> <property name="availabilityZone" value="ap-southeast-1b"/> <property name="securityGroups" value="security-group"/> <property name="autoAssignIp" value="true" /> <property name="keyPair" value="keypair-name"/> </iaasProvider> ... </cloudController>
Update the values of the
message-broker-ip
andmessage-broker-port
in themqtttopic.properties
file, which is in the<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory. The default values aremessage-broker-ip=localhost
andmessage-broker-port=
1883.mqtturl=tcp://[MB_IP]:[MB_MQTT_PORT] clientID=stratos tempfilelocation=/tmp
Update the values of the
MB_IP
andMB_PORT
in thejndi.properties
file, which is in the<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory.The values are as follows:
MB_IP:
The IP address used by ActiveMQ.MB_PORT:
The port used by ActiveMQ. The default value of themessage-broker-port=
61616.connectionfactoryName=TopicConnectionFactory java.naming.provider.url=tcp://[MB_IP]:[MB_Port] java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
Update the values of the
PUPPET_IP
andPUPPET_HOST_NAME
in thecartridge-config.properties
file, which is in the<wso2ppaas-4.1.0-SNAPSHOT>/repository/conf
directory.The values are as follows:
PUPPET_IP:
The IP address of the running Puppet instance.PUPPET_HOST_NAME
:The host name of the running Puppet instance.autoscaler.service.url=https://localhost:9443/services/AutoscalerService/ cloud.controller.service.url=https://localhost:9443/services/CloudControllerService/ stratos.manager.service.url=https://localhost:9443/services/StratosManagerService/ puppet.ip=[PUPPET_IP] puppet.hostname=[PUPPET_HOST_NAME] puppet.dns.available=false puppet.environment=stratos
Update the value of the
MB_IP
in theJMSOutputAdaptor
file, which is in the<wso2ppaas-4.1.0-SNAPSHOT>/r
epository/deployment/server/outputeventadaptors
directory.MB_IP
:
he IP address used by ActiveMQ.<outputEventAdaptor name="JMSOutputAdaptor" statistics="disable" trace="enable" type="jms" xmlns="http://wso2.org/carbon/eventadaptormanager"> <!--property name="java.naming.provider.url">CEP_HOME/repository/conf/jndi.properties</property--> <property name="java.naming.provider.url">tcp://[MB_IP]:61616</property> <property name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</property> <property name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</property> <property name="transport.jms.DestinationType">topic</property> </outputEventAdaptor>
Navigate to the
<wso2ppaas-4.1.0-SNAPSHOT>/bin
directory, which is in the unzipped Private PaaS distribution.cd wso2ppaas-4.1.0-SNAPSHOT/bin/
Start Private PaaS.
./wso2server.sh