Armazenamento de baixa atividade para 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á.

Armazenamento de baixa atividade para Amazon OpenSearch Service

O armazenamento de baixa atividade permite armazenar qualquer quantidade de dados históricos ou acessados com pouca frequência em seu domínio do Amazon OpenSearch Service e analisá-los sob demanda a um custo menor do que outros níveis de armazenamento. O armazenamento de baixa atividade é apropriado se você precisa fazer pesquisas periódicas ou análises forenses em seus dados mais antigos. Exemplos práticos de dados adequados para armazenamento de baixa atividade incluem logs acessados com pouca frequência, dados que devem ser preservados para atender a requisitos de compatibilidade ou registros com valor histórico.

Similar ao armazenamento UltraWarm, o armazenamento de baixa atividade é baseado no Amazon S3. Quando precisar consultar dados de baixa atividade, você poderá anexá-los seletivamente aos nós UltraWarm existentes. Você pode gerenciar a migração e o ciclo de vida de seus dados de baixa atividade manualmente ou com políticas de gerenciamento de estado de índice.

Pré-requisitos

O armazenamento de baixa atividade apresenta os seguintes pré-requisitos:

  • O armazenamento de baixa atividade requer o OpenSearch ou Elasticsearch versão 7.9 ou posterior.

  • Para habilitar o armazenamento de baixa atividade em um domínio do OpenSearch Service, você também deve habilitar o UltraWarm no mesmo domínio.

  • Para que seja possível usar o armazenamento de baixa atividade, os domínios deverão ter nós principais dedicados.

  • Se o domínio usar um tipo de instância T2 ou T3 para os nós de dados, não será possível usar o armazenamento de baixa atividade .

  • Se seu índice usa codecs de compressão Zstandard ("index.codec": "zstd" ou "index.codec": "zstd_no_dict"), você não pode movê-lo para um armazenamento de baixa atividade.

  • Se o índice usar aproximação de k-NN ("index.knn": true), você não pode movê-lo para o armazenamento de baixa atividade.

  • Se o domínio usar controle de acesso refinado, os usuários não administradores deverão ser mapeados na função cold_manager no OpenSearch Dashboards para poderem gerenciar índices de baixa atividade.

nota

A função cold_manager pode não existir em alguns domínios pré-existentes do OpenSearch Service. Se você não vir a função no Dashboards, será necessário criá-la manualmente.

Configurar permissões

Se você habilitar o armazenamento de baixa atividade em um domínio preexistente do OpenSearch Service, a função cold_manager não poderá ser definida no domínio. Se o domínio usar controle de acesso refinado, os usuários não administradores deverão ser mapeados nessa função para poderem gerenciar índices de baixa atividade. Para criar manualmente a função cold_manager, faça o seguinte:

  1. No OpenSearch Dashboards, vá para Segurança e escolha Permissões.

  2. Escolha Criar grupo de ações e configure os seguintes grupos:

    Group name Permissões
    cold_cluster
    • cluster:monitor/nodes/stats

    • cluster:admin/ultrawarm*

    • cluster:admin/cold/*

    cold_index
    • indices:monitor/stats

    • indices:data/read/minmax

    • indices:admin/ultrawarm/migration/get

    • indices:admin/ultrawarm/migration/cancel

  3. Escolha Funções e, em seguida, Criar função.

  4. Nomeie a função como cold_manager.

  5. Em Permissões de cluster, escolha o grupo cold_cluster que você criou.

  6. Em Índice, insira *.

  7. Em Permissões de índice, escolha o grupo cold_index que você criou.

  8. Escolha Criar.

  9. Depois de criar a função, mapeie-a em qualquer função de usuário ou backend que gerencie índices de baixa atividade.

Requisitos de armazenamento e considerações de performance do armazenamento de baixa atividade

Como o armazenamento frio usa o Simple Storage Service (Amazon S3), ele não incorre na sobrecarga do armazenamento quente, como réplicas, espaço reservado do Linux e espaço reservado do OpenSearch Service. O armazenamento de baixa atividade não tem tipos de instância específicos porque não há nenhuma capacidade computacional anexada a ele. Você pode armazenar qualquer quantidade de dados em armazenamento de baixa atividade. Monitore a métrica ColdStorageSpaceUtilization no Amazon CloudWatch para ver quanto espaço de armazenamento de baixa atividade você está usando.

Preços do armazenamento de baixa atividade

Semelhante ao armazenamento UltraWarm, com o armazenamento de baixa atividade você paga apenas pelo armazenamento de dados. Não há custo de computação para dados de baixa atividade e você não será cobrado se não houver dados no armazenamento de baixa atividade.

Você não incorre em cobranças de transferência ao mover dados entre os armazenamentos de baixa e de alta atividade. Enquanto os índices estão sendo migrados entre o armazenamento warm e o frio, você continua pagando por apenas uma cópia do índice. Após a conclusão da migração, o índice é cobrado de acordo com o nível de armazenamento para o qual foi migrado. Para obter mais informações sobre o preço do armazenamento frio, consulte Preços do Amazon OpenSearch Service.

Habilitação do armazenamento de baixa atividade

O console é a maneira mais simples de criar um domínio que usa o armazenamento de baixa atividade. Ao criar o domínio, escolha Habilitar armazenamento de baixa atividade. O mesmo processo funciona em domínios existentes, desde que você atenda aos pré-requisitos. Mesmo depois que o estado do domínio mudar de Em processamento para Ativo, o UltraWarm poderá permanecer indisponível por várias horas.

Você também pode usar a AWS CLI ou a API de configuração para habilitar o armazenamento de baixa atividade.

Exemplo de comando da CLI

Os seguinte comando AWS CLI cria um domínio com três nós de dados, três nós principais dedicados, armazenamento de baixa atividade habilitado e controle de acesso refinado habilitado:

aws opensearch create-domain \ --domain-name my-domain \ --engine-version Opensearch_1.0 \ --cluster-config ColdStorageOptions={Enabled=true},WarmEnabled=true,WarmCount=4,WarmType=ultrawarm1.medium.search,InstanceType=r6g.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3,InstanceCount=3 \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions='{MasterUserName=master-user,MasterUserPassword=master-password}' \ --region us-east-2

Para obter mais informações, consulte a Referência de comandos da AWS CLI.

Exemplo de solicitação da API de configuração

A seguinte solicitação à API de configuração cria um domínio com três nós de dados, três nós principais dedicados, armazenamento de baixa atividade habilitado e controle de acesso refinado habilitado:

POST https://es.us-east-2.amazonaws.com/2021-01-01/opensearch/domain { "ClusterConfig": { "InstanceCount": 3, "InstanceType": "r6g.large.search", "DedicatedMasterEnabled": true, "DedicatedMasterType": "r6g.large.search", "DedicatedMasterCount": 3, "ZoneAwarenessEnabled": true, "ZoneAwarenessConfig": { "AvailabilityZoneCount": 3 }, "WarmEnabled": true, "WarmCount": 4, "WarmType": "ultrawarm1.medium.search", "ColdStorageOptions": { "Enabled": true } }, "EBSOptions": { "EBSEnabled": true, "VolumeType": "gp2", "VolumeSize": 11 }, "EncryptionAtRestOptions": { "Enabled": true }, "NodeToNodeEncryptionOptions": { "Enabled": true }, "DomainEndpointOptions": { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" }, "AdvancedSecurityOptions": { "Enabled": true, "InternalUserDatabaseEnabled": true, "MasterUserOptions": { "MasterUserName": "master-user", "MasterUserPassword": "master-password" } }, "EngineVersion": "Opensearch_1.0", "DomainName": "my-domain" }

Para obter informações detalhadas, consulte Referência da API do Amazon OpenSearch Service.

Gerenciamento de índices frios no OpenSearch Dashboards

Você pode gerenciar índices quentes, warm e frios com a interface do Dashboards existente em seu domínio do OpenSearch Service. O Dashboards permite que você migre índices entre armazenamentos warm e frio e monitore o status da migração do índice sem usar a CLI ou a API de configuração. Para obter mais informações, consulte Gerenciamento de índices no OpenSearch Dashboards.

Migração de índices para o armazenamento frio

Ao migrar índices para o armazenamento frio, você deve fornecer um intervalo de tempo para os dados para facilitar a descoberta. Você pode selecionar um campo de timestamp com base nos dados em seu índice, fornecer manualmente um carimbo de data/hora inicial e final ou optar por não especificar um.

Parâmetro Valor compatível Descrição
timestamp_field O campo de data/hora do mapeamento do índice.

Os valores mínimo e máximo do campo fornecido são calculados e armazenados como os metadados start_time e end_time para o índice de baixa atividade.

start_time e end_time

Use um dos seguintes formatos:

  • strict_date_optional_time. Por exemplo: yyyy-MM-dd'T'HH:mm:ss.SSSZ ou yyyy-MM-dd

  • Tempo de época em milissegundos

Os valores são fornecidos como os metadados start_time e end_time para o índice de baixa atividade.

Se não quiser especificar um carimbo de data/hora, adicione ?ignore=timestamp à solicitação em vez disso.

A seguinte solicitação migra um índice de alta atividade para o armazenamento de baixa atividade e fornece horários de início e término para os dados nesse índice:

POST _ultrawarm/migration/my-index/_cold { "start_time": "2020-03-09", "end_time": "2020-03-09T23:00:00Z" }

Depois, verifique o status da migração:

GET _ultrawarm/migration/my-index/_status { "migration_status": { "index": "my-index", "state": "RUNNING_METADATA_RELOCATION", "migration_type": "WARM_TO_COLD" } }

O OpenSearch Service migra um índice de cada vez para o armazenamento de baixa atividade. É possível ter até 100 migrações na fila. Qualquer solicitação que exceda o limite será rejeitada. Para verificar o número de migrações atual, monitore a métrica WarmToColdMigrationQueueSize. O processo de migração tem os seguintes estados:

ACCEPTED_COLD_MIGRATION - Migration request is accepted and queued. RUNNING_METADATA_MIGRATION - The migration request was selected for execution and metadata is migrating to cold storage. FAILED_METADATA_MIGRATION - The attempt to add index metadata has failed and all retries are exhausted. PENDING_INDEX_DETACH - Index metadata migration to cold storage is completed. Preparing to detach the warm index state from the local cluster. RUNNING_INDEX_DETACH - Local warm index state from the cluster is being removed. Upon success, the migration request will be completed. FAILED_INDEX_DETACH - The index detach process failed and all retries are exhausted.

Automatização de migrações para o armazenamento frio

Você pode usar o Gerenciamento de estados de índices para automatizar o processo de migração depois que um índice atinge uma determinada idade ou atende a outras condições. Consulte a política de exemplo que demonstra como migrar automaticamente índices de armazenamento quente para UltraWarm para frio.

nota

Um timestamp_field explícito é necessário para mover índices para o armazenamento frio usando uma política de gerenciamento de estados de índices.

Cancelando migrações para armazenamento frio

Se uma migração para armazenamento frio estiver enfileirada ou em um estado de falha, você poderá cancelar a migração usando a seguinte solicitação:

POST _ultrawarm/migration/_cancel/my-index { "acknowledged" : true }

Se o domínio usa controle de acesso refinado, você precisará da permissão indices:admin/ultrawarm/migration/cancel para fazer essa solicitação.

Listagem de índices de baixa atividade

Antes de consultar, você pode listar os índices no armazenamento frio para decidir quais migrar para o UltraWarm para análise posterior. A seguinte solicitação lista todos os índices de baixa atividade classificados por nome de índice:

GET _cold/indices/_search

Exemplo de resposta

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 3, "indices" : [ { "index" : "my-index-1", "index_cold_uuid" : "hjEoh26mRRCFxRIMdgvLmg", "size" : 10339, "creation_date" : "2021-06-28T20:23:31.206Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-2", "index_cold_uuid" : "0vIS2n-oROmOWDFmwFIgdw", "size" : 6068, "creation_date" : "2021-07-15T19:41:18.046Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-3", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Filtrando

Você pode filtrar índices frios com base em um padrão de índice baseado em prefixos e em deslocamentos de intervalo de tempo.

A seguinte solicitação lista índices que correspondem ao padrão de prefixo de event-*:

GET _cold/indices/_search { "filters":{ "index_pattern": "event-*" } }

Exemplo de resposta

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "events-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

A seguinte solicitação retorna índices com campos de metadados start_time e end_time entre 2019-03-01 e 2020-03-01:

GET _cold/indices/_search { "filters": { "time_range": { "start_time": "2019-03-01", "end_time": "2020-03-01" } } }

Exemplo de resposta

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "my-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2019-05-09T00:00Z", "end_time" : "2019-09-09T23:00Z" } ] }

Classificar

Você pode classificar índices frios por campos de metadados, como nome ou tamanho do índice. A seguinte solicitação lista todos os índices classificados por tamanho em ordem decrescente:

GET _cold/indices/_search { "sort_key": "size:desc" }

Exemplo de resposta

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 5, "indices" : [ { "index" : "my-index-6", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-9", "index_cold_uuid" : "mbD3ZRVDRI6ONqgEOsJyUA", "size" : 57922, "creation_date" : "2021-07-07T23:41:35.640Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-5", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Outras chaves de classificação válidas são start_time:asc/desc, end_time:asc/desc e index_name:asc/desc.

Paginação

Você pode paginar uma lista de índices frios. Configure o número de índices a serem retornados por página com o parâmetro page_size (o padrão é 10). Cada solicitação _search em seus índices frios retorna um pagination_id que você pode usar para chamadas subsequentes.

A seguinte solicitação pagina os resultados de uma solicitação _search de seus índices frios e exibe os próximos 100 resultados:

GET _cold/indices/_search?page_size=100 { "pagination_id": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY" }

Migração de índices frios para o armazenamento warm

Depois de restringir sua lista de índices frios com os critérios de filtragem na seção anterior, migre-os de volta para UltraWarm, onde você poderá consultar os dados e usá-los para criar visualizações.

A solicitação a seguir migra dois índices frios de volta para o armazenamento warm:

POST _cold/migration/_warm { "indices": "my-index1,my-index2" } { "acknowledged" : true }

Para verificar o status da migração e recuperar o ID de migração, envie a seguinte solicitação:

GET _cold/migration/_status

Exemplo de resposta

{ "cold_to_warm_migration_status" : [ { "migration_id" : "tyLjXCA-S76zPQbPVHkOKA", "indices" : [ "my-index1,my-index2" ], "state" : "RUNNING_INDEX_CREATION" } ] }

Para obter informações de migração específicas do índice, inclua o nome do índice:

GET _cold/migration/my-index/_status

Em vez de especificar um índice, você pode listar os índices por seu status de migração atual. Os valores válidos são _failed, _accepted e _all.

O comando a seguir obtém o status de todos os índices em uma única solicitação de migração:

GET _cold/migration/_status?migration_id=my-migration-id

Recupere o ID de migração usando a solicitação de status. Para obter informações detalhadas sobre migração, adicione &verbose=true.

Você pode migrar índices do armazenamento frio para o armazenamento morno em lotes de 10, com, no máximo, 100 índices sendo migados simultaneamente. Qualquer solicitação que exceda o limite será rejeitada. Para verificar o número de migrações que estão ocorrendo no momento, monitore a métrica ColdToWarmMigrationQueueSize. O processo de migração tem os seguintes estados:

ACCEPTED_MIGRATION_REQUEST - Migration request is accepted and queued. RUNNING_INDEX_CREATION - Migration request is picked up for processing and will create warm indexes in the cluster. PENDING_COLD_METADATA_CLEANUP - Warm index is created and the migration service will attempt to clean up cold metadata. RUNNING_COLD_METADATA_CLEANUP - Cleaning up cold metadata from the indexes migrated to warm storage. FAILED_COLD_METADATA_CLEANUP - Failed to clean up metadata in the cold tier. FAILED_INDEX_CREATION - Failed to create an index in the warm tier.

Restauração de índices frios de snapshots

Se precisar restaurar um índice de baixa atividade excluído, você pode restaurá-lo de volta ao nível de maior atividade seguindo as instruções Restauração de índices quentes de snapshots e, em seguida, migrando o índice de volta para o nível de baixa atividade novamente. Você não pode restaurar um índice de baixa atividade excluído diretamente para o nível frio. O OpenSearch Service retém os índices frios por 14 dias após a sua exclusão.

Cancelamento de migrações do armazenamento de baixa atividade para o armazenamento de alta atividade

Se uma migração de índice do armazenamento de baixa atividade para o armazenamento de alta atividade estiver enfileirada ou em um estado de falha, você poderá cancelá-la com a seguinte solicitação:

POST _cold/migration/my-index/_cancel { "acknowledged" : true }

Para cancelar a migração de um lote de índices (máximo de 10 por vez), especifique o ID de migração:

POST _cold/migration/_cancel?migration_id=my-migration-id { "acknowledged" : true }

Recupere o ID de migração usando a solicitação de status.

Atualizando metadados de índice de baixa atividade

Você pode atualizar os campos start_time e end_time para um índice de baixa atividade:

PATCH _cold/my-index { "start_time": "2020-01-01", "end_time": "2020-02-01" }

Não é possível atualizar o timestamp_field de um índice no armazenamento de baixa atividade.

nota

O OpenSearch Dashboards não oferece suporte ao método PATCH. Use curl, Postman ou algum outro método para atualizar metadados de baixa atividade.

Exclusão de índices de baixa atividade

Se você não estiver usando uma política do ISM, poderá excluir índices frios manualmente. A seguinte solicitação exclui um índice de baixa atividade:

DELETE _cold/my-index { "acknowledged" : true }

Desabilitação do armazenamento de baixa atividade

O console do OpenSearch Service é a maneira mais simples de desabilitar o armazenamento de baixa atividade. Selecione o domínio e escolha Ações, Editar configuração do cluster, depois desmarque a opção Habilitar armazenamento estático.

Para usar a AWS CLI ou a API de configuração, em ColdStorageOptions, defina "Enabled"="false".

Antes de desabilitar o armazenamento frio, você deve excluir todos os índices frios ou migrá-los de volta para o armazenamento warm, caso contrário, a ação de desabilitar falhará.