Fazer backup de coleções usando snapshots
Snapshots são backups pontuais das coleções do Amazon OpenSearch sem Servidor que fornecem recursos de recuperação de desastres. O OpenSearch sem Servidor cria e gerencia automaticamente snapshots de suas coleções, garantindo continuidade de negócios e proteção de dados. Cada snapshot contém:
-
Metadados de índice: configurações e mapeamentos para os índices
-
Metadados de cluster: modelos de índice e aliases
-
Dados de índice: todos os documentos e dados armazenados nos índices
Benefícios principais
-
Backups automáticos de hora em hora, sem necessidade de configuração manual
-
Nenhum custo adicional de manutenção
-
Nenhum custo adicional de armazenamento
-
Recuperação rápida em caso de perda acidental de dados
-
Capacidade de restaurar índices específicos a partir de um snapshot
Considerações importantes
-
A criação de um snapshot não é instantânea e requer tempo.
-
Novos documentos ou atualizações durante a criação do snapshot podem não ser incluídos no snapshot.
-
Você só pode restaurar os snapshots para a sua coleção original, não para uma nova coleção.
-
Quando restaurados, os índices recebem novos UUIDs diferentes das versões originais.
-
Apenas uma operação de restauração pode ser executada de cada vez.
-
Você não pode iniciar várias operações de restauração na mesma coleção ao mesmo tempo. A tentativa de restaurar índices durante uma operação de restauração ativa causa a falha da operação.
-
Durante uma operação de restauração, as solicitações aos índices não têm sucesso.
Permissões obrigatórias
Para trabalhar com snapshots, configure as seguintes permissões em sua política de acesso a dados. Para obter mais informações sobre políticas de acesso a dados, consulte Políticas de acesso a dados versus políticas do IAM.
| Política de acesso a dados | APIs |
|---|---|
| aoss:DescribeSnapshot | GET /_cat/snapshots GET /_cat/snapshots/aoss-automated/ GET _snapshot/aoss-automated/ |
| aoss:RestoreSnapshot | POST /_snapshot/aoss-automated/snapshot/_restore |
| aoss:DescribeCollectionItems | GET /_cat/recovery |
Você pode configurar políticas usando os seguintes comandos da AWS CLI:
Aqui está um exemplo de comando da CLI para criar uma política de acesso:
aws opensearchserverless create-access-policy \ --type data \ --nameAWSExample-data-access-policy\ --region us-west-2 \ --policy '[ { "Rules": [ { "Resource": [ "collection/AWSExample-collection" ], "Permission": [ "aoss:DescribeSnapshot", "aoss:RestoreSnapshot", "aoss:DescribeCollectionItems" ], "ResourceType": "collection" } ], "Principal": [ "arn:aws:iam::AWSExample-account-ID:user/AWSExample-user" ], "Description": "Data policy to support snapshot operations." } ]'
Trabalhar com snapshots
Por padrão, quando você cria uma nova coleção, o OpenSearch sem Servidor cria snapshots de hora em hora automaticamente. Não é necessária nenhuma ação de sua parte. Cada snapshot inclui todos os índices da coleção. Depois que o OpenSearch sem Servidor cria os snapshots, você pode listá-los e visualizar seus detalhes usando os comandos a seguir.
Listar snapshots
Use o comando a seguir para listar todos os snapshots em uma coleção:
GET /_cat/snapshots/aoss-automated/
O OpenSearch sem Servidor retorna uma resposta como a seguinte:
id status start_epoch start_time end_epoch end_time duration indices successful_shards failed_shards total_shards snapshot-AWSExampleSnapshotID1 SUCCESS 1737964331 07:52:11 1737964382 07:53:02 50.4s 1 snapshot-AWSExampleSnapshotID2 SUCCESS 1737967931 08:52:11 1737967979 08:52:59 47.7s 2 snapshot-AWSExampleSnapshotID3 SUCCESS 1737971531 09:52:11 1737971581 09:53:01 49.1s 3 snapshot-AWSExampleSnapshotID4 IN_PROGRESS 1737975131 10:52:11 - - 4.8d 3
Fazer snapshots
Recupera informações sobre um snapshot.
GET _snapshot/aoss-automated/snapshot/
Exemplo de solicitação
GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/
Exemplo de resposta
{ "snapshots": [ { "snapshot": "snapshot-AWSExampleSnapshotID1-5e01-4423-9833Example", "uuid": "AWSExample-5e01-4423-9833-9e9eb757Example", "version_id": 136327827, "version": "2.11.0", "remote_store_index_shallow_copy": true, "indices": [ "AWSExample-index-0117" ], "data_streams": [], "include_global_state": true, "metadata": {}, "state": "SUCCESS", "start_time": "2025-01-27T09:52:11.953Z", "start_time_in_millis": 1737971531953, "end_time": "2025-01-27T09:53:01.062Z", "end_time_in_millis": 1737971581062, "duration_in_millis": 49109, "failures": [], "shards": { "total": 0, "failed": 0, "successful": 0 } } ] }
Entender os campos de resposta do snapshot
- id
-
Um identificador exclusivo para a operação de snapshot.
- status
-
O estado atual da operação de snapshot. Os possíveis valores incluem:
-
SUCCESS -
IN_PROGRESS
-
- duration
-
O tempo necessário para concluir a operação de snapshot.
- indices
-
O número de indices incluídos no snapshot.
Restauração a partir de um snapshot
A restauração feita de um snapshot permite recuperar os dados de um backup feito anteriormente. Esse processo é crucial para recuperação de desastres e gerenciamento de dados no OpenSearch sem Servidor.
Considerações importantes
-
Os índices restaurados terão UUIDs diferentes das versões originais.
-
Os snapshots só podem ser restaurados para sua coleção original. A restauração entre coleções não é possível.
-
As operações de restauração podem afetar a performance do cluster. Planeje adequadamente.
Para restaurar índices de backup a partir de um snapshot
-
Execute o comando a seguir para identificar o snapshot apropriado.
GET /_snapshot/aoss-automated/_allPara obter uma lista menor de snapshots, execute o comando a seguir.
GET /_cat/snapshots/aoss-automated/ -
Execute o comando a seguir para verificar os detalhes do snapshot antes de restaurar.
GET _snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1/ -
Execute o comando a seguir para restaurar a partir de um snapshot específico.
POST /_snapshot/aoss-automated/snapshot-ID/_restoreVocê pode personalizar a operação de restauração incluindo um corpo de solicitação. Aqui está um exemplo.
POST /_snapshot/aoss-automated/snapshot-AWSExampleSnapshotID1-5e01-4423-9833Example/_restore { "indices": "opensearch-dashboards*,my-index*", "ignore_unavailable": true, "include_global_state": false, "include_aliases": false, "rename_pattern": "opensearch-dashboards(.+)", "rename_replacement": "restored-opensearch-dashboards$1" } -
Execute o seguinte comando para visualizar o progresso da restauração.
GET /_cat/recovery
nota
Ao restaurar um snapshot com um comando que inclua um corpo de solicitação, você pode usar os seguintes parâmetros para controlar o comportamento da restauração:
- indices
-
Especifica quais índices devem ser restaurados. Esse parâmetro é compatível com padrões curinga.
- ignore_unavailable
-
Permite que a operação de restauração continue mesmo se faltar um índice no snapshot.
- include_global_state
-
Determina se o estado do cluster deve ser restaurado.
- include_aliases
-
Controla se os aliases associados devem ser restaurados.
- rename_pattern and rename_replacement
-
Permite renomear os indices durante a operação de restauração.