Scalable Wordpress website on AWS

Fault-tolerant, secure, elastic Wordpress infrastructure built on AWS that scales horizontally.

Info

Developer: ivtsar

Last Modified: Jun 2nd 2020

Provider: AWS

Variables

NameDescription
Domain NameThe domain name that will be used by the Wordpress web site
Admin e-mailThe Wordpress administrator's e-mail
Code RepositoryThe Cloudformation template used to create the Wordpress infrastructure will be put into this repository.
ACM CertificateThe SSL certificate for the specified domain name in AWS Certificate Manager
Database encryptionEnable/disable database encryption
EFS alarmsEnable/disable Elastic File System alarms, e.g. BurstCreditBalance alarms
EFS encryptedEnable/disable Elastic File System encryption
Use CloudFrontCloudFront serves as a global web caching layer in your infrastructure. Enabling it allows to significantly improve your website performance
Use ElasticacheElasticache serves as a cache layer between wordpress and database. Using Elasticache allows to decrease database load and improve overal website performance
Database and EFS CMK keyYou can use your own CMK key for database (RDS Aurora) and EFS encryption
Bastion instance typeBastion hosts are used for the access to the Wordpress hosts. You can change this type going forward.
Database instance typeAWS RDS instance type for the Wordpress database server. You can change this type going forward.
EFS alarms instance typeInstance type used for the EFS alarms. You can change this type going forward.
ElastiCache node typeInstance type used for Elasticache. You can change this type going forward.
Web instance typeInstane type used to host the Wordpress application. You can change this type going forward.
Database master usernameMaster user name of the RDS database. Alphanumeric value with length from 8 to 16 characters
Database master passwordDatabase master user's password. Don't forget to change this password after the stack is created
Database nameThe name of the database that will be used by the Wordpress
EC2 key nameEC2 key that can be used to access Wordpress web instances via bastion hosts
Wordpress admin username.Admin username used to manage the Wordpress
Wordpress admin passwordThe Wordpress admin's password. Don't forget to change this password after the stack is created

Artifacts

NameDescription
WebsiteWordpress website
Infrastructure repositoryCreated repository with wordpress infrastructure
Wordpress infrastructure deployment pipelineCI/CD: Code pipeline deploying Wordpress infrastructure from repository to production

Infrastructure Cost

ComponentApprox Price Per MonthFree TierPrice
EC2$14.976

AWS Free Tier includes 750 hours of Linux and Windows t2.micro instances, ( t3.micro for the regions in which t2.micro is unavailable) each month for one year.

To stay within the Free Tier, use only EC2 Micro instances.

t3.micro: $0.0104 per Hour;

t3.small: $0.0208 per Hour;

t3.medium: $0.0416 per Hour

EFS$0.3

None

Standard Storage (GB-Month): $0.30;

Infrequent Access Storage (GB-Month): $0.025;

Infrequent Access Requests (per GB transferred): $0.01;

Provisioned Throughput (MB/s-Month): $6.00

CloudFront$0

50 GB of data transfer out;

2M http(s) requests each month

$0.085 per GB;

$0.01 per 10,000 https request

$0.6 per 1M Lambda@Edge requests

Elasticache$0

As part of AWS's Free Usage Tier, new AWS customers will receive free 15 GB of data transfer out each month aggregated across all AWS services for one year.

cache.t3.micro: $0.017 per Hour;

cache.t3.small: $0.034 per Hour;

cache.t3.medium: $0.068 per Hour;

RDS$0

None

db.t3.micro: $0.017 per Hour;

db.t3.small: $0.034 per Hour;

db.t3.medium: $0.068 per Hour;

db.t3.large: $0.136 per Hour

CodeBuild$0

100 build minutes of general1.small per month

$0.005 per general1.small build minute

CodePipeline$0

One free active pipeline each month

$1.00 per active pipeline per month;

Free for pipelines that have existed for less than 30 days;

Free for pipelines that have no new code changes running through them during the month

Certificate Manager$0

Public SSL/TLS certificates provisioned through AWS Certificate Manager are free

Public SSL/TLS certificates provisioned through AWS Certificate Manager are free

IAM$0

Free

Free

CloudFormation$0

1,000 handler operations per month per account

$0.0009 per handler operation