logo

Creating and deploying Photo Album website onto AWS infrastructure

6 Pages1981 Words277 Views
   

Added on  2020-10-22

About This Document

Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 - Software Development for Cloud Computing Assignment 1 - part B Creating and deploying Photo Album website onto a simple AWS infrastructure Due date: 9AM Sunday 13th September (Week 6) to Canvas Weighting: 20% Prerequisite: No Availability requirements: • Successfully passed Assignment 1A. However, you do not need to create a database with any additional subnets when you create your web_tier_sg instance.

Creating and deploying Photo Album website onto AWS infrastructure

   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 1 - part B Creating and deploying Photo Album website onto a simple AWS infrastructure Due date: 9AM Sunday 13thSeptember (Week 6) to Canvas Weighting: 20%Prerequisite requirements: Successfully passed Assignment 1A. ACF Labs 2, 3, and 4. Know how to set up and manage a MySQL database. Understand how to write PHP code that interacts with MySQL database. Know how to set up and manage a Web accessible S3 bucket. 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 has the following objectives: 1.Create a secure Virtual Private Cloud (VPC) with subnets, routing tables and security groups. 2.Control access to and from your VPC via an Internet Gateway. 3.Create a website in PHP that stores meta-data information about photos uploaded to S3 in a MySQL database managed by Amazon RDS. The website should enable the user to search for and display photos using meta-data. 4.Deploy and test your PHP web site on an Apache web server running on an EC2 virtual machine instance. Important: In your COS800001 assignments, all AWS resources you create (e.g. EC2 instances, security groups, RDS database instances, etc.) should have the following additional tags added: StudentName (with a value of your name) StudentID (with a value of your student ID) These tags are in addition to any other tags that are appropriate to add to the resource. These tags will be used to assist in the assessment of your work.
Creating and deploying Photo Album website onto AWS infrastructure_1
Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 2 1.Infrastructure deployment You will set up a VPC with the structure and services as illustrated in the diagram below. NOTE: Do not use the default VPC. All services should be in your custom VPC. Below is the detailed requirements for each service. 1.1 - VPC: 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 HINT: If you use the VPC Wizard to create a public and private subnet, the wizard will automatically create the necessary Internet Gateway and Routing tables for you. You can then associate these routing tables with any additional subnets you create. When you use the VPC wizard, the default NAT is an AWS NAT Gateway service. THIS IS NOT A FREE-TIER SERVICE. To avoid being charged we recommend you create a NAT instance running on a free-tier EC2 instance. Don’t forget to stop your instance when you are not using it. 1.2 - Security groups Create the following security groups, each is associated with each tier shown in the architecture diagram: Security group name Protocols Source web_tier_sg HTTP (80), SSH (22) Anywhere db_tier_sg MySQL (3306) web_tier_sg
Creating and deploying Photo Album website onto AWS infrastructure_2
Faculty of Science, Engineering and Technology Swinburne University of Technology COS80001 3 1.3 – EC2 virtual machine Your web server must be deployed on an EC2 instance with the following configs (same as Assignment 1A): -Amazon Machine Image: Amazon Linux AMI 2018.03.0 (HVM)-Instance type: t2.micro-User data: install Apache web server and other PHP packages (as in Assignment 1A) 1.4 – RDS database instance Your RDS instance must have the following configs: -DB engine version: MySQL 5.6.39-DB instance class: db.t2.micro-Public accessibility: No-Backup retention period: 0 daysHINT #1: RDS requires that you have at least two Availability Zones. However, while in a production deployment it is desirable to have a master-slave Multi-AZ RDS, this is not available as part of the AWS Free-Tier. Therefore, do not check Multi-AZ checkbox when you set up your RDS. (The RDS wizard has a Free-tier only checkbox on the first page that limits selections to Free-tier options).HINT #2: In production you need your RDS to be in a private subnet with the only the web-tier security group being able to access it. However, your 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 you can do this. It is up to you to choose.1.Install phpMyAdmin on your EC2 web server instance and create and maintain the database through its UI. Instructions on how to do this are in Install phpMyAdmin on EC2.pdffile. 2.Create a ‘Photo Admin’ interface in PHP that allows a user with the correct credentials to create, insert and delete SQL operations so the database, tables and records can be managed. 3.Create a ‘Bastion Host’ in a public subnet and enable SSH forwarding to the RDS EC2 instance (most secure method). For more details, see https://aws.amazon.com/premiumsupport/knowledge-center/rds-connect-ec2-bastion-host/
Creating and deploying Photo Album website onto AWS infrastructure_3

End of preview

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

Related Documents
COS80001 - Software Development for Cloud Computing Assignment
|6
|1958
|314

Complete Guide: Implementing and Deploying Web Service with Ansible, OpenStack, AWS, and More
|27
|1213
|365