- University Name: http://www.sjsu.edu/
- Course: Cloud Technologies
- Professor: Sanjay Garje
- ISA: Divyankitha Urs
- Student: Nidhi Jamar
The application is the integrated solution for users to allow secure file access and storage from anywhere, with any device. Users can create an account, sign in, upload new files, update existing ones, delete and download them.
- EC2: The EC2 instance will be created and the .war file of the project will be deployed in the webapps folder of the Tomcat server. Further, AMI of this instance will be created which will be used in the launch configuration of the AutoScaling group.
- S3: This will be used to store the user's uploaded files. A base bucket will be created and inside it the files will be uploaded agaianst each user. The storage of this bucket will be Standard S3.
- S3-Infrequent Access: Another bucket will be created in different region whose stores will be S3-IA.
- S3-Transfer Acceleration: This will be enabled on the buckets for faster upload of files.
- Amazon Glacier: As per the Lifecycle policy, the files will be archived in this.
- RDS: A MySQl instance will be created in this, where data related to user and corresponding files uploaded will be saved.
- CloudFront: This has been configured for download of files.
- Classic Load Balancer: This has been configured to distribute the load between the EC2 intances created.
- AutoScaling Group: This has been configured to auto scale the EC2 instance for higher avalability and scalabitlity.
- Route 53: The IP address of the application will be resolved by this Domain Name Server.
- CloudWatch: To set up monitoring on the AutoScaling group instances.
- Lambda: On the termination/Launch of new EC2 instances, it invoked the Lambda function (created in python) which further invoked SNS Topic to send notifcation emails.
- SNS: Configured to send email to subscribers of the topic created in it.
- Softwares required to be setup : Maven project, Java 1.8, Apache Tomcat 8.5, Eclipse IDE, DbVisualizer
- Run the scripts from dbScript file in DbVisualizer to create the tables.
- Download the code from this repository.
- Import it into the Eclipse as Maven Project.
- Create an IAM user in the AWS console and assign it the administrator access.
- Generate an access key for this user and keep a note of the access id and secret key.
- In the application.properties file of the project, update the user's access id, secret key, cloudfront url, cloudfront id, basebucket name, replication bucket name.
- Run the Maven clean and install on the project.
- Inside the target folder, a .war file has been created.
- Copy this .war file into the Tomcat webapps folder.
- Start the Tomcat server using command sudo $CATALINA_HOME/bin/startup.sh
- The application will be accessed at http://localhost:8080.
- Once it runs fine here, it can be deployed to the EC2 instance.