1. Homepage
  2. Homework
  3. COS20019 Cloud Computing Architecture Assignment 1 - Part B Photo Album website
This question has been solved

COS20019 Cloud Computing Architecture Assignment 1 - Part B Photo Album website

Engage in a Conversation
SwinburneCOS20019Cloud Computing ArchitecturePhoto Album websiteAWSPHP

COS20019 - Cloud Computing Architecture Assignment 1 - Part B
CourseNana.COM

Creating and deploying Photo Album website onto a simple AWS infrastructure CourseNana.COM

Due date: 9:00 AM (AEST) Monday, start of Week 7 Prerequisite requirements: CourseNana.COM

Pass mark in Assignment 1A. Please note that Assignment 1B submissions will not be marked if the student has not Passed Assignment 1A. Contact your instructor immediately if this requirement is not met in your grades. CourseNana.COM

Preparation: CourseNana.COM

  • ACF Labs 2, 3, and 4. CourseNana.COM

  • Know how to set up and manage a MySQL database on Cloud CourseNana.COM

  • General understanding of PHP programming language. CourseNana.COM

  • Know how to set up and manage a Web accessible S3 bucket. CourseNana.COM

    All supporting materials mentioned in this document can be found in the corresponding assignment page on Canvas. CourseNana.COM

    The PHP source code has been provided for this assignment. However, you will need to understand how this code works to be able to modify the missing parts. Each student is supposed to add their own specific information in this code; hence, you must not copy someone else’s code. CourseNana.COM

    Objectives CourseNana.COM

    This assignment has the following objectives: CourseNana.COM

  1. Create a secure Virtual Private Cloud (VPC) with subnets, routing tables and security groups. CourseNana.COM

  2. Control access to and from your VPC via an Internet Gateway. CourseNana.COM

  3. Modify the provided PHP code to create a website that stores meta-data information about CourseNana.COM

    photos uploaded to S3 in a MySQL database managed by Amazon RDS. The website should CourseNana.COM

    enable the user to search for and display photos using meta-data. CourseNana.COM

  4. Deploy and test your PHP web site on an Apache web server running on an EC2 virtual CourseNana.COM

    machine instance. CourseNana.COM

  5. Add an additional layer of security by applying a Network ACL to the public subnet that hosts CourseNana.COM

    your web server. CourseNana.COM

1. Infrastructuredeployment CourseNana.COM

You will set up a VPC with the structure and services as illustrated in the diagram below. CourseNana.COM

NOTE: Do not use the default VPC. All services should be in your custom VPC. Below are the detailed requirements for each service. CourseNana.COM

1.1 - VPC: CourseNana.COM

  • Name: [FirstNameInitial][LastName]VPC. For example, if your name is Bill Gates, your VPC would be named “BGatesVPC”. CourseNana.COM

  • Region: us-east-1 CourseNana.COM

  • Two availability zones each with a private and public subnet with suitable CIDR as CourseNana.COM

    specified in the diagram above. CourseNana.COM

  • Associate public subnets with a public route table that routes to the Internet CourseNana.COM

    Gateway.
    NOTE: due to some incompatibility issues, it is recommended to create your VPC manually (use the “Create VPC” button in VPC tab and select “VPC Only”). Please do NOT use the “Start VPC Wizard” button in AWS dashboard. CourseNana.COM

    1.2 - Security groups CourseNana.COM

    Create the following security groups, each is associated with each tier shown in the architecture diagram: CourseNana.COM

Anywhere Anywhere TestInstanceSG WebServerSG CourseNana.COM

Security group name CourseNana.COM

TestInstanceSG WebServerSG CourseNana.COM

DBServerSG CourseNana.COM

1.3 – EC2 virtual machine CourseNana.COM

Protocols CourseNana.COM

All traffic
HTTP (80), SSH (22) ICMP
MySQL (3306)
CourseNana.COM

You will create two EC2 instances, a test instance and a bastion/web server instance. CourseNana.COM

1.3.1 – Bastion/Web server instance CourseNana.COM

Your web server must be deployed on an EC2 instance in Public Subnet 2. This EC2 instance should be configured similar to the EC2 created in Assignment 1A: CourseNana.COM

  • -  Amazon Machine Image: Amazon Linux 2 AMI (HVM), SSD Volume Type CourseNana.COM

  • -  Instance type: t2.micro CourseNana.COM

  • -  Has Apache web server and other PHP packages installed (you can use the same bash script CourseNana.COM

    provided in Assignment 1A to bootstrap your EC2).
    This instance will host the “Photo Album” web application, which was created in Assignment 1A – more details are in Section 2 of this specification document. This instance will also act as a bastion host for you to SSH into the Test instance, which resides in a private subnet.
    CourseNana.COM

    NOTE: [your.public.dns] will change every time the webserver instance restarts. To avoid this behaviour and to ensure your Webserver URL remains persistent, add an Elastic IP Address to this instance by allocating an Elastic IP address in the same region under the Network and Security section in the left menu of the EC2 service page, then associate this new EIP to your Bastion/Web server instance. The public IP address of your instance should now automatically match this Elastic IP address. CourseNana.COM

    1.3.2 – Test instance CourseNana.COM

    This instance will be used for demonstration purposes only. It does not contribute to the functionality of Photo Album website. You will SSH into this instance and ping the web server (using “ping” command in Linux). Please take a screenshot(s) of the Linux terminal to demonstrate that: CourseNana.COM

  • -  You are able to SSH into an instance in a private subnet (which is this Test instance). For instructions on how to connect to a private EC2 instance through a bastion host, you can refer to https://aws.amazon.com/blogs/security/securely-connect-to-linux-instances- running-in-a-private-amazon-vpc/ CourseNana.COM

  • -  You are able to establish a connection (ICMP ping) between this instance and the Bastion/Web server instance. CourseNana.COM

    The configuration of this instance is entirely your choice. This instance does not host the web application. CourseNana.COM

1.4 – RDS database instance CourseNana.COM

Your RDS instance must have the following configs: CourseNana.COM

MySQL 8.0.34 Free tier
No
CourseNana.COM

NOTE: Your RDS instance needs to be in a private subnet. Only WebServerSG security group can access it. However, you need to be able to access your database over the internet so that you can set it up and maintain it. There are several ways to do this. The easiest way is to install phpMyAdmin (a web-based MySQL administration tool) on your web server EC2 instance and manage your database through phpMyAdmin’s UI. Instructions on how to do this are in Install phpMyAdmin on EC2.pdf file. CourseNana.COM

Using phpMyAdmin tool, create a database in your RDS instance with a table called photos that stores meta-data about the photos stored in the S3 bucket. This table should have the following columns: CourseNana.COM

  • Photo title (varchar(255) type) CourseNana.COM

  • Description (varchar(255) type) CourseNana.COM

  • Creation date (date type) CourseNana.COM

  • Keywords (varchar(255) type) CourseNana.COM

  • Reference to the photo object in S3 (varchar(255) type) CourseNana.COM

    1.5 – Network ACL CourseNana.COM

    To add an additional layer of security to your web server, you have been asked to design and deploy a Network ACL (named “PublicSubnet2NACL”) that limits ICMP and other necessary traffic to the corresponding subnet (Public Subnet 2). This NACL must follow the least-privilege principle. In other words, irrelevant traffic from irrelevant sources must not be allowed. To be specific, the NACL: CourseNana.COM

  • -  must ALLOW SSH(22) 1traffic from anywhere so that you can access the WebServer instance. CourseNana.COM

  • -  must ALLOW ICMP traffic only from the subnet that contains the Test instance. CourseNana.COM

  • -  must ALLOW other necessary traffic so that the Photo Album website is fully functional for CourseNana.COM

    users from anywhere. CourseNana.COM

2. Functional requirements of Photo Album website CourseNana.COM

Your Photo Album website must have the following functional requirements. CourseNana.COM

2.1 – Photo storage CourseNana.COM

Create an S3 bucket to store your photos. Manually upload some photos onto S3 bucket that you just CourseNana.COM

1 Ideally, SSH(22) traffic should only be allowed from your home network's public IPv4 address range since common users do not need to access the web server. But for simplicity, you can allow SSH from anywhere in this assignment. CourseNana.COM

COS20019 4 CourseNana.COM

School of Science, Computing and Engineering Technologies Swinburne University of Technology CourseNana.COM

created and ensure they have been successfully uploaded. CourseNana.COM

All objects (photos) in this S3 bucket must become publicly available. To accomplish this task, you MUST use an appropriate access policy to enable public access to all available objects in this S3 bucket. CourseNana.COM

NOTE: marks will be deducted if S3 bucket objects have been individually configured to be publicly available. This needs to be done by making objects available at the bucket level. CourseNana.COM

2.2 – Photo meta-data in RDS Database CourseNana.COM

The meta-data of the photos stored in the S3 bucket is stored in a database table, which has been created in Section 1.4. You need to populate the table with a few records. Below is an example of a record: CourseNana.COM

2.3 – Photo Album website functionality CourseNana.COM

The website must be able to list all the photos (stored in the S3 bucket) along with their meta-data (stored in the database). The full source code has been provided to you (photoalbum_v3.0.zip). Modify the constants.php file in the provided code (carefully read the comments in the file) using available information from the S3 bucket and RDS database that you created in the previous steps. CourseNana.COM

NOTE: in constants.php file, variables/names that you add must not include space. You may use underscore “_” instead of space. CourseNana.COM

Examples: CourseNana.COM

define('DB_PHOTO_CREATIONDATE_COL_NAME', ' '); define('DB_PHOTO_KEYWORDS_COL_NAME', '); CourseNana.COM

The website should be accessible through http://[your.public.dns].amazonaws.com/cos20019/photoalbum/album.php if the directory structure in your web server is correctly created. CourseNana.COM

Testing CourseNana.COM

Manually upload several photos to the S3 bucket and insert their meta-data into the database. Thoroughly test to make sure the photos and their meta-data are correctly displayed. CourseNana.COM

Ensure the Network ACL satisfies the additional security requirement, by login into the Test instance (e.g. via SSH) and run a ping to the web server’s IP address. CourseNana.COM

creationdate CourseNana.COM

'keywords_column CourseNana.COM

COS20019 5 CourseNana.COM

School of Science, Computing and Engineering Technologies Swinburne University of Technology CourseNana.COM

Submission CourseNana.COM

Make sure your website is functional before the due date - check you can start the web server EC2 instance and stop it. (No need to start the Test instance).
Submission is a single PDF document to Canvas. No demonstration is required. The document must contain the following: CourseNana.COM

1. AsinglePDFdocument,maximum15pages,inIEEEConferenceStyleineitheroneortwo column mode submitted to Canvas by the due date. CourseNana.COM

2. Titlepagewithyourname,studentID,andtutorialclass.
3. URLofthealbum
.phppagesonyourEC2soyourtutorcanviewyourwebsitefromtheir CourseNana.COM

browser using the URL that you have provided (Elastic IP address to be used).
4.
IfyourassignmentisdoneinyourpersonalAWSaccountinsteadofVocareum(akaLearner Lab), you will need to create an IAM user with proper permissions and provide us with the CourseNana.COM

credentials so that your tutor can access your AWS management console.
5. WellformattedScreenshot(s)ofthedatarecordsinyourdatabase.
6. WellformattedScreenshot(s)ofLinuxterminalshowingyouhavebeenabletopingtheWeb
CourseNana.COM

server Instance from your Test instance.
7. Wellformatedscreenshot(s)andabriefexplanationforeachstepthatyouhavetakento
CourseNana.COM

deploy different resources (e.g. VPC, Route Tables, Security Groups, Static IP, Subnets...), CourseNana.COM

problems that you faced and achievements during your deployment for this assignment.
8. EachscreenshotmustincludeyourAWSManagementConsoleusername/studentIDvisible.
CourseNana.COM

NOTE: CourseNana.COM

This assignment is to be completed in a managed AWS Lab environment (e.g. AWS Learner Lab), which is accessible through your AWS Canvas page. For further information of how to access this environment please refer to your Swinburne Canvas Page “Accessing AWS Resources”. CourseNana.COM

This environment is time-limited until the end of semester and comes with $US100 credit. It is your responsibility to use and manage this credit correctly to ensure there will be enough remaining credits for all assignments.
CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Swinburne代写,COS20019代写,Cloud Computing Architecture代写,Photo Album website代写,AWS代写,PHP代写,Swinburne代编,COS20019代编,Cloud Computing Architecture代编,Photo Album website代编,AWS代编,PHP代编,Swinburne代考,COS20019代考,Cloud Computing Architecture代考,Photo Album website代考,AWS代考,PHP代考,Swinburnehelp,COS20019help,Cloud Computing Architecturehelp,Photo Album websitehelp,AWShelp,PHPhelp,Swinburne作业代写,COS20019作业代写,Cloud Computing Architecture作业代写,Photo Album website作业代写,AWS作业代写,PHP作业代写,Swinburne编程代写,COS20019编程代写,Cloud Computing Architecture编程代写,Photo Album website编程代写,AWS编程代写,PHP编程代写,Swinburneprogramming help,COS20019programming help,Cloud Computing Architectureprogramming help,Photo Album websiteprogramming help,AWSprogramming help,PHPprogramming help,Swinburneassignment help,COS20019assignment help,Cloud Computing Architectureassignment help,Photo Album websiteassignment help,AWSassignment help,PHPassignment help,Swinburnesolution,COS20019solution,Cloud Computing Architecturesolution,Photo Album websitesolution,AWSsolution,PHPsolution,