Backup and restore
This feature is available in the Enterprise Plan and above. For more information, see our pricing plans or contact our sales team.
Upbound's Shared Backups is a built-in backup and restore feature. Shared Backups lets you configure automatic schedules for taking snapshots of your control planes. You can restore data from these backups by making new control planes. This guide explains how to use Shared Backups for disaster recovery or upgrade scenarios.
Benefits
The Shared Backups feature provides the following benefits:
- Automatic backups for control planes without any operational overhead
- Backup schedules for multiple control planes in a group
- Shared Backups are available across all hosting environments of Upbound (Disconnected, Connected or Cloud Spaces)
Configure a Shared Backup Config
SharedBackupConfig is a group-scoped resource. You should create them in a group containing one or more control planes. This resource configures the storage details and provider. Whenever a backup executes (either by schedule or manually initiated), it references a SharedBackupConfig to tell it where store the snapshot.
Backup config provider
The spec.objectStorage.provider and spec.objectStorage.config fields configures:
- The object storage provider
- The path to the provider
- The credentials needed to communicate with the provider
You can only set one provider. Upbound currently supports AWS, Azure, and GCP as providers.
spec.objectStorage.config is a freeform map of configuration options for the object storage provider. See Thanos object storage for more information on the formats for each supported cloud provider. spec.bucket and spec.provider overrides the required values in the config.
AWS as a storage provider
For Cloud Spaces, static credentials are currently the only supported auth method.
This example demonstrates how to use AWS as a storage provider for your backups:
apiVersion: spaces.upbound.io/v1alpha1
kind: SharedBackupConfig
metadata:
name: default
namespace: default
spec:
objectStorage:
provider: AWS
bucket: spaces-backup-bucket
config:
endpoint: s3.eu-west-2.amazonaws.com
region: eu-west-2
credentials:
source: Secret
secretRef:
name: bucket-creds
key: creds
This example assumes you've already created an S3 bucket called "spaces-backup-bucket" in AWS eu-west-2 region. The account credentials to access the bucket should exist in a secret of the same namespace as the Shared Backup Config.
Azure as a storage provider
For Cloud Spaces, static credentials are currently the only supported auth method.
This example demonstrates how to use Azure as a storage provider for your backups:
apiVersion: spaces.upbound.io/v1alpha1
kind: SharedBackupConfig
metadata:
name: default
namespace: default
spec:
objectStorage:
provider: Azure
bucket: upbound-backups
config:
storage_account: upbackupstore
container: upbound-backups
endpoint: blob.core.windows.net
credentials:
source: Secret
secretRef:
name: bucket-creds
key: creds
This example assumes you've already created an Azure storage account called upbackupstore and blob upbound-backups. The storage account key to access the blob should exist in a secret of the same namespace as the Shared Backup Config.