Remote backup storage options¶
Common options¶
storage.type¶
Type: string
Required: YES
Remote backup storage type. Supported values: s3
, filesystem
, azure
.
S3 type storage options¶
storage:
type: s3
s3:
region: <string>
bucket: <string>
prefix: <string>
endpointUrl: <string>
endpointUrlMap:
"node01:2017": <string>
"node02:2017": <string>
credentials:
access-key-id: <your-access-key-id-here>
secret-access-key: <your-secret-key-here>
session-token: <string>
uploadPartSize: <int>
maxUploadParts: <int>
storageClass: <string>
serverSideEncryption:
sseAlgorithm: aws:kms
kmsKeyID: <your-kms-key-here>
sseCustomerAlgorithm: AES256
sseCustomerKey: <your_encryption_key>
retryer:
numMaxRetries: 3
minRetryDelay: 30ms
maxRetryDelay: 5m
storage.s3.provider¶
Type: string
Required: NO
The storage provider’s name.
Supported values: aws
, gcs
storage.s3.bucket¶
Type: string
Required: YES
The name of the storage bucket. See the AWS Bucket naming rules and GCS bucket naming guidelines for bucket name requirements.
storage.s3.region¶
Type: string
Required: YES (for AWS and GCS)
The location of the storage bucket. Use the AWS region list and GCS region list to define the bucket region
storage.s3.prefix¶
Type: string
Required: NO
The path to the data directory in the bucket. If undefined, backups are stored in the bucket’s root directory.
storage.s3.endpointUrl¶
Type: string
Required: YES (for MinIO and GCS)
The URL to access the bucket. The default value for GCS is https://storage.googleapis.com
storage.s3.endpointUrlMap¶
Type: array of strings
Required: NO
The list of custom paths for pbm-agents
on different servers to the same storage. Use this option if pbm-agents
reside on servers hidden behind different network configurations. Read more in the Support of multiple endpoints to the same S3 storage section. Supported for Amazon S3 and Microsoft Azure Blob storages. Available with version 2.8.0.
storage.s3.forcePathStyle¶
Type: boolean
Required: NO
By default, PBM uses the path-style URLs for accessing the S3 bucket. Setting this option to false
instructs PBM to send virtual-hosted–style requests instead.
storage.s3.credentials.access-key-id¶
Type: string
Required: YES
Your access key to the storage bucket. This option can be omitted when you run Percona Backup for MongoDB using an EC2 instance profile. To learn more, refer to Automate access to S3 buckets for Percona Backup for MongoDB
storage.s3.credentials.secret-access-key¶
Type: string
Required: YES
The key to sign your programmatic requests to the storage bucket. This option can be omitted when you run Percona Backup for MongoDB using an EC2 instance profile. To learn more, refer to Automate access to S3 buckets for Percona Backup for MongoDB
storage.s3.credentials.session-token¶
Type: string
Required: NO
The AWS session token used to validate the temporary security credentials for accessing the S3 storage.
storage.s3.uploadPartSize¶
Type: int
Required: NO
The size of data chunks in bytes to be uploaded to the storage bucket. Default: 10MB
Percona Backup for MongoDB automatically increases the uploadPartSize
value if the size of the file to be uploaded exceeds the max allowed file size. (The max allowed file size is calculated with the default values of uploadPartSize
* maxUploadParts
and is appr. 97,6 GB).
The uploadPartSize
value is printed in the pbm-agent
log.
By setting this option, you can manually adjust the size of data chunks if Percona Backup for MongoDB failed to do it for some reason. The defined uploadPartSize
value overrides the default value and is used for calculating the max allowed file size
storage.s3.maxUploadParts¶
Type: int
Required: NO
Default: 10,000
The maximum number of data chunks to be uploaded to the storage bucket. Default: 10,000
By setting this option, you can override the value defined in the AWS SDK.
It can be useful when using an S3 provider that supports a smaller number of chunks for multipart uploads.
The maxUploadParts
value is printed in the pbm-agent log.
storage.s3.storageClass¶
Type: string
Required: NO
The storage class assigned to objects stored in the S3 bucket. If not provided, the STANDARD
storage class will be used. This option is available in Percona Backup for MongoDB as of v1.7.0.
storage.s3.debugLogLevels¶
Type: string
Required: NO
Enables S3 debug logging for different types of S3 requests. S3 log messages are printed in the pbm logs
output.
Supported values are: LogDebug
, Signing
, HTTPBody
, RequestRetries
, RequestErrors
, EventStreamBody
.
To specify several event types, separate them by comma. To lean more about the event types, see the documentation
When undefined, no S3 debug logging is performed.
storage.s3.insecureSkipTLSVerify¶
Type: bool
Required: NO
Default: False
Disables the TLS verification of the S3 storage. This allows Percona Backup for MongoDB to upload data to S3-like storages that use self-issued TLS certificates. Available in Percona Backup for MongoDB as of version 1.7.0.
Warning
Use this option with caution as it might leave a hole for man-in-the-middle attacks.
Server-side encryption options¶
serverSideEncryption.sseAlgorithm¶
Type: string
Required: NO
The key management mode used for server-side encryption with the encryption keys stored in AWS KMS.
Supported value: aws:kms
serverSideEncryption.kmsKeyID¶
Type: string
Required: NO
Your customer-managed key stored in the AWS KMS.
serverSideEncryption.sseCustomerAlgorithm¶
Type: string
Required: NO
The key management mode for server-side encryption with customer-provided keys (SSE-C).
Supported value: AES256
serverSideEncryption.sseCustomerKey¶
Type: string
Required: NO
Your custom encryption key. This key is not stored on the S3 storage side. Thus, it is your responsibility to track what data is encrypted with what key and for storing the key.
Upload retry options¶
retryer.numMaxRetries¶
Type: int
Required: NO
Default: 3
The maximum number of retries to upload data to S3 storage. A zero value means no retries will be performed. Available in Percona Backup for MongoDB as of 1.7.0.
retryer.minRetryDelay¶
Type: time.Duration
Required: NO
Default: 30ms
The minimum time to wait before the next retry, specified as a time.Duration. Units like ms, s, etc., are supported. Defaults to nanoseconds if no unit is provided. Available in Percona Backup for MongoDB as of 1.7.0.
retryer.maxRetryDelay¶
Type: time.Duration
Required: NO
Default: 5m
The maximum time to wait before the next retry, specified as a time.Duration. Units like ms, s, etc., are supported. Defaults to nanoseconds if no unit is provided. Available in Percona Backup for MongoDB as of 1.7.0.
Filesystem storage options¶
storage:
type: filesystem
filesystem:
path: <string>
storage.filesystem.path¶
Type: string
Required: YES
The path to the backup directory
Microsoft Azure Blob storage options¶
storage:
type: azure
azure:
account: <string>
container: <string>
endpointUrl: <string>
prefix: <string>
credentials:
key: <your-access-key>
storage.azure.account¶
Type: string
Required: YES
The name of your storage account.
storage.azure.container¶
Type: string
Required: YES
The name of the storage container. See the Container names for naming conventions.
storage.azure.endpointUrl¶
Type: string
Required: NO
The URL to access the data in Microsoft Azure Blob Storage. The default value is https://<storage-account>.blob.core.windows.net
.
storage.azure.prefix¶
Type: string
Required: NO
The path to the data directory in the bucket. If undefined, backups are stored in the bucket’s root directory.
storage.azure.credentials.key¶
Type: string
Required: YES
Your access key to authorize access to data in your storage account.
Created: April 16, 2025