Build and deploy Wordpress using CloudFormation
Getting started:
Create a user in IAM that has the below permissions:
-
AmazonEC2FullAccess
-
AmazonS3ReadOnlyAccess
-
AmazonRoute53FullAccess
-
AWSCloudFormationFullAccess
Install python requirements:
python3 -m pip install -r requirements.txt
You may need to instal AWS CLI:
sudo apt-get install awscli -y
Setup AWSCLI config:
aws configure set profile.default.aws_access_key_id <aws_access_key_id>
aws configure set profile.default.aws_secret_access_key <aws_secret_access_key>
aws configure set profile.default.region ap-southeast-2
aws configure set profile.default.output json
Create a Key Pair if you don't already have one:
python3 create_keypair.py
Deploy your wordpress instance
python3 deploy.py -env {Staging|Production}
The stack will create a security group with port 80 open and 22 open to the IP range you specify. It will output the URL which will be .staging.itmatic.com.au (or your domain)
Extra resources