From 4bbd472913f13dec4bb171d9b09f9f9b35880812 Mon Sep 17 00:00:00 2001 From: Jarno Rantanen Date: Wed, 28 Nov 2018 11:46:11 +0200 Subject: [PATCH] Add notes about S3 bucket setup. --- README.md | 32 ++++++++++++++++++++++- doc/s3-lifecycle.png | Bin 0 -> 32437 bytes doc/s3-versioning.png | Bin 0 -> 18210 bytes test/backing-up-to-s3/docker-compose.yml | 1 + 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 doc/s3-lifecycle.png create mode 100644 doc/s3-versioning.png diff --git a/README.md b/README.md index 2b1a9cc..0ad0f00 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ volumes: grafana-data: ``` -This configuration will back up to AWS S3 instead. +This configuration will back up to AWS S3 instead. See below for additional tips about [S3 Bucket setup](#s3-bucket-setup). ### Stopping containers while backing up @@ -177,6 +177,36 @@ If so configured, they can also be shipped to an InfluxDB instance. This allows ![Backup dashboard sample](doc/backup-dashboard-sample.png) +## S3 Bucket setup + +Amazon S3 has [Versioning](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html) and [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) features that can be useful for backups. + +First, you can enable versioning for your backup bucket: + +![S3 versioning](doc/s3-versioning.png) + +Then, you can change your backup filename to a static one, for example: + +```yml +environment: + BACKUP_FILENAME: latest.tar.gz +``` + +This allows you to retain previous versions of the backup file, but the _most recent_ version is always available with the same filename: + + $ aws s3 cp s3://my-backup-bucket/latest.tar.gz . + download: s3://my-backup-bucket/latest.tar.gz to ./latest.tar.gz + +To make sure your bucket doesn't continue to grow indefinitely, you can enable some lifecycle rules: + +![S3 lifecycle](doc/s3-lifecycle.png) + +These rules will: + +- Move non-latest backups to a cheaper, long-term storage class ([Glacier](https://aws.amazon.com/glacier/)) +- Permanently remove backups after a year +- Still always keep the latest backup available (even after a year has passed) + ## Testing A bunch of test cases exist under [`test`](test/). To run them: diff --git a/doc/s3-lifecycle.png b/doc/s3-lifecycle.png new file mode 100644 index 0000000000000000000000000000000000000000..7bef3ef3eae5a87d87d0ac4938c829b363e3b1d0 GIT binary patch literal 32437 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