Prerequisites
Below are the prerequisites for running ZFlow on Elastic Beanstalk for Tomcat.
- RDS MySQL (for MySQL Database)
- EFS (Elastic File System for mounting a file system to Elastic Beanstalk instances)
Architecture
Creating AWS Elastic Beanstalk Environment
From your AWS Console, type in Elastic Beanstalk in the search field and select Elastic Beanstalk from the search list.
This will take you to the Elastic Beanstalk console
Create a new Elastic Beanstalk Environment
Configure the Elastic Beanstalk Environment as shown below
- Select “Web server environment”
- Give a name for the Application
- Use the default environment name (or give a name)
- Give a domain name for the elastic beanstalk application (you can use the default)
- Provide a description
Configure the platform
- Select “Managed platform”
- Select “Tomcat” for the Platform
- Use Tomcat 8.5 with Corretto 11 on Amazon Linux 2 (or Tomcat 9 with Corretto 11 on Amazon Linux 2023)
- Select Sample Application
- Select “High Availability”
- Use the existing service and select the default
- For EC2 Key Pair, you have the option of leaving it blank or selecting a key pair that you can use (this will allow you to ssh into Elastic Beanstalk instances)
- Use the default for EC2 instance profile
Configure networking, database
You can leave this section empty (uses defaults if nothing is selected)
Configure instance traffic and scaling
You can use defaults in this section
Use 1 for min instances and 2 for max instances as a start
Configure updates, monitoring, and logging
Submit to launch the Elastic Beanstalk environment
It will take a few minutes for the environment to launch
You will see the note “Environment successfully launched” when the system is ready
You should see the following Sample App page when you select the Domain link of Elastic Beanstalk Environment.
Setting up Elastic File System (EFS)
Type in EFS in the Search Bar and create
Create a new File system
Establish network connectivity between EFS and Elastic Beanstalk Environment
Create a database for ZFlow in MySQL RDS
You can skip this section if you are not responsible for Database setup. We recommend reviewing the following instructions from AWS for setting up an RDS MySQL and using it with the Elastic Beanstalk Environment
Configure Environment Parameters for Elastic Beanstalk
Enter the parameters and select Apply as shown below. Let the environment restart with the new parameters
Uploading ZFlow war file in Elastic Beanstalk
Once the environment parameters are configured, upload the
Configuring admin and DB parameters for ZFlow Install
After deployment, the following screen will come up. Enter appropriate details and submit to set the parameters. The installation script will run upon restarting the app server.
The configuration parameters below are based on the assumption that you have already created the database for ZFlow in the MySQL RDS server and appropriate authorization to the database is given to the database user (MySQL Database Username).
The database server JDBC connection string (MySQL Database Server Address) is along the lines shown below.
rds.amazonaws.com:3306/zflowdatabase
Restart the app servers from the Elastic Beanstalk console
After a successful restart, you should see the following screen. You can log in with the ZFlow admin email and password from the previous step.