Todos os produtos
Search
Central de documentação

Elasticsearch:Manual backup and restoration

Última atualização: Jul 02, 2026

Faça backup dos dados de índice para o OSS e restaure sob demanda com snapshots manuais do Elasticsearch. Use-os para migração de dados, recuperação point-in-time, configuração de ambientes de desenvolvimento/teste ou backups pré-operação.

O backup e a restauração exigem o plugin elasticsearch-repository-oss, pré-instalado em todas as instâncias do Alibaba Cloud Elasticsearch. Não é possível desinstalá-lo.

Os snapshots armazenam apenas dados de índice, excluindo índices de monitoramento ( .monitoring , .security_audit ), metadados, translog, configurações, pacotes, plugins e logs. Execute todos os comandos no Kibana Dev Tools. Faça login no console do Kibana .

Crie um repositório de snapshots

Um repositório de snapshots armazena snapshots em um bucket do OSS. Prepare um bucket do OSS da classe Standard na mesma região da sua instância do Elasticsearch (Crie um bucket). O usuário RAM precisa da política AliyunOSSFullAccess (Conceda permissões a um usuário RAM).

Exemplo: crie um repositório chamado my_backup.

Clusters do Alibaba Cloud

PUT _snapshot/my_backup/
{
    "type": "oss",
    "settings": {
        "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
        "access_key_id": "xxxx",
        "secret_access_key": "xxxxxx",
        "bucket": "xxxxxx",
        "compress": true,
        "chunk_size": "500mb",
        "base_path": "snapshot/"
    }
}

Clusters autogerenciados 8.x

Clusters autogerenciados exigem a instalação manual do plugin elasticsearch-repository-oss. Adicione o prefixo oss.client. a todos os nomes de parâmetros.

PUT /_snapshot/my_backup
{
    "type": "oss",
    "settings": {
        "oss.client.endpoint": "oss-cn-shanghai.aliyuncs.com",
        "oss.client.access_key_id": "xxx",
        "oss.client.secret_access_key": "xxx",
        "oss.client.bucket": "xxxxxx",
        "oss.client.base_path":"snapshot/",
        "oss.client.compress": true
    }
}

Parâmetros

Parâmetro

Descrição

endpoint

O endpoint interno do bucket do OSS. Regiões e endpoints.

access_key_id

O AccessKey ID do usuário RAM. Obtenha um par de AccessKey.

secret_access_key

O AccessKey Secret do usuário RAM. Obtenha um par de AccessKey.

bucket

O nome de um bucket do OSS existente.

compress

Compacta os metadados do snapshot (mappings e configurações de índice). Não afeta os arquivos de dados. Padrão: false.

chunk_size

Tamanho máximo de chunk para uploads no OSS. Arquivos que excedem esse limite são divididos em múltiplos chunks.

base_path

O caminho de armazenamento dentro do bucket. O padrão é a raiz. Use subdiretórios para isolar snapshots por cluster ou ambiente, como snapshot/prod/ ou snapshot/dev/.

Verifique a conectividade do repositório

POST _snapshot/my_backup/_verify

Uma resposta bem-sucedida lista todos os nós conectados ao repositório. Em caso de falha, verifique o endpoint, o nome do bucket e as permissões do usuário RAM.

Consulte informações do repositório

# Get information about all repositories
GET _snapshot
# Get information about a specific repository
GET _snapshot/my_backup

Crie um snapshot

Snapshot de todos os índices

PUT _snapshot/my_backup/snapshot_1

Esse comando cria um snapshot chamado snapshot_1 para todos os índices abertos. O snapshot é executado de forma assíncrona. Para aguardar a conclusão, adicione wait_for_completion=true:

PUT _snapshot/my_backup/snapshot_1?wait_for_completion=true

Um repositório pode armazenar múltiplos snapshots. O primeiro é um backup completo; os subsequentes são incrementais e armazenam apenas os dados alterados.

Snapshot de índices específicos

PUT _snapshot/my_backup/snapshot_2
{
  "indices": "index_1,index_2",
  "ignore_unavailable": true,
  "include_global_state": false
}

Parâmetro

Descrição

indices

Lista separada por vírgulas dos índices para backup. Aceita wildcards, como logs-*.

ignore_unavailable

Se true, ignora índices inexistentes em vez de gerar falha.

include_global_state

Se false, exclui o estado global do cluster. Recomendado para backups apenas de dados.

Informações do snapshot

# View all snapshots
GET _snapshot/my_backup/_all

# View a specific snapshot
GET _snapshot/my_backup/snapshot_1

# View the detailed status of a snapshot, including statistics for each index and shard
GET _snapshot/my_backup/snapshot_1/_status

Exclua um snapshot

DELETE _snapshot/my_backup/snapshot_1

Se um snapshot estiver em andamento, esse comando interrompe o processo e exclui quaisquer dados parciais já criados.

Importante

Não exclua arquivos de snapshot diretamente pelo console do OSS ou por outras ferramentas. Essa ação quebra a cadeia de backup incremental e pode corromper todos os snapshots subsequentes, tornando-os irrecuperáveis.

Restaure a partir de um snapshot

Antes de restaurar dados:

  • Evite restaurar índices do sistema (com prefixo .), pois isso pode quebrar o acesso ao Kibana.

  • Feche ou exclua qualquer índice existente com o mesmo nome no cluster de destino antes de restaurar. Caso contrário, a restauração falhará.

  • Para restauração entre regiões, primeiro migre os dados do snapshot no OSS para a região de destino (Implementação da migração) e depois restaure para o cluster de destino.

Crie um repositório no cluster de destino

Crie um repositório no cluster de destino apontando para o local de backup no OSS. Use os mesmos parâmetros descritos em Crie um repositório de snapshots.

PUT _snapshot/my_backup_restore/
{
    "type": "oss",
    "settings": {
        "endpoint": "http://oss-cn-hangzhou-internal.aliyuncs.com",
        "access_key_id": "xxxx",
        "secret_access_key": "xxxxxx",
        "bucket": "xxxxxx",
        "compress": true,
        "chunk_size": "500mb",
        "base_path": "snapshot/"
    }
}

Restaure um índice específico

Restaure e renomeie um índice para evitar conflitos de nomes:

POST /_snapshot/my_backup_restore/snapshot_1/_restore
{
 "indices": "index_1",
 "rename_pattern": "index_(.+)",
 "rename_replacement": "restored_index_$1"
}

Parâmetro

Descrição

indices

O índice a ser restaurado do snapshot. Todos os outros índices são ignorados.

rename_pattern

Padrão regex que corresponde aos nomes dos índices a serem restaurados.

rename_replacement

Padrão de substituição para índices renomeados. Aceita referências a grupos de captura.

Restaure índices que não são do sistema

POST _snapshot/my_backup_restore/snapshot_1/_restore
{"indices": "*,-.monitoring*,-.security*,-.kibana*,-.internal.alerts*,-.alerts*","ignore_unavailable": true}
Esse padrão de exclusão abrange os índices do sistema mais comuns. Outras versões podem incluir índices adicionais, como .ds-ilm-history-* e .slo-* . Ajuste conforme o seu cluster. Para a versão 8.x, exclua também os índices de suporte a data streams adicionando -.ds* .

Restaure todos os índices

POST _snapshot/my_backup_restore/snapshot_1/_restore

A API _restore é executada de forma assíncrona. Para aguardar a conclusão, adicione wait_for_completion=true:

POST _snapshot/my_backup_restore/snapshot_1/_restore?wait_for_completion=true

Restaure para o Indexing Service

Ao restaurar para uma instância do Indexing Service, use ignore_index_settings para ignorar configurações incompatíveis:

POST /_snapshot/my_backup_restore/snapshot_1/_restore
{
  "indices": "index_1",
  "ignore_index_settings": [
    "index.apack.cube.following_index"
  ]
}

Status da restauração de snapshots

Monitore o progresso da restauração com a API _recovery.

# Check the restoration status of a specific index
GET restored_index_1/_recovery

# Check restoration status for all indexes (may include unrelated shards)
GET /_recovery/

Principais campos de saída:

Campo

Descrição

type

Tipo de recuperação. snapshot indica recuperação a partir de um snapshot.

source

Repositório e snapshot de origem.

percent

Percentual de progresso da restauração.

Cancele a restauração

Cancele uma restauração excluindo o índice de destino:

DELETE /restored_index_3
Importante

Essa ação interrompe a restauração e exclui todos os dados já restaurados para esse índice.

Referências