Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Un pipeline est le mécanisme utilisé OpenSearch par Amazon Ingestion pour déplacer les données de leur source (d'où proviennent les données) vers leur récepteur (où les données sont acheminées). Dans OpenSearch Ingestion, le récepteur sera toujours un domaine Amazon OpenSearch Service unique, tandis que la source de vos données peut être des clients tels qu'Amazon S3, Fluent Bit ou le OpenTelemetry Collector.
Pour plus d'informations, consultez la section Pipelines
Prérequis et rôle requis IAM
Pour créer un pipeline d' OpenSearch ingestion, vous devez disposer des ressources suivantes :
-
Un IAM rôle qu' OpenSearch Ingestion assumera pour écrire sur le récepteur. Vous allez inclure ce rôle ARN dans la configuration de votre pipeline.
-
Un domaine de OpenSearch service ou une collection OpenSearch sans serveur servant de récepteur. Si vous écrivez sur un domaine, celui-ci doit exécuter la OpenSearch version 1.0 ou une version ultérieure, ou Elasticsearch 7.4 ou une version ultérieure. Le récepteur doit disposer d'une politique d'accès qui accorde les autorisations appropriées à votre rôle de IAM pipeline.
Pour obtenir des instructions sur la création de ces ressources, consultez les rubriques suivantes :
Note
Si vous écrivez sur un domaine qui utilise un contrôle d'accès précis, vous devez effectuer des étapes supplémentaires. Consultez Étape 3 : Cartographier le rôle du pipeline (uniquement pour les domaines qui utilisent un contrôle d'accès précis).
IAMAutorisations requises
OpenSearch L'ingestion utilise les IAM autorisations suivantes pour créer des pipelines :
-
osis:CreatePipeline
— Créez un pipeline. -
osis:ValidatePipeline
— Vérifiez si une configuration de pipeline est valide. -
iam:PassRole
— Transmettez le rôle de pipeline à OpenSearch Ingestion afin qu'elle puisse écrire des données dans le domaine. Cette autorisation doit porter sur la ressource de rôle du pipeline (ARNcelle que vous spécifiez pour l'sts_role_arn
option dans la configuration du pipeline), ou simplement*
si vous prévoyez d'utiliser des rôles différents dans chaque pipeline.
Par exemple, la politique suivante autorise la création d'un pipeline :
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Resource":"*",
"Action":[
"osis:CreatePipeline",
"osis:ListPipelineBlueprints",
"osis:ValidatePipeline"
]
},
{
"Resource":[
"arn:aws:iam::your-account-id
:role/pipeline-role
"
],
"Effect":"Allow",
"Action":[
"iam:PassRole"
]
}
]
}
OpenSearch L'ingestion inclut également une autorisation appeléeosis:Ingest
, qui est requise pour envoyer des demandes signées au pipeline à l'aide de Signature Version 4. Pour de plus amples informations, veuillez consulter Création d'un rôle d'ingestion.
Note
En outre, le premier utilisateur à créer un pipeline dans un compte doit disposer des autorisations nécessaires pour effectuer cette iam:CreateServiceLinkedRole
action. Pour plus d'informations, consultez la section ressource des rôles du pipeline.
Pour plus d'informations sur chaque autorisation, consultez la section Actions, ressources et clés de condition pour OpenSearch l'ingestion dans la référence d'autorisation de service.
Spécification de la version du pipeline
Lorsque vous configurez un pipeline, vous devez spécifier la version principale de Data Prepperversion
option dans la configuration de votre pipeline :
version: "2"
log-pipeline:
source:
...
Lorsque vous choisissez Create, OpenSearch Ingestion détermine la dernière version mineure disponible de la version principale que vous spécifiez et approvisionne le pipeline avec cette version. Par exemple, si vous spécifiez version:
"2"
que la dernière version prise en charge de Data Prepper est 2.1.1, OpenSearch Ingestion approvisionne votre pipeline avec la version 2.1.1. Nous n'affichons pas publiquement la version mineure que votre pipeline exécute.
Afin de mettre à niveau votre pipeline lorsqu'une nouvelle version majeure de Data Prepper est disponible, modifiez la configuration du pipeline et spécifiez la nouvelle version. Vous ne pouvez pas rétrograder un pipeline vers une version antérieure.
Note
OpenSearch Ingestion ne prend pas immédiatement en charge les nouvelles versions de Data Prepper dès leur sortie. Il y aura un certain décalage entre le moment où une nouvelle version sera accessible au public et le moment où elle sera prise en charge dans OpenSearch Ingestion. En outre, OpenSearch Ingestion peut explicitement ne pas prendre en charge complètement certaines versions majeures ou mineures. Pour obtenir la liste complète, consultez Versions de Data Prepper prises en charge.
Chaque fois que vous apportez une modification à votre pipeline qui lance un déploiement bleu/vert, OpenSearch Ingestion peut le mettre à niveau vers la dernière version mineure de la version majeure actuellement configurée dans le fichier de pipeline. YAML Pour plus d'informations, consultezDéploiements bleu/vert pour les mises à jour du pipeline. OpenSearch L'ingestion ne peut pas modifier la version principale de votre pipeline à moins que vous ne mettiez explicitement à jour l'version
option dans la configuration du pipeline.
Spécification du chemin d'ingestion
Pour les sources basées sur le pull, telles que le OTeltraçagepath
option supplémentaire dans votre configuration source. Le chemin est une chaîne telle que/log/ingest
, qui représente le URI chemin d'ingestion. Ce chemin définit le chemin URI que vous utilisez pour envoyer des données au pipeline.
Supposons, par exemple, que vous spécifiez le sous-pipeline d'entrée suivant pour un pipeline d'ingestion nommé logs
:
entry-pipeline:
source:
http:
path: "/my
/test_path
"
Lorsque vous ingérez des données dans le pipeline, vous devez spécifier le point de terminaison suivant dans la configuration de votre client :https://logs-
.abcdefgh
.us-west-2.osis.amazonaws.com/my
/test_path
Le chemin doit commencer par une barre oblique (/) et peut contenir les caractères spéciaux « - », « _ », « . ', et'/', ainsi que l'${pipelineName}
espace réservé. Si vous utilisez ${pipelineName}
(tel quepath:
"/${pipelineName}/test_path"
), la variable est remplacée par le nom du sous-pipeline associé. Dans cet exemple, ce serait le cashttps://logs.us-west-2.osis.amazonaws.com/
.entry-pipeline
/test_path
Création de pipelines
Cette section décrit comment créer des pipelines d' OpenSearch ingestion à l'aide de la console de OpenSearch service et du AWS CLI.
Pour créer un pipeline
-
Connectez-vous à la console Amazon OpenSearch Service à la https://console.aws.amazon.com/aos/maison
. -
Choisissez Pipelines dans le volet de navigation de gauche, puis choisissez Créer un pipeline.
-
Sélectionnez un pipeline vide ou choisissez un plan de configuration. Les plans incluent un fichier préconfiguré YAML et un fichier JSON de configuration pour divers cas d'utilisation courants. Pour de plus amples informations, veuillez consulter Utiliser des plans pour créer un pipeline.
Choisissez Select Blueprint.
-
Entrez un nom pour le pipeline.
-
(Facultatif) Choisissez Activer la mémoire tampon persistante. Une mémoire tampon persistante stocke vos données dans une mémoire tampon sur disque sur plusieurs disques. AZs Pour plus d'informations, consultez la section Mise en mémoire tampon persistante. Si vous activez la mémoire tampon persistante, sélectionnez la AWS Key Management Service clé pour chiffrer les données de la mémoire tampon.
-
Configurez la capacité minimale et maximale du pipeline dans Ingestion OpenSearch Compute Units (OCUs). Pour de plus amples informations, veuillez consulter Dimensionnement des pipelines.
-
Sous Configuration du pipeline, indiquez la configuration de votre pipeline au YAML format. Si vous utilisez un plan, la configuration est déjà préremplie, mais vous devez apporter quelques modifications.
Un seul fichier de configuration de pipeline peut contenir de 1 à 10 sous-pipelines. Chaque sous-pipeline est une combinaison d'une source unique, de zéro ou plusieurs processeurs et d'un seul récepteur. Pour OpenSearch l'ingestion, le récepteur doit toujours être un domaine OpenSearch de service. Pour obtenir la liste des options prises en charge, consultezPlug-ins et options pris en charge pour les pipelines OpenSearch Amazon Ingestion.
Note
Vous devez inclure l'
sts_role_arn
option dans chaque sous-pipeline. Le pipeline assume le rôle défini danssts_role_arn
pour signer les demandes adressées au domaine. Pour de plus amples informations, veuillez consulter Accorder aux OpenSearch pipelines Amazon Ingestion l'accès aux domaines.L'exemple de fichier de configuration suivant utilise la HTTP source et les plug-ins Grok pour traiter les données de journal non structurées et les envoyer à un domaine de OpenSearch service. Le sous-pipeline est nommé
log-pipeline
.version: "2" log-pipeline: source: http: path: "/log/ingest" processor: - grok: match: log: [ '%{
COMMONAPACHELOG
}' ] - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://search-my-domain
.us-east-1.es.amazonaws.com" ] index: "apache_logs" aws: sts_role_arn: "arn:aws:iam::123456789012
:role/{pipeline-role}
" region: "us-east-1
"Vous pouvez créer votre propre configuration de pipeline ou choisir Charger un fichier et importer une configuration existante pour un pipeline Data Prepper autogéré. Vous pouvez également utiliser un plan de configuration.
-
Après avoir configuré votre pipeline, choisissez Valider le pipeline pour confirmer que votre configuration est correcte. Si la validation échoue, corrigez les erreurs et relancez la validation.
-
Sous Configuration du réseau, choisissez VPCAccès ou Accès public. Si vous choisissez Public access (Accès public), passez à l'étape suivante. Si vous choisissez VPCl'accès, configurez les paramètres suivants :
Paramètre Description Gestion des terminaux Choisissez si vous souhaitez créer vous-même vos VPC points de terminaison ou laisser OpenSearch Ingestion les créer pour vous. La gestion des terminaux est par défaut celle des points de terminaison gérés par OpenSearch Ingestion.
VPC Choisissez l'ID du cloud privé virtuel (VPC) que vous souhaitez utiliser. Le pipeline VPC et doit être dans le même Région AWS.
Sous-réseaux Choisissez un ou plusieurs sous-réseaux. OpenSearch Le service placera un VPC point de terminaison et des interfaces réseau élastiques dans les sous-réseaux.
Groupes de sécurité Choisissez un ou plusieurs groupes VPC de sécurité qui permettent à l'application requise d'atteindre le pipeline d' OpenSearch ingestion sur les ports (80 ou 443) et les protocoles (HTTPouHTTPs) exposés par le pipeline.
VPCoptions de fixation Si votre source est un point de terminaison autogéré, associez votre pipeline à unVPC. Choisissez l'une des CIDR options proposées par défaut ou utilisez une option personnaliséeCIDR.
Pour de plus amples informations, veuillez consulter Configuration de l'accès VPC pour les pipelines Amazon Ingestion OpenSearch .
-
(Facultatif) Sous Tags, ajoutez une ou plusieurs balises (paires clé-valeur) à votre pipeline. Pour de plus amples informations, veuillez consulter Balisage des pipelines d'OpenSearchingestion Amazon.
-
(Facultatif) Sous Options de publication des journaux, activez la publication des journaux du pipeline sur Amazon CloudWatch Logs. Nous vous recommandons d'activer la publication des journaux afin de pouvoir résoudre plus facilement les problèmes liés au pipeline. Pour de plus amples informations, veuillez consulter Surveillance des journaux du pipeline.
-
Choisissez Suivant.
-
Vérifiez la configuration de votre pipeline et choisissez Create.
OpenSearch Ingestion exécute un processus asynchrone pour créer le pipeline. Une fois que l'état du pipeline est Active
atteint, vous pouvez commencer à ingérer des données.
La commande create-pipeline accepte la configuration du pipeline sous forme de chaîne ou dans un fichier .yaml. Si vous fournissez la configuration sous forme de chaîne, chaque nouvelle ligne doit être supprimée avec\n
. Par exemple, "log-pipeline:\n source:\n http:\n
processor:\n - grok:\n ...
L'exemple de commande suivant crée un pipeline avec la configuration suivante :
-
Minimum de 4 OCUs ingestions, maximum de 10 ingestions OCUs
-
Provisionné dans un cloud privé virtuel () VPC
-
Publication de journaux activée
aws osis create-pipeline \
--pipeline-name my-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
"
OpenSearch Ingestion exécute un processus asynchrone pour créer le pipeline. Une fois que l'état du pipeline est Active
atteint, vous pouvez commencer à ingérer des données. Pour vérifier l'état du pipeline, utilisez la GetPipelinecommande.
Pour créer un pipeline d' OpenSearch ingestion à l'aide de OpenSearch l'ingestionAPI, appelez l'CreatePipelineopération.
Une fois votre pipeline créé avec succès, vous pouvez configurer votre client et commencer à ingérer des données dans votre domaine OpenSearch de service. Pour de plus amples informations, veuillez consulter Intégration des pipelines OpenSearch Amazon Ingestion à d'autres services et applications.
Suivi de l'état de la création du pipeline
Vous pouvez suivre l'état d'un pipeline au fur et à mesure qu' OpenSearch Ingestion le provisionne et le prépare à ingérer des données.
Une fois que vous avez initialement créé un pipeline, celui-ci passe par plusieurs étapes car OpenSearch Ingestion le prépare à ingérer des données. Pour visualiser les différentes étapes de création du pipeline, choisissez le nom du pipeline pour voir sa page de paramètres du pipeline. Sous État, choisissez Afficher les détails.
Un pipeline passe par les étapes suivantes avant d'être disponible pour l'ingestion de données :
-
Validation — Validation de la configuration du pipeline. Lorsque cette étape est terminée, toutes les validations ont réussi.
-
Création d'un environnement : préparation et approvisionnement des ressources. Lorsque cette étape est terminée, le nouvel environnement de pipeline a été créé.
-
Déployer le pipeline : déploiement du pipeline. Lorsque cette étape est terminée, le pipeline a été déployé avec succès.
-
Vérifier l'état du pipeline : vérification de l'état du pipeline. Lorsque cette étape est terminée, tous les bilans de santé sont passés avec succès.
-
Activer le trafic — Permettre au pipeline d'ingérer des données. Lorsque cette étape est terminée, vous pouvez commencer à ingérer des données dans le pipeline.
Utilisez la get-pipeline-change-progresscommande pour vérifier l'état d'un pipeline. La AWS CLI demande suivante vérifie l'état d'un pipeline nommé my-pipeline
:
aws osis get-pipeline-change-progress \ --pipeline-name
my-pipeline
Réponse :
{
"ChangeProgressStatuses": {
"ChangeProgressStages": [
{
"Description": "Validating pipeline configuration",
"LastUpdated": 1.671055851E9,
"Name": "VALIDATION",
"Status": "PENDING"
}
],
"StartTime": 1.671055851E9,
"Status": "PROCESSING",
"TotalNumberOfStages": 5
}
}
Pour suivre l'état de la création du pipeline à l'aide de OpenSearch l'ingestionAPI, appelez l'GetPipelineChangeProgressopération.