Configure S3 storage
This is a guide on how to configure S3 storage for a Charmed MongoDB replica set or sharded cluster.
Prerequisites
- A pre-existing Amazon S3 bucket
- A replica set with at least three nodes deployed OR a sharded cluster with at least one shard deployed
Summary
Deploy s3-integrator
S3 configurations are managed with the s3-integrator charm.
First, deploy the s3-integrator
charm:
juju deploy s3-integrator
Configure s3-integrator
To sync your s3-integrator
credentials, run:
juju run s3-integrator/leader sync-s3-credentials access-key=<access-key-here> secret-key=<secret-key-here>
To configure s3-integrator
, run juju config
with the relevant parameters to your S3 storage. For example:
juju config s3-integrator path="my/path" region="us-west-2" bucket="pbm-test-bucket-1"
Pass S3 configuration to MongoDB
Determine the application to run backup actions on
The application to pass to juju when running backup and restore actions depends on whether your deployment is a replica set or sharded cluster:
When running Charmed MongoDB as a replica-set, this will be the name of your Charmed MongoDB Application.
When running Charmed MongoDB as a sharded cluster, this will be the name of your Charmed MongoDB Application running with the role “config-server” - never the shard applications.
Integrate s3-integrator
with MongoDB
To integrate your deployment with s3-integrator
, run:
juju integrate s3-integrator <replica-set name | config-server name>
Note: You can also update your configuration options after integrating. For example:
juju config s3-integrator endpoint=<endpoint>