Criação e gerenciamento de domínios do Amazon Elasticsearch Service - Amazon Elasticsearch Service

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 e gerenciamento de domínios do Amazon Elasticsearch Service

Este capítulo descreve como se cria e gerencia domínios do Amazon Elasticsearch Service (Amazon ES). Um domínio do Amazon ES é sinônimo de um cluster do Elasticsearch. Os domínios do são clusters com as configurações, os tipos de instância, as contagens de instâncias e os recursos de armazenamento que você especificar.

Diferentemente das breves instruções presentes no tutorial Conceitos básicos, este capítulo descreve todas as opções e fornece informações de referência relevantes. Você pode concluir cada procedimento usando instruções para o console do Amazon ES, a interface de linha de comando da AWS (CLI da AWS) ou os AWS SDKs.

Criação de domínios do Amazon ES

Esta seção descreve como se criam domínios do Amazon ES usando o console do Amazon ES ou usando a CLI da AWS com acreate-elasticsearch-domain.

Criação de domínios do Amazon ES (console)

Use o procedimento a seguir para criar um domínio do Amazon ES usando o console.

Para criar um domínio do Amazon ES (console)

  1. Acesse https://aws.amazon.com e escolha Sign In to the Console.

  2. Em Análise, escolha Elasticsearch Service.

  3. Escolha Create a new domain.

  4. Em Choose deployment type (Escolher tipo de implantação), escolha a opção que melhor corresponda à finalidade do seu domínio:

    • Os domínios de Production (Produção) usam Multi-AZ e nós principais dedicados para uma maior disponibilidade.

    • Os domínios de Development and testing (Desenvolvimento e teste) usam uma única zona de disponibilidade.

    • Os domínios Custom (Personalizados) permitem que você escolha entre todas as opções de configuração.

    Importante

    Diferentes tipos de implantação apresentam diferentes opções em páginas subsequentes. Essas etapas incluem todas as opções (o tipo de implantação Custom (Personalizada)).

  5. Em Elasticsearch version (Versão do Elasticsearch)é recomendável escolher a versão mais recente. Para obter mais informações, consulte Versões compatíveis do Elasticsearch.

  6. Escolha Next (Próximo).

  7. Em Elasticsearch domain name (Nome do domínio do Elasticsearch), insira um nome de domínio. O nome deve atender aos seguintes critérios:

    • Ser exclusivo para sua conta e região

    • Iniciar com letra minúscula.

    • Conter de 3 a 28 caracteres.

    • Conter apenas letras minúsculas a-z, números de 0-9 e hífen (-).

  8. Se você quiser usar um endpoint personalizado em vez do padrãohttps://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com, escolha Enable endpoint personalizado. Em seguida, forneça um nome e um certificado. Para obter mais informações, consulte Criar um endpoint personalizado para o Amazon Elasticsearch Service.

  9. Em Availability Zones (Zonas de disponibilidade), selecione 1-AZ, 2-AZ ou 3-AZ. Para obter mais informações, consulte Configurando um domínio Multi-AZ no Amazon Elasticsearch Service.

  10. Em Instance type (Tipo de instância), selecione um tipo de instância para os nós de dados. Para obter mais informações, consulteTipos de instância compatíveis no Amazon Elasticsearch Service.

    nota

    Nem todas as zonas de disponibilidade são compatíveis com todos os tipos de instância. Se você selecionar 3-AZ, é recomendável selecionar tipos de instância da geração atual, como R5 ou I3.

  11. Em Number of nodes (Número de nós), selecione o número de nós de dados.

    Para valores máximos, consulte Limites de cluster e instância. Os clusters de nó único são excelentes para desenvolvimento e testes, mas não devem ser usados para cargas de trabalho de produção. Para obter mais orientações, consulte Dimensionamento de domínios do Amazon Elasticsearch Service e Configurando um domínio Multi-AZ no Amazon Elasticsearch Service.

  12. Em Data nodes storage type (Tipo de armazenamento de nós de dados), escolha Instance (Instância) (padrão) ou EBS.

    Para obter orientações sobre a criação de domínios especialmente grandes, consulte Escala de petabytes. Se você selecionar EBS, as seguintes opções serão exibidas:

    1. Em EBS volume type, escolha um tipo de volume de EBS.

      Se escolher Provisioned IOPS (SSD) (IOPS provisionadas [SSD]) como tipo de volume de EBS, em Provisioned IOPS (IOPS provisionadas), digite o desempenho de IOPS de referência que você deseja. Para obter mais informações, consulteVolumes do Amazon EBSNa documentação do Amazon EC2.

    2. Em EBS storage size per node (Tamanho de armazenamento do EBS por nó), insira o tamanho do volume do EBS que você deseja anexar a cada nó de dados.

      EBS volume size é por nó. Você pode calcular o tamanho total do cluster para o domínio do Amazon ES multiplicando o número de nós de dados pelo tamanho do volume do EBS. O tamanho mínimo e máximo de um volume do EBS depende tanto do tipo de volume do EBS especificado quanto do tipo da instância à qual ele está anexado. Para saber mais, consulte Limites de tamanhos de volume do EBS.

  13. (Opcional) Habilite ou desabilite os nós principais dedicados. Os nós principais dedicados aumentam a estabilidade do cluster e são necessários para domínios com contagem de instâncias superior a 10. Recomendamos três nós principais dedicados para domínios de produção.

    nota

    Você pode escolher diferentes tipos de instâncias para seus nós principais dedicados e nós de dados. Por exemplo, você pode selecionar instâncias de uso geral ou de armazenamento otimizado para os nós de dados e instâncias otimizadas para computação para os nós principais dedicados.

  14. (Opcional) Para habilitar o armazenamento UltraWarm, selecione Enable UltraWarm data nodes (Habilitar nós de dados UltraWarm). Cada tipo de instância tem uma quantidade máxima de armazenamento que ele pode processar. Multiplique essa quantidade pelo número de nós de dados de alta atividade pelo total de armazenamento de alta atividade endereçável.

  15. (Opcional) Para habilitar oarmazenamento de baixa atividade (frio), escolhaHabilitar armazenamento frio. Você deve habilitar o UltraWarm para habilitar o armazenamento frio.

  16. (Opcional) Em domínios executando o Elasticsearch 5.3 e posterior,Hora de início do snapshot automatizadonão tem efeito. Para obter mais informações sobre snapshots automatizados, consulte Criar snapshots de índice no Amazon Elasticsearch Service.

  17. (Opcional) Selecione Optional Elasticsearch cluster settings (Configurações opcionais de cluster do Elasticsearch). Para obter um resumo dessas opções, consulte Opções avançadas.

  18. Escolha Next (Próximo).

  19. Na seção Network configuration (Configuração de rede), selecione VPC access (Acesso à VPC) ou Public access (Acesso público). Se você selecionar Public access (Acesso público), vá para a próxima etapa. Se você escolher VPC access, assegure-se de que você atende aos pré-requisitos e faça o seguinte:

    1. Para VPC, escolha o ID da VPC que você deseja usar.

      nota

      A VPC e o domínio devem estar na mesma região da AWS, e você deve selecionar uma VPC com a locação definida comoPadrão. O Amazon ES ainda não oferece suporte a VPCs que usem locação dedicada.

    2. Para Subnet, escolha uma sub-rede. Se habilitou Multi-AZ, você deve escolher duas ou três sub-redes. O Amazon ES colocará um endpoint da VPC einterfaces de rede elásticanas sub-redes.

      nota

      Você deve reservar endereços IP suficientes para as interfaces de rede na sub-rede (ou sub-redes). Para obter mais informações, consulteReserva de endereços IP em uma sub-rede da VPC.

    3. para oGrupos de segurança, escolha os security groups da VPC que precisam acessar o domínio do Amazon ES. Para obter mais informações, consulte Iniciando seus domínios do Amazon Elasticsearch Service usando uma VPC.

    4. para oIAM role (Função do IAM), mantenha a função padrão. O Amazon ES usa essa função predefinida (também conhecida comoFunção vinculada ao serviço do) para acessar sua VPC e colocar um VPC endpoint e interfaces de rede na sub-rede da VPC. Para obter mais informações, consulteFunção vinculada ao serviço para acesso à VPC.

  20. Na seção Fine-grained access control (Controle de acesso minucioso), habilite ou desabilite o controle de acesso minucioso:

    • Se você quiser usar o IAM para o gerenciamento de usuários, escolha Set IAM role as master user (Definir função do IAM como usuário mestre) e especifique o ARN para uma função do IAM.

    • Se você quiser usar o banco de dados de usuário interno, escolhaCriar um usuário mestree especifique um nome de usuário e uma senha.

    Seja qual for a opção escolhida, o usuário mestre pode acessar todos os índices no cluster e todas as APIs do Elasticsearch. Para obter orientações sobre qual opção escolher, consulte Principais conceitos.

    Se você desabilitar o controle de acesso minucioso, ainda assim poderá controlar o acesso ao seu domínio, colocando-o em uma VPC, aplicando uma política de acesso restritiva ou ambos. É necessário habilitar a criptografia de nó a nó e a criptografia em repouso para usar o controle de acesso minucioso.

    nota

    NósfortementeO recomenda habilitar o controle de acesso minucioso para proteger os dados em seu domínio. O controle de acesso refinado fornece segurança nos níveis de cluster, índice, documento e campo.

  21. (Opcional) Se você deseja usar a autenticação do SAML para Kibana, escolhaPreparar autenticação do SAML. Depois que o domínio estiver disponível, consulteAutenticação do SAML do KibanPara etapas adicionais.

  22. (Opcional) Se você deseja usar a autenticação do Amazon Cognito para Kibana, escolhaHabilitar autenticação do Amazon Cognito.

    1. Escolha o grupo de usuários do Amazon Cognito e o grupo de identidades que você deseja usar para a autenticação do Kibana. Para obter orientações sobre a criação desses recursos, consulte Como configurar a autenticação do Amazon Cognito para Kibana.

  23. Em Domain access policy (Política de acesso ao domínio), adicione os ARNs ou os endereços IP que você deseja ou escolha uma política pré-configurada na lista suspensa. Para obter mais informações, consulte Identity and Access Management no Amazon Elasticsearch Service e Sobre políticas de acesso em domínios da VPC.

    nota

    Se você escolheuAcesso à VPCNo passo 18, as políticas baseadas em IP são proibidas. Em vez disso, você poderá usar grupos de segurança para controlar quais endereços IP poderão acessar o domínio. Para obter mais informações, consulte Sobre políticas de acesso em domínios da VPC.

  24. (Opcional) Para exigir que todas as solicitações ao domínio sejam recebidas por HTTPS, marque a caixa de seleção Require HTTPS for all traffic to the domain (Exigir HTTPS para todo o tráfego do domínio) .

  25. (Opcional) Para ativar a criptografia de nó a nó, marque a caixa de seleção Node-to-node encryption (Criptografia de nó a nó). Para obter mais informações, consulte Criptografia de nó a nó para o Amazon Elasticsearch Service.

  26. (Opcional) Para ativar a criptografia de dados em repouso, marque a caixa de seleção Enable encryption of data at rest (Ativar criptografia em repouso).

    Select(Padrão) aws/esPara que o Amazon ES crie uma chave de criptografia do KMS em seu nome (ou use uma que já foi criada). Caso contrário, selecione sua própria chave de criptografia do KMS no menu Chave mestra do KMS. Para obter mais informações, consulte Criptografia de dados em repouso para o Amazon Elasticsearch Service.

  27. Escolha Next (Próximo).

  28. Na página Review, revise sua configuração de domínio e escolha Confirm.

Criação de domínios do Amazon ES (AWS CLI)

Em vez de criar um domínio do Amazon ES por meio do console, é possível usar a CLI da AWS. Para sintaxe, consulte o Amazon Elasticsearch Service noReferência de comandos da CLI da AWS.

Comandos de exemplo

Este primeiro exemplo demonstra a configuração de domínio do Amazon ES a seguir:

  • Cria um domínio do Amazon ES chamadomylogscom Elasticsearch versão 7.10

  • Preenche o domínio com duas instâncias do tipo r6g.large.elasticsearch

  • Usa um volume de EBS de finalidade geral (SSD) de 100 GiB como armazenamento para cada nó de dados.

  • Permite acesso anônimo, mas apenas de endereço IP único: 192.0/32

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 7.10 --elasticsearch-cluster-config InstanceType=r6g.large.elasticsearch,InstanceCount=2 --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=100 --access-policies '{"Version": "2012-10-17", "Statement": [{"Action": "es:*", "Principal":"*","Effect": "Allow", "Condition": {"IpAddress":{"aws:SourceIp":["192.0.2.0/32"]}}}]}'

O exemplo seguinte demonstra a configuração de domínio do Amazon ES a seguir:

  • Cria um domínio do Amazon ES chamadomylogscom Elasticsearch versão 7.10

  • Preenche o domínio com seis instâncias do tipo r6g.large.elasticsearch

  • Usa um volume de EBS de finalidade geral (SSD) de 100 GiB como armazenamento para cada nó de dados.

  • Restringe o acesso ao serviço a um único usuário, identificado pelo ID de conta da AWS do usuário: 555555555555

  • Distribui as instâncias em três zonas de disponibilidade

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 7.10 --elasticsearch-cluster-config InstanceType=r6g.large.elasticsearch,InstanceCount=6,ZoneAwarenessEnabled=true,ZoneAwarenessConfig={AvailabilityZoneCount=3} --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=100 --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555:root" }, "Action":"es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/*" } ] }'

O exemplo seguinte demonstra a configuração de domínio do Amazon ES a seguir:

  • Cria um domínio do Amazon ES chamadomylogscom Elasticsearch versão 7.10

  • Preenche o domínio com 10 instâncias do tipo r6g.xlarge.elasticsearch

  • Preenche o domínio com três instâncias do tipo r6g.large.elasticsearch para funcionar como nós principais dedicados

  • Usa um volume de EBS de IOPS provisionado de 100 GiB como armazenamento, configurado com desempenho de referência de 1.000 IOPS para cada nó de dados.

  • Restringe o acesso a um único usuário e a um único sub-recurso, a API _search

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 7.10 --elasticsearch-cluster-config InstanceType=r6g.xlarge.elasticsearch,InstanceCount=10,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.elasticsearch,DedicatedMasterCount=3 --ebs-options EBSEnabled=true,VolumeType=io1,VolumeSize=100,Iops=1000 --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::555555555555:root" }, "Action": "es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/_search" } ] }'
nota

Se tentar criar um domínio do Amazon ES e um domínio com o mesmo nome que já existe, a CLI não relatará um erro. Em vez disso, ela retornará detalhes do domínio existente.

Criação de domínios do Amazon ES (SDKs da AWS)

Os SDKs da AWS (exceto os SDKs para Android e iOS) são compatíveis com todas as ações definidas noReferência da API de configuração do Amazon ES, incluindoCreateElasticsearchDomain. Para obter o código de exemplo, consulte Usando os AWS SDKs para interagir com o Amazon Elasticsearch Service. Para obter mais informações sobre instalação e uso de AWS SDKs, consulte Kits de desenvolvimento de software da AWS.

Configurar políticas de acesso

O Amazon Elasticsearch Service oferece várias opções para configurar o acesso a domínios do Amazon ES. Para obter mais informações, consulte Identity and Access Management no Amazon Elasticsearch Service e Controle de acesso minucioso no Amazon Elasticsearch Service.

O console fornece políticas de acesso pré-configuradas que você pode personalizar de acordo com as necessidades específicas de seu domínio. Você também pode importar as políticas de acesso de outros domínios do Amazon ES. Para obter informações sobre como essas políticas de acesso interagem com o acesso à VPC, consulte Sobre políticas de acesso em domínios da VPC.

Para configurar políticas de acesso (console)

  1. Acesse https://aws.amazon.com e escolha Sign In to the Console.

  2. Em Análise, escolha Elasticsearch Service.

  3. No painel de navegação, em My domains, escolha o domínio que você deseja atualizar.

  4. Escolha Ações e Modificar política de acesso.

  5. Edite a política de acesso JSON ou use a lista suspensa para escolher uma opção pré-configurada.

  6. Selecione Enviar.

Opções avançadas

Use as opções avançadas para configurar o seguinte:

rest.action.multi.allow_explicit_index

Especifica se são permitidas referências explícitas aos índices dentro do corpo das solicitações HTTP. A definição dessa propriedade como false impede que os usuários ignorem o controle de acesso para sub-recursos. Por padrão, o valor é true. Para obter mais informações, consulte Opções avançadas e considerações sobre API.

indices.fielddata.cache.size

Especifica a porcentagem de espaço do heap do Java alocada a dados de campo. Por padrão, essa configuração é 20% do heap JVM.

nota

Muitos clientes consultam índices alternados diariamente. Recomendamos começar a realizar um teste de comparação comindices.fielddata.cache.sizeConfigurado como 40% do heap de JVM para a maioria desses casos de uso. Para índices muito grandes, talvez precise de um cache de dados de campo grande.

indices.query.bool.max_clause_count

Especifica o número máximo de cláusulas permitidas em uma consulta booliana no Lucene. O padrão é 1.024. Consultas que ultrapassam o número permitido de cláusulas geram o erro TooManyClauses. Para obter mais informações, consulte a documentação do Lucene.