Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

License

NotificationsYou must be signed in to change notification settings

MikletNg/aws-serverless-wordpress

Repository files navigation

Introduction

Please read the blog post for introduction and explanation.Dev.to: Best Practices for Running WordPress on AWS using CDK

WordPress Plugin Used

  • W3 Total Cache
  • WP Offload Media Lite
  • ElasticPress
  • Multiple Domain
  • HumanMade - AWS-XRay (Working on making it work...)

Architecture Diagram

Architecture Diagram

Deployment - (To be update)

Before getting started

Please make sure you have/are

  • Using bash
  • Node.js installed
  • NPM and Yarn installed
  • Installed and running Docker
  • Installed and configured AWS CLI
  • Installed the latest version of AWS CDK CLI

Please be notice, this stack only can deploy into us-east-10. You should have a public hosted zone in Route 53

  1. Initialize the CDK project, runmake init
  2. Deploy the CDK Toolkit stack on to the target region, runcdk bootstrap aws://AWS_ACCOUNT_ID/AWS_REGION --profile AWS_PROFILE_NAME
  3. Copy theconfig.sample.toml and rename toconfig.toml
  4. Runmake easy-rsa-init gen-cert import-cert to generate the certificate for the Client VPN
  5. Modify the configuration inconfig.toml
    [environment]account ="YOUR_AWS_ACCOUNT_ID"# Your AWS account ID[admin]allowIpAddresses = ["0.0.0.0/0"]#Your home/office public IPv4 address, if using a specific IP add /32 like 24.222.174.192/32#Both certificate ARN should create and get from the previous stepsserverCertificateArn ="arn:aws:acm:us-east-1:YOUR_AWS_ACCOUNT_ID:certificate/xxxxxxxxxxxxxxxxxxxxxxxx"clientCertificateArn ="arn:aws:acm:us-east-1:YOUR_AWS_ACCOUNT_ID:certificate/yyyyyyyyyyyyyyyyyyyyyyyy"[database]username ="wordpress"#Database usernamedefaultDatabaseName ="wordpress"#Default database name[domain]domainName ="example.com"#Your root domain name, useually is the domain name of the created public hosted zone in Route 53hostname ="blog.example.com"#Your desire hostname for the WordPressalternativeHostname = ["*.blog.example.com"][contact]email = ["hello@blog.example.com"]#Email address for notify any in-compliance event in AWS Config
  6. Runmake deploy profile=YOUR_AWS_PROFILE_NAME
  7. After the CloudFormation stack deployed, open the Session Manager in System Manager, and open a session to the created bastion host. Then run the following command. (The version of WordPress plugin may NOT be latest)
    sudo su -cd /mnt/efs/wp-content/plugins&&\curl -O https://downloads.wordpress.org/plugin/w3-total-cache.0.15.1.zip&&\curl -O https://downloads.wordpress.org/plugin/amazon-s3-and-cloudfront.2.4.4.zip&&\curl -O https://downloads.wordpress.org/plugin/elasticpress.zip&&\curl -O https://downloads.wordpress.org/plugin/multiple-domain.zip&&\curl https://codeload.github.com/humanmade/aws-xray/zip/1.2.12 -o humanmade-aws-xray-1.2.12.zip&&\unzip'*.zip'&&\rm -rf*.zip
  8. After the installation, go to the webpage and setup the database connection and plugin configuration. For the hostname of Memcached or MySQL, please check the output in CloudFormation stack.
  9. ForMutiple Domain plugin, please enterblog.example.com andadmin.blog.example.com these 2 hostname.

References

https://aws.amazon.com/tw/blogs/devops/build-a-continuous-delivery-pipeline-for-your-container-images-with-amazon-ecr-as-source/https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html

https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-ecs-ecr-codedeploy.html#tutorials-ecs-ecr-codedeploy-clusterhttps://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.htmlhttps://stackoverflow.com/questions/56535632/how-do-i-link-2-containers-running-in-a-aws-ecs-task

https://github.com/Monogramm/docker-wordpresshttps://github.com/fjudith/docker-wordpresshttps://github.com/humanmade/aws-xray

https://pecl.php.net/package/memcachedhttps://pecl.php.net/package/APCu

https://stackoverflow.com/questions/54772120/docker-links-with-awsvpc-network-mode

https://www.mgt-commerce.com/blog/aws-varnish-auto-scaling-magento/

https://downloads.wordpress.org/plugin/w3-total-cache.0.15.1.ziphttps://downloads.wordpress.org/plugin/wp-ses.1.4.3.ziphttps://downloads.wordpress.org/plugin/amazon-s3-and-cloudfront.2.4.4.ziphttps://downloads.wordpress.org/plugin/elasticpress.zip


[8]ページ先頭

©2009-2025 Movatter.jp