代写Cloud Computing Architecture Assignment 2代写SQL语言

Cloud Computing Architecture

Assignment 2

Creating and deploying Photo Album website onto a simple

OCI infrastructure

Due date: 9 AM (AEST), Monday of Week 10

Prerequisite requirements:

•    Successfully completed Assignments 1A and 1B.

•    Completed all OCI Labs (weeks 7-9)

•    Knowledge of using OCI Network Security Groups.

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

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.

Objectives

This assignment has the following objectives:

1.    Create a secure Virtual Cloud Network (VCN) with appropriate subnets, routing tables and security services.

2.    Control access to and from your VCN via an Internet Gateway.

3.    Modify the provided PHP code to create a website that stores meta-data information about photos uploaded to Object Storage in a MySQL database. 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 virtual machine instance.

5.    Add an aditional layer of security by applying a Network Security Group to the web server.

1. Infrastructure deployment

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

Figure 1: Architecture Diagram (OCI)

NOTE:

•   All resources must be created in “Assignments_Compartment” compartment

•    Do not use the default VCN (if any). All services should be in your custom VCN. Below are the detailed requirements for each service.

1.1 - VCN:

•    Name: [FirstNameInitial][LastName]VCN. For example, if your name is Bill Gates, your VCN would be named “BGatesVCN”.

•    Region: us-ashburn-1

•   Two availability domains each with a private and public subnet with suitable CIDR as specified in the diagram above.

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

•   Associate private subnets with a private route table.

NOTE: due to some incompatibility issues, it is recommended to create your VCN manually (use the “Create VCN” button in VCN tab). Please do NOT use the “Start VCN Wizard” button in OCI dashboard.

1.2 – Network Security Groups

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

NSG Name

Ingress

Egress

Test-InstanceNSG

All traffic from Anywhere

ICMP to Public Subnet 2

Web-tierNSG

HTTP (80) from Anywhere

SSH (22) from Anywhere

ICMP from Private Subnet 2

ICMP to Private Subnet 2

TCP (All ports) from Private Subnet 1

Table 1: Network Security Groups

NOTE: by default, the “Default Security List” is attached to all subnets in Oracle Cloud. To simplify the process, you can REMOVE all Ingress and Egress rules of this default Security list to make NSG rules effective, for Private Subnet 2 of this assignment.

1.3 – Compute (Virtual machines)

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

1.3.1 – Bastion/Web server instance

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

-      Machine Image: Oracle-Linux-8

-      Instance type: VM.Standard1.1 (1 OCPU, 7GB Memory)

OR

VM.Standard.E2.1 (1 OCPU, 8GB Memory)

OR

VM.Standard3.Flex (1 OCPU, 6GB Memory)

OR

VM.Standard.A1.Flex (1 OCPU, 6GB Memory)

-      Has Apache web server and other PHP packages installed (bash script provided in the Assignment page).

This instance will host the “Photo Album” web application, which was created in Assignment 1 – 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.

NOTE: [WebServer_public_IP_Address] will change every time the webserver instance restarts. To avoid this behavior. and to ensure your Webserver public IP address remains persistent, add a Reserved Public IP Address to this instance by allocating a Reserved Public IP address in the same region under the Networking/IP Management section.

Once the IP address is reserved, go to the WebServer instance details and navigate to “Attached VNICs/IPv4 Addresses”. Click on the 3-dot menu and select “Edit”. In this menu you should be able to Unassign the attached Public IP address first by choosing “No public IP”, update and then selecting the “Reserved public IP”.

1.3.2 – Test instance

This instance will be used for demonstration purposes only. It does not contribute to the functionality of Photo Album website.

You will SSH into the web server and test its bidirectional/two-way connectivity to this Test instance (using “ping” command in Linux). You must be able to establish a connection (ICMP ping) between this instance and the Bastion/Web server instance that are running in two separate subnets.

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

1.4 – MySQL Database

Your database instance must have the following configs:

-      DB engine version: MySQL 8.0.41

-     Type: Standalone (Development or testing)

-      Shape: MySQL2 (ECPU model)

-      HeatWave cluster: Disabled

-      Data Storage Size: 50GB

-      Automatic Backup: Disabled

-      Administrator user: admin

-      Admin password: Oraclecloud@2023

-      Resides in private subnet as per architecture diagram

NOTE: your database needs to be in a private subnet. Only Public Subnet 2 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 instance and manage your database through phpMyAdmin’s UI. Instructions on how to do this are in Install_phpMyAdmin_OCI.pdf file.

Create a database in your database instance with a table called photosDB that stores meta-data of the photos stored in the object storage bucket. Create a table inside this database that has the following columns:

•    photo_title (varchar(255) type)

•    description  (varchar(255) type)

•    creation_date  (date type)

•    keywords (varchar(255) type)

•    object_reference (varchar(255) type)

1.5 – Security Lists

PublicSubnet2SL:

To add an additional layer of security to your web server, you have been asked to design and deploy a security list (named “PublicSubnet2SL”) that limits ICMP and other necessary traffic to the associated instance (Bastion/Webserver).  This Security List must follow the least-privilege principle. In other words, irrelevant traffic from irrelevant sources must not be allowed. To be specific, the security list:

-      must ALLOW SSH(22) traffic from anywhere so that you can access the WebServer instance from your computer.

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

-     must ALLOW other necessary traffic so that the Photo Album website is fully functional for users from anywhere and can access MySQL database.

NOTE: default “Security  List” is attached to all subnets in Oracle Cloud.  Ensure this security list is removed from Public Subnet 2.

PrivateSubnet1SL:

This security list is applied to the subnet that MySQL database exists. Add the required security list rules to ensure required instances (e.g. Webserver) can successfully communicate with the database in this subnet in a least-privilege access model.

NOTE: default “Security  List” is attached to all subnets in Oracle Cloud.  Ensure this security list is removed from Private Subnet 1.

2.   Functional requirements of Photo Album website

Your Photo Album website must have the following functional requirements.

2.1 – Photo storage

Create an object storage bucket to store your photos. Manually upload some photos onto this bucket that you just created and ensure they have been successfully uploaded.

All objects (photos) in this bucket must become publicly available. This can be done via OCI management console, changing the buckets visibility settings.

NOTE: marks will be deducted if the bucket objects have been individually configured to be publicly available.

2.2 – Photo meta-data in MySQL Database

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:

-      Photo title: Swinburne Logo

-      Description: Logo of Swinburne uni

-      Creation date: 2021-08-09

-      Keywords: logo, university

-      Object Ref/URL: https://photo-bucket.oraclecloud.com/swinburnelogo.jpg

NOTE: Object URL = Pre-Authenticated Request, generated by OCI storage bucket.

2.3 – Photo Album website functionality

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

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

Examples:

define('DB_PHOTO_CREATIONDATE_COL_NAME', 'creationdate');

define('DB_PHOTO_KEYWORDS_COL_NAME', 'keywords_column');

The website should be accessible through

http://[WebServer_Public_IP_Address]/cos80001/photoalbum/album.php if the directory structure in your web server is correctly created.

Testing

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

Ensure the Security List 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.

Submission

Make sure your website is functional from the due date - check you can start the web server 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:

1.  A single PDF document, maximum 15 pages, in IEEE Conference Style in either one or two column mode submitted to Canvas by the due date.

2.  Title page with your name, student ID, and tutorial class.

3.  URL of the album.php pages on your EC2 so your marker can view your website from their browser using the URL that you have provided (Reserved Public IP address to be used).

4. If you have not created an instructor user in previous weeks, refer to week 8 lab instrucitons and ensure you have finished the lab, provided IAM admin user and the account details (account/tenancy name) to your tutor for marking purposes.

5.  Well formatted Screenshot(s) of the data records in your database.

6.  Well formatted Screenshot(s) of Linux terminal showing you have been able to ping the Web server Instance from your Test instance, or vice versa.

7.  Well formated screenshot(s) and a brief explanation for each step that you have taken, problems that you faced and achievements during your deployment for this assignment.

•    Route tables with their route rules and associated subnets

MySQL Database configurations/settings

•    Security List Rules

•    Network Security Group Rules

8.  Each screenshot must have your OCI Management Console username/student ID visible.

9.  All screenshots must:

•    Have a Caption (e.g. Figure 2: MySQL table)

•    Be readable (reasonably high quality)

NOTE:

This assignment is to be completed in your free-tier OCI account, which is accessible through Oracle Cloud Login page. For further information of how to access this environment please refer to your Swinburne Canvas Page “Accessing OCI Resources”.

This environment comes with $300 USD credits. It is your responsibility to use and manage this credit correctly to ensure there will be enough remaining credits for all assignments.

Marks will be deducted if your assignment resources are not accessible due to insufficient credits.





热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图