Please read the blog post for introduction and explanation. Dev.to: Best Practices for Running WordPress on AWS using CDK
Please make sure you have/are
Please be notice, this stack only can deploy into us-east-1 0. You should have a public hosted zone in Route 53
make init
cdk bootstrap aws://AWS_ACCOUNT_ID/AWS_REGION --profile AWS_PROFILE_NAME
config.sample.toml
and rename to config.toml
make easy-rsa-init gen-cert import-cert
to generate the certificate for the Client VPNconfig.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 steps
serverCertificateArn = "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 username
defaultDatabaseName = "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 53
hostname = "blog.example.com" #Your desire hostname for the WordPress
alternativeHostname = ["*.blog.example.com"]
[contact]
email = ["[email protected]"] #Email address for notify any in-compliance event in AWS Config
make deploy profile=YOUR_AWS_PROFILE_NAME
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
Mutiple Domain
plugin, please enter blog.example.com
and admin.blog.example.com
these 2 hostname.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-cluster https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html https://stackoverflow.com/questions/56535632/how-do-i-link-2-containers-running-in-a-aws-ecs-task
https://github.com/Monogramm/docker-wordpress https://github.com/fjudith/docker-wordpress https://github.com/humanmade/aws-xray
https://pecl.php.net/package/memcached https://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.zip https://downloads.wordpress.org/plugin/wp-ses.1.4.3.zip https://downloads.wordpress.org/plugin/amazon-s3-and-cloudfront.2.4.4.zip https://downloads.wordpress.org/plugin/elasticpress.zip