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
| Name | Description |
|---|---|
| Domain Name | The domain name that will be used by the Wordpress web site |
| Admin e-mail | The Wordpress administrator's e-mail |
| Code Repository | The Cloudformation template used to create the Wordpress infrastructure will be put into this repository. |
| ACM Certificate | The SSL certificate for the specified domain name in AWS Certificate Manager |
| Database encryption | Enable/disable database encryption |
| EFS alarms | Enable/disable Elastic File System alarms, e.g. BurstCreditBalance alarms |
| EFS encrypted | Enable/disable Elastic File System encryption |
| Use CloudFront | CloudFront serves as a global web caching layer in your infrastructure. Enabling it allows to significantly improve your website performance |
| Use Elasticache | Elasticache 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 key | You can use your own CMK key for database (RDS Aurora) and EFS encryption |
| Bastion instance type | Bastion hosts are used for the access to the Wordpress hosts. You can change this type going forward. |
| Database instance type | AWS RDS instance type for the Wordpress database server. You can change this type going forward. |
| EFS alarms instance type | Instance type used for the EFS alarms. You can change this type going forward. |
| ElastiCache node type | Instance type used for Elasticache. You can change this type going forward. |
| Web instance type | Instane type used to host the Wordpress application. You can change this type going forward. |
| Database master username | Master user name of the RDS database. Alphanumeric value with length from 8 to 16 characters |
| Database master password | Database master user's password. Don't forget to change this password after the stack is created |
| Database name | The name of the database that will be used by the Wordpress |
| EC2 key name | EC2 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 password | The Wordpress admin's password. Don't forget to change this password after the stack is created |
Artifacts
| Name | Description |
|---|---|
| Website | Wordpress website |
| Infrastructure repository | Created repository with wordpress infrastructure |
| Wordpress infrastructure deployment pipeline | CI/CD: Code pipeline deploying Wordpress infrastructure from repository to production |
Infrastructure Cost
| Component | Approx Price Per Month | Free Tier | Price |
|---|---|---|---|
| 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 |