WP SureStack relies on a handful of AWS services that help improve the performance and scalability of your WordPress site. Our CloudFormation template not only sets up your WordPress server, but it also integrates your WordPress site with S3, CloudFront, and AuroraDB.
CloudFormation lets you easily provision servers, databases, and other resources by describing them in a JSON document. CloudFormation is a great tool for provisioning your entire infrastructure in an automated fashion.
Using our CloudFormation template, you can have a fresh WordPress instance running in a matter of minutes.
You need to create an EC2 Key Pair so that you can log into your EC2 instance.
Within the AWS console:
Go to EC2 > Network & Security > Key Pairs
Create Key Pair
Key pair nameand click
You will automatically download a
.pemfile. Store this in a safe place.
CloudFormation Setup - Create a CloudFormation Stack
Download the following CloudFormation template:
Within the AWS console, go to CloudFormation and click Create Stack.
On the Select Template page, click the Choose File button to upload a template to Amazon S3.
WPSureStack.jsonfile you downloaded, then click Next.
On the Create Stack form, fill out the information as follows:
- Stack name: This is the name of your CloudFormation stack. For
example, you can use
In this section, you configure settings specific to your EC2 instance.
EC2Class: Use the drop down to select an instance type.
t2.microis the cheapest and is great for experimentation. Use
m4.largeor better for heavier production loads.
InputCIDR: This is the IP range that can SSH into the server. Enter your public IP address, followed by a
/32. For example,
188.8.131.52/32. You can use checkip.dyndns.org to figure out your IP address.
KeyName: Select your Key Pair from the drop down list. If you can't find it, see the Before you begin section at the top of the page.
This section is where you name some of your website resources.
BucketName: Your image uploads will get copied to this S3 bucket, which acts as a CDN origin for CloudFront. Make sure the bucket name is unique.
WebsiteTitle: This is the Site Title of your WordPress website.
WebsiteDomain: You can leave this blank, and WP SureStack will just use your public IP as your URL. If you happen to have a domain name registered, enter it here. Just remember to point your DNS to the public IP address.
Note: You can change your domain name later on. Check our documentation to learn more.
WordPress user account
In this section, you configure a WordPress admin user which you can use to log into your website.
WPUser: This is the username of the WordPress admin account.
WPPassword: Remember the password because you'll need it once the stack is complete.
WPEmail: This is the email address associated with the admin account. Please use a real email address, because this is also used for password reset.
In this section, you configure settings for your Aurora DB instance.
You will log in with the username
admin, with your chosen
DBClusterName: This is the name of your Aurora DB instance. Your Aurora instance can hold multiple databases, so name it something generic like "wpsurestack"
DBPassword: This is the master password for the Aurora instance. Make sure this is secure. Don't worry -- you can reset this from the AWS console later on if you forget.
DBClass: Select a database instance type.
db.t2.smallis your cheapest option.
Note: The database connection string contains the account credentials for
connecting to your WordPress database. This is generated automatically. You
can find it in your
On the Options page, click Next
On the Review page, scroll to the bottom and check the box next to I acknowledge that AWS CloudFormation might create IAM resources.
Try it out
Wait for the stack to complete
Wait until the CloudFormation template is done creating. While you're waiting, click on the Events tab to view its progress.
Note: This process takes roughly 25 minutes. Much of this time is spent on Aurora DB.
When it's finished, click on the Outputs tab. Look for the IP address listed next to EIPDNS. This is what you will use as your website url, and for connecting via SSH.
Visit the WordPress site
When the stack status reaches
CREATE_COMPLETE, click on the Outputs tab.
Copy and paste the value of the EIPDNS into your browser to view your new
/wp-admin URI and log in using the credentials you provided
earlier. You should see the WordPress admin console.
SSH into the server
To SSH into your EC2 instance:
cdto the location of your
chmod 600 mykey.pemto lock down your SSH key
ssh ec2-user@<your ip address>