Creación y administración de dominios de Amazon Elasticsearch Service - Amazon Elasticsearch Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación y administración de dominios de Amazon Elasticsearch Service

En este capítulo se describe cómo crear y administrar dominios de Amazon Elasticsearch ServiceAmazon ESUn dominio de Amazon ES es sinónimo de un clúster de Elasticsearch. Los dominios con clústeres con la configuración, los tipos de instancia, los recuentos de instancia y los recursos de almacenamiento que especifique.

A diferencia de las breves instrucciones del tutorial de introducción, este capítulo describe todas las opciones y proporciona información de referencia relevante. Puede completar cada procedimiento siguiendo las instrucciones para la Amazon ES consola de , la AWS Command Line Interface (AWS CLI) o la de SDKsAWS.

Creación de dominios de Amazon ES

En esta sección se describe cómo crear dominios de Amazon ES desde la consola de Amazon ES o mediante la AWS CLI con el comando create-elasticsearch-domain

Creación de dominios de Amazon ES (consola)

Use el siguiente procedimiento para crear un dominio de Amazon ES mediante la consola.

Para crear un dominio de Amazon ES (consola)

  1. Visite https://aws.amazon.com y seleccione Inicie sesión en la consola.

  2. En Analytics elija Elasticsearch Service.

  3. Elija Create a new domain (Crear un nuevo dominio).

  4. En Choose deployment type (Elegir tipo de implementación), elija la opción que mejor se adapte a la finalidad de su dominio:

    • Production (Producción): los dominios de producción utilizan Multi-AZ y nodos principales de dedicados para tener una mayor disponibilidad.

    • Development and testing (Desarrollo y pruebas): los dominios de desarrollo y pruebas utilizan una sola zona de disponibilidad.

    • Custom (Personalizado): los dominios personalizados permiten elegir entre todas las opciones de configuración.

    importante

    Los diversos tipos de implementación presentarán opciones distintas en las páginas siguientes. Estos pasos incluyen todas las opciones (el tipo de implementación Custom (Personalizado)).

  5. En Elasticsearch version (Versión de Elasticsearch), le recomendamos que elija la versión más reciente. Para obtener más información, consulte Versiones compatibles de Elasticsearch.

  6. Seleccione Siguiente.

  7. En Elasticsearch domain name (Nombre de dominio de Elasticsearch), escriba un nombre de dominio. El nombre debe cumplir los siguientes criterios:

    • Ser único en la cuenta y en la región

    • Comenzar por una letra minúscula.

    • Contener entre 3 y 28 caracteres.

    • Contener únicamente letras minúsculas a-z, números de 0-9 y un guion (-).

  8. Si desea utilizar un punto de enlace personalizado en lugar del estándar de https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com , elija Enable custom endpoint (Habilitar punto de enlace personalizado). A continuación, proporcione un nombre y un certificado. Para obtener más información, consulte Creación de un punto de enlace personalizado.

  9. En Availability Zones (Zonas de disponibilidad), seleccione 1-AZ, 2-AZ o 3-AZ. Para obtener más información, consulte Configuración de un dominio Multi-AZ.

  10. En Instance type (Tipo de instancia), elija un tipo de instancia para los nodos de datos. Para obtener más información, consulte Tipos de instancias admitidos.

    nota

    No todas las zonas de disponibilidad admiten todos los tipos de instancias. Si elige 3-AZ, le recomendamos que elija tipos de instancias de la generación actual, como R5 o I3

  11. En Number of nodes (Número de nodos), elija el número de nodos de datos.

    Para conocer los valores máximos, consulte Límites de instancias y clústeres. Los clústeres de un solo nodo son adecuados para desarrollo y pruebas, pero no deben utilizarse para cargas de trabajo de producción. Para obtener más información, consulte Determinación del tamaño de los dominios de Amazon ES y Configuración de un dominio Multi-AZ.

  12. En Data nodes storage type (Tipo de almacenamiento de los nodos de datos), seleccione Instance (Instancia), que es el valor predeterminado, o EBS.

    Para obtener instrucciones sobre cómo crear dominios especialmente grandes, consulte Escala de petabytes. Si elige EBS, aparecen las siguientes opciones:

    1. En EBS volume type (Tipo de volumen de EBS), elija un tipo de volumen de EBS.

      Si elige Provisioned IOPS (SSD) (IOPS provisionadas (SSD)) como tipo de volumen de EBS, en Provisioned IOPS (IOPS provisionadas), escriba el rendimiento de IOPS de referencia que desee. Para obtener más información, consulte Volúmenes de http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EBSVolumes.html Amazon EBS en la Amazon EC2 documentación de .

    2. En EBS storage size per node (Tamaño de almacenamiento de EBS por nodo), escriba el tamaño del volumen de EBS que desea asociar a cada nodo de datos.

      EBS volume size (Tamaño de volumen de EBS) es por cada nodo. Puede calcular el tamaño total del clúster del dominio de Amazon ES multiplicando el número de nodos de datos por el tamaño del volumen de EBS. El tamaño mínimo y máximo de un volumen de EBS depende tanto del tipo de volumen de EBS especificado como del tipo de instancia al que se ha adjuntado. Para obtener más información, consulte las restricciones de tamaño del volumen de EBS.

  13. (Opcional) Habilite o deshabilite nodos principales dedicados. Los nodos principales dedicados aumentan la estabilidad de los clústeres y son necesarios en los dominios que tienen un número de instancias mayor de 10. Le recomendaos que utilice tres nodos principales dedicados en los dominios de producción.

    nota

    Puede seleccionar tipos de instancias diferentes para los nodos principales dedicados y los nodos de datos. Por ejemplo, para los nodos de datos, puede seleccionar instancias de uso general u optimizadas para el almacenamiento y, para los nodos principales dedicados, instancias optimizadas para computación.

  14. (Opcional) Para habilitar el UltraWarm almacenamiento, elija Enable data nodes (UltraWarmHabilitar nodos de datos). Cada tipo de instancia tiene una cantidad máxima de almacenamiento que puede abordar. Multiplique esa cantidad por el número de nodos de datos templados para obtener el almacenamiento templado total a disposición.

  15. (Opcional) Para los dominios que ejecutan Elasticsearch 5.3 y versiones posteriores, la hora de inicio de la instantánea automatizada no tiene ningún efecto. Para obtener más información sobre las instantáneas automatizadas, consulte Creación de instantáneas de Amazon ES índice.

  16. (Opcional) Elija Optional Elasticsearch cluster settings (Configuración opcional del clúster de Elasticsearch). Para obtener un resumen de estas opciones, consulte Opciones avanzadas.

  17. Seleccione Siguiente.

  18. En la sección Network configuration (Configuración de red), seleccione VPC access (Acceso VPC) o Public access (Acceso público). Si elige Public access (Acceso público), vaya al siguiente paso. Si elige VPC access (Acceso mediante VPC), asegúrese de que cumple los requisitos previos y, a continuación, haga lo siguiente:

    1. En VPC, elija el ID de la VPC que desea utilizar.

      nota

      La VPC y el dominio deben estar en la misma AWS región de y debe seleccionar una VPC con la tenencia establecida en Default (Predeterminada). aún Amazon ES no admite VPCs que utilice tenencia dedicada.

    2. En Subnet (Subred), elija una subred. Si ha habilitado Multi-AZ, debe elegir dos o tres subredes. Amazon ES situará un punto de enlace de la VPC e interfaces de red elásticas en las subredes.

      nota

      Debe reservar suficientes direcciones IP en la subred (o las subredes) para las interfaces de red. Para obtener más información, consulte Reserva de direcciones IP en una subred de una VPC.

    3. En Security groups (Grupos de seguridad), elija los grupos de seguridad de VPC que necesitan obtener acceso al Amazon ES dominio. Para obtener más información, consulte Compatibilidad de las VPC con los dominios de Amazon Elasticsearch Service.

    4. En IAM role (Rol de IAM), mantenga el rol predeterminado. Amazon ES utiliza este rol predefinido (también conocido como rol vinculado a servicios) para obtener acceso a la VPC y para colocar un punto de enlace de la VPC y las interfaces de red en la subred de la VPC. Para obtener más información, consulte Roles vinculados a servicios para el acceso mediante VPC.

  19. En la sección Fine-grained access control (Control de acceso preciso), habilite o deshabilite el control de acceso preciso:

    • Si desea utilizar IAM para la administración de usuarios, elija Set IAM role as master user (Establecer rol de IAM como usuario maestro) y especifique el ARN de un rol de IAM.

    • Si desea utilizar la base de datos de usuarios interna, elija Create a master user (Crear un usuario maestro) y especifique un nombre de usuario y una contraseña.

    Independientemente de la opción que elija, el usuario maestro puede obtener acceso a todos los índices del clúster y a todos los Elasticsearch APIs. Para obtener instrucciones sobre qué opción elegir, consulte Conceptos clave.

    Si deshabilita el control de acceso preciso, puede controlar el acceso a su dominio colocándolo dentro de una VPC, aplicando una política de acceso restrictiva o usando ambas opciones. Debe habilitar el cifrado de nodo a nodo y el cifrado en reposo para utilizar el control de acceso preciso.

  20. (Opcional) Si desea utilizar la autenticación SAML para Kibana, elija Prepare SAML authentication (Preparar autenticación SAML). Una vez que el dominio esté disponible, consulte Autenticación SAML para Kibana para ver otros pasos.

  21. (Opcional) Si desea utilizar Amazon Cognito la autenticación de para Kibana, elija Enable authentication (Amazon CognitoHabilitar autenticación).

    1. Elija el grupo de usuarios y de identidades de Amazon Cognito que desea utilizar para la autenticación de Kibana. Para obtener orientación sobre cómo crear estos recursos, consulte Amazon CognitoAutenticación de para Kibana.

  22. En Domain access policy (Política de acceso de dominio), añada las direcciones IP ARNs o que desee o elija una política preconfigurada en la lista desplegable. Para obtener más información, consulte Administración de identidad y acceso en Amazon Elasticsearch Service y Acerca de las políticas de acceso en los dominios de VPC.

    nota

    Si eligió VPC access (Acceso VPC) en el paso 18, las políticas basadas en IP están prohibidas. En su lugar, puede utilizar grupos de seguridad para controlar qué direcciones IP pueden obtener acceso al dominio. Para obtener más información, consulte Acerca de las políticas de acceso en los dominios de VPC.

  23. (Opcional) Para exigir que todas las solicitudes al dominio lleguen a través de HTTPS, seleccione la casilla Require HTTPS for all traffic to the domain (Solicitar HTTPS para todo el tráfico al dominio).

  24. (Opcional) Para habilitar el cifrado de nodo a nodo, seleccione la casilla Node-to-node encryption (Cifrado de nodo a nodo). Para obtener más información, consulte Cifrado de nodo a nodo para Amazon Elasticsearch Service.

  25. (Opcional) Para habilitar el cifrado de datos en reposo, seleccione la casilla Enable encryption of data at rest (Habilitar cifrado de datos en reposo).

    Seleccione (Default) aws/es para que Amazon ES cree una clave de cifrado de KMS en su nombre (o utilice la que ya ha creado). De lo contrario, elija su propia clave de cifrado de KMS en el menú KMS master key (Clave maestra de KMS). Para obtener más información, consulte Cifrado de datos en reposo para Amazon Elasticsearch Service.

  26. Seleccione Siguiente.

  27. En la página Review (Revisar), revise la configuración de su dominio y seleccione Confirm (Confirmar).

Creación de dominios de Amazon ESAWS CLI)

En lugar de crear un dominio de Amazon ES mediante la consola, puede utilizar la AWS CLI. Para obtener información sobre la sintaxis, consulte Amazon Elasticsearch Service en la referencia de comandos de la CLI de AWS.

Comandos de ejemplo

Este primer ejemplo ilustra la siguiente configuración de un dominio de Amazon ES

  • Crea un Amazon ES dominio de llamado mylogs con Elasticsearch la versión 5.5 de .

  • Rellena el dominio con dos instancias del tipo m4.large.elasticsearch

  • Utiliza un volumen de EBS de disco GiB magnético de 100 para el almacenamiento de cada nodo de datos

  • Permite el acceso anónimo, pero solo desde una única dirección IP: 192.0.2.0/32

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

El próximo ejemplo ilustra la siguiente configuración de un dominio de Amazon ES

  • Crea un Amazon ES dominio de llamado mylogs con Elasticsearch la versión 5.5 de .

  • Rellena el dominio con seis instancias del tipo m4.large.elasticsearch

  • Utiliza un volumen de EBS de uso GiB general (SSD) de 100 para el almacenamiento de cada nodo de datos

  • Restringe el acceso al servicio a un solo usuario, identificado por el ID de cuenta de AWS del usuario: 555555555555

  • Distribuye las instancias entre tres zonas de disponibilidad.

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 5.5 --elasticsearch-cluster-config InstanceType=m4.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/*" } ] }'

El próximo ejemplo ilustra la siguiente configuración de un dominio de Amazon ES

  • Crea un Amazon ES dominio de llamado mylogs con Elasticsearch la versión 5.5 de .

  • Rellena el dominio con diez instancias del tipo m4.xlarge.elasticsearch

  • Rellena el dominio con tres instancias del tipo m4.large.elasticsearch que actuarán como nodos principales dedicados.

  • Utiliza un volumen de EBS de 100 IOPS GiB provisionadas para el almacenamiento, configurado con un rendimiento de referencia de 1000 IOPS para cada nodo de datos

  • Restringe el acceso a un único usuario y a un único subrecurso, la API _search

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 5.5 --elasticsearch-cluster-config InstanceType=m4.xlarge.elasticsearch,InstanceCount=10,DedicatedMasterEnabled=true,DedicatedMasterType=m4.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

Si intenta crear un dominio de Amazon ES y un dominio con el mismo nombre ya existe, la CLI no mostrará ningún error. En su lugar, muestra los detalles sobre el dominio existente.

Creación de Amazon ES dominios de (AWS SDKs)

AWS SDKs (excepto el de Android e SDKsiOS) admite todas las acciones definidas en la Referencia de la API de Amazon ES configuración de , incluido CreateElasticsearchDomain. Para obtener código de muestra, consulte Uso de los SDK de AWS con Amazon Elasticsearch Service. Para obtener más información acerca de cómo instalar y usar AWS SDKs, consulte Kits de desarrollo de software de AWS.

Configuración de políticas de acceso

Amazon Elasticsearch Service ofrece varias maneras de configurar el acceso a sus dominios de Amazon ES Para obtener más información, consulte Administración de identidad y acceso en Amazon Elasticsearch Service y Control de acceso preciso en Amazon Elasticsearch Service.

La consola proporciona políticas de acceso preconfiguradas que puede personalizar según las necesidades específicas de su dominio. También puede importar políticas de acceso de otros dominios de Amazon ES Para obtener información sobre cómo interactúan estas políticas de acceso con el acceso de las VPC, consulte Acerca de las políticas de acceso en los dominios de VPC.

Para configurar políticas de acceso (consola)

  1. Visite https://aws.amazon.com y seleccione Inicie sesión en la consola.

  2. En Analytics elija Elasticsearch Service.

  3. En el panel de navegación, en My domains (Mis dominios), elija el dominio que desea actualizar.

  4. Elija Actions (Acciones) y Modify access policy (Modificar política de acceso).

  5. Edite la política de acceso JSON, o utilice la lista desplegable para elegir una opción preconfigurada.

  6. Elija Submit.

Opciones avanzadas

Use opciones avanzadas para configurar lo siguiente:

rest.action.multi.allow_explicit_index

Especifica si se permiten referencias explícitas a índices en el cuerpo de las solicitudes HTTP. Al configurar esta propiedad en false se evita que los usuarios eludan el control de acceso para subrecursos. De forma predeterminada, el valor es true. Para obtener más información, consulte Opciones avanzadas y consideraciones de API.

indices.fielddata.cache.size

Especifica el porcentaje de espacio de montón de Java que se asignará a datos de campos. De forma predeterminada, este valor es el 20 % del montón de JVM.

nota

Muchos clientes consultan índices diarios en rotación. Le recomendamos que empiece a realizar pruebas de referencia con el valor indices.fielddata.cache.size configurado en un 40% del montón de JVM para la mayoría de estos casos de uso. Para índices muy grandes, es posible que necesite una caché de datos de campos de gran tamaño.

indices.query.bool.max_clause_count

Especifica el número máximo de cláusulas permitidas en una consulta de Lucene con operadores booleanos. El valor predeterminado es 1,024. Las consultas que superen el número máximo permitido de cláusulas provocarán un error TooManyClauses Para obtener más información, consulte la documentación de Lucene.