Gerenciamento de estados 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á.

Gerenciamento de estados de índices no Amazon OpenSearch Service

O Gerenciamento de estados de índices (ISM) no Amazon OpenSearch Service permite definir políticas de gerenciamento personalizadas que automatizam tarefas de rotina e aplicá-las a índices e padrões de índices. Não é mais necessário configurar e gerenciar processos externos para executar operações de índice.

Uma política contém um estado padrão e uma lista de estados entre os quais o índice transita. Dentro de cada estado, é possível definir uma lista de ações a serem realizadas e das condições que acionam essas transições. Um caso de uso típico é excluir periodicamente índices antigos após um determinado período. Por exemplo, é possível definir uma política que mova seu índice para o estado read_only após 30 dias e, por fim, excluí-lo após 90 dias.

Depois de anexar uma política a um índice, o ISM cria um trabalho que é executado em intervalos de 5 a 8 minutos (ou 30 a 48 minutos para clusters pré-1.3) para executar ações de política, verificar condições e fazer a transição do índice para estados diferentes. O tempo base para que esse trabalho seja executado é a cada 5 minutos. Além disso, uma variação aleatória de 0 a 60% é adicionada a ele para garantir que não ocorra um surto de atividade de todos os seus índices ao mesmo tempo. O ISM não executa tarefas se o estado do cluster for vermelho.

O ISM exige o OpenSearch ou Elasticsearch 6.8 ou superior

nota

Esta documentação fornece uma breve visão geral do ISM e de vários exemplos de políticas. Também explica como o ISM para domínios do Amazon OpenSearch Service difere do ISM em clusters autogerenciados do OpenSearch. Para obter a documentação completa do ISM, incluindo uma referência abrangente de parâmetros, descrições de cada configuração e uma referência de API, consulte Gerenciamento de estados de índice na documentação do OpenSearch.

Importante

Você não pode mais utilizar modelos de índice para aplicar políticas de ISM a índices recém-criados. Você pode continuar gerenciando automaticamente índices recém-criados com o campo do modelo de ISM. Esta atualização introduz uma alteração que afeta os modelos existentes do CloudFormation que usam essa configuração.

Criar uma política do IAM

Para começar a usar o gerenciamento de estados de índices
  1. Abra o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home.

  2. Selecione o domínio para o qual você deseja criar uma política do ISM.

  3. No painel do domínio, navegue até o URL do OpenSearch Dashboards e faça login com seu nome de usuário principal e a senha correspondente. O URL segue este formato:

    domain-endpoint/_dashboards/
  4. Abra o painel de navegação esquerdo no OpenSearch Dashboards, escolha Gerenciamento de índices e Criar política.

  5. Use o editor visual ou o editor JSON para criar políticas. Recomendamos que você use o editor visual, pois ele oferece uma maneira mais estruturada de definir políticas. Para obter ajuda com a criação de políticas, consulte as políticas de exemplo abaixo.

  6. Depois de criar uma política, anexe-a a um ou mais índices:

    POST _plugins/_ism/add/my-index { "policy_id": "my-policy-id" }
    nota

    Se o seu domínio estiver executando uma versão herdada do Elasticsearch, use _opendistro em vez de _plugins.

    Como alternativa, selecione o índice no OpenSearch Dashboards e escolha Aplicar.

Políticas de exemplo

As políticas de exemplo a seguir demonstram como automatizar casos de uso comuns do ISM.

Armazenamento de atividade muito alta para alta atividade para baixa atividade

Este política de exemplo move um índice do armazenamento a quente para UltraWarm e, eventualmente, para o armazenamento de baixa atividade. Em seguida, ele exclui o índice.

O índice está inicialmente no estado hot. Após dez dias, o ISM o transfere
 para o estado warm. 80 dias depois, quando o índice tiver 90 dias, o ISM move o índice para o estado cold
. Após um ano, o serviço envia uma notificação para uma sala do Amazon Chime informando que o índice está sendo excluído e, depois, o exclui permanentemente.

Observe que os índices frios exigem a operação cold_delete em vez da operação normal delete. Observe também que um timestamp_field explícito é necessário em seus dados para gerenciar índices frios com ISM.

{ "policy": { "description": "Demonstrate a hot-warm-cold-delete workflow.", "default_state": "hot", "schema_version": 1, "states": [{ "name": "hot", "actions": [], "transitions": [{ "state_name": "warm", "conditions": { "min_index_age": "10d" } }] }, { "name": "warm", "actions": [{ "warm_migration": {}, "retry": { "count": 5, "delay": "1h" } }], "transitions": [{ "state_name": "cold", "conditions": { "min_index_age": "90d" } }] }, { "name": "cold", "actions": [{ "cold_migration": { "timestamp_field": "<your timestamp field>" } } ], "transitions": [{ "state_name": "delete", "conditions": { "min_index_age": "365d" } }] }, { "name": "delete", "actions": [{ "notification": { "destination": { "chime": { "url": "<URL>" } }, "message_template": { "source": "The index {{ctx.index}} is being deleted." } } }, { "cold_delete": {} }] } ] } }

Reduzir a contagem de réplicas

Esta política de exemplo mais simples reduz a contagem de réplicas para zero após sete dias para conservar espaço em disco e exclui o índice após 21 dias. Essa política pressupõe que seu índice não seja crítico e não receba mais solicitações de gravação. Ter réplicas zero traz algum risco de perda de dados.

{ "policy": { "description": "Changes replica count and deletes.", "schema_version": 1, "default_state": "current", "states": [{ "name": "current", "actions": [], "transitions": [{ "state_name": "old", "conditions": { "min_index_age": "7d" } }] }, { "name": "old", "actions": [{ "replica_count": { "number_of_replicas": 0 } }], "transitions": [{ "state_name": "delete", "conditions": { "min_index_age": "21d" } }] }, { "name": "delete", "actions": [{ "delete": {} }], "transitions": [] } ] } }

Obter o snapshot de um índice

Esta política de exemplo usa a operação snapshot para obter um instantâneo de um índice assim que ele passa a conter pelo menos um documento. repository é o nome do repositório manual de snapshots que você registrou no Amazon S3. snapshot é o nome do snapshot. Para obter pré-requisitos para a obtenção de snapshot e etapas para registrar um repositório, consulte Criação de snapshots de índices no Amazon OpenSearch Service.

{ "policy": { "description": "Takes an index snapshot.", "schema_version": 1, "default_state": "empty", "states": [{ "name": "empty", "actions": [], "transitions": [{ "state_name": "occupied", "conditions": { "min_doc_count": 1 } }] }, { "name": "occupied", "actions": [{ "snapshot": { "repository": "<my-repository>", "snapshot": "<my-snapshot>" } }], "transitions": [] } ] } }

Modelos do ISM

Você pode configurar um campo ism_template em uma política para que, quando criar um índice que corresponda ao padrão do modelo, a política seja anexada automaticamente a esse índice. Neste exemplo, qualquer índice que você criar com um nome começando com “log” é automaticamente correspondido à política do ISM my-policy-id:

PUT _plugins/_ism/policies/my-policy-id { "policy": { "description": "Example policy.", "default_state": "...", "states": [...], "ism_template": { "index_patterns": ["log*"], "priority": 100 } } }

Para obter um exemplo mais detalhado, consulte Exemplo de política com modelo de ISM para rolagem automática.

Diferenças

Comparado ao OpenSearch e ao Elasticsearch, o ISM para o Amazon OpenSearch Service tem várias diferenças.

Operações do ISM

  • O OpenSearch Service oferece suporte a três operações do ISM exclusivas, warm_migration, cold_migration e cold_delete:

    • Se o seu domínio tiver o UltraWarm ativado, a ação warm_migration fará a transição do índice para o armazenamento de alta atividade.

    • Se o seu domínio tiver armazenamento frio habilitado, a ação cold_migration passará o índice para o armazenamento frio, e a ação cold_delete excluirá um índice do armazenamento frio.

    Mesmo que uma dessas ações não seja concluída dentro do período de tempo limite definido, a migração ou exclusão dos índices ainda continuará. Definir uma error_notification para uma das ações acima vai notificar você de que a ação falhou se não tiver sido concluída em um período de tempo limite, mas a notificação é apenas para sua própria referência. A operação real não tem tempo limite inerente e continua a ser executada até que eventualmente seja bem-sucedida ou falhe.

  • Se o seu domínio executa o OpenSearch ou o Elasticsearch 7.4 ou posterior, o OpenSearch Service oferece suporte às operações open e close do ISM.

  • Se o seu domínio executa o OpenSearch ou o Elasticsearch 7.7 ou posterior, o OpenSearch Service oferece suporte à operação snapshot do ISM.

Operações ISM de armazenamento de baixa atividade

Para índices frios, você deve especificar um parâmetro ?type=_cold ao usar as seguintes APIs do ISM:

Essas APIs para índices frios têm as seguintes diferenças adicionais:

  • Operadores curingas não são aceitos, exceto quando usados no final. Por exemplo, _plugins/_ism/<add, remove, change_policy, retry, explain>/logstash-* é aceito, mas _plugins/_ism/<add, remove, change_policy, retry, explain>/iad-*-prod não.

  • Não há suporte a índices e padrões de vários índices. Por exemplo, _plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs é aceito, mas _plugins/_ism/<add, remove, change_policy, retry, explain>/app-logs,sample-data não.

Configurações do ISM

O OpenSearch e o Elasticsearch permitem alterar todas as configurações do ISM disponíveis usando via API _cluster/settings. No Amazon OpenSearch Service, só é possível alterar as seguintes configurações do ISM:

  • Configurações no nível do cluster:

    • plugins.index_state_management.enabled

    • plugins.index_state_management.history.enabled

  • Configurações no nível do índice:

    • plugins.index_state_management.rollover_alias