Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tutorial: Inserimento di dati in una raccolta con Amazon Ingestion OpenSearch
Questo tutorial mostra come usare Amazon OpenSearch Ingestion per configurare una pipeline semplice e inserire dati in una raccolta Amazon Serverless. OpenSearch Una pipeline è una risorsa che Ingestion fornisce e gestisce. OpenSearch È possibile utilizzare una pipeline per filtrare, arricchire, trasformare, normalizzare e aggregare i dati per l'analisi e la visualizzazione a valle in Service. OpenSearch
Per un tutorial che dimostra come inserire dati in un dominio di servizio fornito, consulta. OpenSearch Tutorial: importazione di dati in un dominio utilizzando Amazon Ingestion OpenSearch
In questo tutorial completerai le seguenti fasi:
All'interno del tutorial, creerai le seguenti risorse:
-
Una pipeline denominata
ingestion-pipeline-serverless
-
Una raccolta denominata in
ingestion-collection
cui la pipeline scriverà -
Un IAM ruolo denominato
PipelineRole
che la pipeline assumerà per scrivere nella raccolta
Autorizzazioni richieste
Per completare questo tutorial, devi disporre delle IAM autorizzazioni corrette. L'utente o il ruolo devono avere una politica basata sull'identità allegata con le seguenti autorizzazioni minime. Queste autorizzazioni consentono di creare un ruolo pipeline (iam:Create*
), creare o modificare una raccolta () e lavorare con aoss:*
pipelines (). osis:*
Inoltre, è richiesta l'iam:PassRole
autorizzazione sulla risorsa del ruolo pipeline. Questa autorizzazione consente di passare il ruolo della pipeline a OpenSearch Ingestion in modo che possa scrivere dati nella raccolta.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Resource":"*", "Action":[ "osis:*", "iam:Create*", "aoss:*" ] }, { "Resource":[ "arn:aws:iam::
your-account-id
:role/PipelineRole" ], "Effect":"Allow", "Action":[ "iam:PassRole" ] } ] }
Fase 1: Creare il ruolo della pipeline
Innanzitutto, crea un ruolo che la pipeline assumerà per accedere al sink di raccolta OpenSearch Serverless. Includerai questo ruolo nella configurazione della pipeline più avanti in questo tutorial.
Per creare il ruolo della pipeline
-
Apri la AWS Identity and Access Management console all'indirizzo https://console.aws.amazon.com/iamv2/
. -
Scegli Politiche, quindi scegli Crea politica.
-
Seleziona JSONe incolla la seguente politica nell'editor. Modifica la raccolta ARN e il nome di conseguenza.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:BatchGetCollection", "aoss:APIAccessAll" ], "Effect": "Allow", "Resource": "arn:aws:aoss:
us-east-1
:your-account-id
:collection/collection-id
" }, { "Action": [ "aoss:CreateSecurityPolicy", "aoss:GetSecurityPolicy", "aoss:UpdateSecurityPolicy" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "collection-name
" } } } ] } -
Scegli Avanti, scegli Avanti e dai un nome alla tua politica collection-pipeline-policy.
-
Scegli Create Policy (Crea policy).
-
Quindi, crea un ruolo e allega la politica ad esso. Selezionare Roles (Ruoli), quindi selezionare Create role (Crea ruolo).
-
Scegli una politica di fiducia personalizzata e incolla la seguente politica nell'editor:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"osis-pipelines.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Scegli Next (Successivo). Quindi cerca e seleziona collection-pipeline-policy(che hai appena creato).
-
Scegli Avanti e assegna un nome al ruolo PipelineRole.
-
Scegliere Crea ruolo.
Ricorda l'Amazon Resource Name (ARN) del ruolo (ad esempio,arn:aws:iam::
). Ne avrai bisogno quando creerai la tua pipeline.your-account-id
:role/PipelineRole
Fase 2: creazione di una raccolta
Quindi, crea una raccolta in cui inserire i dati. Daremo un nome alla raccoltaingestion-collection
.
-
Accedi alla console di Amazon OpenSearch Service da https://console.aws.amazon.com/aos/casa
. -
Scegli Raccolte dalla barra di navigazione a sinistra e scegli Crea raccolta.
-
Assegna un nome alla raccolta ingestion-collection.
-
Per Sicurezza, scegliete Standard create.
-
In Impostazioni di accesso alla rete, modifica il tipo di accesso in Pubblico.
-
Mantenere tutte le altre impostazioni come valori predefiniti e scegliere Successivo.
-
Ora configura una politica di accesso ai dati per la raccolta. Per il metodo di definizione, scegli JSONe incolla la seguente politica nell'editor. Questa politica fa due cose:
-
Consente al ruolo della pipeline di scrivere nella raccolta.
-
Consente di leggere dalla raccolta. Successivamente, dopo aver inserito alcuni dati di esempio nella pipeline, interrogherete la raccolta per assicurarvi che i dati siano stati inseriti e scritti correttamente nell'indice.
[ { "Rules": [ { "Resource": [ "index/ingestion-collection/*" ], "Permission": [ "aoss:CreateIndex", "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "arn:aws:iam::
your-account-id
:role/PipelineRole", "arn:aws:iam::your-account-id
:role/Admin
" ], "Description": "Rule 1" } ]
-
-
Sostituisci gli elementi.
Principal
Il primo principale dovrebbe specificare il ruolo della pipeline che hai creato. Il secondo dovrebbe specificare un utente o un ruolo da utilizzare per interrogare la raccolta in un secondo momento. -
Scegli Next (Successivo). Assegna un nome alla politica di accesso pipeline-domain-accesse scegli nuovamente Avanti.
-
Rivedi la configurazione della raccolta e scegli Submit (Invia).
Quando la raccolta è attiva, annota l' OpenSearch endpoint in Endpoint (ad esempio,https://
). Ne avrai bisogno quando creerai la tua pipeline.{collection-id}
.us-east-1.aoss.amazonaws.com
Fase 3: Creare una pipeline
Ora che disponi di una raccolta e di un ruolo con i diritti di accesso appropriati, puoi creare una pipeline.
Per creare una pipeline
-
Nella console di Amazon OpenSearch Service, scegli Pipelines dal riquadro di navigazione a sinistra.
-
Scegliere Create pipeline (Crea pipeline).
-
Seleziona la pipeline vuota, quindi scegli Seleziona blueprint.
-
Assegna un nome alla pipeline serverless-ingestion e mantieni le impostazioni di capacità come predefinite.
-
In questo tutorial, creeremo una semplice sotto-pipeline chiamata che utilizza il plugin sorgente.
log-pipeline
HTTPIl plugin accetta i dati di registro in un formato JSON array. Specificheremo una singola raccolta OpenSearch Serverless come sink e inseriremo tutti i dati nell' my_logs
indice.In Configurazione Pipeline, incolla la seguente YAML configurazione nell'editor:
version: "2" log-pipeline: source: http: path: "/${pipelineName}/test_ingestion_path" processor: - date: from_time_received: true destination: "@timestamp" sink: - opensearch: hosts: [ "https://
collection-id
.us-east-1
.aoss.amazonaws.com" ] index: "my_logs" aws: sts_role_arn: "arn:aws:iam::your-account-id
:role/PipelineRole" region: "us-east-1
" serverless: true -
Sostituisci
hosts
URL con l'endpoint della raccolta che hai creato nella sezione precedente. Sostituisci ilsts_role_arn
parametro con ARN of.PipelineRole
Facoltativamente, modificare il.region
-
Scegli Convalida pipeline e assicurati che la convalida abbia esito positivo.
-
Per semplicità, in questo tutorial, configureremo l'accesso pubblico alla pipeline. In Rete, scegli Accesso pubblico.
Per informazioni sulla configurazione dell'VPCaccesso, consulta. Configurazione dell'accesso VPC per le pipeline di Amazon Ingestion OpenSearch
-
Mantieni abilitata la pubblicazione dei log in caso di problemi durante il completamento di questo tutorial. Per ulteriori informazioni, consulta Monaggio aggio aggio aggio aggio aggio aggio aggio aggio aggio.
Specificate il seguente nome del gruppo di log:
/aws/vendedlogs/OpenSearchIngestion/serverless-ingestion/audit-logs
-
Scegli Next (Successivo). Controlla la configurazione della pipeline e scegli Crea pipeline. La pipeline impiega 5-10 minuti per diventare attiva.
Fase 4: Inserimento di alcuni dati di esempio
Quando lo stato della pipeline è impostatoActive
, puoi iniziare a importare i dati al suo interno. È necessario firmare tutte le HTTP richieste alla pipeline utilizzando Signature Version 4. Usa uno HTTP strumento come Postman
Nota
Il principale che firma la richiesta deve disporre dell'autorizzazione. osis:Ingest
IAM
Innanzitutto, recupera l'importazione URL dalla pagina delle impostazioni della pipeline:
Quindi, inserisci alcuni dati di esempio. La seguente richiesta di esempio utilizza awscurlmy_logs
awscurl --service osis --region
us-east-1
\ -X POST \ -H "Content-Type: application/json" \ -d '[{"time":"2014-08-11T11:40:13+00:00","remote_addr":"122.226.223.69","status":"404","request":"GET http://www.k2proxy.com//hello.html HTTP/1.1","http_user_agent":"Mozilla/4.0 (compatible; WOW64; SLCC2;)"}]' \ https://pipeline-endpoint
.us-east-1
.osis.amazonaws.com/log-pipeline/test_ingestion_path
Dovresti vedere una 200 OK
risposta.
Ora, interroga l'my_logs
indice per assicurarti che la voce di registro sia stata inserita correttamente:
awscurl --service aoss --region
us-east-1
\ -X GET \ https://collection-id
.us-east-1
.aoss.amazonaws.com/my_logs/_search | json_pp
Esempio di risposta:
{ "took":348, "timed_out":false, "_shards":{ "total":0, "successful":0, "skipped":0, "failed":0 }, "hits":{ "total":{ "value":1, "relation":"eq" }, "max_score":1.0, "hits":[ { "_index":"my_logs", "_id":"1%3A0%3ARJgDvIcBTy5m12xrKE-y", "_score":1.0, "_source":{ "time":"2014-08-11T11:40:13+00:00", "remote_addr":"122.226.223.69", "status":"404", "request":"GET http://www.k2proxy.com//hello.html HTTP/1.1", "http_user_agent":"Mozilla/4.0 (compatible; WOW64; SLCC2;)", "@timestamp":"2023-04-26T05:22:16.204Z" } } ] } }
Risorse correlate
Questo tutorial ha presentato un semplice caso d'uso di ingestione di un singolo documento. HTTP Negli scenari di produzione, configurerai le tue applicazioni client (come Fluent Bit, Kubernetes o OpenTelemetry Collector) per inviare dati a una o più pipeline. Le tue pipeline saranno probabilmente più complesse del semplice esempio di questo tutorial.
Per iniziare a configurare i client e ad acquisire dati, consulta le seguenti risorse: