{"id":21598393,"url":"https://github.com/johnweland/wordpress-on-aws","last_synced_at":"2026-04-16T03:32:35.958Z","repository":{"id":95990520,"uuid":"529437938","full_name":"johnweland/wordpress-on-aws","owner":"johnweland","description":"A CDK pattern to deploy WordPress on AWS","archived":false,"fork":false,"pushed_at":"2022-10-30T01:46:08.000Z","size":953,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T14:51:47.464Z","etag":null,"topics":["acm","auto-scaling","aws","aws-vpc","cdk","cloudformation","cloudfront","ec2","efs","elastic-load-balancing","elesticache","rds-aurora","route53","wordpress"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnweland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-27T00:13:31.000Z","updated_at":"2024-09-08T03:48:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"71d43d30-b19f-4f0c-83ae-94dc96353412","html_url":"https://github.com/johnweland/wordpress-on-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/johnweland/wordpress-on-aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnweland%2Fwordpress-on-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnweland%2Fwordpress-on-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnweland%2Fwordpress-on-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnweland%2Fwordpress-on-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnweland","download_url":"https://codeload.github.com/johnweland/wordpress-on-aws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnweland%2Fwordpress-on-aws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["acm","auto-scaling","aws","aws-vpc","cdk","cloudformation","cloudfront","ec2","efs","elastic-load-balancing","elesticache","rds-aurora","route53","wordpress"],"created_at":"2024-11-24T18:12:06.059Z","updated_at":"2026-04-16T03:32:35.937Z","avatar_url":"https://github.com/johnweland.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WordPress on AWS\n\nThe idea is to have a pattern that can be deployed which would result in a highly available, scalable, yet efficient WordPress solution.\n\nIt follows, roughly, the AWS WordPress architecture with some minor tweaks. Namely the adition of using S3 for static files and media that will be served up via CloudFront.\n\nAnother small change is that instead of being two (2) availability zones (AZs) and having two instances (one in each) being load balanced between. It can span N number of AZs but only have one running instance by default.\n\nThe autoscaling group however will ensure that atleast one is running at all times in any AZ that is available, but can spin up more instances as needed.\n\n- [AWS Reference (CloudFormation)](https://github.com/aws-samples/aws-refarch-wordpress/)\n\n## Conciderations\n\nCurrently this is planned to use EC2 instances, but a case could be made for Fargate Containers.\n\nAWS CLI could be used a well to determine a few things. 1. How many AZs are in the target region? 2. What AZs have a given resource type available (not all AZs will have all of the same instqnce type availibility and/or capacity). Using the AWS-CLI we should be able deploy to N number of AZs where our requires instance type is available\n\n## Architecture Diagram\n\n![Proposed architecture diagram as of 8/26/2022](/docs/images/wordpress-on-aws-architecture.drawio.png)\n\n### Services Used\n\n[Amazon Virtual Private Cloud (Amazon VPC)](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html), [Amazon Elastic Compute Cloud (Amazon EC2)](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html), [Auto Scaling](http://docs.aws.amazon.com/autoscaling/latest/userguide/WhatIsAutoScaling.html), [Elastic Load Balancing (Application Load Balancer)](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html), [Amazon Relational Database Service (Amazon RDS)](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html), [Amazon ElastiCache](http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/WhatIs.html), [Amazon Elastic File System (Amazon EFS)](http://docs.aws.amazon.com/efs/latest/ug/whatisefs.html), [Amazon CloudFront](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html), [Amazon Route 53](http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html), [Amazon Certificate Manager (Amazon ACM)](http://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) with [AWS CloudFormation](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) via [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html).\n\n### Suggested WordPress plugins\n\n1. [AWS for Wordpress](https://wordpress.org/plugins/amazon-polly/) (hasn't been updated in a while but is directly from AWS)\n2. [W3 Total Cache](https://wordpress.org/plugins/w3-total-cache/)\n3. [WP Offload Media](https://wordpress.org/plugins/amazon-s3-and-cloudfront/) (optional)\n\n## CDK Stuff\n\nThis is a project for CDK development with TypeScript.\n\nThe `cdk.json` file tells the CDK Toolkit how to execute your app.\n\n## Useful commands\n\n- `npm run build` compile typescript to js\n- `npm run watch` watch for changes and compile\n- `npm run test` perform the jest unit tests\n- `cdk deploy` deploy this stack to your default AWS account/region\n- `cdk diff` compare deployed stack with current state\n- `cdk synth` emits the synthesized CloudFormation template\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnweland%2Fwordpress-on-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnweland%2Fwordpress-on-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnweland%2Fwordpress-on-aws/lists"}