Criação de snapshots de índices no Amazon OpenSearch Service - OpenSearch Serviço Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criação de snapshots de índices no Amazon OpenSearch Service

Snapshots no Amazon OpenSearch Service são backups dos índices e do estado de um cluster. O estado inclui configurações do cluster, informações de nó, configurações de índice e alocação de fragmentos.

Os snapshots do OpenSearch Service podem estar nos seguintes formatos:

  • Os snapshots automatizados são apenas para recuperação de cluster. Você pode usá-los para restaurar seu domínio em caso de status de cluster vermelho ou perda de dados. Para obter mais informações, consulte Restauração de snapshots abaixo. O OpenSearch Service armazena snapshots automatizados em um bucket do Amazon S3 do pré-configurado sem custo adicional.

  • Os snapshots manuais são usados na recuperação de clusters ou na movimentação de dados de um cluster para outro. Você precisa iniciar os snapshots manuais. Esses snapshots são armazenados no seu próprio bucket do Amazon S3, e cobranças padrão do S3 são aplicáveis. Se você tiver um snapshot de um cluster autogerenciado do OpenSearch, poderá até usar esse snapshot para migrar para um domínio do OpenSearch Service. Para obter mais informações, consulte Migração para o Amazon OpenSearch Service.

Todos os domínios do OpenSearch Service têm snapshots automatizados, mas a frequência apresenta as seguintes diferenças:

  • Para domínios executando o OpenSearch ou Elasticsearch 5.3 ou posterior, o OpenSearch Service obtém snapshots automatizados a cada hora e retém até 336 deles por 14 dias. Os snapshots por hora são menos disruptivos em função de sua natureza incremental. Eles também fornecem um ponto de recuperação mais recente, caso haja problemas em domínios.

  • Para domínios executando o Elasticsearch 5.1 ou anterior, o OpenSearch Service obtém snapshots automatizados diários no horário especificado por você e retém até 14 deles, mas não retém nenhum dado de snapshot por mais de 30 dias.

Se o cluster entrar no status vermelho, todos os snapshots automatizados falharão enquanto o status do cluster persistir. Se você não corrigir o problema em até duas semanas, poderá perder permanentemente os dados do cluster. Para obter etapas sobre a solução de problemas, consulte Status de cluster vermelho.

Pré-requisitos

Para criar os snapshots manualmente, é necessário trabalhar com o IAM e o Amazon S3. Verifique se você atende aos seguintes pré-requisitos antes de tentar criar um snapshot:

Pré-requisito Descrição
Bucket do S3

Crie um bucket do S3 para armazenar snapshots manuais para o domínio do OpenSearch Service. Para obter mais informações, consulte Criar um bucket no Manual do usuário do Amazon Simple Storage Service.

Lembre-se do nome do bucket para usá-lo nos seguintes locais:

  • Na instrução Resource da política do IAM que está anexada à função do IAM

  • O cliente Python usado para registrar um repositório de snapshots (se você usa esse método)

Importante

Não aplique uma regra de ciclo de vida do S3 Glacier a esse bucket. Os snapshots manuais não são compatíveis com a classe de armazenamento do S3 Glacier.

IAM role (Perfil do IAM)

Crie uma função do IAM para delegar permissões ao OpenSearch Service. Para obter instruções, consulte Criação de funções do IAM (console) no Manual do usuário do IAM. O restante deste capítulo se refere a essa função como TheSnapshotRole.

Anexar uma política do IAM

Anexe a política a seguir ao TheSnapshotRole para permitir acesso ao bucket do S3:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name/*" ] } ] }

Para obter instruções de como associar uma política gerenciada a uma função, consulte Adição de permissões de identidade do IAM no Manual do usuário do IAM.

Editar a relação de confiança

Edite a relação de confiança de TheSnapshotRole para especificar o OpenSearch Service na instrução Principal conforme mostrado no exemplo a seguir:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

Para obter instruções de como editar a relação de confiança, consulte Modificação da política de confiança de uma função no Manual do usuário do IAM.

Permissões

Para registrar o repositório de snapshots, você precisa ser capaz de passar TheSnapshotRole para o OpenSearch Service. Você também precisa de acesso à ação es:ESHttpPut. Para conceder ambas as permissões, anexe a seguinte política ao perfil do IAM cujas credenciais estão sendo usadas para assinar a solicitação:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/TheSnapshotRole" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Se seu usuário ou função não tiver permissões iam:PassRole para passar TheSnapshotRole, talvez você encontre o seguinte erro comum ao tentar registrar um repositório na próxima etapa:

$ python register-repo.py {"Message":"User: arn:aws:iam::123456789012:user/MyUserAccount is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/TheSnapshotRole"}

Excluir snapshots manuais

Para excluir um snapshot manual, execute o seguinte comando:

DELETE _snapshot/repository-name/snapshot-name

Automação de snapshots com o Gerenciamento de estados de índices

Você pode usar a operação snapshot do Gerenciamento de estados de índices (ISM) para acionar automaticamente instantâneos de índices com base em alterações em sua idade, tamanho ou número de documentos. O ISM é melhor quando você precisa de um snapshot por índice. Se você precisar capturar um snapshot de um grupo de índices, consulte Automação de snapshots com o Snapshot Management.

Para usar o SM no OpenSearch Service, você precisa registrar seu próprio repositório Amazon S3. Para obter um exemplo de política do ISM usando a operação snapshot, consulte Políticas de exemplo.

Uso do Curator para snapshots

Se o ISM não funcionar para o gerenciamento de índices e snapshots, você poderá usar o Curator. Ele oferece funcionalidade de filtragem avançada que pode ajudar a simplificar tarefas de gerenciamento em clusters complexos. Use o pip para instalar o Curator:

pip install elasticsearch-curator

Você pode usar o Curator como uma interface de linha de comando (CLI) ou API do Python. Se você usar a API do Python, deverá usar a versão 7.13.4 ou anterior do cliente elasticsearch-py herdado. Ele não oferece suporte a um cliente opensearch-py.

Se você usar a CLI, exporte suas credenciais na linha de comando e configure o curator.yml da seguinte maneira:

client: hosts: search-my-domain.us-west-1.es.amazonaws.com port: 443 use_ssl: True aws_region: us-west-1 aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO