Databases for Elasticsearch 시작하기

이 튜토리얼에서는 인스턴스를 프로비저닝하고, 관리자 비밀번호를 설정하고, 연결하여 IBM Cloud® Databases for Elasticsearch 배포를 빠르게 시작하는 단계를 안내합니다.

튜토리얼을 완료하려면 다음 단계를 따르세요:

튜토리얼을 완료하려면 다음 단계를 따르세요:

튜토리얼을 완료하려면 다음 단계를 따르세요:

튜토리얼을 완료하려면 다음 단계를 따르세요:

시작하기 전에

1단계: 요금제 선택

Databases for Elasticsearch 두 가지 요금제를 제공합니다:

  • Databases for Elasticsearch Enterprise는 기본 버전의 Elasticsearch 배포합니다.

  • Databases for Elasticsearch 플래티넘은 Elasticsearch 플래티넘 버전을 배포합니다.

두 요금제 모두 완전 관리형이며 확장 가능한 Elasticsearch 서비스를 제공하므로, 고객은 기반 인프라 대신 애플리케이션과 데이터에 집중할 수 있습니다. 플랜 기능 이용 방법에 대한 자세한 내용은 계획 개요 을 참조하십시오.

API 사용

Cloud Databases API를 사용하여 Databases for Elasticsearch 인스턴스로 작업하세요. 리소스 컨트롤러 API는 인스턴스를 프로비저닝하는 데 사용됩니다.

API를 통해 작업을 수행하려면 API 키가 필요합니다. 다음 단계에 따라 API를 사용하여 계정에 인프라를 프로비저닝할 수 있는 IBM Cloud API 키를 생성할 수 있습니다. 최대 20개의 API 키를 작성할 수 있습니다.

보안상의 이유로 인해 API 키는 작성 시에만 복사 또는 다운로드에 사용 가능합니다. API 키를 유실한 경우에는 새 API 키를 작성해야 합니다.

2단계: 콘솔을 통한 프로비저닝

  1. IBM Cloud 콘솔에 로그인하십시오.

  2. 카탈로그에서 Databases for Elasticsearch 서비스를 클릭합니다.

  3. 다음 단계에 따라 Databases for Elasticsearch 인스턴스를 프로비저닝하세요.

  4. 인스턴스가 프로비저닝되면 인스턴스 이름을 클릭하면 자세한 정보를 볼 수 있습니다.

2단계: CLI를 통한 프로비저닝

CLI를 사용하여 Databases for Elasticsearch 인스턴스를 프로비저닝할 수 있습니다. 아직 설치하지 않은 경우 ' IBM Cloud CLI 을 설치해야 합니다.

다음 단계에 따라 Databases for Elasticsearch 인스턴스를 프로비저닝할 수 있습니다.

2단계: 리소스 컨트롤러 API를 통한 프로비저닝

다음 단계에 따라 리소스 컨트롤러 API를 사용하여 Databases for Elasticsearch 인스턴스를 프로비저닝하세요.

2단계: Terraform을 통한 프로비저닝

테라폼을 통해 작업을 수행하려면 API 키가 필요합니다. 다음 단계에 따라 테라폼이 계정에 인프라를 프로비저닝할 수 있는 IBM Cloud API 키를 생성하세요. 최대 20개의 API 키를 작성할 수 있습니다.

보안상의 이유로 인해 API 키는 작성 시에만 복사 또는 다운로드에 사용 가능합니다. API 키를 유실한 경우에는 새 API 키를 작성해야 합니다.

API 키가 있으면 다음 단계에 따라 Terraform을 사용하여 Databases for Elasticsearch 인스턴스를 프로비저닝하세요.

3단계: 관리자 비밀번호 설정

admin 사용자

Databases for Elasticsearch 배포를 프로비저닝하면 ' admin 사용자가 자동으로 생성됩니다.

연결하기 전에 관리자 비밀번호를 설정하세요.

UI를 통해 관리자 비밀번호 설정

' IBM Cloud 리소스 목록 에서 인스턴스를 선택하여 UI를 통해 관리자 비밀번호를 설정합니다. 그런 다음 설정을 선택합니다. 다음으로 데이터베이스 관리자 비밀번호 변경을 선택합니다.

CLI를 통해 관리자 비밀번호 설정

IBM Cloud ' cdb user-password 명령을 사용합니다 CLI Cloud Databases 플러그인에서 'code1' 명령을 사용하여 관리자 비밀번호를 설정합니다.

예를 들어, 배포 환경의 관리자 비밀번호를 설정하려면 다음 명령어를 사용하십시오:

ibmcloud cdb user-password <INSTANCE_NAME_OR_CRN> admin <NEWPASSWORD>

API를 통해 관리자 비밀번호 설정

위 2단계의 응답에서 얻은 ' id ' 파라미터를 지정된 사용자 비밀번호 설정 엔드포인트와 함께 사용하여 관리자 비밀번호를 설정할 수 있습니다.

curl -X PATCH -H "Authorization: Bearer <TOKEN>" \
     -H 'Content-Type: application/json' \
     -d '{"password":"newrootpasswordsupersecure21"}' \
      "https://api.<REGION>.databases.cloud.ibm.com/v5/ibm/deployments/<DEPLOYMENT_ID>/users/database/admin"

위의 API 호출이 작동하려면 id 매개 변수가 URL-인코딩되어야 합니다.

Terraform을 통해 관리자 비밀번호 설정

관리자 비밀번호는 Terraform 스크립트에서 데이터베이스 리소스 매개변수 중 하나로 전달됩니다. 추가 조치는 필요하지 않습니다.

4단계: Databases for Elasticsearch 인스턴스에 연결합니다

Elasticsearch 데이터베이스에 시각화 기능을 추가하는 오픈 소스 도구인 Kibana를 사용해 배포에 연결하세요. 이 튜토리얼에서는 Docker 이미지 저장소의 Kibana 이미지를 사용하여 Docker 컨테이너에서 Kibana를 실행합니다.

시작하기 전에

  • 설치 DockerDatabases for Elasticsearch 에 연결하기 위해 Kibana 컨테이너 이미지를 가져올 수 있도록 설치하십시오.
  • Kibana를 로컬로 실행하지 않고 Docker를 설치하려는 경우 IBM Cloud® Code Engine을 사용하여 Kibana를 배치할 수도 있습니다. 자세한 정보는 Code Engine 를 참조하고 Databases for Elasticsearch 인스턴스에 연결하십시오.

연결하려면 Kibana에 사용자 이름, 비밀번호, URL, Elasticsearch 배포를 위한 포트가 필요합니다. 또한 데이터베이스에 접속하려면 Elasticsearch TLS 인증서가 필요합니다. 이 정보를 얻으려면 생성한 Elasticsearch 인스턴스의 개요 페이지에 있는 엔드포인트 섹션에서 인증서 정보를 복사합니다. 그런 다음 인증서를 로컬 폴더에 다운로드하십시오. 다운로드 파일에 지정된 이름을 사용하거나, 직접 파일 이름을 지정할 수 있습니다.

파일 시스템에서 인증서를 저장하는 위치를 기억하십시오. Docker 가 아닌 로컬에서 Kibana를 실행 중인 경우, 인증서는 $KIBANA_HOME/config/<filename> 에 저장됩니다.

Kibana 설정

Kibana를 포함하는 Docker 컨테이너를 실행하기 전에 1단계에서다운로드한 Elasticsearch 인증서를 사용하여 동일한 폴더에 구성 파일을 작성하십시오. 구성 파일에는 다음과 같은 일부 기본 Kibana 설정이 포함됩니다.

kibana.yml이라는 YAML 파일을 작성하십시오. 파일 내에 다음 Kibana 구성 설정이 필요합니다.

elasticsearch.ssl.certificateAuthorities: "/usr/share/kibana/config/cacert"
elasticsearch.username: "admin"
elasticsearch.password: "<password>"
elasticsearch.hosts: ["https://<hostname:port>"]
server.name: "kibana"
server.host: "0.0.0.0"

첫 번째 설정인 elasticsearch.ssl.certificateAuthorities 는 Docker 가 Elasticsearch 인증서를 저장하는 위치입니다. Docker를 처음 실행할 때 이 위치에 배치됩니다. 원하는 위치로 변경할 수 있지만, 예시 경로는 Kibana의 구성 디렉터리입니다. kibana.yml 내의 인증서 이름 (예: "cert") 과 1단계에서저장된 인증서 이름 파일의 이름이 동일한지 확인하십시오.

다음은 elasticsearch.usernameelasticsearch.password입니다. 배치의 admin 사용자 이름과 비밀번호를 사용하십시오. 연결을 시도하기 전에 admin 비밀번호를 설정했는지 확인하십시오. elasticsearch.hosts 의 경우, 배포의 호스트명과 포트를 : 로 구분하여 입력하십시오.

마지막으로, server.name 는 Kibana 인스턴스의 기계 가독성 이름이며, server.hosts 는 웹 브라우저에서 Kibana에 연결할 수 있는 백엔드 서버의 호스트 주소입니다.

이 설정들은 시작하기 위한 간단한 예시일 뿐입니다. 자세한 내용은 Kibana 구성을 참조하세요.

Docker 가 아닌 로컬에서 Kibana를 실행 중인 경우, YAML 파일은 Kibana가 구성을 읽어오는 $KIBANA_HOME/config/kibana.yml 에 위치해야 합니다.

Kibana 컨테이너 실행

kibana.yml 파일이 설정되었으므로, Docker 를 사용하여 YAML 파일과 인증서 파일을 Docker 컨테이너에 연결하고, Docker 이미지 저장소에서 <kibana_version> 이미지를 가져옵니다.

배포 환경에서 실행 중인 Elasticsearch 버전과 호환되는 Kibana 버전이 포함된 이미지를 사용하십시오. 선호하는 http 클라이언트를 사용하여 https_endpoint API 엔드포인트에서 Elasticsearch 버전을 검색합니다. 자세한 내용은 Elasticsearch 호환성 매트릭스를 참조하세요.

다음은 curl을 사용하는 예입니다. 설치된 인증서가 없는 경우 --insecure 플래그를 사용하여 피어 검증을 사용 안함으로 설정하십시오. <http_endpoint> 는 인스턴스의 엔드포인트 UI에서 찾을 수 있습니다.

curl --cacert <path-to-cert> <https_endpoint>

다음으로, 터미널에서 Docker 명령어를 실행하여 Kibana 컨테이너를 시작합니다.

docker container run -it --name kibana \
-v <path_to_config_folder_created_in_step_1>:/usr/share/kibana/config \
-p 5601:5601 docker.elastic.co/kibana/kibana:<kibana_version>

Docker 명령에는 -v 플래그를 사용하여 연결된 하나의 볼륨이 있습니다. 이 파일들은 /usr/share/kibana/config/ 경로에 Kibana 컨테이너에 마운트되어 있으며, 이 경로는 Kibana가 구성 파일을 찾는 구성 디렉터리입니다.

  • -p 는 컨테이너에서 노출되는 포트와 Kibana에 액세스할 때 사용하는 포트를 지정합니다.
  • Kibana 버전은 사용 중인 Elasticsearch의 버전과 일치해야 합니다.

터미널에서 명령을 실행하면 Kibana Docker 이미지를 다운로드하고 Kibana를 실행합니다. Kibana가 Databases for Elasticsearch 배치에 연결되고 성공적으로 실행되면 터미널에 출력이 표시됩니다.

log   [01:19:31.839] [info][status][plugin:<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:31.925] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from uninitialized to yellow - Waiting for Elasticsearch
log   [01:19:32.120] [info][status][plugin:timelion@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.134] [info][status][plugin:console@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:32.147] [info][status][plugin:metrics@<kibana_version>] Status changed from uninitialized to green - Ready
log   [01:19:33.132] [info][status][plugin:elasticsearch@<kibana_version>] Status changed from yellow to green - Ready
log   [01:19:33.378] [info][listening] Server running at http://0.0.0.0:5601

터미널에서 Kibana의 출력을 보지 않으려면 -d 플래그를 사용하여 컨테이너를 분리하십시오.

브라우저에서 http://0.0.0.0:5601 를 방문하여 Kibana를 확인하십시오. 0.0.0.0kibana.ymlserver.host 이고 5601 는 컨테이너에서 노출되는 포트입니다. URL로 이동하면 팝업 창에 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 관리자 신임 정보 또는 사용자가 작성한 다른 신임 정보를 사용하여 배치에 액세스하십시오. 인증 정보는 kibana.yml 파일에 입력한 사용자 이름과 비밀번호와 반드시 일치할 필요는 없습니다.

다음 단계

자세한 내용은 ‘ Elasticsearch ’ 문서를 참조하십시오.

데이터베이스 및 데이터 관리에 대한 더 많은 도구를 찾고 계십니까? IBM Cloud CLI, Cloud Databases CLI 플러그인 또는 Cloud Databases API 를 사용하여 배치에 연결할 수 있습니다.

애플리케이션에 대해 Databases for Elasticsearch 를 사용하려는 경우 외부 애플리케이션 연결IBM Cloud 애플리케이션 연결 을 확인하십시오.

애플리케이션과 데이터베이스의 안정성을 보장하려면 고가용성성능을 확인하세요.