logo

COS80001 - Software Development for Cloud Computing Assignment

6 Pages1958 Words314 Views
   

Added on  2020-10-22

COS80001 - Software Development for Cloud Computing Assignment

   Added on 2020-10-22

ShareRelated Documents
Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 1 COS80001 - Software Development for Cloud Computing Assignment 2 Developing a Highly Available Photo Album Website Due date: 9AM Thursday 08thOctober (Week 9) to Canvas Weighting: 15%. The assignment needs to be completed to attain a Credit grade or above in this unit. Late submission penalty: 10% of total available marks per day.Prerequisite requirements: Successfully completed Assignments 1A and 1B. Completed all ACF labs (1-6). Know how to use AWS CloudFront and AWS PHP SDK. All supporting materials mentioned in this document can be found in the corresponding assignment page on Canvas. You must write your own PHP code for this assignment. All code (except for the code shown in supporting materials) will be checked for plagiarism. Objectives This assignment will extend/modify the infrastructure and program you developed in Assignment 1. It has the following additional objectives: 1.Create IAM roles to enable an EC2 instance to access S3. 2.Demonstrate the programmatic control of cloud services using an SDK. 3.Create a custom AMI with User Data. 4.Create a Launch Configuration based on your custom AMI. 5.Create an Autoscaling Group across two Availability Zones with policies for scaling up and down. 6.Create a Load Balancer to distribute service requests. 7.Create a cached distribution of your website using CloudFront.
COS80001 - Software Development for Cloud Computing Assignment_1
Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 2 1.Functional requirements of Photo Album website Your Photo Album website must have the following functional requirements. 2.1 – Photo uploading You are now required to implement the photo uploading functionality (upload.php) so that photos can be programmatically uploaded to the S3 bucket using AWS PHP SDK. You will need to: Create an IAM role that gives permission to your EC2 web server instance to write photos to your S3 bucket. Temporarily upload the photo to your EC2 web server then write it to S3 using the AWS PHP SDK. Restrict access to your S3 bucket so that only web pages served from your PHP application will be able to read photos. Once a user hits the “Upload” button, the photo should be uploaded to the S3 bucket, and the metadata (photo title, description, date, and keywords) should be inserted into the database. The S3 bucket and the database can be reused from Assignment 1. There are many online resources that explain how to upload a file from a web form to a server using PHP. The supplemental Upload a file using AWS SDK for PHP and access with CloudFront.pdffile contains instructions on how to set up the appropriate policies on S3 and how to use the AWS PHP SDK. 2.2 – Photo searching This has already been implemented in Assignment 1B. When a user search for photos based on some search criteria, the website should return a list of matching photos along with their metadata (photo title, description, date, and keywords). In this assignment, the photos are to be retrieved from a CloudFront distribution instead of the S3 bucket. More details on the CloudFront distribution can be found in the next section of this document.
COS80001 - Software Development for Cloud Computing Assignment_2
Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 3 2.Infrastructure deployment You will set up a VPC with the structure and services as illustrated in the diagram below. You can set this up on top of the infrastructure you developed in Assignment 1. 1.1 - VPC The VPC is as per Assignment 1B. The following points should be noted: Name: [FirstNameInitial][LastName]VPC. For example, if your name is Bill Gates, your VPC would be named “BGatesVPC”. Region: us-east-1 Two availability zones each with a private and public subnet with suitable CIDR. Associate public subnets with a route table that routes to an Internet Gateway 1.2 – Load balancing with Elastic Load Balancer Web request load needs to be distributed across the web servers in the auto-scaling group using an Application load balancer. Ensure that your ELB is running health checks on all instances.
COS80001 - Software Development for Cloud Computing Assignment_3

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
Creating and deploying Photo Album website onto AWS infrastructure
|6
|1981
|277