WordPress Deployment with Amazon RDS

Question:

Project – WordPress Deployment with Amazon RDS

Overview

The aim of this project is to deploy WordPress Web Application using external database. WordPress requires a MySQL database to store its data. For this project, students will use Amazon RDS for MySQL to run MySQL database. This will expose students to design, configure and implement WordPress workloads using external database.

Database System

Database maintenance for your WordPress application is critical. Your database instance holds all your important data for your WordPress. If the database goes down, your application may go down with it, and you could even lose your data.

Amazon RDS for MySQL helps with these problems. Amazon RDS for MySQL is a managed database service from AWS.

Architecture

The deployment of this project is based on new virtual private cloud with an architecture outlined below that builds the WordPress application. We will use “US EAST – North Virginia” region for the implementation.

 

Figure 1: Architecture for WordPress with Amazon RDS

Architecture Requirements

  • A highly available architecture that spans two Availability Zones.
  • A VPC configured with public and private subnets according to AWS best practices, to provide you with your own virtual network on AWS.
  • An internet gateway to allow access to the internet.
  • In the public subnets, managed NAT Gateway to allow outbound internet access for resources in the private subnets.
  • In the public subnets, Linux bastion instance to allow inbound SSH access to EC2 instances and act as SSH forwarding agent for instances in public and private subnets.
  • Elastic Load Balancer (ELB) to distribute HTTP requests across multiple WordPress instances.
  • In the private subnets, EC2 instances host the WordPress application which is powered by Apache web server.
  • In the private subnets, MySQL database connects with WordPress application instances via an external connection. MySQL database can sit in any one of the private subnets.
  • All instances, security groups, elastic IP addresses, and any user created AWS resource must be named appropriately and include a tag associated with it.
  • Ensure your database is appropriately protected using the security group and database subnet groups
  • All AWS resources must have appropriate level of security implemented and does not expose other than what is necessary.

Deployment Parameters

Bastion Instance:

 

Instance Type

t2.micro (Free Tier)

Instance Type

Amazon Linux 2 AMI (HVM), SSD Volume Type

NAT Gateway:

 

Public Subnet 1

Outbound internet for resources in private subnets

WordPress Instances (2):

Instance Type

t2.micro (Free Tier)

Instance Type

Amazon Linux 2 AMI (HVM), SSD Volume Type

Database Instance:

 

Instance Template

Free Tier

Instance Type

db.t2.micro

Engine

MySQL

Elastic File System (EFS)

Mount to both private subnets. 

Load Balancer

Type:

Scheme:

Application Load Balancer

Internet-Facing

Required Software

SSH Utility (Putty, Puttygen, Pageant)

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Testing

When the deployment has completely successfully, test it by accessing the WordPress user interface from your browser and logging into the WP dashboard.

Tasks:

  • Verify that you can SSH from Bastion instance to both WP instances.
  • Create a webpage on your WordPress application that allows you to write posts/blog
  • Write a small post on one of the WP EC2 instances about your experience working on this project. Verify that bothinstances of WordPress are displaying the same post text since they share the common MySQL database.
  • Create another post on one of the WP EC2 instances about the challenges you faced and upload an image along with the post. Verify that bothinstances of WordPress are displaying the post text and the image that was uploaded since they have common media upload EFS storage.
  • Verify and show your WordPress web application is load balanced

Project Restrictions

  • You are not allowed to use any pre-built CloudFormation template to implement this project.
  • You are not allowed to use any pre-built third-party applications for this project.

Project Requirements (Total 20 marks)

One page, single spaced, font 11, no pictures, technical project summary is required for grading your project work. A softcopy of your project summary should be submitted on Blackboard before or in Week 13 lab class. (5 marks) Late submissions may not be considered for marking.

You will also need to prepare a 10-minute project demonstration in AWS Management Console. No more than 10 minutes are allocated per group. There will be 15 marks associated with functional demo as per the specifications outlined in this project document.

You will work in groups with each group consist of three members. Only one copy of the project is required. Please choose your group member wisely. No change of groups or individual work is accepted. Once you have selected your group member, your group must sign-up online using the link:

(We will use the same groups from project1.)

Demonstration: (15 marks)

  • Your demonstration should include important configurationdetails with brief explanation of the configurations.
  • Your demonstration must include tasks that you have performed in testing section.
  • Your demonstration must be in audio and video format.
  • Both group members must equallyparticipate in the project and present their work.
Read less
Reference no: EM132069492

WhatsApp
Hello! Need help with your assignments? We are here

GRAB 25% OFF YOUR ORDERS TODAY

X