Налаштування S3 bucket для створення бекапів elasticsearch та збереження бекапів у бакеті.
ElasticSearch підтримує бекапи у різні сиситеми, від локальних сховиз до хмарних рішень у Amazon, GoogleCloud інше. Для зберігання копій даних у Amazon AWS S3 – необхідно додати плагін у Elasticsearch:
1 |
/usr/shares/elasticsearch/plugins/cloud-aws |
Таким чином можна додати плангін і на хості і в докері, лише потрібно перезібрати образ з додаванням цієї команди:
Після додавання підтримки, потрібно створити бакет для збереження бекапів:
Додаю через IAM юзера за допомогою якого бекапи будуть завантажуватись у S3 бакет:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
{ "Statement": [ { "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListBucketMultipartUploads", "s3:ListBucketVersions" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::es-backup-bucket", ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::es-backup-bucket/*" ] } ], "Version": "2012-10-17" } |
Далі налаштовуємо ElasticSearch для збереження бекапів у S3 бакеті:
1 2 3 4 5 6 7 8 9 10 11 12 |
curl -XPUT 'http://localhost:9200/_snapshot/s3_backups?verify=false&pretty' -d' { "type": "s3", "settings": { "bucket": "es-backup-bucket", "region": "us-west-2", "base_path": "elasticsearch-production", "max_retries": "5", "access_key": "A_KEY", "secret_key": "S_KEY" } }' |
Далі запускаємо тестовий бекап для перевірки налаштувань:
1 |
curl -XPUT "http://localhost:9200/_snapshot/s3_backups/backupName?pretty?wait_for_completion=true" |
Та перевіряємо процес створення бекапу:
Через деякий час бекап буде творено:
Після цього можна додавати завдання у cron щоб автоматично запускати бекап кожної ночі:
1 |
0 */3 * * * curl -XPUT "http://localhost:9200/_snapshot/s3_backups/$(date +\%Y\%m\%d)" |
Перевіряємо чи все ОК з бекапами на S3:
Налаштування бекапів закінчено на цьому.
1 коментар до “Backup Elasticsearch to AWS S3”