API Gateway 11.1 | Administering API Gateway | Operating API Gateway | Data Management | Data Backup | Data Store Backup | Creating External Elasticsearch Backup
 
Creating External Elasticsearch Backup
After you have configured the backup repositories, you can create backup of your external Elasticsearch. Creating a backup does not require the API Gateway server to be active.
Pre-requisites
Ensure that you configure a repository to store your backup files. For information about creating and configuring a repository, see Backup Repository.
To create a backup
1. Ensure your external Elasticsearch cluster is up and running.
2. Create the backup using the external Elasticsearch API.
POST _snapshot/repo-name/backup-name?wait_for_completion={true/false}
{
"indices": "gateway_tenant_*"
}
In this external Elasticsearch API:
*Replace repo-name with the name of the backup repository where the backup is stored.
*Replace backup-name with the name of the backup being created.
*wait_for_completion is a query parameter indicating whether the request must wait for the backup to complete before responding. It can be set to either true or false. The default value is false.
*indices specifies the indices you want to include in the backup. In this example, it includes indices matching the pattern gateway_tenant_*. Replace tenant with the appropriate tenant name.
A sample command to create an entire API Gateway external Elasticsearch backup with default tenant is as follows:
curl -si -X POST -H "content-type:application/json" -d '{"indices": "gateway_default_*"}' http://es-host:es-port/_snapshot/myrepo/api_data_store_backup?wait_for_completion=false
In this example:
*The external Elasticsearch cluster is assumed to be running on es-host with port es-port.
*The backup repository myrepo creates a backup named api_data_store_backup.
*The backup includes indices matching the pattern gateway_default_*.
*The request immediately returns a response, while the backup operation runs in the background.
3. Verify the status of the backup operation using the following command:
GET _snapshot/repo-name/backup-name/_status
In this command, replace repo-name and backup-name with your repository and backup names, respectively.
A sample command to verify the backup status is as follows:
curl -s -X GET http://es-host:es-port/_snapshot/myrepo/api_data_store_backup/_status
In this example:
*The external Elasticsearch cluster is assumed to be running on es-host with port es-port.
*The command queries the status of the backup named api_data_store_backup in the backup repository myrepo.
The JSON response from the external Elasticsearch provides detailed information about the status of the backup.