Page tree
Skip to end of metadata
Go to start of metadata

This is a brief guide for running a Java based website in AWS using Elastic Beanstalk to manage the environment. You will need the latest FusionReactor jar, the Java JDK installed with the PATH variable set up and the files you want to deploy. You will also need an AWS account and the Access Key ID and Secret Access Key for your account. If you don’t have these two keys, see:

If you already know how to deploy a .war file to Elastic Beanstalk (EB), just put fusionreactor.jar into the WEB-INF/lib folder in the .war file and jump to stage 9.

  1. Put all the files you want to deploy into an empty folder somewhere in preparation for packaging into a .war file. Create a folder called WEB-INF and inside that create another called lib. Put the file fusionreactor.jar into this folder.

  2. Open the command line and navigate to the folder with all your files. In Windows, if you hold down Shift while right-clicking, you can select “Open command window here” to open the command prompt with that folder as the selected path.

  3. Type in “jar -cvf <NAME-OF-WAR-FILE>.war *” without the speech marks then press Enter. Replace <NAME-OF-WAR-FILE> with the name you want the .war file to have. Remember to leave a space between .war and the ending asterisk. This should create a .war file with a name you selected in that folder. If it throws up an error, you either haven’t got your PATH variable set up or have mistyped the command.

  4. Now log in to Amazon Web Services and go to the EB dashboard.

  5. If you don’t already have an application, create one now. I won’t go through how to create an application here but AWS does have tutorials on the topic (http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.Walkthrough.html).

  6. Create a new environment for the website. You can choose any name and URL you want for the environment as long as they are available. Select “Upload and use a new application version” then browse to where the .war file is and select it. For the container type we recommend Amazon Linux (32 bit or 64 bit) with Tomcat 7.

  7. In the next stage, Configuration Details, you can leave everything on default or change things as you need for your environment. Then move on to the confirmation stage, double check all the details and click Confirm. EB will now upload your file, create the EC2 instance for your application and deploy it to the new environment.

  8. Your application however isn’t quite ready. There are still a couple of environment variables we need to set in the settings in order for FR to start.

  9. Once your application has deployed, wait for the status to turn green then click on the small arrow next to the Actions button for that environment then select Edit/Load Configuration. Here you can change the properties for the environment.

  10. Go to the Container tab and enter your Access Key ID and Secret Access Key into the fields in the second section (Environment Properties).

  11. You will need to enter the following text into the JVM Arguments text field (example on Tomcat 7): 

    -javaagent:/usr/share/tomcat7/webapps/ROOT/WEB-INF/lib/fusionreactor.jar=name=<the name you want for your fr instance> 
    -Dfradminpassword=<the password for logging into the fusionreactor instance> 
    -Dfrinstancepath=/usr/share/tomcat7/fusionreactor -Dfrstartupdelay=3000 
    -Dfrlicense=<your license key in the form XXXXX-XXXXX-XXXXX-XXXXX-XXXXX> 
    -Dfrlicenseservice.deactivateOnShutdown=true”

    Replace <the name you want for your fr instance> with the name you want to give that environment which we can then use to identify that activation of fr to help solve licensing issues. Replace <your license key in the form XXXXX-XXXXX-XXXXX-XXXXX-XXXXX> with the license key which you received from us. Please ensure that you have =true on the end of -Dfrlicenseservice.deactivateOnShutdown. This is very important because without it, the licenses won’t deactivate and you could run out of licenses for your servers.

  12. If you want to monitor all the instances that start up through an Enterprise Dashboard on a separate server, add the following arguments to the text field:
    “-Dfrregisterwith=http://restuser/:<server password>@<url of the server with the enterprise dashboard on>:8087/fusionreactor -Dfrshutdownaction=remove -Dfrregisterhostname={AWS}”.
    Replace <server password> with the password for your server’s REST interface. Replace <url of the server with the enterprise dashboard on> with the URL of the server which has the enterprise dashboard on. 
  13. Click finish and wait for the server to restart. 
  14. The server should now automatically fetch licenses from the licensing server when new instances are brought online when auto-scaling kicks in and deactivated when the servers come back down again. 

 

Due to the way AWS works, when you want to access FR using the website URL (<URL>/fusionreaction/findex.htm), it will only show the dashboard of the most recent instance to be created. It is also inaccessible while the environment is scaling so we highly recommend using the Enterprise Dashboard to monitor the servers. If you want to access the dashboards of other instances, go to the EC2 manager in AWS and fetch the URL for that instance (the one under the title of the details pane when you click on the instance. It ends in compute.amazonaws.com) then add /fusionreactor/findex.htm to the end and using that URL you can access the FR instance for that particular instance.

In order for instances to register with the enterprise dashboard, the server running the enterprise dashboard has to be running before the environment instances are started up.
  • No labels