자습서: AWS Glue Connector for Elasticsearch 사용 - AWS Glue

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

자습서: AWS Glue Connector for Elasticsearch 사용

Elasticsearch는 로그 분석, 실시간 애플리케이션 모니터링, 클릭 스트림 분석 같은 사용 사례를 위한 인기 오픈 소스 검색 및 분석 엔진입니다. AWS Glue Studio에서 AWS Glue Connector for Elasticsearch를 구성하여 OpenSearch를 추출, 변환 및 로드(ETL) 작업의 데이터 저장소로 사용할 수 있습니다. 이 커넥터는 AWS Marketplace에서 무료로 사용할 수 있습니다.

참고

AWS Marketplace Elasticsearch Spark 커넥터는 더 이상 사용되지 않습니다. 대신 AWS Glue Connector for Elasticsearch를 사용하세요.

이 자습서에서는 최소한의 단계로 Amazon OpenSearch Service 노드에 연결하는 방법을 보여줍니다.

사전 조건

이 튜토리얼을 사용하려면 다음이 필요합니다.

  • AWS Glue Studio에 액세스

  • AWS 클라우드의 OpenSearch 클러스터에 대한 액세스 권한

  • (선택 사항) AWS Secrets Manager에 대한 액세스 권한.

1단계: (선택 사항) OpenSearch 클러스터 정보에 대한 AWS 보안 암호 생성

연결 자격 증명을 안전하게 보관하고 사용하려면 AWS Secrets Manager에 자격 증명을 저장합니다. 생성한 보안 암호는 튜토리얼의 뒷부분에서 연결에 사용됩니다. 자격 증명 키-값 페어는 일반 연결 옵션으로 AWS Glue Connector for Elasticsearch에 공급됩니다.

보안 암호 생성에 대한 자세한 내용은 AWS Secrets Manager User GuideCreating and Managing Secrets with AWS Secrets Manager를 참조하세요.

AWS 보안 암호를 생성하려면
  1. AWS Secrets Manager 콘솔에 로그인합니다.

  2. 서비스 소개 페이지 또는 비밀 목록 페이지에서 새 비밀 저장을 선택합니다.

  3. 새 보안 암호 저장(Store a new secret) 페이지에서 다른 유형의 보안 암호(Other type of secret)를 선택합니다. 이 옵션은 보안 암호의 구조 및 세부 정보를 제공해야 함을 의미합니다.

  4. OpenSearch 클러스터 사용자 이름에 대한 [키(Key)] 및 [값(Value)] 페어를 추가합니다. 예:

    es.net.http.auth.userusername

  5. [+ 행 추가(+ Add row)]를 선택하고 암호에 대해 다른 키-값 페어를 입력합니다. 예:

    es.net.http.auth.pass: password

  6. Next(다음)를 선택합니다.

  7. 보안 암호 이름을 입력합니다. 예: my-es-secret. 선택적으로 설명을 포함할 수 있습니다.

    이 튜토리얼의 뒷부분에서 사용되는 보안 암호를 기록하고 [다음(Next)]을 선택합니다.

  8. [다음(Next)]을 다시 선택하고 [저장(Store)]을 선택하여 보안 암호를 생성합니다.

다음 단계

2단계: 커넥터 구독

2단계: 커넥터 구독

AWS Glue Connector for Elasticsearch는 AWS Marketplace에서 무료로 제공됩니다.

AWS Marketplace에서 AWS Glue Connector for Elasticsearch를 구독하려면
  1. License Manager를 사용하도록 AWS 계정을 아직 구성하지 않은 경우 다음을 수행합니다.

    1. AWS License Manager 콘솔https://console.aws.amazon.com/license-manager을 엽니다.

    2. [고객 관리형 라이선스 생성(Create customer managed license)]을 선택합니다.

    3. IAM permissions(IAM 권한)(1회 설정) 창에서 I grant AWS License Manager the required permissions(필요한 권한 부여)를 선택한 다음 Grant permissions(권한 부여)를 선택합니다.

      이 창이 표시되지 않으면 필요한 권한을 이미 구성한 것입니다.

  2. https://console.aws.amazon.com/gluestudio/에서 AWS Glue Studio 콘솔을 엽니다.

  3. AWS Glue Studio 콘솔에서 메뉴 아이콘( 3 short, horizontal lines in a vertical stack )을 확장한 다음, 탐색 창에서 커넥터(Connectors)를 선택합니다.

  4. Connectors(커넥터) 페이지에서 Go to AWS Marketplace(이동)을 선택합니다.

  5. AWS Marketplace에서 Search AWS Glue Studio products(Glue Studio 제품 검색) 섹션의 검색 필드에 AWS Glue Connector for Elasticsearch를 입력하고 Enter 키를 누릅니다.

  6. 커넥터 이름인 AWS Glue Connector for Elasticsearch를 선택합니다.

  7. 커넥터의 제품 페이지에서 탭을 사용하여 커넥터에 대한 정보를 봅니다. 계속할 준비가 되면 [계속 구독(Continue to Subscribe)]을 선택합니다.

  8. 소프트웨어의 사용 약관을 검토합니다. 약관 수락을 클릭하세요.

  9. 구독 프로세스가 완료되면 다음과 같은 알림이 표시됩니다. "이 제품을 구독해 주셔서 감사합니다! 이제 소프트웨어를 구성할 수 있습니다." 배너 위에는 구성 계속 버튼이 있습니다. Continue to Configuration(구성 계속)을 선택합니다.

  10. 소프트웨어 구성 페이지에서 이행(Fulfillment) 옵션을 선택합니다. AWS Glue 1.0/2.0 또는 AWS Glue 3.0 중에서 선택할 수 있습니다. 그런 뒤 [계속 시작(Continue to Launch)]을 선택합니다.

다음 단계

3단계: AWS Glue Studio에서 커넥터 활성화 및 연결 생성

3단계: AWS Glue Studio에서 커넥터 활성화 및 연결 생성

[계속 시작(Continue to Launch)]을 선택하면 AWS Marketplace에 [이 소프트웨어 시작(Launch this software)] 페이지가 표시됩니다. 링크를 사용하여 AWS Glue Studio에서 커넥터를 활성화한 후 연결을 생성합니다.

AWS Glue Studio에서 커넥터를 배포하고 연결을 생성하려면
  1. AWS Marketplace 콘솔의 [이 소프트웨어 시작(Launch this software)] 페이지에서 [사용 지침(Usage Instructions)]을 선택한 다음 나타나는 창에서 링크를 선택합니다.

    브라우저가 AWS Glue Studio 콘솔의 Marketplace 연결 생성(Create Marketplace connection) 페이지로 리디렉션됩니다.

  2. 연결의 이름을 입력합니다. 예: my-es-connection.

  3. [연결 액세스(Connection access)] 섹션에서 [연결 자격 증명 유형(Connection credential type)]에 대해 [사용자 이름 및 암호(User name and password)]를 선택합니다.

  4. AWS secret(보안 암호)에 대해 보안 암호 이름을 입력합니다. 예: my-es-secret.

  5. [네트워크 옵션(Network options)] 섹션에서 OpenSearch 클러스터에 연결할 VPC 정보를 입력합니다.

  6. [연결 생성 및 커넥터 활성화(Create connection and activate connector)]를 선택합니다.

다음 단계

4단계: ETL 작업에 대한 IAM 역할 구성

4단계: ETL 작업에 대한 IAM 역할 구성

AWS Glue ETL 작업을 생성할 때 사용할 작업에 대한 AWS Identity and Access Management(IAM) 역할을 지정합니다. 역할은 Amazon S3(모든 소스, 대상, 스크립트, 드라이버 파일 및 임시 디렉터리용)와 AWS Glue Data Catalog 객체를 포함하여 작업에서 사용하는 모든 리소스에 대한 액세스 권한을 부여해야 합니다.

AWS Glue ETL 작업에 대해 수임된 IAM 역할은 이전 섹션에서 생성된 보안 암호에도 액세스할 수 있어야 합니다. 기본적으로 AWS 관리형 역할 AWSGlueServiceRole은 보안 암호에 액세스할 수 없습니다. 보안 암호에 대한 액세스 제어를 설정하려면 AWS Secrets Manager에 대한 인증 및 액세스 제어특정 보안 암호에 대한 액세스 제한을 참조하세요.

ETL 작업에 대한 IAM 역할을 구성하려면
  1. ETL 작업에 필요한 IAM 권한 검토에 설명된 권한을 구성합니다.

  2. 커넥터 사용에 필요한 권한에 설명된 것처럼, AWS Glue Studio에서 커넥터를 사용할 때 필요한 추가 권한을 구성합니다.

다음 단계

5단계: OpenSearch 연결을 사용하는 작업 생성

5단계: OpenSearch 연결을 사용하는 작업 생성

ETL 작업에 대한 역할을 생성한 후 AWS Glue Studio에서 Open Spark ElasticSearch용 커넥터와 연결을 사용하는 작업을 생성할 수 있습니다.

작업이 Amazon Virtual Private Cloud(Amazon VPC) 내에서 실행되는 경우 VPC가 올바르게 구성되었는지 확인합니다. 자세한 내용은 ETL 작업에 사용할 VPC 구성 단원을 참조하십시오.

Elasticsearch Spark 커넥터를 사용하는 작업을 생성하려면
  1. AWS Glue Studio에서 커넥터(Connectors)를 선택합니다.

  2. [연결(Your connections)] 목록에서 방금 생성한 연결을 선택하고 [작업 생성(Create job)]을 선택합니다.

  3. 시각적 작업 편집기에서 데이터 원본 노드를 선택합니다. 오른쪽의 [데이터 원본 속성 - 커넥터(Data source properties - Connector)] 탭에서 커넥터에 대한 추가 정보를 구성합니다.

    1. [스키마 추가(Add schema)]를 선택하고 데이터 원본에 있는 데이터 집합의 스키마를 입력합니다. 연결은 데이터 카탈로그에 저장된 테이블을 사용하지 않습니다. 즉, AWS Glue Studio는 데이터의 스키마를 알지 못합니다. 이 스키마 정보를 수동으로 제공해야 합니다. 스키마 편집기를 사용하는 방법에 대한 지침은 사용자 정의 변환 노드에서 스키마 편집 섹션을 참조하세요.

    2. [연결 옵션(Connection options)]을 확장합니다.

    3. [새 옵션 추가(Add new option)]를 선택하고 AWS 보안 암호에 입력되지 않은 커넥터에 필요한 정보를 입력합니다.

      • es.nodes: https://<OpenSearch domain endpoint>

      • es.port: 443

      • path: 테스트

      • es.nodes.wan.only.: true

      이러한 연결 옵션에 대한 설명은 https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html 섹션을 참조하세요.

  4. 그래프에 대상 노드를 추가합니다.

    데이터 대상은 Amazon S3이거나 AWS Glue Data Catalog 또는 커넥터의 정보를 사용하여 다른 위치에 데이터를 쓸 수 있습니다. 예를 들어 데이터 카탈로그 테이블을 사용하여 Amazon RDS의 데이터베이스에 쓰거나 커넥터를 데이터 대상으로 사용하여 AWS Glue에서 기본적으로 지원되지 않는 데이터 스토어에 쓸 수 있습니다.

    데이터 대상에 대한 커넥터를 선택하는 경우 해당 커넥터에 대해 생성된 연결을 선택해야 합니다. 또한 커넥터 공급자가 요구하는 경우 커넥터에 추가 정보를 제공하는 옵션을 추가해야 합니다. AWS 보안 암호에 대한 정보가 포함된 연결을 사용하는 경우 연결 옵션에서 사용자 이름과 암호 인증을 제공할 필요가 없습니다.

  5. 필요에 따라 AWS Glue 관리형 변환으로 데이터 변환에 설명된 대로 추가 데이터 원본과 하나 이상의 변환 노드를 추가합니다.

  6. 작업 속성 수정에 설명된 대로 3단계부터 작업 속성을 구성하고 작업을 저장합니다.

다음 단계

6단계: 작업 실행

6단계: 작업 실행

작업을 저장한 후 작업을 실행하여 ETL 작업을 수행할 수 있습니다.

AWS Glue Connector for Elasticsearch에 대해 생성한 작업을 실행하려면
  1. AWS Glue Studio 콘솔을 사용해 시각적 편집기 페이지에서 실행(Run)을 선택합니다.

  2. 성공 배너에서 [실행 세부 정보(Run Details)]를 선택하거나 시각적 편집기의 [실행(Runs)] 탭을 선택하여 작업 실행에 대한 정보를 볼 수 있습니다.