Gestión de complementos personalizados en 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.

Gestión de complementos personalizados en Amazon OpenSearch Service

Al usar los complementos personalizados para OpenSearch Service, puedes ampliar la OpenSearch funcionalidad en áreas como el análisis del idioma, el filtrado personalizado, la clasificación y más, lo que te permite crear experiencias de búsqueda personalizadas. OpenSearch Se pueden desarrollar complementos personalizados ampliando la org.opensearch.plugins.Plugin clase y luego empaquetándola en un .zip archivo.

Amazon OpenSearch Service admite actualmente las siguientes extensiones de complementos:

  • AnalysisPlugin— Amplía la funcionalidad de análisis añadiendo, por ejemplo, analizadores personalizados, tokenizadores de caracteres o filtros para el procesamiento de texto.

  • SearchPlugin— Mejora las capacidades de búsqueda con tipos de consultas personalizados, algoritmos de similitud, opciones de sugerencias y agregaciones.

  • MapperPlugin— Le permite crear tipos de campos personalizados y sus configuraciones de mapeo OpenSearch, lo que le permite definir cómo se deben almacenar e indexar los diferentes tipos de datos.

  • ScriptPlugin— Permite añadir funciones de creación de secuencias de comandos personalizadas OpenSearch, por ejemplo, a las secuencias de comandos personalizadas para operaciones como la puntuación, la clasificación y la transformación de los valores de los campos durante la búsqueda o la indexación.

Puedes usar la consola de OpenSearch servicio o los comandos de API existentes para paquetes personalizados para cargar y asociar el complemento al clúster de Amazon OpenSearch Service. También puedes usar el DescribePackagescomando para describir todos los paquetes de tu cuenta y ver detalles como la OpenSearch versión y los detalles del error. OpenSearch El servicio valida el paquete de complementos para comprobar la compatibilidad de versiones, las vulnerabilidades de seguridad y las operaciones de complementos permitidas. Para obtener más información sobre los paquetes personalizados, consulte Importación y gestión de paquetes en Amazon OpenSearch Service.

OpenSearch versión y soporte Región de AWS

Los siguientes Regiones de AWS dominios de OpenSearch servicio que ejecutan la OpenSearch versión 2.15 admiten complementos personalizados:

  • Este de EE. UU. (Ohio) (us-east-2)

  • Este de EE. UU. (Norte de Virginia) (us-east-1)

  • Oeste de EE. UU. (Oregón) (us-west-2)

  • Asia-Pacífico (Mumbai) (ap-south-1)

  • Asia-Pacífico (Seúl) (ap-northeast-2)

  • Asia-Pacífico (Singapur) (ap-southeast-1)

  • Asia-Pacífico (Sídney) (ap-southeast-2)

  • Asia-Pacífico (Tokio) (ap-northeast-1)

  • Canadá (centro) (ca-central-1)

  • Europa (Fráncfort) (eu-central-1)

  • Europa (Irlanda) (eu-west-1)

  • Europa (Londres) (eu-west-2)

  • Europa (París) (eu-west-3)

  • América del Sur (São Paulo) (sa-east-1)

nota

Los complementos personalizados contienen código desarrollado por el usuario. Cualquier problema, incluido el incumplimiento del SLA, causado por un código desarrollado por el usuario no da derecho a los créditos del SLA. Para obtener más información, consulta Amazon OpenSearch Service: Acuerdo de nivel de servicio.

Cuotas de complementos

  • Puede crear hasta 25 complementos personalizados por región para cada cuenta.

  • El tamaño máximo sin comprimir de un complemento es 1 GB.

  • El número máximo de complementos que se pueden asociar con un solo dominio es 20. Esta cuota se aplica a todos los tipos de complementos combinados: opcionales, de terceros y personalizados.

  • Los complementos personalizados son compatibles con los dominios que ejecutan OpenSearch la versión 2.15 o posterior.

  • El archivo descriptor.properties para su complemento debe ser compatible con una versión de motor similar a 2.15.0 o cualquier versión 2.x.x, donde la versión de parche esté establecida en cero.

Requisitos previos

Antes de instalar un complemento personalizado y asociarlo a un dominio, asegúrese de que cumple los siguientes requisitos:

  • La versión de motor compatible con el complemento del archivo descriptor.properties debe ser similar a 2.15.0 o 2.x.0. Es decir, la versión del parche debe ser cero.

  • Las siguientes características deben estar habilitadas en su dominio:

Resolución de problemas

Si el sistema devuelve el error PluginValidationFailureReason : The provided plugin could not be loaded, consulte La instalación del complemento personalizado falla debido a la compatibilidad de las versiones para obtener información de solución de problemas.

Instalación de un complemento personalizado mediante la consola

Para asociar un complemento de terceros a un dominio, primero importe la licencia y la configuración del complemento como paquetes.

Para instalar un complemento personalizado
  1. Inicia sesión en la consola OpenSearch de Amazon Service desde https://console.aws.amazon.com/aos/casa.

  2. En el panel de navegación izquierdo, elija Paquetes.

  3. Seleccione Importar paquete.

  4. En Nombre, ingrese un nombre único y fácil de identificar para el complemento.

  5. (Opcional) En la descripción, proporciona cualquier detalle útil sobre el paquete o su propósito.

  6. En Tipo de paquete, elija Complemento.

  7. En Origen del paquete, ingrese la ruta o busque el archivo ZIP del complemento en Amazon S3.

  8. Para la versión OpenSearch del motor, elige la OpenSearch versión compatible con el plugin.

  9. Para el cifrado de paquetes, elija si desea personalizar la clave de cifrado del paquete. De forma predeterminada, OpenSearch Service cifra el paquete de complementos con un Clave propiedad de AWS. En su lugar, puede usar una clave administrada por el cliente.

  10. Seleccione Importar.

Después de importar el paquete de complementos, asócielo a un dominio. Para obtener instrucciones, consulte Para importar y asociar un paquete a un dominio.

Administrar complementos personalizados mediante el AWS CLI

Puedes utilizar el AWS CLI para gestionar una serie de tareas de complementos personalizados.

Instalación de un complemento personalizado mediante el AWS CLI

Antes de empezar

Antes de poder asociar un complemento personalizado con su dominio, debe cargarlo en un bucket de Amazon Simple Storage Service (Amazon S3). El depósito debe estar ubicado en el mismo Región de AWS lugar en el que pretendes utilizar el complemento. Para obtener información sobre cómo agregar un objeto a un bucket de S3, consulte Cargar objetos en la Guía del usuario de Amazon Simple Storage Service.

Si su complemento contiene información sensible, especifique el cifrado del lado del servidor con claves administradas por S3 al cargarlo. Después de cargar el archivo, tome nota de su ruta de S3. El formato de la ruta es s3://amzn-s3-demo-bucket/file-path/file-name.

nota

Si lo desea, puede proteger un complemento personalizado al crear el complemento especificando una clave AWS Key Management Service (AWS KMS). Para obtener información, consulte Crea o actualiza un complemento personalizado con una AWS KMS clave de seguridad.

Para instalar un complemento personalizado mediante el AWS CLI
  1. Cree un nuevo paquete para su complemento personalizado ejecutando el siguiente comando create-package, asegurándose de cumplir con los siguientes requisitos:

    • La ubicación del bucket y la clave debe apuntar al archivo .zip del complemento en un bucket de S3 de la cuenta en la que está ejecutando los comandos.

    • El bucket de S3 debe estar en la misma región en la que se está creando el paquete.

    • Solo se admiten archivos .zip para los paquetes ZIP-PLUGIN.

    • El contenido del archivo .zip debe seguir la estructura de directorios esperada por el complemento.

    • El valor de --engine-version debe estar en el formato OpenSearch_{MAJOR}.{MINOR}. Por ejemplo: OpenSearch_2.17.

    Sustitúyalo por tu propia información: placeholder values

    aws opensearch create-package \ --package-name package-name \ --region region \ --package-type ZIP-PLUGIN \ --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \ --engine-version opensearch-version
  2. (Opcional) Vea el estado de la operación create-package, incluidos los resultados de validación y las vulnerabilidades de seguridad, usando el comando describe-packages. Sustitúyalo por su propia información: placeholder values

    aws opensearch describe-packages \ --region region \ --filters '[{"Name": "PackageType","Value": ["ZIP-PLUGIN"]}, {"Name": "PackageName","Value": ["package-name"]}]'

    El comando devuelve información similar a la siguiente:

    {
        "PackageDetailsList": [{
            "PackageID": "pkg-identifier",
            "PackageName": "package-name",
            "PackageType": "ZIP-PLUGIN",
            "PackageStatus": "VALIDATION_FAILED",
            "CreatedAt": "2024-11-11T13:07:18.297000-08:00",
            "LastUpdatedAt": "2024-11-11T13:10:13.843000-08:00",
            "ErrorDetails": {
                "ErrorType": "",
                "ErrorMessage": "PluginValidationFailureReason : Dependency Scan reported 3 vulnerabilities for the plugin: CVE-2022-23307, CVE-2019-17571, CVE-2022-23305"
            },
            "EngineVersion": "OpenSearch_2.15",
            "AllowListedUserList": [],
            "PackageOwner": "OWNER-XXXX"
        }]
    }
    nota

    Durante la create-package operación, Amazon OpenSearch Service comprueba el ZIP-PLUGIN valor para comprobar la compatibilidad de versiones, las extensiones de complementos compatibles y las vulnerabilidades de seguridad. Las vulnerabilidades de seguridad se escanean mediante el servicio Amazon Inspector. Los resultados de estas verificaciones se muestran en el campo ErrorDetails de la respuesta de la API.

  3. Usa el comando associate-package para asociar el complemento al dominio de OpenSearch servicio que elijas utilizando el ID de paquete del paquete creado en el paso anterior.

    sugerencia

    Si tiene varios complementos, puede usar el comando associate-packages para asociar múltiples paquetes a un dominio en una sola operación.

    Sustitúyalo placeholder values por tu propia información:

    aws opensearch associate-package \ --domain-name domain-name \ --region region \ --package-id package-id
    nota

    El complemento se instala y desinstala utilizando un proceso de implementación azul/verde.

  4. (Opcional) Utilice el list-packages-for-domaincomando para ver el estado de la asociación. El estado de la asociación cambia a medida que el flujo de trabajo avanza de ASSOCIATING a ACTIVE. El estado de la asociación cambia a ACTIVE cuando se completa la instalación del complemento y el complemento está listo para su uso.

    Sustituya placeholder values por su propia información.

    aws opensearch list-packages-for-domain \ --region region \ --domain-name domain-name

Actualización de un complemento personalizado mediante el AWS CLI

Use el comando update-package para realizar cambios en un complemento.

nota

Si lo desea, puede proteger un complemento personalizado al actualizar el complemento especificando una clave AWS Key Management Service (AWS KMS). Para obtener información, consulte Crea o actualiza un complemento personalizado con una AWS KMS clave de seguridad.

Para actualizar un complemento personalizado mediante el AWS CLI
  • Ejecute el comando siguiente. Sustituya placeholder values por su propia información.

    aws opensearch update-package \ --region region \ --package-id package-id \ --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \ --package-description description

Después de actualizar un paquete, puede usar el comando associate-package o associate-packages para aplicar las actualizaciones del paquete a un dominio.

nota

Puede auditar, crear, actualizar, asociar y desasociar operaciones en el complemento mediante AWS CloudTrail. Para obtener más información, consulte Supervisar las llamadas a la API de Amazon OpenSearch Service con AWS CloudTrail.

Crea o actualiza un complemento personalizado con una AWS KMS clave de seguridad

Puede proteger un complemento personalizado al crearlo o actualizarlo especificando una clave AWS KMS . Para lograr esto, configure PackageEncryptionOptions en true y especifique el Nombre de recurso de Amazon (ARN) de la clave, como se muestra en los siguientes ejemplos.

Ejemplo: crea un complemento personalizado con una AWS KMS clave de seguridad

aws opensearch create-package \ --region us-east-2 --package-name my-custom-package \ --package-type ZIP-PLUGIN \ --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key --engine-version OpenSearch_2.15 "PackageConfigOptions": { ... } "PackageEncryptionOptions": { "Enabled": true, "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE" }

Ejemplo: actualizar un complemento personalizado con AWS KMS claves de seguridad

aws opensearch update-package \ --region us-east-2 --package-name my-custom-package \ --package-type ZIP-PLUGIN \ --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key --engine-version OpenSearch_2.15 "PackageConfigOptions": { ... } "PackageEncryptionOptions": { "Enabled": true, "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE" }
importante

Si la AWS KMS clave que especificas está deshabilitada o eliminada, el clúster asociado puede dejar inoperativo.

Para obtener más información sobre AWS KMS la integración con paquetes personalizados,AWS KMS Integración de paquetes personalizados de Amazon OpenSearch Service.

Actualizar un dominio de OpenSearch servicio con complementos personalizados a una versión posterior OpenSearch mediante el AWS CLI

Cuando necesite actualizar un dominio de OpenSearch servicio que utiliza complementos personalizados a una versión posterior de OpenSearch, complete los siguientes procesos.

Para actualizar un dominio de OpenSearch servicio con complementos personalizados a una versión posterior OpenSearch mediante el AWS CLI
  1. Usa el comando create-package para crear un paquete nuevo para tu complemento especificando la nueva OpenSearch versión.

    Asegúrese de que el nombre del paquete sea el mismo para el complemento en todas las versiones del motor. Si se cambia el nombre del paquete, se produce un error en el proceso de actualización del dominio durante la blue/green implementación.

  2. Actualice su dominio a una versión superior siguiendo los pasos que se indican en Actualización de los dominios OpenSearch de Amazon Service.

    Durante este proceso, Amazon OpenSearch Service desasocia la versión anterior del paquete de complementos e instala la nueva versión mediante un blue/green despliegue.

Desinstalar y ver el estado de disociación de un complemento personalizado

Para desinstalar el complemento de cualquier dominio, puede usar el comando dissociate-package. Al ejecutar este comando, también se eliminan todos los paquetes de configuración o licencias relacionados. A continuación, puede utilizar el list-packages-for-domaincomando para ver el estado de la disociación.

sugerencia

También puede usar el comando dissociate-packages para desinstalar varios complementos de un dominio en una sola operación.

Desinstalar y ver el estado de disociación de un complemento personalizado
  1. Deshabilita el complemento en todos los índices. Esto debe hacerse antes de disociar el paquete de complementos.

    Si intentas desinstalar un complemento antes de deshabilitarlo en todos los índices, el proceso de blue/green implementación permanece estancado en ese estado. Processing

  2. Ejecute el siguiente comando para desinstalar el complemento. Sustituya placeholder values por su propia información.

    aws opensearch dissociate-package \ --region region \ --package-id plugin-package-id \ --domain-name domain name
  3. (Opcional) Ejecuta el list-packages-for-domaincomando para ver el estado de la disociación.