Solución de problemas de Amazon OpenSearch Service - OpenSearch Servicio Amazon

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.

Solución de problemas de Amazon OpenSearch Service

En este tema se describe cómo identificar y resolver problemas comunes OpenSearch de Amazon Service. Consulte la información de esta sección antes de ponerse en contacto con el Soporte de AWS.

¿No puedes acceder a los OpenSearch paneles

El punto final de OpenSearch Dashboards no admite solicitudes firmadas. Si la política de control de acceso del dominio solo concede acceso a determinados roles de IAM y no se ha configurado la autenticación de Amazon Cognito, es posible que aparezca el siguiente error cuando se intente acceder a Dashboards:

"User: anonymous is not authorized to perform: es:ESHttpGet"

Si tu dominio de OpenSearch servicio usa el acceso a la VPC, es posible que no recibas este error, pero puede que se agote el tiempo de espera de la solicitud. Para obtener más información acerca de cómo solucionar este problema y las distintas opciones de configuración disponibles Controlar el acceso a los paneles OpenSearch , consulte Acerca de las políticas de acceso a VPC los dominios y Identity and Access Management en Amazon OpenSearch Service.

No se puede obtener acceso al dominio de VPC

Consulte Acerca de las políticas de acceso a VPC los dominios y Probar dominios VPC.

Clúster en estado de solo lectura

En comparación con las versiones anteriores de Elasticsearch OpenSearch y Elasticsearch 7. x utilizan un sistema diferente para la coordinación de clústeres. En este nuevo sistema, cuando el clúster pierde quórum, el clúster no estará disponible hasta que realice alguna acción. La pérdida de quórum puede adoptar dos formas:

  • Si el clúster utiliza nodos principales dedicados, la pérdida de cuórum se produce cuando la mitad o más no están disponibles.

  • Si el clúster no utiliza nodos principales dedicados, la pérdida de cuórum se produce cuando la mitad o más de los nodos de datos no están disponibles.

Si se produce una pérdida de quórum y el clúster tiene más de un nodo, OpenSearch Service restaura el quórum y coloca el clúster en un estado de solo lectura. Dispone de dos opciones para hacerlo:

Si prefiere utilizar el clúster tal y como está, verifique que el estado del clúster sea verde mediante la siguiente solicitud:

GET _cat/health?v

Si el estado del clúster es rojo, le recomendamos que restaure el clúster a partir de una instantánea. También puede consultar Estado rojo del clúster para ver los pasos de solución de problemas. Si el estado del clúster es verde, compruebe que todos los índices esperados estén presentes utilizando la siguiente solicitud:

GET _cat/indices?v

A continuación, ejecute algunas búsquedas para verificar que los datos esperados están presentes. Si es, puede eliminar el estado de solo lectura utilizando la siguiente solicitud:

PUT _cluster/settings { "persistent": { "cluster.blocks.read_only": false } }

Si se produce una pérdida de quórum y el clúster solo tiene un nodo, OpenSearch Service reemplaza el nodo y no coloca el clúster en un estado de solo lectura. De lo contrario, las opciones son las mismas: utilice el clúster tal y como está o restaure a partir de una instantánea.

En ambas situaciones, OpenSearch Service le envía dos eventos. AWS Health Dashboard El primero le informa de la pérdida de cuórum. El segundo ocurre después de que OpenSearch Service restablezca correctamente el quórum. Para obtener más información sobre el uso del AWS Health Dashboard, consulte la Guía del AWS Health usuario.

Estado rojo del clúster

Un estado de clúster rojo significa que al menos un fragmento principal y sus réplicas no están asignadas a un nodo. OpenSearch El servicio sigue intentando realizar instantáneas automatizadas de todos los índices, independientemente de su estado, pero las instantáneas fallan mientras persiste el estado del clúster rojo.

Las causas más comunes de un estado de clúster rojo son los nodos del clúster defectuosos y el bloqueo del OpenSearch proceso debido a una carga de procesamiento continua y pesada.

nota

OpenSearch El servicio almacena las instantáneas automatizadas durante 14 días, independientemente del estado del clúster. Por lo tanto, si el estado del clúster rojo persiste durante más de dos semanas, se eliminará la última instantánea automatizada correcta y podría perder permanentemente los datos del clúster. Si su dominio de OpenSearch servicio pasa a tener un estado de clúster rojo, AWS Support es posible que se ponga en contacto con usted para preguntarle si desea solucionar el problema usted mismo o si desea que el equipo de soporte lo ayude. Puedes configurar una CloudWatch alarma para que te avise cuando aparezca un estado de clúster rojo.

En última instancia, los fragmentos rojos causan clústeres rojos y los índices rojos causan fragmentos rojos. Para identificar los índices que causan el estado de clúster rojo, OpenSearch tiene algunas API útiles.

  • GET /_cluster/allocation/explain elige el primer fragmento no asignado que encuentra y explica por qué no se puede asignar a un nodo:

    { "index": "test4", "shard": 0, "primary": true, "current_state": "unassigned", "can_allocate": "no", "allocate_explanation": "cannot allocate because allocation is not permitted to any of the nodes" }
  • GET /_cat/indices?v muestra el estado, el número de documentos y el uso de disco de cada índice:

    health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open test1 30h1EiMvS5uAFr2t5CEVoQ 5 0 820 0 14mb 14mb green open test2 sdIxs_WDT56afFGu5KPbFQ 1 0 0 0 233b 233b green open test3 GGRZp_TBRZuSaZpAGk2pmw 1 1 2 0 14.7kb 7.3kb red open test4 BJxfAErbTtu5HBjIXJV_7A 1 0 green open test5 _8C6MIXOSxCqVYicH3jsEA 1 0 7 0 24.3kb 24.3kb

Eliminar los índices rojos es la forma más rápida de solucionar el estado rojo del clúster. En función del motivo por el que el clúster esté en rojo, puede escalar su dominio de OpenSearch servicio para utilizar tipos de instancias más grandes, más instancias o más almacenamiento basado en EBS e intentar recrear los índices problemáticos.

Si eliminar un índice problemático no es factible, puede restaurar una instantánea, eliminar documentos del índice, cambiar la configuración del índice, reducir el número de réplicas o eliminar otros índices para liberar espacio en el disco. El paso importante es resolver el estado del clúster rojo antes de volver a configurar el dominio de servicio. OpenSearch Volver a configurar un dominio con un estado rojo del clúster puede agravar el problema y el dominio podría quedarse bloqueado en el estado de configuración Processing (Procesando) hasta que se resuelva el estado.

Corrección automática de clústeres en rojo

Si el estado del clúster está en rojo continuo durante más de una hora, OpenSearch Service intentará corregirlo automáticamente redireccionando los fragmentos no asignados o restaurándolos a partir de instantáneas anteriores.

Si no corrige uno o más índices rojos y el estado del clúster permanece en rojo durante un total de 14 días, OpenSearch Service solo tomará medidas adicionales si el clúster cumple al menos uno de los siguientes criterios:

  • Tiene solo una zona de disponibilidad

  • No tiene nodos maestros dedicados

  • Contiene tipos de instancias de ráfaga (T2 o T3)

En este momento, si su clúster cumple uno de estos criterios, OpenSearch Service le enviará notificaciones diarias durante los próximos 7 días explicándole que si no corrige estos índices, se eliminarán todos los fragmentos no asignados. Si el estado del clúster sigue siendo rojo después de 21 días, OpenSearch Service eliminará los fragmentos no asignados (almacenamiento y procesamiento) de todos los índices rojos. Recibirá notificaciones en el panel de notificaciones de la consola de OpenSearch servicio para cada uno de estos eventos. Para obtener más información, consulte Eventos del estado del clúster.

Recuperación de una carga de procesamiento elevada continua

Para determinar si el estado rojo de un clúster se debe a una carga de procesamiento elevada continua en un nodo de datos, monitorice las siguientes métricas de clúster.

Métrica relevante Descripción Recuperación
JVM MemoryPressure

Especifica el porcentaje del montón de Java que se emplea para todos los nodos de datos de un clúster. Vea la estadística Máximo de esta métrica y busque caídas cada vez más pequeñas en la presión de memoria a medida que el recolector de elementos no utilizados de Java no consigue reclamar suficiente memoria. Probablemente, este patrón se deba a consultas complejas o a campos de datos de gran tamaño.

Los tipos de instancias x86 utilizan el recolector de basura Concurrent Mark Sweep (CMS), que se ejecuta junto a subprocesos de aplicaciones para que las pausas sigan siendo breves. Si CMS no puede obtener memoria suficiente durante sus recolecciones normales, desencadena una recolección de basura completa, lo que puede provocar pausas prolongadas de las aplicaciones y afectar a la estabilidad del clúster.

Los tipos de instancias Graviton basados en ARM utilizan el recolector de basura Garbage-First (G1), que es similar a CMS, pero utiliza pausas breves adicionales y desfragmentación del montón para reducir aún más la necesidad de recolecciones de basura completas.

En cualquier caso, si el uso de memoria sigue aumentando más de lo que el recolector de basura puede recuperar durante la recolección completa de elementos no utilizados, OpenSearch se bloquea y se produce un error de memoria insuficiente. En todos los tipos de instancias, una buena regla es mantener el uso por debajo del 80 %.

La API _nodes/stats/jvm ofrece un resumen útil sobre estadísticas de JVM, el uso del grupo de memoria e información de recolección de elementos no utilizados:

GET domain-endpoint/_nodes/stats/jvm?pretty

Establezca interruptores de memoria para la JVM. Para obtener más información, consulte JVM OutOfMemoryError.

Si el problema persiste, elimine los índices innecesarios, reduzca el número o la complejidad de las solicitudes al dominio, agregue instancias o utilice tipos de instancia más grandes.

CPUUtilization Especifica el porcentaje de recursos de CPU usados para los nodos de datos de un clúster. Consulte la estadística Máximo para esta métrica y busque un patrón continuo de uso elevado. Agregue nodos de datos o aumente el tamaño de los tipos de instancia de los nodos de datos existentes.
Nodos Especifica el número de nodos de un clúster. Vea la estadística Mínimo para esta métrica. Este valor fluctúa cuando el servicio implementa una nueva flota de instancias para un clúster. Agregue nodos de datos.

Estado amarillo del clúster

Un estado amarillo del clúster significa que los fragmentos principales de todos los índices están asignados a nodos de un clúster, pero los fragmentos de réplica de al menos un índice no lo están. Los clústeres de un solo nodo siempre se inicializan con un estado de clúster amarillo porque no hay ningún otro nodo al que OpenSearch Service pueda asignar una réplica. Para conseguir el estado verde del clúster, aumente el número de nodos. Para obtener más información, consulte Dimensionamiento de los dominios de Amazon OpenSearch Service.

Los clústeres de varios nodos pueden tener brevemente un estado de clúster amarillo después de crear un nuevo índice o después de un error de nodo. Este estado se resuelve automáticamente a medida que se OpenSearch replican los datos en todo el clúster. La falta de espacio en disco también puede causar el estado de clúster amarillo; el clúster sólo puede distribuir fragmentos de réplica si los nodos tienen espacio en disco para acomodarlos.

ClusterBlockException

Puede que reciba un error ClusterBlockException por los siguientes motivos.

Falta de espacio de almacenamiento disponible

Si uno o más nodos del clúster tienen un espacio de almacenamiento inferior al valor mínimo del 1) 20% del espacio de almacenamiento disponible o 2) 20 GiB de espacio de almacenamiento, las operaciones de escritura básicas, como añadir documentos y crear índices, pueden empezar a fallar. Cálculo de requisitos de almacenamientoproporciona un resumen de cómo OpenSearch Service utiliza el espacio en disco.

Para evitar problemas, supervise la FreeStorageSpace métrica en la consola de OpenSearch servicio y cree CloudWatch alarmas que se activen cuando FreeStorageSpace caiga por debajo de un umbral determinado. GET /_cat/allocation?vtambién proporciona un resumen útil de la asignación de particiones y el uso del disco. Para resolver los problemas relacionados con la falta de espacio de almacenamiento, amplíe su dominio de OpenSearch servicio para utilizar tipos de instancias más grandes, más instancias o más almacenamiento basado en EBS.

Presión alta de memoria de JVM

Cuando la MemoryPressure métrica de la JVM supera el 92% durante 30 minutos, OpenSearch Service activa un mecanismo de protección y bloquea todas las operaciones de escritura para evitar que el clúster alcance el estado rojo. Cuando la protección está activada, se produce un error ClusterBlockException en las operaciones de escritura, los nuevos índices no se pueden crear y se genera el error IndexCreateBlockException.

Cuando la MemoryPressure métrica de la JVM vuelve al 88% o menos durante cinco minutos, la protección se inhabilita y las operaciones de escritura en el clúster se desbloquean.

La presión alta de memoria de JVM puede deberse a picos en el número de solicitudes al clúster, asignaciones de particiones desequilibradas en los nodos, demasiadas particiones en un clúster, explosiones de mapeo de índices o datos de campo, o tipos de instancias que no pueden gestionar las cargas entrantes. También puede deberse al uso de agregaciones, comodines o intervalos de tiempo amplios en las consultas.

Para reducir el tráfico al clúster y resolver problemas de presión alta de memoria de JVM, pruebe una o más de las siguientes acciones:

  • Escale el dominio para que el tamaño máximo de la pila por nodo sea de 32 GB.

  • Reduzca el número de particiones mediante la eliminación de los índices antiguos o no utilizados.

  • Borre la memoria caché de datos con la Operación de la API de POST index-name/_cache/clear?fielddata=true. Tenga en cuenta que borrar la memoria caché puede interrumpir las consultas en curso.

En general, para evitar una presión alta de memoria de JVM en el futuro, siga estas prácticas recomendadas:

Error al migrar a multi-AZ con modo de espera

Se pueden producir los siguientes problemas al migrar un dominio existente a Multi-AZ con modo de espera.

Creación de un índice, una plantilla de índice o una política de ISM durante la migración de dominios sin modo de espera a dominios con modo de espera

Si crea un índice al migrar un dominio de Multi-AZ sin modo de espera a uno con modo de espera, y la plantilla de índice o la política de ISM no siguen las pautas de copia de datos recomendadas, esto puede provocar una incoherencia en los datos y es posible que la migración no se realice correctamente. Para evitar esta situación, cree el nuevo índice con un recuento de copias de datos (incluidos los nodos principales y las réplicas) que sea múltiplo de tres. Puede comprobar el progreso de la migración mediante la API de DescribeDomainChangeProgress. Si encuentra un error en el recuento de réplicas, corrija el error y, a continuación, póngase en contacto con Soporte de AWS para volver a intentar la migración.

Número incorrecto de copias de datos

Si no tiene el número correcto de copias de datos en su dominio, la migración a Multi-AZ con modo de espera fallará.

JVM OutOfMemoryError

OutOfMemoryError de una JVM significa normalmente que se ha alcanzado uno de los siguientes interruptores de la JVM.

Interruptor Descripción Propiedad de configuración del clúster
Interruptor principal Porcentaje total de memoria del montón de la JVM permitido para todos los interruptores. El valor predeterminado es 95 %. indices.breaker.total.limit
Interruptor de datos de campo Porcentaje de memoria del montón de la JVM permitido para cargar en memoria un único campo de datos. El valor predeterminado es 40%. Si carga datos con campos de gran tamaño, probablemente deba aumentar este límite. indices.breaker.fielddata.limit
Interruptor de solicitud Porcentaje de memoria del montón de la JVM permitido para las estructuras de datos que se usan para responder a una solicitud de servicio. El valor predeterminado es 60%. Si sus solicitudes de servicio implican el cálculo de agregaciones, es posible que deba aumentar este límite. indices.breaker.request.limit

Nodos de clúster defectuosos

Las instancias de Amazon EC2 pueden experimentar terminaciones y reinicios inesperados. Por lo general, el OpenSearch servicio reinicia los nodos por usted. Sin embargo, es posible que uno o más nodos de un OpenSearch clúster permanezcan en estado de error.

Para comprobar este estado, abre el panel de control de tu dominio en la consola OpenSearch de servicio. Vaya a la pestaña Estado del clúster y busque la métrica Nodos totales. Compruebe si el número de nodos que aparece es menor que el número que configuró para el clúster. Si la métrica indica que uno o varios nodos no funcionan durante más de un día, contacte con AWS Support.

También puedes configurar una CloudWatch alarma para que te avise cuando se produzca este problema.

nota

La métrica Nodos totales no es precisa durante los cambios en la configuración del clúster y durante el mantenimiento rutinario del servicio. Este es el comportamiento esperado. La métrica informará en breve del número correcto de nodos del clúster. Para obtener más información, consulte Realizar cambios de configuración en Amazon OpenSearch Service.

Para proteger sus clústeres de las terminaciones y reinicios inesperados de los nodos, cree al menos una réplica para cada índice de su dominio de OpenSearch servicio.

Límite máximo de fragmentos superado

OpenSearch así como 7. Las versiones x de Elasticsearch tienen una configuración predeterminada de no más de 1000 fragmentos por nodo. OpenSearch/Elasticsearch arroja un error si una solicitud, como la creación de un índice nuevo, provoca que superes este límite. Si detecta este error, dispone de varias opciones:

  • Añada más nodos de datos al clúster.

  • Aumente la configuración _cluster/settings/cluster.max_shards_per_node.

  • Utilice la API _shrink para reducir el número de fragmentos en el nodo.

Dominio atascado en estado de procesamiento

Tu dominio OpenSearch de servicio pasa al estado de «Procesamiento» cuando se encuentra en medio de un cambio de configuración. Al iniciar un cambio de configuración, el estado del dominio cambia a «Procesando», mientras que el OpenSearch Servicio crea un nuevo entorno. En el nuevo entorno, OpenSearch Service lanza un nuevo conjunto de nodos aplicables (como nodos de datos, maestros o UltraWarm). Una vez que finaliza la migración, se terminan los nodos más antiguos.

El clúster puede quedarse atascado en el estado “Processing” (Procesando) si se produce una de estas situaciones:

  • No se lanza un nuevo conjunto de nodos de datos.

  • La migración de particiones al nuevo conjunto de nodos de datos no se realiza correctamente.

  • La comprobación de validación ha fallado con errores.

Para ver los pasos de resolución detallados en cada una de estas situaciones, consulta ¿Por qué mi dominio de Amazon OpenSearch Service está atascado en el estado «Procesando»? .

Bajo balance de ráfaga EBS

OpenSearch El servicio le envía una notificación de consola cuando el saldo de ráfagas de EBS de uno de sus volúmenes de uso general (SSD) es inferior al 70% y una notificación de seguimiento si el saldo cae por debajo del 20%. Para solucionar este problema, puede escalar verticalmente el clúster o reducir las IOPS de lectura y escritura para que se pueda acreditar el balance de ráfaga. El balance de ráfagas se mantiene en 0 para los dominios con tipos de volúmenes gp3, así como para los dominios con volúmenes gp2 que tengan un tamaño de volumen superior a 1000 GiB. Para obtener más información, consulte Volúmenes de SSD de uso general (gp2). Puede monitorizar el saldo de ráfagas de EBS con la BurstBalance CloudWatch métrica.

No se pueden habilitar los registros de auditoría

Es posible que aparezca el siguiente error al intentar habilitar la publicación del registro de auditoría mediante la consola de OpenSearch servicio:

La política de acceso a los recursos especificada para el grupo de CloudWatch registros no concede permisos suficientes para que Amazon OpenSearch Service cree un flujo de registros. Compruebe la política de acceso a recursos.

Si detecta este error, compruebe que el resourceelemento de su política incluye el ARN del grupo de registro correcto. Si lo hace, siga estos pasos:

  1. Espere varios minutos.

  2. Actualice la página en el navegador web.

  3. Seleccione Seleccionar grupo existente.

  4. Para Grupo de registros existente, seleccione el grupo de registro que ha creado antes de recibir el mensaje de error.

  5. En la sección de políticas de acceso, seleccione Seleccionar política existente.

  6. Para Política existente, elija la política que ha creado antes de recibir el mensaje de error.

  7. Seleccione Habilitar.

Si el error persiste después de repetir el proceso varias veces, póngase en contacto con el servicio de Soporte de AWS.

No se puede cerrar el índice

OpenSearch El servicio admite la _closeAPI solo para las versiones 7.4 OpenSearch y posteriores de Elasticsearch. Si está usando una versión anterior está restaurando un índice desde una instantánea, puede eliminar el índice existente (antes o después de volver a indexarlo).

Verificaciones de licencias del cliente

Las distribuciones predeterminadas de Logstash y Beats incluyen una comprobación de la licencia de propiedad y no se conectan a la versión de código abierto de. OpenSearch Asegúrese de utilizar las distribuciones Apache 2.0 (OSS) de estos clientes con Service. OpenSearch

Limitación controlada de solicitudes

Si recibe errores persistentes de 403 Request throttled due to too many requests o 429 Too Many Requests, considere la posibilidad de escalar verticalmente. Amazon OpenSearch Service limita las solicitudes si la carga útil puede provocar que el uso de memoria supere el tamaño máximo del montón de Java.

No se puede usar SSH en nodo

No puedes usar SSH para acceder a ninguno de los nodos de tu OpenSearch clúster y no puedes modificarlos directamente. opensearch.yml En su lugar, usa la consola o los SDK para configurar tu dominio. AWS CLI También puedes especificar algunos ajustes a nivel de clúster mediante las API OpenSearch REST. Para obtener más información, consulta la referencia de la API de Amazon OpenSearch Service yOperaciones compatibles en Amazon OpenSearch Service.

Si necesitas más información sobre el rendimiento del clúster, puedes publicar registros de errores y registros lentos en CloudWatch.

Error de instantánea "No válido para la clase de almacenamiento del objeto"

OpenSearch Las instantáneas de servicio no son compatibles con la clase de almacenamiento S3 Glacier. Es posible que aparezca este error al intentar mostrar las instantáneas si el bucket de S3 incluye una regla de ciclo de vida que traslada los objetos a la clase de almacenamiento de S3 Glacier.

Si tiene que restaurar una instantánea desde el bucket, restaure los objetos de S3 Glacier, copie los objetos a un nuevo bucket y registre el nuevo bucket como repositorio de instantáneas.

Encabezado de host no válido

OpenSearch El servicio requiere que los clientes lo especifiquen Host en los encabezados de las solicitudes. Un valor de Host válido es el punto de enlace del dominio sin https://, como:

Host: search-my-sample-domain-ih2lhn2ew2scurji.us-west-2.es.amazonaws.com

Si recibes un Invalid Host Header error al realizar una solicitud, comprueba que tu cliente o proxy incluya el punto final del dominio del OpenSearch servicio (y no, por ejemplo, su dirección IP) en el Host encabezado.

Tipo de instancia M3 no válido

OpenSearch El servicio no permite añadir ni modificar instancias M3 a dominios existentes que estén ejecutando Elasticsearch OpenSearch o a versiones 6.7 o posteriores. Puede seguir utilizando instancias M3 con Elasticsearch 6.5 y versiones anteriores.

Recomendamos elegir un tipo de instancia más reciente. Para los dominios que ejecutan OpenSearch Elasticsearch 6.7 o versiones posteriores, se aplica la siguiente restricción:

  • Si el dominio existente no utiliza instancias M3, ya no podrá cambiar a ellas.

  • Si cambia un dominio existente de un tipo de instancia M3 a otro tipo de instancia, no puede volver a cambiar.

Las consultas activas dejan de funcionar después de habilitarlas UltraWarm

Cuando se habilita UltraWarm en un dominio, si no hay ninguna anulación previa de la search.max_buckets configuración, OpenSearch Service establece automáticamente el valor en 10000 para evitar que las consultas que consumen mucha memoria saturen los nodos calientes. Si tus consultas más frecuentes utilizan más de 10 000 cubos, es posible que dejen de funcionar cuando las habilites. UltraWarm

Como no puedes modificar esta configuración debido a la naturaleza gestionada de Amazon OpenSearch Service, necesitas abrir un caso de soporte para aumentar el límite. Los aumentos de límite no requieren una suscripción de premium support.

No se puede cambiar a una versión anterior después de una actualización

Las actualizaciones in situ son irreversibles, pero si se pone en contacto con AWS Support, pueden ayudarle a restaurar la instantánea automática previamente actualizada en un nuevo dominio. Por ejemplo, si actualizas un dominio de Elasticsearch 5.6 a 6.4, AWS Support puede ayudarte a restaurar la instantánea previa a la actualización en un nuevo dominio de Elasticsearch 5.6. Si ha realizado una instantánea manual del dominio original, puede realizar ese paso usted mismo.

Resumen necesario de dominios para todas las Regiones de AWS

El siguiente script utiliza el AWS CLI comando describe-regions de Amazon EC2 para crear una lista de todas las regiones en las que OpenSearch el servicio podría estar disponible. A continuación, llama a cada región list-domain-names:

for region in `aws ec2 describe-regions --output text | cut -f4` do echo "\nListing domains in region '$region':" aws opensearch list-domain-names --region $region --query 'DomainNames' done

Recibe el siguiente resultado para cada región:

Listing domains in region:'us-west-2'... [ { "DomainName": "sample-domain" } ]

Las regiones en las que el OpenSearch servicio no está disponible muestran el mensaje «No se ha podido conectar a la URL del punto final».

Error del navegador al usar los OpenSearch paneles

Su navegador incluye los mensajes de error del servicio en los objetos de respuesta HTTP cuando utiliza los paneles de control para ver los datos de su OpenSearch dominio de servicio. Puede usar las herramientas para desarrolladores que suele haber disponibles en los navegadores web, como el Modo desarrollador de Chrome, para ver los errores de servicio subyacentes y como ayuda en las tareas de depuración.

Para ver errores de servicio en Chrome
  1. Desde la barra del menú superior de Chrome, seleccione Ver, Desarrollador, Herramientas de desarrollador.

  2. Seleccione la pestaña Red.

  3. En la columna Estado, seleccione cualquier sesión HTTP que tenga un estado de 500.

Para ver errores de servicio en Firefox
  1. Desde el menú, seleccione Herramientas, Desarrollador de web, Red.

  2. Seleccione cualquier sesión HTTP que tenga un estado de 500.

  3. Seleccione la pestaña Respuesta para ver la respuesta de servicio.

Partición de nodos y sesgo de almacenamiento

El sesgo de partición de nodo es cuando uno o más nodos de un clúster tienen significativamente más particiones que los demás nodos. El sesgo de almacenamiento de nodo es cuando uno o más nodos de un clúster tienen mucho más almacenamiento (disk.indices) que los demás nodos. Si bien estas dos condiciones pueden ocurrir temporalmente, por ejemplo, cuando un dominio ha reemplazado un nodo y todavía le está asignando particiones, debe abordarlas si persisten.

Para identificar ambos tipos de sesgo, ejecute la operación de la API _cat/allocation y compare las entradas shards y disk.indices en la respuesta:

shards | disk.indices | disk.used | disk.avail | disk.total | disk.percent | host | ip | node 264 | 465.3mb | 229.9mb | 1.4tb | 1.5tb | 0 | x.x.x.x | x.x.x.x | node1 115 | 7.9mb | 83.7mb | 49.1gb | 49.2gb | 0 | x.x.x.x | x.x.x.x | node2 264 | 465.3mb | 235.3mb | 1.4tb | 1.5tb | 0 | x.x.x.x | x.x.x.x | node3 116 | 7.9mb | 82.8mb | 49.1gb | 49.2gb | 0 | x.x.x.x | x.x.x.x | node4 115 | 8.4mb | 85mb | 49.1gb | 49.2gb | 0 | x.x.x.x | x.x.x.x | node5

Si bien es normal que haya algún sesgo de almacenamiento, cualquier valor por encima del 10 % del promedio es significativo. Cuando la distribución de las particiones está sesgada, el uso de la CPU, la red y el ancho de banda del disco también puede verse sesgado. Debido a que una mayor cantidad de datos generalmente implica más operaciones de indexación y búsqueda, los nodos más pesados también tienden a ser los nodos con mayor carga de recursos, mientras que los nodos más livianos representan una capacidad infrautilizada.

Corrección: utilice recuentos de particiones que sean múltiplos del recuento de nodos de datos para garantizar que cada índice se distribuya de manera uniforme entre los nodos de datos.

Partición del índice y el sesgo de almacenamiento

El sesgo de partición del índice es cuando uno o más nodos contienen más particiones de un índice que los otros nodos. El sesgo de almacenamiento de índice es cuando uno o más nodos contienen una cantidad desproporcionadamente grande del almacenamiento total de un índice.

El sesgo del índice es más difícil de identificar que el sesgo del nodo porque requiere cierta manipulación de la salida de la API _cat/shards. Investigue el sesgo del índice si hay algún indicio de sesgo en las métricas de clúster o nodo. A continuación, se indican algunos indicios comunes del sesgo de índice:

  • Errores HTTP 429 que se producen en un subconjunto de nodos de datos

  • Colocación en cola de operaciones de búsqueda o índice desigual en los nodos de datos

  • Utilización desigual de la CPU o la pila de JVM en los nodos de datos

Corrección: utilice recuentos de particiones que sean múltiplos del recuento de nodos de datos para garantizar que cada índice se distribuya de manera uniforme entre los nodos de datos. Si sigues viendo que el almacenamiento de índices o los fragmentos están sesgados, es posible que tengas que forzar la reasignación de los fragmentos, lo que ocurre con cada despliegue en azul o verde de tu dominio de servicio. OpenSearch

Operación no autorizada tras seleccionar acceso a la VPC

Al crear un dominio nuevo mediante la consola de OpenSearch servicio, tiene la opción de seleccionar VPC o acceso público. Si seleccionas el acceso a la VPC, el OpenSearch servicio consulta la información de la VPC y produce un error si no tienes los permisos adecuados:

You are not authorized to perform this operation. (Service: AmazonEC2; Status Code: 403; Error Code: UnauthorizedOperation

Para poder realizar esta consulta, debe tener acceso a las operaciones ec2:DescribeVpcs, ec2:DescribeSubnets y ec2:DescribeSecurityGroups. Este requisito solo es para la consola. Si usa la AWS CLI para crear y configurar un dominio con un punto final de VPC, no necesita acceder a esas operaciones.

Bloqueo al cargar después de crear el dominio de la VPC

Después de crear un dominio que utiliza el acceso a la VPC, es posible que la operación Configuration state (esado de configuración) del dominio no pase del estado Loading (Cargando). Si se produce este problema, es probable que tengas AWS Security Token Service (AWS STS) deshabilitado en tu región.

Para añadir puntos de enlace de VPC a su VPC, el OpenSearch servicio debe asumir la función. AWSServiceRoleForAmazonOpenSearchService Por lo tanto, AWS STS debe estar habilitado para crear nuevos dominios que utilicen el acceso a la VPC en una región determinada. Para obtener más información sobre cómo habilitar y deshabilitar AWS STS, consulta la Guía del usuario de IAM.

Solicitudes denegadas a la API OpenSearch

Con la introducción del control de acceso basado en etiquetas para la OpenSearch API, es posible que empieces a ver errores de acceso denegado que antes no aparecían. Esto puede deberse a que una o más de sus políticas de acceso contienen Deny y utilizan la condición ResourceTag, y ahora se están respetando esas condiciones.

Por ejemplo, la política siguiente solo denegaba el acceso a la CreateDomain de la API de configuración, si el dominio tenía la etiqueta environment=production. Aunque la lista de acciones también incluye ESHttpPut, la declaración de denegación no se aplicó a esa acción ni a ninguna otra acción ESHttp*.

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "es:CreateDomain", "es:ESHttpPut" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/environment": [ "production" ] } } }] }

Con la incorporación de etiquetas para los métodos OpenSearch HTTP, una política de IAM basada en la identidad como la anterior provocará que se deniegue al usuario adjunto el acceso a la acción. ESHttpPut Anteriormente, en ausencia de validación de etiquetas, el usuario adjunto habría podido enviar solicitudes PUT.

Si empieza a ver errores de acceso denegado después de actualizar sus dominios al software de servicio R20220323 o posterior, compruebe las políticas de acceso basadas en identidad para ver si es así y actualícelas si es necesario para permitir el acceso.

No se puede conectar desde Alpine Linux

Alpine Linux limita el tamaño de respuesta de DNS a 512 bytes. Si intenta conectarse a su dominio de OpenSearch servicio desde la versión 3.18.0 o inferior de Alpine Linux, la resolución de DNS puede fallar si el dominio está en una VPC y tiene más de 20 nodos. Si utiliza una versión de Alpine Linux superior a la 3.18.0, debería poder resolver más de 20 hosts. Para obtener más información, consulte las notas de la versión de Alpine Linux 3.18.0.

Si su dominio está en una VPC, le recomendamos que utilice otras distribuciones de Linux, como Debian, Ubuntu, CentOS, Red Hat Enterprise Linux o Amazon Linux 2, para conectarse a él.

Hay demasiadas solicitudes de Search Backpressure

El control de admisión basado en la CPU es un mecanismo de control que limita de forma proactiva el número de solicitudes a un nodo en función de su capacidad actual, tanto en caso de incrementos orgánicos como de picos de tráfico. Las solicitudes excesivas devuelven un código de estado HTTP 429 “Demasiadas solicitudes” en caso de rechazo. Este error indica que los recursos del clúster son insuficientes, que las solicitudes de búsqueda consumen muchos recursos o que se ha producido un aumento imprevisto de la carga de trabajo.

Search Backpressure proporciona el motivo del rechazo, lo que puede ayudar a ajustar las solicitudes de búsqueda que consumen muchos recursos. En caso de picos de tráfico, recomendamos volver a intentarlo desde el lado del cliente, con un retroceso y una fluctuación exponenciales.

Error de certificado cuando se utiliza un SDK

Como AWS los SDK utilizan los certificados de CA de su ordenador, los cambios en los certificados de los AWS servidores pueden provocar errores de conexión si intenta utilizar un SDK. Los mensajes de error varían, pero suelen contener el siguiente texto:

Failed to query OpenSearch ... SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Puede evitar estos errores conservando los certificados de CA y el sistema up-to-date operativo de su equipo. Si detecta este problema en un entorno corporativo y no administra su propio equipo, es posible que deba pedir ayuda a un administrador con el proceso de actualización.

La siguiente lista muestra las versiones mínimas necesarias del sistema operativo y Java:

  • Las versiones de Microsoft Windows con actualizaciones instaladas a partir de enero de 2005 o fechas posteriores, contienen al menos uno de los CA necesarios en su lista de confianza.

  • Mac OS X 10.4 con Java para Mac OS X 10.4 Release 5 (febrero de 2007), Mac OS X 10.5 (octubre de 2007) y las versiones posteriores contienen al menos uno de los CA necesarios en su lista de confianza.

  • Red Hat Enterprise Linux 5 (marzo de 2007), 6 y 7 y CentOS 5, 6 y 7 contienen al menos uno de los CA necesarios en su lista de confianza predeterminada.

  • Java 1.4.2_12 (mayo de 2006), 5 Update 2 (marzo de 2005) y todas las versiones posteriores, incluido Java 6 (diciembre de 2006), 7 y 8, contienen al menos uno de los CA necesarios en su lista de confianza predeterminada.

Las tres entidades de certificación son:

  • Amazon Root CA 1

  • Starfield Services Root Certificate Authority - G2

  • Starfield Class 2 Certification Authority

Los certificados raíz de las dos primeras autoridades están disponibles en Amazon Trust Services, pero conservar el ordenador up-to-date es la solución más sencilla. Para obtener más información sobre certificados proporcionados por ACM, consulte Preguntas frecuentes sobre AWS Certificate Manager.

nota

Actualmente, los dominios de OpenSearch servicio de la región us-east-1 utilizan certificados de una autoridad diferente. Tenemos previsto actualizar la región para utilizar estas nuevas entidades de certificación en un futuro próximo.