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 em vários níveis para Amazon Service OpenSearch
O armazenamento multicamada para o Amazon OpenSearch Service é uma solução inteligente de gerenciamento de dados que otimiza o desempenho e os custos gerenciando dados em diferentes níveis de armazenamento. Essa arquitetura permite que as organizações equilibrem com eficiência a compensação entre desempenho e custo, mantendo os dados acessados com frequência em armazenamento quente de alto desempenho e transferindo os dados acessados com menos frequência para um armazenamento aquecido mais econômico.
O Amazon OpenSearch Service oferece duas opções de arquitetura para o nível hot/warm de armazenamento:
-
OpenSearch Arquitetura de armazenamento de vários níveis
Combina o Amazon S3 com o armazenamento de instância local
Desenvolvido por instâncias OpenSearch otimizadas
Suporta operações de gravação em camadas quentes
Oferece suporte à migração de dados perfeita entre os níveis quente e quente
Disponível na versão OpenSearch 3.3 e superior
Não suporta Cold Tier
-
UltraWarmArquitetura baseada
Combina o Amazon S3 com o armazenamento de instância local
Desenvolvido por UltraWarm instâncias
Otimizado para cargas de trabalho de nível quente somente para leitura
Disponível na versão 6.8 e superior do Elasticsearch e em todas as versões OpenSearch
Suporta Cold Tier
nota
Essa documentação se concentra somente na arquitetura de vários níveis. Para a arquitetura de armazenamento Ultrawarm, consulte Ultrawarm and Cold Storage
Arquitetura de armazenamento de vários níveis
Tópicos
Benefícios principais
Writable Warm: suporta operações de gravação em índices quentes
Migração perfeita: movimentação contínua de dados entre níveis de armazenamento
Otimização de custos: reduza os custos de armazenamento transferindo dados menos ativos para um armazenamento aquecido econômico
Aprimoramento do desempenho: mantenha o alto desempenho dos dados acessados com frequência no nível atual
Gerenciamento flexível de dados: escolha a arquitetura que melhor se adapta às suas necessidades de carga de trabalho
Gerenciamento automatizado: gerenciamento simplificado do ciclo de vida dos dados em todos os níveis de armazenamento
Pré-requisitos
Versão do motor: OpenSearch 3.3 ou posterior
-
Famílias de instâncias:
Hot nodes: OR1, OR2, OM2, ou OI2
Nodos quentes: OI2
Segurança: Node-to-node criptografia, criptografia em repouso, HTTPS aplicado
Limitações
Funciona em todos os domínios com instâncias OpenSearch otimizadas que ainda não têm o Ultrawarm ativado
Sem suporte para camada fria
Pontos importantes
Migrações quentes para quentes não acionam uma fusão forçada na arquitetura de vários níveis. Se necessário, o usuário ainda pode orquestrar mesclagens forçadas usando a política de gerenciamento de índices.
Além da indexação, os nós quentes agora também realizam operações de mesclagem em segundo plano (semelhantes às quentes).
Todas as solicitações de pesquisa em índices quentes são roteadas para o fragmento primário e a réplica serve para leitura somente quando o fragmento primário está inativo.
Instantâneos automatizados para índices quentes também são compatíveis com essa arquitetura.
A replicação entre clusters só é compatível com índices ativos
Índices APIs como Shrink, Split e Clone não funcionam com índices quentes.
Criação de um domínio de vários níveis
Etapa 1: criar o domínio
aws opensearch create-domain \ --domain-name my-domain \ --engine-version OpenSearch_3.3 \ --cluster-config InstanceCount=3,InstanceType=or2.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=m6g.large.search,DedicatedMasterCount=3,WarmEnabled=true,WarmCount=3,WarmType=oi2.2xlarge.search \ --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":"user_name","MasterUserPassword":"your_pass"}}' \ --access-policies '{"Version": "2012-10-17", "Statement":[{"Effect":"Allow","Principal":"*","Action":"es:*","Resource":"*"}]}' \ --region us-east-1
Etapa 2: verificar os nós quentes
aws opensearch describe-domain-nodes --domain-name my-domain --region us-east-1
Exemplo de resposta (trecho):
{ "NodeType": "Warm", "InstanceType": "oi2.large.search", "NodeStatus": "Active" }
Gerenciando migrações de níveis
Suporte a domínios de vários níveis:
Nova hierarquização APIs para uma experiência simplificada
Legacy UltraWarm APIs para compatibilidade
Nova hierarquização APIs
Migre um índice para aquecer:
curl -XPOST 'https://localhost:9200/index-name/_tier/warm'
Resposta:
{"acknowledged": true}
Migre um índice para hot:
curl -XPOST 'https://localhost:9200/index-name/_tier/hot'
Resposta:
{"acknowledged": true}
Verifique o status da classificação por níveis:
curl -XGET 'https://localhost:9200/index-name/_tier'
Exemplo de resposta:
{ "tiering_status": { "index": "index-name", "state": "RUNNING_SHARD_RELOCATION", "source": "HOT", "target": "WARM", "start_time": 1745836500563, "shard_level_status": { "running": 0, "total": 100, "pending": 100, "succeeded": 0 } } }
Visualização detalhada do fragmento:
curl 'https://localhost:9200/index1/_tier?detailed=true'
Liste todas as migrações em andamento (texto):
curl 'https://localhost:9200/_tier/all'
Liste todas as migrações em andamento (JSON):
curl 'https://localhost:9200/_tier/all?format=json'
Filtrar por nível de destino:
curl 'https://localhost:9200/_tier/all?target=_warm'
Legacy UltraWarm APIs para compatibilidade
Migre para aquecer:
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_warm
Migre para hot:
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_hot
Verifique o status:
curl -XGET localhost:9200/_ultrawarm/migration/index2/_status
Configuração de segurança
Se você habilitar o armazenamento em vários níveis em um domínio preexistente do Amazon OpenSearch Service, a storage_tiering_manager função pode não estar definida no domínio. Os usuários não administradores deverão ser mapeados nessa função para poderem gerenciar índices warm usando o controle de aceso detalhado. Para criar manualmente a função storage_tiering_manager, faça o seguinte:
-
Em OpenSearch Painéis, acesse Segurança e escolha Permissões.
-
Escolha Criar grupo de ações e configure os seguintes grupos:
Nome do grupo Permissões cluster_hierarquizado de armazenamento índices: admin/_tier/all armazenamento_hierarquizado_index_read índices: admin/_ tier/get, indices:admin/get armazenamento_hierarquizado_index_write índices: admin/_ _to_hot tier/hot_to_warm, indices:admin/_tier/warm -
Escolha Funções e, em seguida, Criar função.
-
Nomeie a função
storage_tiering_manager. -
Para Permissões de cluster, selecione
storage_tiering_clusterecluster_monitor. -
Para Índice, digite
*. -
Para permissões de índice
storage_tiering_index_read, selecionestorage_tiering_index_writeindices_monitore. -
Escolha Criar.
-
Depois de criar a função, mapeie-a para qualquer função de usuário ou back-end que gerenciará índices de várias camadas.
Práticas recomendadas
Ao implementar o armazenamento em vários níveis em seus domínios do Amazon OpenSearch Service, considere as seguintes melhores práticas:
Revise regularmente seus padrões de acesso aos dados para otimizar a alocação de níveis
Monitore as métricas de desempenho para garantir a utilização eficiente dos recursos
Use a nova hierarquização APIs para controle granular sobre a migração de dados
Monitoramento de métricas
Os domínios de armazenamento de vários níveis fornecem métricas adicionais para monitorar o desempenho do nível quente. Essas métricas incluem métricas existentes UltraWarm e novas métricas específicas da arquitetura de instâncias OpenSearch otimizadas:
Novas métricas
| Nome da métrica | Estatísticas do Node Level | Estatísticas em nível de cluster | Granularity |
|---|---|---|---|
| WarmIndexingLatency | Média | Média | 1 min |
| WarmIndexingRate | Média | Média, Máxima, Soma | 1 min |
| WarmThreadpoolIndexingQueue | Máximo | Soma, Máximo, Média | 1 min |
| WarmThreadpoolIndexingRejected | Máximo | Soma | 1 min |
| WarmThreadpoolIndexingThreads | Máximo | Soma, média | 1 min |