This article will show you how to configure the popular WordPress backup plugin - UpdraftPlus - to use Amazon S3 storage. Hosting provider backups should never be relied upon. They are stored in the same location as your website. If anything happens to that location, you lose your website and your backups i.e. you're fu**ed!
There are many reasons to use Amazon Web Services (AWS) S3 Storage, not least, cost -which I will talk about in another blog post. To get started with AWS, you will need to create an AWS account if you do not already have one.
You need to create a 'bucket' which is a storage area for your backup to go to. Select 'Create bucket':
You need to name your bucket. This must be unique across AWS, so the name I initially chose below was rejected.
You can create a bucket in most of the AWS locations. The US locations are a little cheaper to use, but being based in the UK, I am using their London location. This helps with network latency, but also jurisdictional regulations.
You can leave all the other settings as default on the 'create bucket' page:
Now your bucket has been created, you need to create a user, think service account, that UpdraftPlus will use to communicate with AWS
In the top right of the console, select your account name and then 'My Security Credentials' on the drop down:
Select 'Users' and then 'Add User'
Enter the 'user name' you would like to use and select the 'access type' as 'Programmatic access':
The user needs permissions to operate within AWS. As with all permissions, less is better. I've selected 'AmazonS3FullAccess' for both permissions and the permissions boundary:
tags are optional, and if you are only using this bucket for UpdraftPlus may be a little redundant, but I still have chosen to add a tag:
That's it, review any warning or error messages that may be displayed, Otherwise, you should be good to go:
To configure UpdraftPlus to write to AWS S3, you need the 'Access Key', the 'Secret Access key' and the bucket name:
Head over to WordPress and the UpdraftPlus settings
Select 'Amazon S3' and enter in the access key, secret key and location (bucket name):
Hit the 'Test S3 Settings' button and if everything is good, that will come back with a success message
Now, all future backups will be written to your AWS S3 bucket. Ensure you do not store too many copies (I'm storing 7 days' worth) otherwise your costs will increase. And remember, it is no good creating a backup if you do not know how to restore that backup, or if the backup copy is not good for any reason. Periodic restores for all your sites (to a temporary WordPress installation) should be performed. You don't want to end up in a disaster scenario not knowing how to restore, or not having any working backups. I'll add a restore process in another blog post.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.