Creación de canalizaciones de Amazon OpenSearch Ingestion
Una canalización es el mecanismo que Amazon OpenSearch Ingestion utiliza para mover los datos desde su origen (de donde provienen los datos) hasta su receptor (donde van los datos). En OpenSearch Ingestion, el receptor siempre será un único dominio de Amazon OpenSearch Service, mientras que la fuente de los datos podrían ser clientes como Amazon S3, Fluent Bit o el Recolector de OpenTelemetry.
Para más información, consulte Canalizaciones
Temas
Requisitos previos y rol de IAM requerido
Para crear una canalización de OpenSearch Ingestion, debe disponer de los siguientes recursos:
-
Un rol de IAM, llamado rol de canalización, que OpenSearch Ingestion asumirá para poder escribir en el receptor. Puede crear este rol con antelación o puede hacer que OpenSearch Ingestion lo cree automáticamente mientras crea la canalización.
-
Un dominio de OpenSearch Service o una colección de OpenSearch sin servidor que actúe como receptor. Si escribe a un dominio, debe ejecutar OpenSearch 1.0 o posterior, Elasticsearch 7.4 o posterior. El receptor debe tener una política de acceso que conceda los permisos adecuados a su rol de canalización de IAM.
Si desea obtener instrucciones para crear estos recursos, consulte los siguientes temas:
nota
Si escribe en un dominio que usa un control de acceso detallado, debe completar algunos pasos adicionales. Consulte Asignar el rol de canalización (solo para dominios que utilicen un control de acceso detallado).
Permisos de IAM necesarios
OpenSearch Ingestion utiliza los siguientes permisos de IAM para crear canalizaciones:
-
osis:CreatePipeline: Crear una canalización. -
osis:ValidatePipeline: Comprobar si la configuración de la canalización es válida. -
iam:CreateRoleyiam:AttachPolicy: haga que OpenSearch Ingestion cree automáticamente el rol de canalización por usted. -
iam:PassRole: transfiera el rol de canalización a OpenSearch Ingestion para que pueda escribir datos en el dominio. Este permiso debe estar en el recurso de rol de canalización, o simplemente coloque*si planea usar diferentes roles en cada canalización.
Por ejemplo, la siguiente política concede permiso para crear una canalización:
OpenSearch Ingestion también incluye un permiso denominado osis:Ingest, que es necesario para enviar solicitudes firmadas a la canalización mediante Signature Version 4. Para más información, consulte Creación de un rol de ingesta.
nota
Además, el primer usuario que cree una canalización en una cuenta debe tener permisos para realizar la acción iam:CreateServiceLinkedRole. Para más información, consulte recurso de rol de canalización.
Para obtener más información sobre cada permiso, consulte Acciones, recursos y claves de condición de OpenSearch Ingestion en la Referencia de autorizaciones de servicio.
Especificar la versión de la canalización
Al crear una canalización con el editor de configuración, debe especificar la versión principal de Data Prepperversion en la configuración de la canalización:
version: "2"log-pipeline: source: ...
Al elegir Crear, OpenSearch Ingestion determina la última versión secundaria disponible de la versión principal que especifique y aprovisiona la canalización con esa versión. Por ejemplo, si especifica version:
"2" y la última versión compatible de Data Prepper es la 2.1.1, OpenSearch Ingestion aprovisiona la canalización con la versión 2.1.1. No mostramos públicamente la versión secundaria que está ejecutando la canalización.
Para actualizar la canalización cuando haya disponible una nueva versión principal de Data Prepper, edite la configuración de la canalización y especifique la nueva versión. No puede cambiar una canalización a una versión anterior.
nota
OpenSearch Ingestion no admite inmediatamente las nuevas versiones de Data Prepper tan pronto como se lanzan. Habrá cierto retraso entre el momento en que una nueva versión esté disponible públicamente y el momento en que OpenSearch Ingestion la admita. Además, es posible que OpenSearch Ingestion no sea explícitamente compatible con determinadas versiones principales o secundarias. Para obtener una lista completa, consulte Versiones de Data Prepper admitidas.
Cada vez que realice un cambio en su canalización que inicie una implementación azul/verde, OpenSearch Ingestion puede actualizarla a la última versión secundaria de la versión principal que esté configurada actualmente en la canalización. Para obtener más información, consulte Implementaciones azul/verde para actualizaciones de canalización. OpenSearch Ingestion no puede cambiar la versión principal de la canalización a menos que actualice explícitamente la opción de version en la configuración de la canalización.
Especificación de la ruta de ingesta
Para las fuentes basadas en pull, como el rastreo de OTelpath adicional en la configuración de la fuente. La ruta es una cadena, por ejemplo/log/ingest, que representa la ruta del URI para la ingesta. Esta ruta define el URI que usa para enviar datos a la canalización.
Por ejemplo, supongamos que especifica la siguiente ruta para una canalización con un origen HTTP:
Al introducir datos de ingesta en la canalización, debe especificar el siguiente punto de conexión en la configuración de su cliente: https://.pipeline-name-abc123.us-west-2.osis.amazonaws.com/my/test_path
La ruta debe empezar con una barra (/) y puede contener los caracteres especiales '-', '_', '.' y '/', así como el marcador de posición ${pipelineName}. Si utiliza ${pipelineName} (por ejemplo /${pipelineName}/test_path), OpenSearch Ingestion reemplaza la variable con el nombre de la subcanalización asociada.
Creación de canalizaciones
Esta sección describe cómo crear canalizaciones de OpenSearch Ingestion mediante la consola de OpenSearch Service y la AWS CLI.
Para crear una canalización, inicie sesión en la consola de Amazon OpenSearch Service en https://console.aws.amazon.com/aos/home
Seleccione una canalización en blanco o elija un esquema de configuración. Los esquemas incluyen una canalización preconfigurada para una variedad de casos de uso comunes. Para obtener más información, consulte Uso de esquemas.
Elija Seleccionar esquema.
Configurar el origen
-
Si parte de una canalización vacía, seleccione un origen del menú desplegable. Los orígenes disponibles pueden incluir otros Servicios de AWS, OpenTelemetry o HTTP. Para obtener más información, consulte Integración de canalizaciones de Amazon OpenSearch Ingestion con otros servicios y aplicaciones.
-
En función del origen que elija, configure los ajustes adicionales correspondientes. Por ejemplo, para utilizar Amazon S3 como origen, debe especificar la URL de la cola de Amazon SQS de la canalización que recibe los mensajes. Para obtener una lista de complementos de origen compatibles y enlaces a su documentación, consulte Complementos y opciones compatibles para las canalizaciones de Amazon OpenSearch Ingestion.
-
Para algunos orígenes, debe especificar Opciones de red de origen. Seleccione Acceso a VPC o Acceso público. Si elige Acceso público, vaya al siguiente paso. Si elige Acceso a la VCP, configure los siguientes ajustes:
Opción Descripción Administración de puntos de conexión Elija si quiere crear los puntos de conexión en la nube privada virtual (VPC) o dejar que OpenSearch Ingestion los cree. La administración de puntos de conexión utiliza de forma predeterminada los puntos de conexión administrados por OpenSearch Ingestion.
de VPC Elija el ID de la VPC que desea utilizar. La VPC y la canalización deben estar en la misma Región de AWS.
Subredes Seleccione una o varias subredes. OpenSearch Service colocará un punto de conexión de VPC e interfaces de red elásticas en las subredes.
Grupos de seguridad Seleccione uno o más grupos de seguridad de VPC que permitan que la aplicación requerida llegue a la canalización de OpenSearch Ingestion en los puertos (80 o 443) y protocolos (HTTP o HTTPS) que expone la canalización.
Opciones de conexión de VPC Si el origen es un punto de conexión autoadministrado, conecte la canalización a una VPC. Elija una de las opciones de CIDR predeterminadas que se proporcionan o utilice un CIDR personalizado.
Para obtener más información, consulte Configuración del acceso a la VPC para canalizaciones de Amazon OpenSearch Ingestion.
-
Elija Siguiente.
Configurar el procesador
Agregue uno o más procesadores a su canalización. Los procesadores son componentes de una subcanalización que permiten filtrar, transformar y enriquecer los eventos antes de publicar los registros en el dominio o en el receptor de la colección. Para obtener una lista de los procesadores compatibles y los enlaces a su documentación, consulte Complementos y opciones compatibles para las canalizaciones de Amazon OpenSearch Ingestion.
Puede elegir Acciones y agregar lo siguiente:
-
Enrutamiento condicional: enruta los eventos a diferentes receptores en función de condiciones específicas. Para obtener más información, consulte Enrutamiento condicional
. -
Subcanalización : cada subcanalización es una combinación de un solo origen, cero o más procesadores y un único receptor. Solo una subcanalización puede tener un origen externo. Todas las demás deben tener orígenes que sean otras subcanalizaciones dentro de la configuración general de la canalización. Una única configuración de canalización puede contener de 1 a 10 subcanalizaciones.
Elija Siguiente.
Configurar el receptor
Seleccione el destino en el que la canalización publica los registros. Cada subcanalización debe contener al menos un receptor. Puede agregar un máximo de 10 receptores a una canalización.
Para los receptores de OpenSearch, configure los siguientes campos:
| Opción | Descripción |
|---|---|
| Nombre de la política de red (Solo receptores sin servidor) |
Si seleccionó una colección OpenSearch sin servidor, escriba un Nombre de política de red. OpenSearch Ingestion crea la política si no existe o la actualiza con una regla que otorga acceso al punto de conexión de VPC de la canalización y la colección. Para obtener más información, consulte Concesión de acceso a colecciones para canalizaciones de Amazon OpenSearch Ingestion. |
| Nombre de índice |
El nombre del índice al que la canalización envía los datos. OpenSearch Ingestion crea este índice si aún no existe. |
| Opciones de asignación de índices |
Elija cómo la canalización almacena e indexa los documentos y sus campos en el receptor de OpenSearch. Si selecciona Asignación dinámica, OpenSearch agrega campos automáticamente al indexar un documento. Si selecciona Personalizar asignación, ingrese una plantilla de asignación de índices. Para más información, consulte Plantillas de índices |
| Habilite DLQ |
Configure una cola de mensajes fallidos (DLQ) de Amazon S3 para la canalización. Para obtener más información, consulte Colas de mensajes fallidos. |
| Ajustes adicionales |
Configure las opciones avanzadas del receptor de OpenSearch. Para obtener más información, consulte Opciones de configuración |
Para agregar un receptor de Amazon S3, seleccione Agregar receptor y Amazon S3. Para obtener más información, consulte Amazon S3 como destino.
Elija Siguiente.
Configuración de la canalización
Configure los siguientes ajustes de canalización adicional:
| Opción | Descripción |
|---|---|
| Nombre de canalización |
Un nombre único para la canalización. |
| Búfer persistente |
Un búfer persistente almacena los datos en un búfer basado en disco en varias zonas de disponibilidad. Para obtener más información, consulte Almacenamiento en búfer persistente. Si habilita el búfer persistente, seleccione la clave AWS Key Management Service para cifrar los datos del búfer. |
| Capacidad de las canalizaciones |
La capacidad mínima y máxima de canalización en las unidades de cómputo (OCU) de Ingestion OpenSearch. Para obtener más información, consulte Escalado de canalizaciones en Amazon OpenSearch Ingestion. |
| Rol de canalización |
El rol de IAM que proporciona los permisos necesarios para que la canalización escriba en el receptor y lea desde orígenes basados en extracciones. Puede crear el rol usted mismo o dejar que OpenSearch Ingestion lo cree por usted en función del caso de uso seleccionado. Para obtener más información, consulte Configuración de roles y usuarios en Amazon OpenSearch Ingestion. |
| Etiquetas de |
Agregue una o más etiquetas a su canalización. Para obtener más información, consulte Etiquetado de canalizaciones de Amazon OpenSearch Ingestion. |
| Opciones de publicación de registros | Habilite la publicación de registros de canalizaciones en Registros de Amazon CloudWatch. Le recomendamos que habilite la publicación de registros para poder solucionar más fácilmente los problemas de la canalización. Para obtener más información, consulte Monitoreo de registros de canalización. |
Elija Siguiente, revise la configuración de la canalización y elija Crear canalización.
OpenSearch Ingestion ejecuta un proceso asíncrono para crear la canalización. Una vez que el estado de la canalización sea Active, puede empezar a incorporar datos.
El comando create-pipeline acepta la configuración de la canalización como una cadena o dentro de un archivo .yaml o .json. Si proporciona la configuración en forma de cadena, cada nueva línea debe ir acompañada de secuencias de escape \n. Por ejemplo: ., "log-pipeline:\n source:\n
http:\n processor:\n - grok:\n ...
El siguiente comando de ejemplo crea una canalización con la siguiente configuración:
-
Mínimo de 4 OCU de ingesta, máximo de 10 OCU de ingesta
-
Aprovisionada en una nube privada virtual (VPC)
-
Publicación de registros habilitada
aws osis create-pipeline \ --pipeline-namemy-pipeline\ --min-units 4 \ --max-units 10 \ --log-publishing-options IsLoggingEnabled=true,CloudWatchLogDestination={LogGroup="MyLogGroup"} \ --vpc-options SecurityGroupIds={sg-12345678,sg-9012345},SubnetIds=subnet-1212234567834asdf\ --pipeline-configuration-body "file://pipeline-config.yaml" \ --pipeline-role-arn arn:aws:iam::1234456789012:role/pipeline-role
OpenSearch Ingestion ejecuta un proceso asíncrono para crear la canalización. Una vez que el estado de la canalización sea Active, puede empezar a incorporar datos. Para comprobar el estado de la canalización, use el comando GetPipeline.
Para crear una canalización de OpenSearch Ingestion mediante la API de OpenSearch Ingestion, llame a la operación CreatePipeline.
Una vez que la canalización se haya creado correctamente, puede configurar su cliente y empezar a incorporar datos en su dominio de OpenSearch Service. Para más información, consulte Integración de canalizaciones de Amazon OpenSearch Ingestion con otros servicios y aplicaciones.
Seguimiento del estado de creación de la canalización
Puede realizar un seguimiento del estado de una canalización a medida que OpenSearch Ingestion la aprovisiona y la prepara para incorporar datos.
Después de crear inicialmente una canalización, esta pasa por varias etapas a medida que OpenSearch Ingestion la prepara para la ingesta de datos. Para ver las distintas etapas de creación de la canalización, seleccione el nombre de la canalización para ver la página de Configuración de la canalización. En Estado, seleccione Ver detalles.
Una canalización pasa por las siguientes etapas antes de estar disponible para incorporar datos:
-
Validación: se valida la configuración de la canalización. Cuando se complete esta etapa, todas las validaciones se han realizado correctamente.
-
Crear entorno: preparar y aprovisionar recursos. Cuando se complete esta etapa, se habrá creado el nuevo entorno de canalización.
-
Implementar canalización: implementar la canalización. Cuando se complete esta etapa, la canalización se habrá implementado correctamente.
-
Comprobar el estado de la canalización: comprobación del estado de la canalización. Cuando se complete esta etapa, todas las comprobaciones de estado se habrán aprobado.
-
Habilitar tráfico: permitir que la canalización incorpore datos. Cuando se complete esta etapa, puede empezar a incorporar datos a la canalización.
Use el comando get-pipeline-change-progress para comprobar el estado de una canalización. La siguiente solicitud de AWS CLI comprueba el estado de una canalización denominada my-pipeline:
aws osis get-pipeline-change-progress \ --pipeline-namemy-pipeline
Respuesta:
{ "ChangeProgressStatuses": { "ChangeProgressStages": [ { "Description": "Validating pipeline configuration", "LastUpdated": 1.671055851E9, "Name": "VALIDATION", "Status": "PENDING" } ], "StartTime": 1.671055851E9, "Status": "PROCESSING", "TotalNumberOfStages": 5 } }
Para realizar un seguimiento del estado de creación de la canalización mediante la API de OpenSearch Ingestion, llame a la operación GetPipelineChangeProgress.