With Kinsta’s external backup add-on, you can back up your WordPress site to Amazon S3 or Google Cloud Storage. The external backups feature can be configured for weekly or monthly backups and doesn’t require installing any plugins or additional tools.

Kinsta’s external backup add-on is a great option if you’re looking for an easy way to handle offsite backups.

To add the external backup add-on to your plan, log in to MyKinsta, click on Sites > sitename > Backups and select the External option. Currently, Amazon S3 and Google Cloud Storage buckets are supported for external backups.

Enable external backups in MyKinsta.
Enable external backups in MyKinsta.

The external backup addon costs $2/month for each site backup plus $1/GB per month for bandwidth. The sample calculations below show how the pricing model works for three sites using external backups.

Keep in mind this example does not include storage costs, which are billed separately and directly by Google Cloud Platform or AWS.

How to Set Up a Google Cloud Storage Bucket for External Backups

To use Google Cloud Storage (GCS) for your external backups, you’ll first need to set up a Google Cloud Platform (GCP) account. If you already have an account, feel free to move on to the steps below.

If you don’t have a Google Cloud Platform account, sign up here.

Create a Google Cloud Storage Bucket

To create a GCS bucket, log into your GCP account and go to Storage in the navigation menu on the left side.

Go to Storage to begin creating a Google Cloud Storage bucket.
Go to Storage to begin creating a Google Cloud Storage bucket.

Next, click on the Create Bucket button at the top of the page.

Click on Create Bucket in Google Cloud Storage.
Click on Create Bucket in Google Cloud Storage.

Specify a name for your storage bucket. For ours, we’ve used “kinstalife.”

Name your Google Cloud Storage bucket.
Name your Google Cloud Storage bucket.

Next, select the location type and location for your external backups. Google offers three different location types – region, dual region, multi-region.

The location type you choose should reflect your backup needs. If you’re operating a business that requires mission-critical backup infrastructure with the highest availability and lowest latency, multi-region would be a good choice.

On the other hand, if you’re looking for a more basic and inexpensive option for once-a-month backups, region or dual-region would be fine. After selecting the location type, go ahead and select the location. Depending on which location type you choose, the location options will vary.

For example, the dual-region location type only supports Americas and Europe at this time. In general, you’ll want to select the location that is closest to you.

Select a region for your GCS bucket.
Select a region for your GCS bucket.

Next, select a storage class for your external backups. It’s important to select the correct storage class for your use case because each class has different storage costs.

If you are unsure about which storage class to choose, we recommend selecting the Standard class.

Select a storage class for your GCS bucket.
Select a storage class for your GCS bucket.

Next, choose Fine-Grained for the access control option.

Select the Fine-grained access control policy for your GCS bucket.
Select the Fine-grained access control policy for your GCS bucket.

The Advanced Settings section has a few miscellaneous options. These do not need to be changed. After you have reviewed your bucket settings, click Create to finalize the process.

Create your Google Cloud Storage bucket.
Create your Google Cloud Storage bucket.

After the bucket has been created, it should be listed on the Storage browser page.

A newly created GCS bucket in Storage browser.
A newly created GCS bucket in Storage browser.

Create a Service Account

Next, you’ll need to create a service account with permissions to manage your storage bucket. Navigate to IAM & Admin in the navigation menu and click on Service Accounts.

Service Accounts in the IAM & Admin menu.
Service Accounts in the IAM & Admin menu.

Click on the Create Service Account button.

Click the Create Service Account button.
Click the Create Service Account button.

Give your service account a name, ID, and description. We recommend using “mykinsta-external-backups” or similar to make it clear that this service account is related to Kinsta’s external backups add-on. After you’ve filled out the form fields, click the Create button.

GCP service account name, ID, and description.
GCP service account name, ID, and description.

Next, you’ll need to assign Storage Admin permissions to the service account. This gives the service account the ability to manage files in your Google Cloud Storage bucket.

If you can’t find Storage Admin in the list, you can use the search function to find the correct role. After assigning the role, click Continue to proceed to the next step.

Add Storage Admin permissions to your service account.
Add Storage Admin permissions to your service account.

Optionally, you can add a user to serve as the administrator for the service account. While specifying the service account administrator isn’t required, it may be useful if you intend to use the service account for other things in the future.

If you’re an advanced user and have a reason to specify an administrator, feel free to do that here. Otherwise, you can leave it blank. Click Done to finalize the creation of the service account.

Add an optional admin user to your service account if needed and click Done.
Add an optional admin user to your service account if needed and click Done.

Create a Service Account Key Pair

Next, you’ll need to create a key pair to authenticate connections between your service account and MyKinsta. To do this, click on the service account you just created.

Navigate to your service account.
Navigate to your service account.

Scroll down to the bottom of the page to the Keys section, and click Add Key and Create New Key.

Create a key pair for your service account.
Create a key pair for your service account.

Select the JSON option for the key type and press Create.

Create a JSON key pair for your service account.
Create a JSON key pair for your service account.

Your browser should automatically download a JSON file containing the key data for your service account. Keep in mind that this JSON file contains a private key and other important information related to your service account. Be sure to keep it in a safe place and don’t share it with anyone unless there’s a reason to do so.

The filename of the JSON file should look something like this:

kinstalife-280115-42d3c1d04a09.json

You’ll need the contents of this JSON file during the external backup setup process in MyKinsta later on. For now, keep it in a secure location.

Configuring the External Backups Add-on In MyKinsta

You’ll need three pieces of information from Google Cloud to link your storage bucket to Kinsta’s external backups tool.

  1. Google Cloud bucket name
  2. Google Cloud project ID
  3. Your service account’s private key

Google Cloud Bucket Name

To find your Google Cloud bucket name, go to the Storage browser page in your Google Cloud dashboard and look in the Name column. In the screenshot below, our bucket name is “kinstalife.”

A newly created GCS bucket.
Find your bucket name in GCP’s storage browser.

Google Cloud Project ID

To find your Google Cloud project ID, go to IAM & Admin > Settings. The project ID can be found on this page. In the screenshot below, our project ID is kinstalife-280115.

Find your GCP project ID.
Find your GCP project ID.

Service Account Private Key

You can find your service account’s private key in the previously downloaded JSON file. You will need to copy the contents of the JSON file into MyKinsta later, so open the file in a text editor. The contents of the file should look something like this:


{
  "type": "service_account",
  "project_id": "kinstalife-280115",
  "private_key_id": "01sxigr0jy9p5przs80gijgcd1ouacn6d417l3ia",
  "private_key": "-----BEGIN PRIVATE KEY-----nMIIEvgIBADANBgkqhkiG9w0B...n-----END PRIVATE KEY-----n",
  "client_email": "[email protected]com",
  "client_id": "043137139116347916375",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/mykinsta-external-backups%40kinstalife-280115.iam.gserviceaccount.com"
}

In MyKinsta, go to Sites > sitename > Backups > External, and click the Choose button under the Google Cloud Storage option.

Select the Google Cloud Storage option for external backups.
Select the Google Cloud Storage option for external backups.

Fill in the storage details form with your Google Cloud Storage bucket and service account information.

  1. In the Google Cloud bucket name field, paste your bucket name.
  2. In the Google Cloud project ID field, paste your project ID.
  3. In the Service account’s private key field, paste the contents of your JSON file.
  4. If you want to back up your site to a unique site-specific folder, check the Create sitename subfolder box. Click Next to proceed to the next step.
Add your GCP credentials in MyKinsta.
Add your GCP credentials in MyKinsta.

Next, choose whether you want to back up your site’s files, database, or both. Choose between monthly and weekly backups.

After you’ve made your selections, press Next to continue.

Specify backup type and frequency for your external backups.
Specify backup type and frequency for your external backups.

Finally, review the external backup subscription details and your choice of settings. If you need to make any changes to the backup options, press the Back button. If everything looks good, press the Enable external backups to complete the setup process.

Confirm your external backup configuration.
Confirm your external backup configuration.

You should now see the add-on in the External section of your backups page.

Google Cloud Storage external backup add-on.
Google Cloud Storage external backup add-on.

How to Set Up an Amazon S3 Bucket for External Backups

In order to use Amazon S3 for your external backups, you’ll first need to set up an Amazon Web Services (AWS) account.

If you already have an account, feel free to move on to the steps below. If you don’t have an AWS account, sign up here.

Create an Amazon S3 Bucket

To create an Amazon S3 bucket, click on Services in the menu bar. In the dropdown menu, select S3 under Storage.

Select S3 under Services > Storage to begin creating an Amazon S3 bucket.
Select S3 under Services > Storage to begin creating an Amazon S3 bucket.

Click the Create bucket button to set up your S3 bucket for external backups.

Click the Create bucket button in Amazon S3.
Click the Create bucket button in Amazon S3.

Next, specify a bucket name and region for your S3 bucket. In the screenshot below, our bucket name is “kinstalife,” and our region is US East (Ohio) us-east-2.

Specify a name and region for your S3 bucket.
Specify a name and region for your S3 bucket.

Make sure the Block all public access option is selected. This will prevent your backups from being accessed publicly without authentication. Next, click the Create bucket button.

Create your Amazon S3 bucket.
Create your Amazon S3 bucket.

You should now see the newly-created bucket in your S3 dashboard.

Your storage bucket in the S3 dashboard.
Your storage bucket in the S3 dashboard.

Create an AWS User

Next, you’ll need to create an AWS user, which will be used to provide MyKinsta with access to your S3 bucket. To get started, click on Services in the menu bar, and click IAM under Security, Identity, & Compliance.

Navigate to IAM settings in AWS.
Navigate to IAM settings in AWS.

In the sidebar, click on Users under Access management, and click Add user.

Add an IAM user.
Add an IAM user.

Specify a user name for the IAM user. We recommend using a name like “mykinsta-external-backups” that clearly identifies the purpose of the user. For the Access type, select Programmatic access and click Next: Permissions to proceed to the next step.

Specify a username and access type for your IAM user.
Specify a username and access type for your IAM user.

On the IAM permission page, select Attach existing policies directly. For the policy name, choose AmazonS3FullAccess. If you cannot find the policy, you can use the search box to search for “S3”. Assigning the AmazonS3FullAccess policy will allow the associated user to access all your AWS buckets. After you have assigned the policy, click Next: Tags to proceed to the next step.

Add the AmazonS3FullAccess policy to your IAM user.
Add the AmazonS3FullAccess policy to your IAM user.

Optionally, you can add IAM tags for the user. This is useful for advanced use cases that require additional user-level metadata. If you do not need to add tags, click Next: Review to proceed to the next step.

Add tags for your IAM user (optional).
Add tags for your IAM user (optional).

Review the details for your new IAM user. If you notice an issue, you can click Previous to return to a previous step. If everything looks good, click Create user.

Review the settings for your IAM user.
Review the settings for your IAM user.

Copy the Access key ID and Secret access key to a secure location. Keep in mind that this pair of keys gives access to your S3 buckets, so be sure to keep it in a safe place. You will need the key pair to link your S3 bucket to Kinsta’s external backup tool later on.

Copy the IAM user Access Key ID and Secret Access Key to a secure location.
Copy the IAM user Access Key ID and Secret Access Key to a secure location.

In MyKinsta, go to Sitessitename > Backups > External, and click the Choose button under the Amazon S3 option.

Select the Amazon S3 option for external backups.
Select the Amazon S3 option for external backups.

Fill in the storage details form with your S3 and IAM user information.

  1. In the AWS S3 bucket name field, paste the name of your S3 bucket.
  2. In the AWS access key ID field, paste your IAM user’s access key ID.
  3. In the AWS secret access key, paste your IAM user’s secret access key.
  4. If you want to back up your site to a unique site-specific folder, check the Create sitename subfolder box. Click Next to proceed to the next step.
Add your AWS credentials in MyKinsta.
Add your AWS credentials in MyKinsta.

Next, choose whether you want to back up your site’s files, database, or both. You can also choose between monthly and weekly backups. After you’ve made your selections, press Next to continue.

Specify backup type and frequency for your external backups.
Specify backup type and frequency for your external backups.

Finally, review the external backup subscription details and your choice of settings. If you need to make any changes to the backup options, press the Back button. If everything looks good, press the Enable external backups to complete the setup process.

Confirm your external backup configuration.
Confirm your external backup configuration.

You should now see the add-on in the External section of your backups page.

Amazon S3 external backup add-on.
Amazon S3 external backup add-on.

How to Remove the External Backup Add-on

To remove (and stop) the external backup add-on, go to Sites > sitename > Backups and click the Change button.

Remove the external backup add-on.
Remove the external backup add-on.

Click Choose under No external backups to remove the external backup add-on from your WordPress site.

Choose the No External Backups option.
Choose the No External Backups option.

To confirm the removal of the external backups add-on, click Change backup settings.

Confirm the removal of the external backup add-on.
Confirm the removal of the external backup add-on.

Note that your next invoice will include external backups from the time of your last invoice to the time of cancellation of the add-on.

Summary

Kinsta’s external backups add-on provides an easy way for you to store WordPress site backups on your Amazon S3 or Google Cloud Storage bucket. If you have any questions about our external backups add-on, reach out to our support team for further assistance.