실시간 분석 및 시각화를 AWS Lambda OpenSearch 위해 텔레메트리 데이터를 에서 로 전송 - AWS 권장 가이드

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

실시간 분석 및 시각화를 AWS Lambda OpenSearch 위해 텔레메트리 데이터를 에서 로 전송

작성자: 태비 워드 (AWS), 가이 바카 (AWS), 데이비드 킬저 (AWS)

환경: PoC 또는 파일럿

기술: 서버리스, 현대화 CloudNative

AWS 서비스: AWS Lambda, 아마존 서비스 OpenSearch

요약

최신 애플리케이션은 점점 더 분산되고 이벤트 중심적이 되고 있으며, 이에 따라 실시간 모니터링 및 관찰 가능성의 필요성이 더욱 커지고 있습니다. AWS Lambda 확장 가능한 이벤트 기반 아키텍처를 구축하는 데 중요한 역할을 하는 서버리스 컴퓨팅 서비스입니다. 그러나 CloudWatch Amazon Logs에만 의존한다면 Lambda 함수를 모니터링하고 문제를 해결하는 것이 어려울 수 있으며, 이로 인해 지연 시간이 발생하고 보존 기간이 제한될 수 있습니다.

이 문제를 해결하기 위해 Lambda 함수가 원격 측정 데이터를 타사 모니터링 및 관찰 도구에 직접 전송할 수 있도록 하는 Lambda Telemetry API를 AWS 도입했습니다. 이 API는 로그, 지표 및 추적의 실시간 스트리밍을 지원하고 Lambda 함수의 성능과 상태를 포괄적이고 시기적절하게 보여줍니다.

이 패턴은 Lambda Telemetry API를 오픈 소스 분산 검색 및 분석 엔진인 Lambda Telemetry OpenSearchAPI와 통합하는 방법을 설명합니다. OpenSearch 는 대용량 데이터를 수집, 저장 및 분석할 수 있는 강력하고 확장 가능한 플랫폼을 제공하므로 Lambda 원격 측정 데이터에 적합합니다. 특히, 이 패턴은 에서 제공하는 Lambda 확장 프로그램을 사용하여 Python으로 작성된 Lambda 함수의 로그를 클러스터로 직접 보내는 방법을 보여줍니다. OpenSearch AWS이 솔루션은 유연하고 사용자 지정이 가능하므로 Lambda 확장을 직접 생성하거나 샘플 소스 코드를 변경하여 출력 형식을 원하는 대로 변경할 수 있습니다.

이 패턴은 Lambda Telemetry API 통합을 OpenSearch 설정하고 구성하는 방법을 설명하며 보안, 비용 최적화 및 확장성에 대한 모범 사례를 포함합니다. Lambda 함수에 대한 심층적인 통찰력을 얻고 서버리스 애플리케이션의 전반적인 옵저버빌리티를 향상시키는 것이 목적입니다.

참고: 이 패턴은 Lambda 원격 분석 API를 관리형 API와 통합하는 데 중점을 둡니다. OpenSearch 하지만 논의된 원칙과 기법은 자체 관리형 및 Elasticsearch에도 적용됩니다. OpenSearch

사전 조건 및 제한 사항

통합 프로세스를 시작하기 전에 다음과 같은 사전 요구 사항을 갖추었는지 확인하세요.

AWS 계정: 다음 AWS 리소스를 만들고 관리할 수 AWS 계정 있는 적절한 권한을 가진 활성 사용자:

  • AWS Lambda

  • AWS Identity and Access Management (IAM)

  • Amazon OpenSearch 서비스 (관리형 OpenSearch 클러스터를 사용하는 경우)

OpenSearch 클러스터:

  • 기존의 자체 관리형 OpenSearch 클러스터 또는 서비스와 같은 OpenSearch 관리형 서비스를 사용할 수 있습니다.

  • OpenSearch 서비스를 사용하는 경우, 서비스 설명서의 Amazon OpenSearch Service 시작하기에 나와 있는 지침에 따라 OpenSearch 클러스터를 설정하십시오. OpenSearch

  • Lambda 함수에서 OpenSearch 클러스터에 액세스할 수 있고 액세스 정책, 암호화 및 인증과 같은 필수 보안 설정으로 구성되어 있는지 확인하십시오.

  • Lambda 텔레메트리 데이터를 수집하는 데 필요한 인덱스 매핑 및 설정으로 OpenSearch 클러스터를 구성합니다. 자세한 내용은 OpenSearch OpenSearch 서비스 설명서의 Amazon Service로 스트리밍 데이터 로드를 참조하십시오.

네트워크 연결:

  • Lambda 함수가 클러스터에 액세스하는 데 필요한 네트워크 연결을 갖추고 있는지 확인하십시오. OpenSearch 가상 사설 클라우드 (VPC) 설정을 구성하는 방법에 대한 지침은 서비스 설명서의 VPC 내에서 Amazon OpenSearch Service 도메인 시작을 참조하십시오. OpenSearch

IAM 역할 및 정책:

  • Lambda 함수가 클러스터에 액세스하고 저장된 자격 증명에 액세스하는 OpenSearch 데 필요한 권한을 포함하는 IAM 역할을 생성합니다. AWS Secrets Manager

  • 적절한 IAM 정책 (예: AWSLambdaBasicExecutionRole 정책 및 상호 작용에 필요한 추가 권한) 을 역할에 연결합니다. OpenSearch

  • Lambda 함수에 부여된 IAM 권한이 클러스터에 데이터를 쓸 수 있도록 허용하는지 확인하십시오. OpenSearch IAM 권한 관리에 대한 자세한 내용은 Lambda 설명서의 실행 역할을 사용한 Lambda 함수 권한 정의를 참조하십시오.

프로그래밍 언어 지식:

  • Lambda 함수 및 Lambda 확장 프로그램의 샘플 코드를 이해하고 수정하려면 Python (또는 선택한 프로그래밍 언어) 에 대한 기본 지식이 필요합니다.

개발 환경:

AWS CLI 또는 AWS Management Console:

  • AWS Command Line Interface (AWS CLI) 를 설치 및 구성하거나 적절한 자격 AWS Management Console 증명과 함께 사용하여 필요한 작업을 수행하십시오 AWS 서비스.

모니터링 및 로깅:

  • Amazon과 같은 서비스를 비롯하여 모니터링 및 감사 AWS목적을 AWS CloudTrail 위한 모니터링 CloudWatch 및 로깅 모범 사례를 숙지하십시오.

  • Lambda 함수의 CloudWatch 로그를 확인하여 Lambda 원격 분석 API 통합과 관련된 오류 또는 예외를 식별하십시오. 문제 해결 지침은 Lambda 텔레메트리 API 설명서를 참조하십시오.

아키텍처

이 패턴은 OpenSearch Service를 사용하여 Lambda 함수에서 생성된 로그 및 원격 측정 데이터를 저장합니다. 이 접근 방식을 사용하면 로그를 OpenSearch 클러스터로 직접 빠르게 스트리밍할 수 있으므로 CloudWatch 로그를 중개자로 사용하는 것과 관련된 지연 시간과 비용을 줄일 수 있습니다.

참고: Lambda 확장 코드는 API를 직접 사용하거나 클라이언트 라이브러리를 OpenSearch 사용하여 OpenSearch 원격 분석을 Service로 푸시할 수 있습니다. OpenSearch Lambda 확장 프로그램은 API에서 지원하는 대량 작업을 사용하여 텔레메트리 이벤트를 일괄 처리하고 단일 요청으로 OpenSearch 서비스에 OpenSearch 전송할 수 있습니다.

다음 워크플로 다이어그램은 클러스터를 엔드포인트로 사용할 OpenSearch 때의 Lambda 함수의 로그 워크플로를 보여줍니다.

클러스터로 원격 분석 데이터를 전송하기 위한 워크플로. OpenSearch

아키텍처에는 다음과 같은 구성 요소가 포함됩니다.

  • Lambda 함수: 실행 중에 로그 및 원격 측정 데이터를 생성하는 서버리스 함수입니다.

  • Lambda 확장: Lambda 텔레메트리 API를 사용하여 클러스터와 직접 통합하는 Python 기반 확장 프로그램입니다. OpenSearch 이 확장 프로그램은 동일한 실행 환경에서 Lambda 함수와 함께 실행됩니다.

  • Lambda Telemetry API: Lambda 확장 프로그램이 로그, 지표, 추적을 비롯한 원격 측정 데이터를 타사 모니터링 및 관찰 도구에 직접 전송할 수 있도록 하는 API입니다.

  • Amazon OpenSearch 서비스 클러스터: 호스팅되는 관리형 OpenSearch AWS클러스터입니다. 이 클러스터는 Lambda 함수에서 Lambda 확장 프로그램을 통해 스트리밍되는 로그 데이터를 수집, 저장 및 인덱싱하는 역할을 합니다.

워크플로는 다음 단계로 구성됩니다.

  1. Lambda 함수가 호출되고 실행 중에 로그 및 원격 측정 데이터가 생성됩니다.

  2. Lambda 확장 프로그램은 Lambda 원격 분석 API를 사용하여 로그 및 원격 측정 데이터를 캡처하는 함수와 함께 실행됩니다.

  3. Lambda 확장 프로그램은 서비스 클러스터와 OpenSearch 보안 연결을 설정하고 로그 데이터를 실시간으로 스트리밍합니다.

  4. OpenSearch 서비스 클러스터는 Kibana 또는 기타 호환 가능한 애플리케이션과 같은 도구를 사용하여 검색, 분석 및 시각화에 사용할 수 있도록 로그 데이터를 수집, 인덱싱 및 저장합니다.

이 솔루션은 CloudWatch 로그를 우회하고 로그 데이터를 OpenSearch 클러스터로 직접 전송함으로써 다음과 같은 여러 이점을 제공합니다.

  • 실시간 로그 스트리밍 및 분석을 통해 문제 해결 시간을 단축하고 관찰 가능성을 개선할 수 있습니다.

  • CloudWatch 로그와 관련된 지연 시간 및 잠재적 보존 제한 감소

  • Lambda 확장을 사용자 지정하거나 특정 출력 형식 또는 추가 처리를 위한 자체 확장을 생성할 수 있는 유연성

  • 로그 분석 및 모니터링을 위해 OpenSearch Service의 검색, 분석 및 시각화 기능과 통합됩니다.

Epic 섹션에서는 Lambda 확장 프로그램 설정, Lambda 함수 구성, 서비스 클러스터와의 통합에 대한 step-by-step 지침을 제공합니다. OpenSearch 보안 고려 사항, 비용 최적화 전략, 솔루션 모니터링 및 문제 해결을 위한 팁은 모범 사례 섹션을 참조하십시오.

도구

서비스

  • AWS Lambda은(는) 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 규모를 조정합니다.

  • Amazon OpenSearch Service는 에서 AWS 제공하는 완전관리형 서비스로, 클라우드에서 OpenSearch 클러스터를 쉽게 배포, 운영 및 확장할 수 있습니다.

  • Lambda 확장 프로그램은 사용자 지정 코드를 함께 실행하여 Lambda 함수의 기능을 확장합니다. Lambda 확장 프로그램을 사용하여 Lambda를 다양한 모니터링, 관찰 가능성, 보안 및 거버넌스 도구와 통합할 수 있습니다.

  • AWS Lambda 텔레메트리 API를 사용하면 확장 기능을 사용하여 Lambda에서 직접 향상된 모니터링 및 관찰 가능성 데이터를 캡처하고 원하는 목적지로 전송할 수 있습니다.

  • AWS CloudFormation리소스를 모델링하고 설정하여 AWS 리소스를 관리하는 데 소요되는 시간을 줄이고 애플리케이션에 더 많은 시간을 집중할 수 있도록 도와줍니다.

코드 리포지토리

  • AWS Lambda 확장 프로그램에는 자체 확장 구축을 시작하는 데 도움이 되는 AWS 파트너의 데모 AWS 및 샘플 프로젝트가 포함되어 있습니다.

  • Lambda 원격 분석 통합 예시는 Lambda 함수에서 클러스터로 로그를 보내는 방법을 보여주는 샘플 Lambda 확장 프로그램을 OpenSearch 제공합니다. OpenSearch

기타 도구

  • OpenSearch대용량 데이터를 수집, 저장 및 분석할 수 있는 강력한 플랫폼을 제공하는 오픈 소스 분산 검색 및 분석 엔진입니다.

  • Kibana는 함께 사용할 수 있는 오픈 소스 데이터 시각화 및 탐색 도구입니다. OpenSearch 시각화 및 분석 구현은 이 패턴의 범위를 벗어난다는 점에 유의하세요. 자세한 내용은 Kibana 설명서 및 기타 리소스를 참조하십시오.

모범 사례

Lambda 원격 분석 API를 OpenSearch 와 통합할 때는 다음 모범 사례를 고려하십시오.

보안 및 액세스 제어

  • 보안 통신: HTTPS를 사용하여 Lambda 함수와 클러스터 간의 모든 통신을 암호화합니다 OpenSearch . Lambda 확장 및 구성에서 필요한 SSL/TLS 설정을 구성합니다. OpenSearch

  • IAM 권한:

    • 확장은 Lambda 함수와 동일한 실행 환경에서 실행되므로 파일 시스템, 네트워킹 및 환경 변수와 같은 리소스에 대한 동일한 수준의 액세스를 상속합니다.

    • Lambda 함수에 Lambda 텔레메트리 API에 액세스하고 클러스터에 데이터를 쓰는 데 필요한 최소 IAM 권한을 부여하십시오. OpenSearch 최소 권한 원칙을 사용하여 권한 범위를 제한하십시오.

  • OpenSearch 액세스 제어: OpenSearch 클러스터에 세분화된 액세스 제어를 구현하여 민감한 데이터에 대한 액세스를 제한합니다. 에서 사용자 인증, 역할 기반 액세스 제어, 인덱스 수준 권한과 같은 내장된 보안 기능을 사용하십시오. OpenSearch

  • 신뢰할 수 있는 확장 프로그램: 항상 신뢰할 수 있는 출처의 확장 프로그램만 설치하십시오. IAc (코드형 인프라) 도구를 사용하여 IAM 권한을 비롯한 동일한 확장 구성을 여러 Lambda 함수에 연결하는 프로세스를 간소화할 수 있습니다. AWS CloudFormation 또한 IaC 도구는 이전에 사용한 확장 및 버전에 대한 감사 기록을 제공합니다.

  • 민감한 데이터 처리: 확장 프로그램을 구축할 때는 민감한 데이터를 기록하지 마세요. 감사 목적으로 페이로드와 메타데이터를 기록하거나 유지하기 전에 페이로드와 메타데이터를 삭제하세요.

비용 최적화

  • 모니터링 및 경고: Lambda OpenSearch 함수에서 전송되는 데이터의 양을 추적하는 모니터링 및 경고 메커니즘을 설정합니다. 이렇게 하면 잠재적 비용 초과를 식별하고 해결하는 데 도움이 됩니다.

  • 데이터 보존: Lambda 원격 측정 데이터의 적절한 데이터 보존 기간을 신중하게 고려하십시오. OpenSearch 보존 기간이 길면 스토리지 비용이 증가할 수 있으므로 옵저버빌리티 요구와 비용 최적화의 균형을 맞추십시오.

  • 압축 및 인덱싱: 데이터 압축을 활성화하고 OpenSearch 인덱싱 전략을 최적화하여 Lambda 텔레메트리 데이터의 스토리지 공간을 줄이십시오.

  • 의존도 감소 CloudWatch: Lambda Telemetry API를 와 OpenSearch 직접 통합하면 CloudWatch 로그에 대한 의존도를 잠재적으로 줄여 비용을 절감할 수 있습니다. Lambda Telemetry API를 사용하면 데이터를 저장하고 처리할 필요 없이 직접 OpenSearch 로그를 전송할 수 있기 때문입니다. CloudWatch

확장성 및 안정성

  • 비동기 처리: Amazon 심플 큐 서비스 (Amazon SQS) 또는 Amazon Kinesis와 같은 비동기식 처리 패턴을 사용하여 Lambda 함수 실행을 데이터 수집에서 분리합니다. OpenSearch 이를 통해 Lambda 함수의 응답성을 유지하고 시스템의 전반적인 안정성을 개선할 수 있습니다.

  • OpenSearch 클러스터 조정: 클러스터의 성능 및 리소스 사용률을 모니터링하고 증가하는 Lambda 원격 측정 데이터를 처리하기 위해 필요에 따라 OpenSearch 클러스터를 확장하거나 축소합니다.

  • 장애 조치 및 재해 복구: 정기적인 백업과 장애 발생 시 데이터를 신속하게 복원하는 기능을 포함하여 OpenSearch 클러스터에 강력한 재해 복구 전략을 구현하십시오.

옵저버빌리티 및 모니터링

  • 대시보드 및 시각화: Kibana 또는 기타 대시보드 도구를 사용하여 의 텔레메트리 데이터를 기반으로 Lambda 함수의 성능 및 상태에 대한 통찰력을 제공하는 사용자 지정 대시보드 및 시각화를 만들 수 있습니다. OpenSearch

  • 경고 및 알림: Lambda 함수의 이상, 오류 또는 성능 문제를 사전에 모니터링하도록 경고 및 알림을 설정합니다. 이러한 알림 및 알림을 기존 인시던트 관리 프로세스와 통합하십시오.

  • 추적 및 상관 관계: Lambda 텔레메트리 데이터에 요청 ID 또는 상관 관계 ID와 같은 관련 추적 정보가 포함되어 있는지 확인하여 분산 서버리스 애플리케이션 전반에서 관찰 및 문제 해결을 가능하게 end-to-end 합니다.

이러한 모범 사례를 따르면 Lambda Telemetry OpenSearch API와 통합하여 안전하고 비용 효율적이며 확장 가능하고 서버리스 애플리케이션을 위한 포괄적인 관찰 기능을 제공할 수 있습니다.

에픽

작업설명필요한 기술

소스 코드를 다운로드하십시오.

확장 리포지토리에서 샘플 AWS Lambda 확장을 다운로드하십시오.

앱 개발자, 클라우드 아키텍트

python-example-telemetry-opensearch-extension 폴더로 이동합니다.

다운로드한 AWS Lambda 확장 리포지토리에는 여러 사용 사례 및 언어 런타임에 대한 수많은 예제가 포함되어 있습니다. 로그를 보내는 Python 확장을 사용하려면 python-example-telemetry-opensearch OpenSearch -extension 폴더로 OpenSearch 이동합니다.

앱 개발자, 클라우드 아키텍트

확장 엔드포인트를 실행할 권한을 추가하세요.

다음 명령을 실행하여 확장 엔드포인트를 실행 가능하게 만드십시오.

chmod +x python-example-telemetry-opensearch-extension/extension.py
앱 개발자, 클라우드 아키텍트

확장 종속성을 로컬에 설치합니다.

다음 명령을 실행하여 Python 코드에 대한 로컬 종속성을 설치합니다.

pip3 install -r python-example-telemetry-opensearch-extension/requirements.txt -t ./python-example-telemetry-opensearch-extension/

이러한 종속성은 확장 코드와 함께 마운트됩니다.

앱 개발자, 클라우드 아키텍트

확장용.zip 패키지를 생성하여 계층으로 배포합니다.

.zip 확장 파일에는 확장 실행 파일이 있는 루트 디렉터리와 확장의 핵심 로직과 해당 종속성이 있는 라는 python-example-telemetry-opensearch-extension/ 또 다른 루트 디렉터리가 포함되어야 합니다. extensions/

확장용.zip 패키지를 생성합니다.

chmod +x extensions/python-example-telemetry-opensearch-extension zip -r extension.zip extensions python-example-telemetry-opensearch-extension
앱 개발자, 클라우드 아키텍트

확장 프로그램을 Lambda 계층으로 배포합니다.

확장 프로그램 .zip 파일과 다음 명령을 사용하여 레이어를 게시합니다.

aws lambda publish-layer-version \ --layer-name "python-example-telemetry-opensearch-extension" \ --zip-file "fileb://extension.zip"
앱 개발자, 클라우드 아키텍트
작업설명필요한 기술

함수에 계층을 추가합니다.

  1. 에 AWS Management Console 로그인하고 AWS Lambda 콘솔의 함수 페이지를 엽니다.

  2. 함수를 선택합니다.

  3. 계층(Layers)에서 계층 추가(Add a layer)를 선택합니다.

  4. 레이어 선택에서 사용자 정의 레이어를 레이어 소스로 선택하고 레이어를 추가합니다.

Lambda 함수에 계층을 추가하는 방법에 대한 자세한 내용은 Lambda 설명서를 참조하십시오.

앱 개발자, 클라우드 아키텍트

함수의 환경 변수를 설정합니다.

함수 페이지에서 구성 탭을 선택하고 함수에 다음 환경 변수를 추가합니다.

  • URL— 로그가 전송될 OpenSearch 엔드포인트의 URI.

  • AUTH_SECRET— 에 저장된 OpenSearch 자격 증명의 ARN AWS Secrets Manager키-값 쌍으로 저장해야 하며 두 개의 키 (및) 가 있어야 합니다. username password

  • PLATFORM_INDEX,FUNCTION_INDEX, EXTENSION_INDEX — 원격 분석 데이터, 함수 로그, 확장 로그를 저장할 인덱스 이름. 올바른 이름 지정 기준을 준수하는지 확인하십시오. 그렇지 않으면 색인이 생성되지 않습니다.

  • DISPATCH_MIN_BATCH_SIZE— 일괄 처리하려는 로그 이벤트 수 하지만 함수가 종료되면 이 설정과 상관없이 로그가 전달됩니다.

앱 개발자, 클라우드 아키텍트
작업설명필요한 기술

함수에 로깅 명령문을 추가합니다.

내장된 로깅 메커니즘 중 하나를 사용하거나 원하는 로깅 모듈을 사용하여 함수에 로깅 문을 추가합니다.

Python에서 메시지를 로깅하는 예는 다음과 같습니다.

print("Your Log Message Here") logger = logging.getLogger(__name__) logger.info("Test Info Log.") logger.error("Test Error Log.")
앱 개발자, 클라우드 아키텍트

함수를 테스트합니다.

  1. 함수 페이지에서 테스트(Test) 탭을 선택합니다.

  2. 함수의 테스트 이벤트를 만들고 테스트를 실행하세요. 자세한 내용은 Lambda 설명서에서 콘솔에서의 Lambda 함수 테스트를 참조하십시오.

모든 것이 제대로 작동하면 함수 실행: 성공이 표시되어야 합니다.

앱 개발자, 클라우드 아키텍트
작업설명필요한 기술

색인을 쿼리하세요.

에서 OpenSearch 다음 명령어를 실행하여 색인을 쿼리합니다.

SELECT * FROM index-name

쿼리 결과에 로그가 표시되어야 합니다.

클라우드 아키텍트

문제 해결

문제Solution

연결 문제

  • Lambda 함수가 클러스터에 액세스하는 데 필요한 네트워크 연결이 있는지 확인합니다. OpenSearch VPC 설정 구성에 대한 지침은 OpenSearch 서비스 설명서를 참조하십시오.

  • Lambda 함수에 부여된 IAM 권한이 클러스터에 데이터를 쓸 수 있도록 허용하는지 확인하십시오. OpenSearch IAM 권한 관리에 대한 자세한 내용은 Lambda 설명서를 참조하십시오.

데이터 통합 오류

  • Lambda 함수의 CloudWatch 로그를 확인하여 Lambda 원격 분석 API 통합과 관련된 오류 또는 예외를 식별하십시오. 문제 해결 지침은 Lambda 텔레메트리 API 설명서를 참조하십시오.

  • OpenSearch 클러스터가 올바르게 구성되어 있고 Lambda 텔레메트리 데이터를 수집하는 데 필요한 인덱스 매핑 및 설정이 있는지 확인합니다. 자세한 내용은 설명서를 참조하십시오. OpenSearch

관련 리소스

추가 정보

로그 구조 변경

확장 프로그램은 기본적으로 로그를 중첩된 문서로 전송합니다 OpenSearch . 이렇게 하면 중첩 쿼리를 수행하여 개별 열 값을 검색할 수 있습니다.

기본 로그 출력이 특정 요구 사항을 충족하지 않는 경우 에서 제공하는 Lambda 확장 프로그램의 소스 코드를 수정하여 사용자 지정할 수 있습니다. AWS AWS 고객이 비즈니스 요구 사항에 맞게 출력을 조정하도록 권장합니다. 로그 출력을 변경하려면 확장 프로그램의 소스 코드에 있는 telemetry_dispatcher.py 파일에서 dispatch_to_opensearch 함수를 찾아 필요에 따라 변경하십시오.