8.Wordpress
1. WordPress: fault tolerant and scalable (MySQL)
Use this CloudFormation template to create a fault tolerant and scalable WordPress environment on AWS running on MySQL.
1.1. Features
- HTTPS only
- CDN caching static files
- Scalable file storage
- Fault tolerance due to multi-AZ setup
1.2. Services
This template combines the following services:
- CloudFront: CDN for dynamic and static content
- ELB: load balancer forwarding requests to EC2 instances and terminating SSL
- EC2: virtual machines running the web servers
- EFS: storage for WordPress files (WordPress core, plugins, themes, user uploads, ...)
- RDS: MySQL database
1.3. Installation Guide
Important: A custom domain name (e.g. www.yourdomain.com
) is needed before installing Wordpress based on this template.
- This templates depends on one of our
vpc-*azs.yaml
templates. - Create an ACM certificate for your custom domain name within the region you want to launch your stack in. Copy the ARN of the certificate. This is for the ELB.
- Create another ACM certificate for your custom domain name in region
us-east-1
. Copy the ARN of the certificate. This is for CloudFront (note: CloudFront only supports ACM certificates in us-east-1) - This templates depends on one of our
zone-*.yaml
templates. - Click Next to proceed with the next step of the wizard.
- Specify a name and all parameters for the stack.
- Click Next to proceed with the next step of the wizard.
- Click Next to skip the Options step of the wizard.
- Check the I acknowledge that this template might cause AWS CloudFormation to create IAM resources. checkbox.
- Click Create to start the creation of the stack.
- Wait until the stack reaches the state CREATE_COMPLETE
- Copy the value of
CloudFrontDomainName
from the Outputs tab of your stack. - Create or update a CNAME/Alias record for your custom domain name pointing to the
CloudFrontDomainName
from the previous step.
1.4. Dependencies
vpc/vpc-*azs.yaml
(required)vpc/zone-*.yaml
(required)vpc/vpc-*-bastion.yaml
(recommended)security/auth-proxy-*.yaml
operations/alert.yaml
(recommended)
1.5. Limitations
- WordPress will only run in two Availability Zones, even if your VPC stack has more.
- PHP files are cached for 300 seconds on the web servers.
- Static files
wp-includes
andwp-content
are cached for 15 minutes on the CDN. - Pre-defined auto-scaling might not be able to cover your requirements and needs load and performance testing.
- No backup of EFS file system
2. WordPress: fault tolerant and scalable (Aurora)
Use this CloudFormation template to create a fault tolerant and scalable WordPress environment on AWS running on Aurora.
3 or more AZs required
2.1. Features
- HTTPS only
- CDN caching static files
- Scalable file storage
- Fault tolerance due to multi-AZ setup
2.2. Services
This template combines the following services:
- CloudFront: CDN for dynamic and static content
- ELB: load balancer forwarding requests to EC2 instances and terminating SSL
- EC2: virtual machines running the web servers
- EFS: storage for WordPress files (WordPress core, plugins, themes, user uploads, ...)
- RDS: Aurora database
2.3. Installation Guide
Important: A custom domain name (e.g. www.yourdomain.com
) is needed before installing Wordpress based on this template.
- This templates depends on one of our
vpc-*azs.yaml
templates. - Create an ACM certificate for your custom domain name within the region you want to launch your stack in. Copy the ARN of the certificate. This is for the ELB.
- Create another ACM certificate for your custom domain name in region
us-east-1
. Copy the ARN of the certificate. This is for CloudFront (note: CloudFront only supports ACM certificates in us-east-1) - This templates depends on one of our
zone-*.yaml
templates. - Click Next to proceed with the next step of the wizard.
- Specify a name and all parameters for the stack.
- Click Next to proceed with the next step of the wizard.
- Click Next to skip the Options step of the wizard.
- Check the I acknowledge that this template might cause AWS CloudFormation to create IAM resources. checkbox.
- Click Create to start the creation of the stack.
- Wait until the stack reaches the state CREATE_COMPLETE
- Copy the value of
CloudFrontDomainName
from the Outputs tab of your stack. - Create or update a CNAME/Alias record for your custom domain name pointing to the
CloudFrontDomainName
from the previous step.
2.4. Dependencies
vpc/vpc-*azs.yaml
(required, 3 or more AZs required)vpc/zone-*.yaml
(required)vpc/vpc-*-bastion.yaml
(recommended)security/auth-proxy-*.yaml
operations/alert.yaml
(recommended)
2.5. Limitations
- WordPress will only run three Availability Zones, even if your VPC stack has more.
- PHP files are cached for 300 seconds on the web servers.
- Static files
wp-includes
andwp-content
are cached for 15 minutes on the CDN. - Pre-defined auto-scaling might not be able to cover your requirements and needs load and performance testing.
- No backup of EFS file system