IBM Cloud Docs
Elasticsearch 스냅샷 및 복원을 사용한 데이터 마이그레이션

Elasticsearch 스냅샷 및 복원을 사용한 데이터 마이그레이션

두 인스턴스 간에 데이터 마이그레이션Elasticsearch 의 도움으로Object Storage. 스냅샷 및 복원 방법을 사용하여 원본 인스턴스에서 스냅샷을 찍어 저장합니다.Object Storage 을 클릭한 다음 해당 스냅샷을 다음에서 복원합니다.Object Storage 대상 인스턴스에 넣습니다.

이 튜토리얼에서는 스냅샷과 복원을 사용합니다.IBM Cloud Object Storage 그리고 두 가지 인스턴스Databases for Elasticsearch. 그러나 이 프로세스는 모든 경우에 적용 가능합니다.S3-compatible 객체 스토리지 솔루션 및 모든 배포Elasticsearch.

우리는 다음을 사용하여 프로세스를 단순화했습니다.테라폼 그리고 쉘 스크립트. 이 페이지에 설명된 절차에 따라 필요한 변수를 연결하기만 하면 됩니다.

스냅샷 및 복원 프로세스를 사용하여 업그레이드하는 경우Elasticsearch7.9/7.10 버전으로7.17, Standard에서 Enterprise로 요금제를 변경해야 합니다. 클릭하여 계획을 변경하세요.* 복원하다* 복원하려는 백업의 프로비저닝 페이지에서 다음을 선택합니다.7.17 드롭다운 메뉴에서

생산성 향상

데이터를 마이그레이션하기 전에 다음을 설치하세요.테라폼 필요한 인프라를 코드화하고 배포합니다. 당신은 또한 IBM Cloud 계정.

1단계: 획득IBM Cloud API 키를 복제하고GitHub 저장소

따르다 이 단계 만들기 위해IBM Cloud Terraform이 귀하의 계정에 인프라를 프로비저닝할 수 있게 해주는 API 키입니다. 최대 20개의 API 키를 작성할 수 있습니다.

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

다음으로,Elasticsearch 스냅샷/복원GitHub 저장소 로컬 컴퓨터에.

git clone https://github.com/IBM/elasticsearch-cos-snapshot-restore.git

이 폴더를 복제한 후 로컬 컴퓨터에서 새로 생성된 프로젝트 폴더로 이동합니다.

2단계: Terraform 스크립트 설치 및 실행

그만큼 테라폼 폴더 스냅샷을 생성하고 복원하는 데 필요한 인프라를 생성하는 파일이 포함되어 있습니다.

cos.tf

cos.tf 생성Cloud Object Storage 인스턴스와 버킷. 다음에 대한 리소스를 업데이트하세요.restoreCOSInstance,restoreBucket,resourceKey. 그런 다음 이 스크립트는 bucket_credentials 그리고 bucket_name.

elastic.tf

elastic.tf 소스, 대상 및 필요한 구성을 생성합니다. 에 대한 변수를 입력합니다.resource "ibm_database" "esSource" 그리고 resource "ibm_database" "esTarget". 그런 다음 이 스크립트는 필요한 구성 변수를 출력합니다.

main.tf

main.tf 모듈의 주요 구성 세트가 포함되어 있습니다. 에 대한 ibmcloud_api_key 변수를 생성하거나 검색합니다.IBM Cloud® API 키. 그런 다음 리소스 그룹을 지정하고 ibm_resource_group 변수는 다음을 출력합니다.resource_group_name.

variables.tf

variables.tf 변수 정의가 포함되어 있습니다.ibmcloud_api_key,region, 그리고 elastic_password. API 키, 선호하는 지역 및Elasticsearch 비밀번호.

리소스, 구성, 변수를 설정한 후 Terraform 스크립트를 실행하세요. Terraform 폴더로 이동하고 다음 명령을 사용하여 인프라를 설치합니다.

terraform init
terraform apply --auto-approve

Terraform 스크립트는 애플리케이션을 실행하는 데 필요한 구성 데이터를 출력하므로 이를 루트 폴더에 복사합니다.

terraform output -json >../config.json

3단계: 셸 스냅샷 스크립트 실행

실행 migrate.sh 메인 프로젝트 폴더에 있는 파일입니다. 이 쉘 스크립트는 다음에서 제공하는 정보를 사용합니다.config.json 필요한 마이그레이션 단계를 수행하기 위한 파일입니다.

  • 타임스탬프를 추가하여 다양한 스냅샷 이름을 생성하세요.
  • 데이터베이스를 가져오고S3/COS 매개변수.
  • 산S3/COS 소스 배포의 버킷.
  • 산S3/COS 대상 배포의 버킷.
  • 작업을 건드리지 않고도 복원을 실행할 수 있도록 대상의 모든 인덱스를 닫습니다.icd-auth index 에 의해 보호됩니다.Cloud Databases.

달리다migrate.sh 데이터를 완전히 백업하는 데 필요한 횟수만큼.

스냅샷은 증분식이므로 첫 번째 스냅샷이 나머지 스냅샷보다 오래 걸립니다.

COS 버킷에 필요한 모든 스냅샷이 있으면 소스에 대한 모든 쓰기를 중지하세요. 그런 다음 실행migrate.sh 한 번 더 최종 스냅샷을 찍어 대상에 복원합니다. 이제 모든 데이터가 대상에 있습니다. 애플리케이션이 대상 데이터베이스를 가리키도록 하면 업그레이드가 완료됩니다.

사용자 비밀번호 검색 및 업데이트

다음으로 복원하는 경우Elasticsearch7.17 이전 버전의 업데이트로 인해 기존 사용자 비밀번호는 무효화되며 복원 후 재설정해야 합니다. 자세한 내용은 다음을 참조하세요.사용자 비밀번호 검색 및 업데이트.