[typescript] 타입스크립트를 사용하여 AWS SDK로 Elasticsearch 서비스 구성하기

AWS에서 제공하는 Elasticsearch 서비스를 타입스크립트를 사용하여 구성하는 방법에 대해 알아보겠습니다. Elasticsearch는 검색 및 분석 엔진으로, 대량의 데이터를 저장하고 신속하게 검색할 수 있는 기능을 제공합니다. 이를 효율적으로 활용하기 위해 AWS SDK를 사용하여 Elasticsearch 서비스를 설정할 수 있습니다.

1. AWS SDK 설치

먼저 타입스크립트 프로젝트에 AWS SDK를 설치해야 합니다.

npm install aws-sdk

2. AWS 자격 증명 설정

AWS SDK를 초기화하기 전에 AWS 자격 증명을 설정해야 합니다. 보안을 위해 IAM 역할 또는 자격 증명 프로필을 사용하여 AWS에 연결할 수 있습니다.

import AWS from 'aws-sdk';

// 자격 증명 설정
const credentials = new AWS.SharedIniFileCredentials({ profile: 'my-profile' });
AWS.config.credentials = credentials;

3. Elasticsearch 서비스 구성

다음으로 Elasticsearch 서비스를 구성합니다. 예를 들어, 존, 엔드포인트 및 엑세스 구성을 설정할 수 있습니다.

// Elasticsearch 서비스 생성
const es = new AWS.ES({ region: 'us-east-1' });

// 존 설정
const zone = 'us-east-1a';

// 엔드포인트 구성
const endpoint = 'search-domain-12345xyz67.us-east-1.es.amazonaws.com';

// 엑세스 구성
const accessPolicy = {
  PolicyDocument: {
    Version: '2012-10-17',
    Statement: [{
      Effect: 'Allow',
      Principal: { AWS: '*' },
      Action: 'es:*',
      Resource: `arn:aws:es:${zone}:1234567890:domain/domain-name/*`
    }]
  }
};

// 엑세스 권한 설정
es.createElasticsearchDomainAccessPolicy({ DomainName: 'domain-name', AccessPolicy: accessPolicy }, (err, data) => {
  if (err) {
    console.error(err, err.stack);
  } else {
    console.log(data);
  }
});

4. Elasticsearch 서비스 테스트

마지막으로 설정한 Elasticsearch 서비스를 테스트해봅니다. 예를 들어, 색인 생성 및 검색을 수행하여 정상적으로 동작하는지 확인할 수 있습니다.

// Elasticsearch 서비스 연결
const client = new AWS.ES({ region: 'us-east-1', endpoint: endpoint });

// 색인 생성
client.index({
  index: 'myindex',
  type: 'mytype',
  body: {
    title: 'Hello, World!',
    content: 'This is a test document.'
  }
}, (err, data) => {
  if (err) {
    console.error(err, err.stack);
  } else {
    console.log(data);
  }
});

// 검색
client.search({
  index: 'myindex',
  q: 'test'
}, (err, data) => {
  if (err) {
    console.error(err, err.stack);
  } else {
    console.log(data);
  }
});

위의 예제를 참고하여 타입스크립트를 사용하여 AWS SDK로 Elasticsearch 서비스를 구성해보세요.

자세한 내용은 AWS 공식 문서를 참조하시기 바랍니다. AWS JavaScript SDK Documentation

간단한 예제와 설명은 다음 블로그에서도 확인하실 수 있습니다. AWS SDK와 Elasticsearch