Configure S3 for AWS¶
Charmed MySQL backups can be stored on any S3 compatible storage. S3 access and configurations are managed with the s3-integrator charm.
This guide will teach you how to deploy and configure the s3-integrator charm for AWS S3, send the configuration to a Charmed MySQL application, and update it.
See also
Create the S3 bucket¶
Version 1 of the s3-integrator charm does not automatically create the bucket upon configuration. Therefore, the bucket must be manually created before passing its name to the integrator charm.
Configure the integrator¶
Deploy and configure the s3-integrator charm for AWS S3:
juju deploy s3-integrator --channel=1/stable
juju run s3-integrator/leader sync-s3-credentials access-key=<access-key-here> secret-key=<secret-key-here>
juju config s3-integrator \
endpoint="https://s3.amazonaws.com" \
bucket="mysql-test-bucket-1" \
path="/mysql-test" \
region="us-west-2"
Note
The Amazon S3 endpoint must be specified as s3.<region>.amazonaws.com within the first 24 hours of creating the bucket. For older buckets, the endpoint s3.amazonaws.com can be used.
See this post for more information.
Juju 2.9 users
Remember that juju run <action name> becomes juju run-action <action name> --wait.
See also: Breaking changes between Juju 2.9 and 3
Integrate with Charmed MySQL¶
To pass these configurations to Charmed MySQL, relate the two applications:
juju relate s3-integrator mysql
juju relate s3-integrator mysql-k8s
You can create, list, and restore backups now:
juju run mysql/leader list-backups
juju run mysql/leader create-backup
juju run mysql/leader list-backups
juju run mysql/leader restore backup-id=<backup-id>
juju run mysql-k8s/leader list-backups
juju run mysql-k8s/leader create-backup
juju run mysql-k8s/leader list-backups
juju run mysql-k8s/leader restore backup-id=<backup-id>
You can also update your S3 configuration options after relating:
juju config s3-integrator <option>=<value>
The S3-integrator charm accepts many configuration parameters for your S3 storage.