Налаштування 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:

Налаштування бекапів закінчено на цьому.
![Cluster health status changed from [RED] to [YELLOW]](https://demi4.com/wp-content/uploads/2019/03/Screenshot_2019-03-14_14-01-26-120x120.png)



1 коментар до “Backup Elasticsearch to AWS S3”