Recent Question/Assignment
Due Date
• Monday, 9:00 AM, June 1.
Assessment
• As stated in the unit guide, each successful SIT113 student must achieve all unit learning outcomes (ULOs). These ULOs can be found in the Unit Guide.
• Only ULO3 will be assessed using Assessment Task 3.
• The percentage breakdown of each ULO across the four summative assessment tasks, and the overall percentage weighting of each ULO are specified in the following table. A weighting value in a row is the sum of percentages within that row. For example, ULO3 is assessed in Task 3 and Task 4 (10% and 20% respectively), and 30% of marks for this unit are available from ULO3.
Task 1
(Online
Quizzes) Task 2
(Written Report) Task 3
(Problem
Solving Task) Task 4 (Exam) Overall Weighting
ULO1 20% 15% 35%
ULO2 10% 25% 35%
ULO3 10% 20% 30%
• As indicated in the above table, the assessment of Task 3 relates to ULO3, and provides you with the possibility of obtaining up to 10 of the 30 marks associated with ULO3.
Unit Learning Outcome 3
• ULO3 is “Evaluate given requirements and select the most appropriate cloud technology to solve given computing problems”.
Important Notes
• You must login to and use AWS Educate.
• Do not login to the AWS Management Console for this assessment task as AWS Educate differs to the AWS Management Console and you can incur costs to yourself using AWS Management Console.
• Once your AWS Educate credit is depleted, your AWS Educate account is terminated.
Submission
• Each student must individually create a cloud web application based on the following 9 tasks.
• After completing the following 9 tasks you will also create a narrated video to: o Introduce yourself, and present your ID card.
o Provide a quick overview/introduction of your video.
o Confirm your AWS Educate account name. o Confirm that you are using the North Virginian region.
o Present each AWS resource that you created for this assessment such as:
? Instances, and Volumes
? AMIs, and Snapshots
? Security Groups, and Key Pairs
? Load Balancer, Listeners, Rules, and Target Groups
? Auto Scaling Groups o Briefly explain why each AWS resource was created for this assessment.
o Demonstrate that your load balancer, scaling groups, and web servers are correctly working.
• Place your name and ID in the filename of your video file such as JOHN_SMITH_220123456_AT3.mp4.
• Your video file will have a time limit of 5 minutes.
• Submit your video file into the assignment dropbox of the unit site.
Scenario
Use this scenario to complete the following tasks. As ULO3 is concerned with evaluating given requirements, some portions of this scenario are pertinent and others are not.
Computers and Mobile Phones (CMP) is a fictitious company that owns retail stores throughout several suburbs of Melbourne. CMP currently has no web presence.
Additional details about this company are:
• CMP’s product lines are all based on different types of computers, mobile-phones, and associated paraphernalia such as power adapters, cables, cases, keyboards and mice.
• As CMP is very popular, it has a large customer base which can cause high workload throughout the year at both unpredictable times and two weeks before Christmas (December 10 to December 24, inclusive).
• CMP management are willing to invest in an online web presence that is highly available for their retail customers. They particular require a main web site, a web site for computers, and another for mobilephones that can be accessed using URLs such as:
o http://www.cmp.com/ o http://www.cmp.com/computers o http://www.cmp.com/mobilephones
• CMP staff located at their headquarters must work as a team covering several sites and in many aspects such as buying, marketing, seasonal sales, distribution, data analysis, etc.
Aims
The following tasks will guide you to build and test a high availability web application depicted in Figure 1.
Figure 1.
Task 1 – Create Security Groups
Create four security groups: one for the ALB, one for the Main VMs, one for the Computers VMs, and another for the Mobilephones VMs. Ensure rules for HTTP TCP 80 and RDP TCP 3389 are set in each security group.
Task 2 – Create AMIs
‘auto scale groups’ will be used in your web application because this application must automatically handle fluctuating workloads. As an auto scale group uses an AMI to launch one or more additional VMs, one of your first tasks requires you to create three AMIs: an AMI to launch VMs for CMPs main site, a second AMI to launch VMs for CMPs computers site, and another AMI to launch VMs for CMPs mobile phones site.
There can be several techniques to create these AMIs such as:
• Manually creating a VM for each site, and then create an AMI for each of these three VMs.
• Manually create just one VM for a particular site, then create an AMI for that VM. As the three web sites are small and very similar, we can make small adjustments to this VM in order to create the second web site. After this second web site is complete, create an AMI of this VM. Similarly, we can adjust this VM to create the third web site, and then create the third AMI.
• And so on for other techniques.
Once these three AMIs are created, the VMs used to create these AMIs can be terminated. The auto scale groups will automatically create required VMs based on these AMIs.
In general, and based on the second technique, three AMIs can be created as follows.:
1. Create a Windows VM for the main site, ensuring that IIS, Php and index.php are installed and working. For example, create one VM with:
a. Microsoft Windows Server 2019 Base.
b. T2.micro.
c. Select the Main Security Group that you created in Task 1.
d. Create a key pair such as AT3kp.pem.
e. Give this VM a name such as Main VM.
f. Connect to this VM in order to download the RDP file, and get the password.
g. Use this RDP file to login.
h. Use this VM’s Server Manager to add the Web Server (IIS) with CGI selected as a Role Service.
i. Within your VM use Internet Explorer to download Web Platform Installer (Web PI
5.1) from https://www.microsoft.com/web/downloads/platform.aspx.
j. After download, use “WebPlatformInstaller_x64_en-US.msi” to start the installation.
k. Use WebPI to install Php by following the “Install PHP by using Web PI” instructions at https://docs.microsoft.com/en-us/iis/application-frameworks/scenario-build-aphp-website-on-iis/configuring-step-1-install-iis-and-php.
l. Create the file C:inetpubwwwrootindex.php on this VM, and copy the code from Figure 2 into this file.
m. Delete iisstart.htm and iisstart.png that are in C:inetpubwwwroot
n. This will be the main web site for CMP. It is simple as we don’t need a complicated web site for this assessment task. The small PHP portion will display information that is unique to the VM such as IISFCGI-713cc10e-1906-452e-8a1a-8f4840d61497, this allows us to visually and uniquely identify which VM receives HTTP requests from the Application Load Balancer.
o. You should test this web site by placing this VM’s IP address into your local browser.
2. Create an image (AMI) of this VM.
3. Create a second Windows VM for the computers site, ensuring that IIS, Php and index.php are installed and working.
a. We can actually make slight adjustments to this Main VM to create the Computers VM. This will save time and effort as IIS and Web PI are already installed.
b. Use the RDP file to login to this VM.
c. Create a new folder called C:inetpubwwwrootcomputers
d. Move index.php to this new folder.
e. Edit C:inetpubwwwrootcomputersindex.php by changing:
i. “CMP” in the title to “CMP Computers” ii. “CMP Main Site ...” to “CMP Computers Site ...”
4. Create an AMI of this VM which is now hosting the computer site.
5. Create a third Windows VM for the mobilephone site, ensuring that IIS, Php and index.php are installed and working.
a. Similarly to above, we can actually make slight adjustments to this Computers VM to create the Mobile Phones VM. Again, this will save time and effort as IIS and Web PI is already installed.
b. Use the RDP file to login to this VM.
c. Rename the folder C:inetpubwwwrootcomputers to
C:inetpubwwwrootmobilephones
d. Edit the file C:inetpubwwwrootmobilephonesindex.php by changing:
i. “CMP Computers” in the title to “CMP Mobile Phones” ii. “CMP Computers Site ...” to “CMP Mobile Phones Site ...”
6. Create an AMI of this VM hosting the mobile phones site.
7. After a few minutes, you should now have 3 AMIs: one for the Main site, a second for the Computers site, and another for the Mobile Phones site.
8. It is now possible to terminate (delete) this foundation VM.
But do not delete these 3 new AMIs or the 3 associated snapshots, as you will need these to build the rest of your web application.
Task 3 – Create Target Groups
Create three target groups with names such as MainVMtg, ComputersVMtg, and MobilePhonesVMtg.
• The Path in the Health checks section is very important. For the target group MainVMtg, this path value should be just /. This represents the folder C:/inetpub/wwwroot/.
• The Path in the Health checks section for ComputersVMtg should be /computers/. This represents the folder C:/inetpub/wwwroot/computers/.
• The Path in the Health checks section for MobilePhonesVMtg should be /mobilephones/. This represents the folder C:/inetpub/wwwroot/mobilephones/.
After creating these 3 target groups, they will have no registered targets because there should be no VMs to register.
Task 4 – Create Auto Scale Groups and Launch Configurations
Create three auto scale groups, and associated launch configurations. A launch configuration specifies how the auto scale group automatically creates a new VM, and you create one as part of step 1 of creating an auto scale group.
For each of the 3 auto scale groups required, repeat the following 2 steps.
Names such as MainASG, ComputersASG, and MobilePhonesASG should be sufficient.
Step 1 – Launch Configuration
• Click on “My AMIs” to select one of your three AMIs that you created in the previous task.
• Select an instance type such as t2.micro.
• Provide a name for this launch configuration such as MainVMlc
• Add storage, the default 30GB should be sufficient.
• Select the “main” security group that you created in Task 1.
• Select the key pair that you created in Task 2.
Step 2 – Create Auto Scale Group
• Provide a name for this auto scale group such as MainASG
• Set the group size to 2 VMs. NOTE – when I selected 4 VMs, the creation failed.
• Set the two availability zones A and B by selecting both us-east-1a and us-east-1b as the Subnet values. The auto scale group will attempt to evenly distribute VMs over these availability zones. As the group size is set to 2 VMs, one VM should be placed in availability zone A and the other VM should be placed in availability zone B.
• Within the “Advanced Details” section:
o Check the entry for “Receive traffic from one or more load balancers”.
o Select a target group such as MainVMtg.
• Edit the details of this auto scale balancer so that Desired = 2, Min = 1, and Max = 4. After this change, this should automatically ensure one VM is in zone A and the other is in zone B.
After a few minutes, this new auto scale group has created 2 new VMs, 1 in zone A and 1 in zone B. You can confirm this by viewing the instances, as depicted in Figure 3.
Figure 3.
At this stage, it is a good idea to name your VMs, see Figure 4, as this helps to visually identify VMs, rather than using the Instance ID.
Figure 4.
After creating the 3 auto scale groups, you should automatically have 6 VMs as in Figure 5.
Figure 5.
Task 5 – Create an application load balancer
• Provide a name for you load balancer such as AT3lb (Assessment Task 3 Load Balancer).
• Ensure zones A and B are selected.
• Select the security group created for this load balancer in Task 1.
• Select the existing target group for the main web site such as MainVMtg.
• Do not register target at this stage.
• After this load balancer has been created, select its Listeners tab to edit and add rules (use the link called View/edit rules). This is where other target groups are added.
o There should be 1 rule that forwards everything to the Main target group. o Select + to add another rule, then select insert rule.
o Add a rule such that if the path ends in /computers/*, forward requests to the computers target group.
o Add another rule such that if the path ends in /mobilephones/*, forward requests to the mobilephones target group.
o Select to return to the load balancer page.
Task 6 — Testing the Main Site
• Copy the DNA Name value of the load balancer and paste it into a browser.
• You should see the Main Site and an ID value from a VM.
• Refresh the browser page. You should see the Main Site and the ID value change because a different VM responded to the request.
Task 7 — Testing the Computers Site
• Copy the DNA Name value of the load balancer and paste it into a browser.
• Ensure that you add /computers/ to the end of this URL.
• You should see the Computers Site and an ID value from a VM.
• Refresh the browser page. You should see the Computers Site and the ID value change because a different VMs responded to the request.
Task 8 — Testing the Mobilephone Site
• Copy the DNA Name value of the load balancer and paste it into a browser.
• Ensure that you add /mobilephones/ to the end of this URL.
• You should see the Mobilephone Site and an ID value from a VM.
• Refresh the browser page. You should see the Mobilephone Site and the ID value change because a different VMs responded to the request.
Task 9 – XMAS Workload
Update each auto scale group with two scheduled actions to cater for extra workload during the Christmas rush.
1. Two weeks before Christmas, settings are automatically changed to Min = 4, Desired = 6, and Max = 8.
2. On December 31, settings are automatically reverted to Min = 1, Desired = 2, and Max = 4.
Clean Up
1. Delete the auto scale groups. This will terminate/delete the VMs too.
2. Delete the launch configurations.
3. Delete the load balancer. 4. Delete the target groups.
5. Delete the security groups.
6. Deregister the AMIs.
7. Delete the snapshots.
8. Ensure that all VMs have been terminated.