Logstash를 사용하여 Amazon OpenSearch Service로 데이터 로드 - Amazon OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Logstash를 사용하여 Amazon OpenSearch Service로 데이터 로드

Logstash의 오픈 소스 버전(Logstash OSS)에서는 대량 API를 사용하여 Amazon OpenSearch Service 도메인에 데이터를 업로드할 수 있는 편리한 방법을 제공합니다. 이 서비스는 Amazon S3 입력 플러그인을 포함하여 모든 표준 Logstash 입력 플러그인을 지원합니다. OpenSearch Service는 기본 인증 및 IAM 자격 증명을 모두 지원하는 logstash-output-opensearch 출력 플러그 인을 지원합니다. 플러그 인은 Logstash OSS 8.1 이하 버전에서 작동합니다.

구성

Logstash 구성은 도메인이 사용하는 인증 유형에 따라 다릅니다.

사용하는 인증 방법에 상관없이 구성 파일의 출력 섹션에서 ecs_compatibilitydisabled로 설정해야 합니다. Logstash 8.0은 모든 플러그인이 기본적으로 ECS 호환성 모드에서 실행되는 구분 변경을 도입했습니다. 레거시 동작을 유지하려면 기본값을 재정의해야 합니다.

세분화된 액세스 제어 구성

OpenSearch Service 도메인에서 HTTP 기본 인증을 사용하여 세분화된 액세스 제어를 사용하는 경우, 구성은 다른 OpenSearch 클러스터와 유사합니다. 이 예제 구성 파일은 Filebeat(Filebeat OSS)의 오픈 소스 버전에서 입력을 가져옵니다.

input { beats { port => 5044 } } output { opensearch { hosts => "https://domain-endpoint:443" user => "my-username" password => "my-password" index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled ssl_certificate_verification => false } }

구성은 Beats 애플리케이션 및 사용 사례에 따라 다르지만 Filebeat OSS 구성은 다음과 같습니다.

filebeat.inputs: - type: log enabled: true paths: - /path/to/logs/dir/*.log filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.ilm.enabled: false setup.ilm.check_exists: false setup.template.settings: index.number_of_shards: 1 output.logstash: hosts: ["logstash-host:5044"]

IAM 구성

도메인에서 IAM 기반 도메인 액세스 정책 또는 마스터 사용자의 세분화된 액세스 제어를 사용하는 경우, IAM 보안 인증 정보를 사용하여 OpenSearch Service에 대한 모든 요청에 서명해야 합니다. 다음 자격 증명 기반 정책에서는 도메인의 하위 리소스에 대한 모든 HTTP 요청을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:region:aws-account-id:domain/domain-name/*" } ] }

Logstash 구성을 설정하려면 출력을 위해 플러그인을 사용하도록 구성 파일을 변경합니다. 이 예제 구성 파일은 S3 버킷의 파일에서 입력을 가져옵니다.

input { s3 { bucket => "my-s3-bucket" region => "us-east-1" } } output { opensearch { hosts => ["domain-endpoint:443"] auth_type => { type => 'aws_iam' aws_access_key_id => 'your-access-key' aws_secret_access_key => 'your-secret-key' region => 'us-east-1' } index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled } }

구성 파일 내에 IAM 자격 증명을 제공하지 않으려면 해당 자격 증명을 내보낼 수 있습니다(또는 aws configure를 실행).

export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_SESSION_TOKEN="your-session-token"

OpenSearch Service 도메인이 VPC에 있는 경우, Logstash OSS 머신이 VPC에 연결되고 VPC 보안 그룹을 통해 도메인에 액세스할 수 있어야 합니다. 자세한 내용은 VPC 도메인의 액세스 정책 정보 섹션을 참조하세요.