Armazenamento a frio 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 a frio para Amazon OpenSearch Service

O armazenamento a frio permite que você armazene qualquer quantidade de dados históricos ou acessados com pouca frequência em seu domínio do Amazon OpenSearch Service e os analise 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.

Semelhante ao UltraWarmarmazenamento, o armazenamento a frio é apoiado pelo Amazon S3. Quando precisar consultar dados frios, você pode anexá-los seletivamente aos UltraWarm nós 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 a frio requer o Elasticsearch versão 7.9 OpenSearch ou posterior.

  • Para habilitar o armazenamento a frio em um domínio de OpenSearch serviço, você também deve habilitar 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 k-NN ("index.knn":true) aproximado, você pode movê-lo para o armazenamento a frio a partir da versão 2.17 e posterior. Domínios em versões anteriores à 2.17 podem ser atualizados para a 2.17 para usar essa funcionalidade, mas KNN índices criados em versões anteriores à 2.x não podem migrar para a Cold.

  • Se o domínio usar um controle de acesso refinado, os usuários não administradores devem ser mapeados para a cold_manager função nos OpenSearch painéis para gerenciar índices frios.

nota

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

Configurar permissões

Se você habilitar o armazenamento a frio em um domínio OpenSearch de serviço preexistente, a cold_manager função pode não estar 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. Em OpenSearch Painéis, acesse 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 a frio usa o Amazon S3, ele não incorre na sobrecarga do armazenamento dinâmico, como réplicas, espaço reservado do Linux e espaço reservado do serviço. OpenSearch 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 ColdStorageSpaceUtilization métrica na Amazon CloudWatch para ver quanto espaço de armazenamento refrigerado você está usando.

Preços do armazenamento de baixa atividade

Semelhante ao UltraWarm armazenamento, com o armazenamento a frio, 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 preços de armazenamento a frio, consulte os 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 configuração AWS CLIou API para ativar o armazenamento a frio.

Exemplo de CLI comando

O AWS CLI comando a seguir cria um domínio com três nós de dados, três nós principais dedicados, armazenamento a frio ativado 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 API solicitação de configuração

A solicitação de configuração a seguir API cria um domínio com três nós de dados, três nós principais dedicados, armazenamento a frio ativado 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 a APIReferência OpenSearch de Serviços da Amazon.

Gerenciando índices frios em painéis OpenSearch

Você pode gerenciar índices quentes, quentes e frios com a interface de painéis existente em seu domínio de OpenSearch serviço. Os painéis permitem que você migre índices entre armazenamento quente e frio e monitore o status da migração do índice, sem usar a CLI configuração or. API Para obter mais informações, consulte Gerenciamento de índices em OpenSearch painéis.

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.

Parameter 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" } }

OpenSearch O serviço migra um índice por vez para o armazenamento refrigerado. É 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. Veja o exemplo de política, que demonstra como migrar automaticamente os índices do armazenamento a quente para o armazenamento UltraWarm a 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 refrigerado para decidir para quais migrar 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" } ] }

Filtrar

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" } ] }

Classificação

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 de baixa atividade. 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 da seção anterior, migre-os de volta para UltraWarm onde você possa 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 frio excluído diretamente para o nível frio. OpenSearch O serviço retém índices frios por 14 dias após a 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

OpenSearch Os painéis não são compatíveis com o PATCH método. 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 ISM política, poderá excluir manualmente os índices frios. 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 OpenSearch de serviço é a maneira mais simples de desativar o armazenamento a frio. 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 configuração AWS CLI ouAPI, emColdStorageOptions, 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á.