Tutorial: uso de AWS Glue Connector for Elasticsearch - AWS Glue

Tutorial: uso de AWS Glue Connector for Elasticsearch

Elasticsearch es un motor de búsqueda y análisis popular y de código abierto para casos de uso como análisis de registros, monitoreo de aplicaciones en tiempo real y análisis de secuencias de clics. Puede usar OpenSearch como almacén de datos para sus trabajos de extracción, transformación y carga (ETL) si configura AWS Glue Connector for Elasticsearch en AWS Glue Studio. Este conector está disponible de forma gratuita en AWS Marketplace.

En este tutorial, mostraremos cómo conectarse a sus nodos de Amazon OpenSearch Service con un número mínimo de pasos.

Requisitos previos

Para utilizar este tutorial, debe disponer de lo siguiente:

  • Acceso a AWS Glue Studio

  • Acceso a un clúster de OpenSearch en AWS Cloud

  • (Opcional) acceso a AWS Secrets Manager.

Paso 1: (opcional) cree un secreto de AWS para la información del clúster de OpenSearch

Para almacenar y utilizar de forma segura su credencial de conexión, guarde su credencial en AWS Secrets Manager. La conexión utilizará más tarde en el tutorial el secreto que haya creado. Los pares clave-valor de credenciales se introducirán en AWS Glue Connector for Elasticsearch como opciones de conexión normales.

Para obtener más información acerca de los permisos mínimos, consulte Creación y administración de secretos con AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.

Para crear un secreto de AWS
  1. Inicie sesión en la consola de AWS Secrets Manager.

  2. En la página de introducción del servicio o en la página con la lista Secretos, elija Store a new secret (Almacenar un nuevo secreto).

  3. En la página Store a new secret (Almacenar un nuevo secreto), elija Other type of secret (Otro tipo de secreto). Esta opción indica que debe proporcionar la estructura y los detalles de su secreto.

  4. Agregue una Clave y un Valor para el nombre de usuario del clúster de OpenSearch. Por ejemplo:

    es.net.http.auth.user: usuario

  5. Seleccione + Add row (+ Agregar fila) e ingrese otro par clave-valor para la contraseña. Por ejemplo:

    es.net.http.auth.pass: contraseña

  6. Elija Siguiente.

  7. Escriba un nombre secreto. Por ejemplo: my-es-secret. Si lo desea, también puede escribir una descripción.

    Registre el nombre secreto, que se utilizará más adelante en este tutorial y, a continuación, elija Next (Siguiente).

  8. Elija Next (Siguiente) una vez más, y luego elija Store (Almacenar) para crear el secreto.

Siguiente paso

Paso 2: suscríbase al conector

Paso 2: suscríbase al conector

AWS Glue Connector for Elasticsearch está disponible de manera gratuita en AWS Marketplace.

Para suscribirse a AWS Glue Connector for Elasticsearch en AWS Marketplace
  1. Si aún no ha configurado su cuenta de AWS para utilizar License Manager, realice lo siguiente:

    1. Abra la consola de AWS License Manager en https://console.aws.amazon.com/license-manager.

    2. Elija Create customer managed license (Crear licencia administrada por el cliente).

    3. En la ventana IAM permissions (one-time setup) [Permisos de IAM (configuración única)], elija I grant AWS License Manager the required permissions (Concedo a Amazon License Manager los permisos necesarios), y, a continuación, elija Grant premissions (Conceder permisos).

      Si no ve esta ventana, ya ha configurado los permisos necesarios.

  2. Abra la consola de AWS Glue Studio en https://console.aws.amazon.com/gluestudio/.

  3. En la consola de AWS Glue Studio, expanda el ícono del menú ( 3 short, horizontal lines in a vertical stack ) y luego elija Connectors (Conectores) en el panel de navegación.

  4. En la página Connectors (Conectores), elija Go to AWS Marketplace (Ir a MKT).

  5. En AWS Marketplace, en la sección Buscar productos de AWS Glue Studio, ingrese AWS Glue Connector for Elasticsearch en el campo de búsqueda y, luego, presione Intro.

  6. Elija el nombre del conector, AWS Glue Connector for Elasticsearch.

  7. En la página de producto del conector, utilice las pestañas para ver información sobre el conector. Cuando esté listo para continuar, elija Continue to Subscribe (Continuar con la suscripción).

  8. Revise los términos de uso del software. Haga clic en Accept Terms (Aceptar términos).

  9. Cuando finalice el proceso de suscripción, verá una notificación: “Thank you for subscribing to this product! You can now configure your software.” (Gracias por suscribirse a este producto. Ahora puede configurar su software). Arriba del banner encontrará el botón Continue to Configuration (Continuar con la configuración). Elija Continuar con la configuración.

  10. Elija la opción Fulfillment (Ejecución) en la página Configure this software (Configurar este software). Puede elegir entre AWS Glue 1.0/2.0 o AWS Glue 3.0. A continuación, elija Continue to Launch (Continuar con el lanzamiento).

Siguiente paso

Paso 3: activar el conector en AWS Glue Studio y crear una conexión

Paso 3: activar el conector en AWS Glue Studio y crear una conexión

Después de elegir, Continue to Launch (Continuar con el lanzamiento), verá la página Launch this software (Lanzar este software) en AWS Marketplace. Se crea una conexión al utilizar el vínculo para habilitar el conector en AWS Glue Studio.

Para implementar el conector y crear una conexión en AWS Glue Studio
  1. En la página Launch this software (Lanzar este software) en la consola de AWS Marketplace, elija Usage Instructions (Instrucciones de uso), y luego elija el enlace en la ventana que aparece.

    Su navegador se redirige a la página Create marketplace connection (Crear conexión de marketplace) en la consola de AWS Glue Studio.

  2. Escriba un nombre para la conexión. Por ejemplo: my-es-connection.

  3. En la sección Connection access (Acceso a la conexión), para Connection credential type (Tipo de credenciales de conexión), elija User name and password (Nombre de usuario y contraseña).

  4. En AWS secret (Secreto de AWS), especifique el nombre de su secreto. Por ejemplo: my-es-secret.

  5. En la sección Network options (Opciones de red), ingrese la información de VPC para conectarse al clúster de OpenSearch.

  6. Seleccione Create connection and activate connector (Crear conexión y habilitar conector).

Siguiente paso

Paso 4: configurar un rol de IAM para el trabajo de ETL

Paso 4: configurar un rol de IAM para el trabajo de ETL

Al crear el trabajo de ETL de AWS Glue, se especifica un rol de AWS Identity and Access Management (IAM) que el trabajo utilizará. El rol debe conceder acceso a todos los recursos utilizados por el trabajo, incluido Amazon S3 (para cualquier origen, destino, script, archivos de controladores y directorios temporales) y también objetos de AWS Glue Data Catalog.

El rol de IAM asumido para el trabajo de ETL de AWS Glue también debe tener acceso al secreto que se creó en la sección anterior. De forma predeterminada, el rol administrado de AWS, AWSGlueServiceRole, no tiene acceso al secreto. Para configurar el control de acceso para sus secretos, consulte Autenticación y control de acceso de AWS Secrets Manager y Limitación de acceso a secretos específicos.

Para configurar un rol de IAM para su trabajo de ETL
  1. Configure los permisos descritos en Revise IAM los permisos necesarios para los ETL trabajos.

  2. Configure los permisos adicionales necesarios al utilizar conectores con AWS Glue Studio, como se describe en Permisos necesarios para utilizar conectores.

Siguiente paso

Paso 5: crear un trabajo que utilice la conexión OpenSearch

Paso 5: crear un trabajo que utilice la conexión OpenSearch

Después de crear un rol para su trabajo de ETL, puede crear un trabajo en AWS Glue Studio que utilice la conexión y el conector para Open Spark ElasticSearch.

Si su trabajo se ejecuta dentro de una Amazon Virtual Private Cloud (Amazon VPC), asegúrese de que la VPC esté configurada correctamente. Para obtener más información, consulte Configurar una VPC para su trabajo de ETL.

Para crear un trabajo que utilice Elasticsearch Spark Connector
  1. En AWS Glue Studio, elija Connectors (Conectores).

  2. En la lista Your connections (Sus conexiones) seleccione la conexión que acaba de crear y elija Create job (Crear el trabajo).

  3. En el editor visual de trabajos, elija el nodo Data source (Origen de datos). A la derecha, en la pestaña Data source properties - Connector (Propiedades del origen de datos: conector), configure información adicional para el conector.

    1. Seleccione Add schema (Agregar esquema) e ingrese el esquema del conjunto de datos en el origen de datos. Las conexiones no utilizan tablas almacenadas en Data Catalog, lo que significa que AWS Glue Studio no conoce el esquema de los datos. Debe proporcionar esta información del esquema en forma manual. Para obtener instrucciones sobre cómo utilizar el editor de esquemas, consulte Edición de esquema para un nodo de transformación personalizado.

    2. Expanda Connection options (Opciones de conexión).

    3. Seleccione Add new option (Agregar nueva opción) e ingrese la información necesaria para el conector que no se ingresó en el secreto de AWS:

      • es.nodes: https://<OpenSearch domain endpoint>

      • es.port: 443

      • path: test

      • es.nodes.wan.only: true

      Para obtener una explicación de estas opciones de conexión, consulte: https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html.

  4. Agregue un nodo de destino al gráfico.

    Su destino de datos puede ser Amazon S3 o puede usar información de AWS Glue Data Catalog o un conector para escribir datos en una ubicación diferente. Por ejemplo, puede utilizar una tabla del Data Catalog para escribir en una base de datos en Amazon RDS, o puede utilizar un conector como destino de datos para escribir en almacenes de datos que no son soportados de forma nativa en AWS Glue.

    Si elige un conector para el destino de datos, debe elegir una conexión creada para ese conector. Además, si el proveedor del conector lo requiere, debe agregar opciones para proporcionar información adicional al conector. Si utiliza una conexión que contiene información para un secreto de AWS, entonces no necesita proporcionar el nombre de usuario y la autenticación de contraseña en las opciones de conexión.

  5. Si lo desea, agregue orígenes de datos adicionales y uno o más nodos de transformación como se describe en Transformación de datos con transformaciones administradas de AWS Glue.

  6. Configure las propiedades del trabajo como se describe en Modificar las propiedades del trabajo, comenzando con el paso 3, y guarde el trabajo.

Siguiente paso

Paso 6: ejecutar el trabajo

Paso 6: ejecutar el trabajo

Después de guardar el trabajo, puede ejecutar el trabajo para realizar las operaciones de ETL.

Para ejecutar el trabajo creado para AWS Glue Connector for Elasticsearch
  1. Con la consola de AWS Glue Studio, en la página del editor visual, elija Run (Ejecutar).

  2. En el banner de éxito, elija Run details (Detalles de la ejecución), o puede elegir la pestaña Runs (Ejecuciones) del editor visual para ver información sobre la ejecución del trabajo.